html, body {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}
body {
    background-color: #454545 !important;
}
#page,
.hfeed.site,
.wrapper-site,
#wrapper-site {
    background-color: #fff !important;
}
/* Bridge leftover Astra chrome. Original 1–9 + layers-inline + custom load first. */
.ast-hfb-header,
.main-header-bar,
.ast-mobile-header-wrap,
.ast-above-header-wrap,
.ast-below-header-wrap {
    display: none !important;
}
#page,
.hfeed.site {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #fff !important;
    float: none !important;
}
.site-content,
#content,
.ast-container,
#primary,
.content-area,
.site-main {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    float: none !important;
}
body.sandcrab-hide-title .entry-header,
body.sandcrab-hide-title .ast-archive-description,
body.home .entry-header {
    display: none !important;
}
.sitename,
.sitetitle {
    font-family: Merriweather, Helvetica, sans-serif;
    font-weight: 900;
    font-style: italic;
}
.tagline {
    font-family: Lato, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}
.header-site .nav-horizontal li a {
    font-weight: 700;
    font-size: 13px;
}
h1, h2, h3, h4, h5, h6, .heading {
    font-weight: 700;
}
.copy,
.story,
.story p,
.copy p {
    font-weight: 400;
}
.copy,
.story,
.copy p,
.story p,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor .elementor-widget-container {
    color: #000 !important;
}
.copy a:not(.button),
.story a:not(.button),
.excerpt a:not(.button),
.sandcrab-story a:not(.button),
.header-site a,
.footer-site a,
.sitename a,
.tagline a {
    border-bottom: 0 !important;
    text-decoration: none !important;
}
.footer-site .nav-horizontal a,
.copyright .nav-horizontal a {
    font-weight: 700;
}

body.home .copy,
body.home .sandcrab-story {
    font-size: 20px;
    color: #000;
}
body.home .copy p,
body.home .sandcrab-story p,
body.home .copy strong,
body.home .sandcrab-story strong {
    font-size: 20px;
    font-weight: 700;
    color: #000;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
body.home .copy p.sandcrab-hero img {
    width: 1200px;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}
body.home .section-title {
    margin-top: 117px;
}
body.home .section-title .heading {
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    color: rgba(0, 0, 0, 0.85);
}
body.home .sandcrab-rule-text {
    text-align: center;
    font-size: 15px;
    font-weight: 400;
    color: #000;
}
body.home .sandcrab-note,
body.home .sandcrab-note em {
    font-size: 20px !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: #000 !important;
    text-align: center !important;
}
body.home .content-main,
body.home .wrapper-content,
body.home article,
body.home .copy,
body.home .sandcrab-story {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
body.home .sandcrab-note {
    margin-bottom: 330px !important;
}
body.home .sandcrab-motto {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}
body.home .sandcrab-motto {
    background: #f1f5f7;
    padding: 60px 20px;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    box-sizing: border-box;
    text-align: center;
}
body.home .sandcrab-motto .sandcrab-motto-label {
    font-family: Lato, Helvetica, sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    color: #000 !important;
    margin: 0 auto 10px;
    max-width: 745px;
    text-align: center;
}
body.home .sandcrab-motto .sandcrab-motto-verse {
    font-family: Merriweather, Helvetica, sans-serif !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    color: #111 !important;
    margin: 0 auto;
    max-width: 745px;
    text-align: center;
}
.header-site .custom-logo {
    max-height: 40px;
    width: auto;
    height: auto;
}
.sitename-break {
    display: none;
}
.footer-site.invert {
    color: #f3f3f3;
}
.footer-site a {
    color: rgba(255, 255, 255, 0.75);
}

body.sandcrab-match:not(.home) .elementor-widget-image a {
    border-bottom: 0 !important;
}
body.sandcrab-match:not(.home) .elementor-widget-image img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}
figure.wp-caption,
.wp-caption,
.wp-caption-dd,
div.wp-caption {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    margin: 0 auto 8px !important;
    border: 0 !important;
    box-shadow: none !important;
}
body.sandcrab-match:not(.home) .e-con {
    background: transparent;
}
body.sandcrab-match:not(.home) .elementor > .e-con:has(> .e-con:nth-child(4)):not(:has(> .e-con:nth-child(5))) {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px 8px !important;
    width: 100% !important;
}
body.sandcrab-match:not(.home) .elementor > .e-con:has(> .e-con:nth-child(4)):not(:has(> .e-con:nth-child(5))) > .e-con {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    min-width: 0 !important;
}
body.sandcrab-match:not(.home) .elementor > .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))),
body.sandcrab-match:not(.home) .elementor .e-con-inner:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
}
body.sandcrab-match:not(.home) .elementor > .e-con:has(> .e-con:nth-child(3)):not(:has(> .e-con:nth-child(4))),
body.sandcrab-match:not(.home) .elementor .e-con-inner:has(> .e-con:nth-child(3)):not(:has(> .e-con:nth-child(4))) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}
body.sandcrab-match:not(.home) .elementor > .e-con:has(> .e-con:nth-child(4)):not(:has(> .e-con:nth-child(5))),
body.sandcrab-match:not(.home) .elementor .e-con-inner:has(> .e-con:nth-child(4)):not(:has(> .e-con:nth-child(5))) {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px 8px !important;
}
body.sandcrab-match:not(.home):not(.sandcrab-portraits) .elementor > .e-con:has(> .e-con:nth-child(2)) > .e-con {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}
body.sandcrab-match:not(.home):not(.sandcrab-portraits) .elementor > .e-con:has(> .e-con:nth-child(3)) > .e-con .wp-caption,
body.sandcrab-match:not(.home):not(.sandcrab-portraits) .elementor > .e-con:has(> .e-con:nth-child(3)) > .e-con .elementor-widget-image,
body.sandcrab-match:not(.home):not(.sandcrab-portraits) .elementor > .e-con:has(> .e-con:nth-child(3)) > .e-con img:not(.emoji):not(.wp-smiley):not(.swiper-slide-image),
body.sandcrab-match:not(.home):not(.sandcrab-portraits) .elementor .e-con-inner:has(> .e-con:nth-child(3)) > .e-con img:not(.emoji):not(.wp-smiley):not(.swiper-slide-image) {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}
body.sandcrab-match:not(.home):not(.sandcrab-portraits) .elementor > .e-con:not(:has(> .e-con:nth-child(2))) img:not(.emoji):not(.wp-smiley):not(.swiper-slide-image) {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
body.sandcrab-match:not(.home) .elementor > .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))) > .e-con img:not(.emoji):not(.wp-smiley):not(.swiper-slide-image),
body.sandcrab-match:not(.home) .elementor .e-con-inner:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))) > .e-con img:not(.emoji):not(.wp-smiley):not(.swiper-slide-image),
body.single .elementor > .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))) > .e-con img:not(.emoji):not(.wp-smiley):not(.swiper-slide-image) {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    display: block;
    margin-left: auto;
    margin-right: auto;
    object-fit: contain;
}
img.emoji,
img.wp-smiley {
    display: inline !important;
    width: 1em !important;
    height: 1em !important;
    max-width: 1em !important;
    max-height: 1em !important;
    margin: 0 0.07em !important;
    vertical-align: -0.1em !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    object-fit: contain !important;
}
body.sandcrab-match:not(.home) .elementor-widget-text-editor h1 {
    font-size: 3.2rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 26px;
}
body.sandcrab-match:not(.home) .elementor > .e-con:has(.elementor-widget-text-editor h1):not(:has(.elementor-widget-image)),
body.sandcrab-match:not(.home) .elementor > .e-con:has(.elementor-widget-text-editor h1):not(:has(.elementor-widget-image)) .e-con {
    padding-bottom: 0 !important;
}
body.sandcrab-match:not(.home) .elementor > .e-con:has(.elementor-widget-image),
body.sandcrab-match:not(.home) .elementor > .e-con:has(.elementor-widget-image) .e-con {
    padding-top: 0 !important;
}
body.sandcrab-match:not(.home) .elementor > .e-con:has(.elementor-widget-image-carousel),
body.sandcrab-match:not(.home) .elementor > .e-con:has(.elementor-widget-image-carousel) > .e-con,
body.sandcrab-match:not(.home) .elementor > .e-con:has(.elementor-widget-image-carousel) .e-con-inner {
    width: 100% !important;
    max-width: 1200px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
body.sandcrab-match:not(.home) .elementor-widget-image-carousel {
    max-width: 538px !important;
    width: 538px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}
body.sandcrab-match:not(.home) .elementor-widget-image-carousel .swiper,
body.sandcrab-match:not(.home) .elementor-image-carousel-wrapper,
body.sandcrab-match:not(.home) .elementor-widget-image-carousel .swiper-wrapper,
body.sandcrab-match:not(.home) .elementor-widget-image-carousel .swiper-slide {
    height: auto !important;
    max-height: none !important;
}
body.sandcrab-match:not(.home) .elementor-image-carousel img,
body.sandcrab-match:not(.home) .elementor-widget-image-carousel .swiper-slide-image,
.elementor-image-carousel img,
.swiper-slide-image {
    width: 100% !important;
    max-width: 538px !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center top !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.container {
    max-width: 1240px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}
.content-main.container,
article.column.span-12,
.ast-article-single {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body:not(.sandcrab-portraits) .elementor-section-boxed > .elementor-container,
body:not(.sandcrab-portraits) .e-con.e-parent {
    max-width: 1200px !important;
}
body.single .elementor-widget-image img {
    max-width: 1200px;
}

body.single .content-main.container {
    max-width: 1240px !important;
    width: 1240px !important;
    padding: 6% 20px !important;
}
body:not(.home) .content-main {
    padding-top: 6%;
    padding-bottom: 6%;
}
body.single .wp-post-navigation a {
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
    display: inline;
}
body.single .wp-post-navigation-pre,
body.single .wp-post-navigation-next {
    display: block;
    min-height: 26px;
}
body.single .wp-post-navigation {
    overflow: hidden;
}
body.single .wp-post-navigation div a:after {
    top: 34% !important;
    margin-top: -11px !important;
    transform: none !important;
    overflow: visible !important;
    font-size: 56px !important;
    height: 22px !important;
    line-height: 22px !important;
    font-weight: 700 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    color: #ccc !important;
}
body.single article.column.span-12 {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
body.single .elementor,
body.single .elementor > .e-con,
body.single .elementor-section-boxed > .elementor-container {
    max-width: 1200px !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body:not(.sandcrab-portraits) .elementor-image-caption,
body:not(.sandcrab-portraits) .widget-image-caption,
body:not(.sandcrab-portraits) figcaption,
body:not(.sandcrab-portraits) .elementor-widget-image .elementor-image-caption {
    font-family: Merriweather, Helvetica, sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    text-align: center !important;
    color: #000 !important;
}

body.sandcrab-portraits .wrapper-content,
body.sandcrab-portraits #page,
body.sandcrab-portraits .hfeed.site {
    background-color: #fff !important;
}
body.sandcrab-portraits .section-title .heading {
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    margin: 0 0 8px;
}
body.sandcrab-portraits .sandcrab-kicker {
    font-family: Merriweather, Helvetica, sans-serif;
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    margin: 0 0 8px;
}
body.sandcrab-portraits .sandcrab-blue-kicker,
body.sandcrab-portraits .sandcrab-blue-kicker em {
    color: #2773ff !important;
    font-style: italic !important;
    font-weight: 400 !important;
    font-size: 18px !important;
    text-align: center;
    display: block;
    margin: 0 0 24px;
}
body.sandcrab-portraits .sandcrab-portrait-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px 18px;
    max-width: 1100px;
    margin: 0 auto 2rem;
    align-items: end;
}
body.sandcrab-portraits .sandcrab-portrait {
    margin: 0;
    text-align: center;
    background: transparent;
}
body.sandcrab-portraits .sandcrab-portrait img {
    display: block;
    margin: 0 auto;
    width: auto;
    height: auto;
    max-width: 100%;
}
body.sandcrab-portraits .sandcrab-portrait figcaption,
body.sandcrab-portraits .sandcrab-portrait figcaption a,
body.sandcrab-portraits .sandcrab-portrait figcaption a:hover {
    font-family: Lato, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: #000 !important;
    border-bottom: 0 !important;
    text-decoration: none !important;
    text-align: center;
}
body.sandcrab-portraits .sandcrab-page-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 10px;
    margin: 1.5rem auto 2rem;
    font-size: 15px;
    font-weight: 400;
}
body.sandcrab-portraits .sandcrab-page-nav a {
    border-bottom: 0 !important;
    color: #000;
    text-decoration: none !important;
}
body.sandcrab-portraits .elementor {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px 18px;
    max-width: 1100px;
    margin: 0 auto 2rem;
}
body.sandcrab-portraits .elementor > .e-con,
body.sandcrab-portraits .e-con.e-parent {
    max-width: none !important;
    width: auto !important;
    padding: 0 !important;
}
body.sandcrab-classmate .post-feature-thumbnail {
    text-align: center;
    margin: 0.5rem auto 1.5rem;
}
body.sandcrab-classmate .post-feature-thumbnail img {
    display: block;
    margin: 0 auto;
    width: auto;
    height: auto;
    max-width: 100%;
}
.sandcrab-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px 40px;
    max-width: 1200px;
    margin: 0 auto 2rem;
    align-items: start;
}
.sandcrab-contact-copy,
.sandcrab-contact-copy p,
.sandcrab-contact-copy li {
    font-size: 25px;
    font-weight: 400;
    text-align: left;
    max-width: 580px;
}
.sandcrab-contact-copy ul {
    list-style: disc;
    margin: 0 0 1em 1.4em;
    padding-left: 1.2em;
}
.sandcrab-contact-form {
    max-width: 580px;
}
.sandcrab-contact-form .wpcf7 input[type="text"],
.sandcrab-contact-form .wpcf7 input[type="email"],
.sandcrab-contact-form .wpcf7 input[type="file"] {
    width: 500px;
    max-width: 100%;
}
.sandcrab-contact-form .wpcf7 textarea {
    width: 580px;
    max-width: 100%;
    min-height: 194px;
}
@media only screen and (max-width: 768px) {
    .sandcrab-contact-grid {
        grid-template-columns: 1fr;
    }
}

#ast-scroll-top {
    display: none !important;
}

#off-canvas-right {
    background-color: #2b2b2b;
    z-index: 80;
    box-sizing: border-box;
    width: min(280px, 88vw);
}
#off-canvas-right:not(.open) {
    visibility: hidden;
    pointer-events: none;
}
#off-canvas-right.open {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
    transform: none;
}
#off-canvas-right .nav-vertical a,
#off-canvas-right .close-canvas,
#off-canvas-right .content {
    color: #fff;
}
#off-canvas-right .search-form {
    display: block;
    width: 100%;
    margin: 16px 0 0;
}
#off-canvas-right .search-field,
#off-canvas-right .search-submit {
    display: block;
    width: 100%;
    box-sizing: border-box;
}
#off-canvas-right .search-field {
    background: #fff;
    color: #222;
    border: 0;
    height: 36px;
    margin: 0 0 8px;
    padding: 6px 8px;
}
#off-canvas-right .search-submit {
    background: #bc8300;
    color: #fff;
    border: 0;
    height: 36px;
    font-weight: 700;
}

@media only screen and (max-width: 782px) {
    body.single .content-main.container,
    .content-main.container,
    .container,
    article.column.span-12,
    .column.span-12,
    .grid {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box;
    }
    .sandcrab-contact-copy,
    .sandcrab-contact-copy p,
    .sandcrab-contact-copy li,
    .sandcrab-contact-form,
    .sandcrab-contact-form .wpcf7 input[type="text"],
    .sandcrab-contact-form .wpcf7 input[type="email"],
    .sandcrab-contact-form .wpcf7 input[type="file"],
    .sandcrab-contact-form .wpcf7 textarea {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    body.sandcrab-match:not(.home) .elementor-widget-image-carousel,
    body.sandcrab-match:not(.home) .elementor-widget-image-carousel .swiper,
    body.sandcrab-match:not(.home) .elementor-image-carousel-wrapper,
    body.sandcrab-match:not(.home) .elementor-image-carousel img,
    body.sandcrab-match:not(.home) .elementor-widget-image-carousel .swiper-slide-image,
    .swiper-slide-image,
    .elementor-widget-image img,
    body.single .elementor-widget-image img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }
    body.sandcrab-match:not(.home) .elementor > .e-con:has(> .e-con:nth-child(2)),
    body.sandcrab-match:not(.home) .elementor .e-con-inner:has(> .e-con:nth-child(2)) {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    body.sandcrab-portraits .elementor {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 100%;
    }
    img {
        max-width: 100%;
        height: auto;
    }
    table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }
    .footer-site .container,
    #footer .container {
        width: 100% !important;
        max-width: 1240px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .footer-site .grid,
    #footer .grid {
        width: auto !important;
        max-width: none !important;
        margin-left: -10px !important;
        margin-right: -10px !important;
    }
}
