/*
 Theme Name:   Divi Child
 Theme URI:    https://www.elegantthemes.com/gallery/divi/
 Description:  Divi Child Theme
 Author:       Viko Designs
 Author URI:   https://www.vikodesigns.co.za
 Template:     Divi
 Version:      1.5.0
 Text Domain:  divi
*/

/* =====================================================================
   MULTISERVE DESIGN TOKENS — edit shared custom styling here.
   Native Divi modules use the MS presets/Variable Manager. Keep those values
   aligned when changing the brand. CSS does not rewrite saved Divi variables.
   ===================================================================== */
:root {
    --ms-ink: #20251f;
    --ms-paper: #f2f0e9;
    --ms-stone: #a69a83;
    --ms-body: #64675f;
    --ms-white: #ffffff;
    --ms-divider: #c9ccbf;
    --ms-light-text: #b9bcb3;
    --ms-footer-text: #72786b;
    --ms-font-heading: Georgia, serif;
    --ms-font-body: Arial, sans-serif;
    --ms-page-gutter: clamp(24px, 4vw, 76px);
    --ms-section-space: clamp(65px, 7vw, 100px);
    --ms-h1-hero-size: clamp(38px, 4.3vw, 74px);
    --ms-h1-size: clamp(38px, 4.1vw, 64px);
    --ms-h2-size: clamp(30px, 3vw, 44px);
    --ms-h3-size: clamp(27px, 2.5vw, 40px);
    --ms-lead-size: clamp(17px, 1.25vw, 18px);
    --ms-body-size: 16px;
    --ms-meta-size: 12px;
    --ms-eyebrow-size: 10px;
    --ms-menu-width: 440px;
    --ms-drawer-duration: .4s;
    --ms-slide-duration: 1.1s;
}

/* HEADER & MENU */
.ms-header-section, .ms-header-row, .ms-header-column, .ms-header-module {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
    background: transparent !important;
}

.ms-header-section {
    position: relative;
    z-index: 1000;
}

.ms-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 30px var(--ms-page-gutter);
    color: var(--ms-ink);
    min-height: 110px;
    font: 16px/1.6 var(--ms-font-body);
}

.ms-header--light {
    position: absolute;
    inset: 0 0 auto;
    color: var(--ms-white);
}

.ms-brand {
    display: block;
    color: inherit !important;
    text-decoration: none !important;
    max-width: 75%;
}

.ms-brand__wordmark {
    display: block;
    font: normal 29px/1 var(--ms-font-body);
    letter-spacing: -1.4px;
}

.ms-brand__wordmark strong {
    font-weight: 700;
}

.ms-brand__image {
    display: block;
    width: 190px;
    max-width: 100%;
    height: auto;
    max-height: 65px;
    object-fit: contain;
    object-position: left center;
}

.ms-brand__descriptor {
    display: block;
    margin-top: 12px;
    font: 8px/1.5 var(--ms-font-body);
    letter-spacing: 3px;
    text-transform: uppercase;
}

.ms-menu-toggle {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 12px 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: 10px/1.5 var(--ms-font-body);
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
}

.ms-menu-lines {
    display: grid;
    gap: 7px;
    width: 32px;
}

.ms-menu-lines i {
    display: block;
    height: 1px;
    background: currentColor;
}

.ms-menu-layer[hidden] {
    display: none !important;
}

.ms-menu-layer {
    position: fixed;
    inset: 0;
    z-index: 100000;
    isolation: isolate;
    font: 16px/1.6 var(--ms-font-body);
}

.admin-bar .ms-menu-layer {
    top: 32px;
}

.ms-menu-backdrop {
    position: absolute;
    inset: 0;
    background: #0005;
    opacity: 0;
    transition: opacity .35s;
}

.ms-menu-panel {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    width: min(var(--ms-menu-width), 100%);
    padding: 35px 48px;
    background: var(--ms-ink);
    color: var(--ms-paper);
    overflow-y: auto;
    overscroll-behavior: contain;
    transform: translateX(100%);
    transition: transform var(--ms-drawer-duration);
}

.ms-menu-layer.is-open .ms-menu-panel {
    transform: none;
}

.ms-menu-layer.is-open .ms-menu-backdrop {
    opacity: 1;
}

.ms-menu-close {
    align-self: flex-end;
    border: 0;
    background: none;
    color: inherit;
    cursor: pointer;
    font: 30px/1 var(--ms-font-body);
    padding: 5px;
}

.ms-drawer-nav {
    margin: 60px 0 40px;
}

.ms-menu-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid;
    gap: 20px;
}

.ms-menu-list li {
    margin: 0;
    padding: 0;
    list-style: none !important;
}

.ms-menu-list a {
    font: normal 33px/1.25 var(--ms-font-heading);
    color: var(--ms-paper);
    text-decoration: none;
    transition: color .2s;
}

.ms-menu-list a:hover, .ms-menu-list .current-menu-item > a, .ms-menu-list .current-menu-ancestor > a {
    color: var(--ms-stone);
}

.ms-drawer-contact {
    margin-top: auto;
    padding-top: 30px;
    color: var(--ms-light-text);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.ms-drawer-contact > a {
    display: block;
    margin: 8px 0;
    color: inherit;
}

.ms-drawer-area {
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.ms-drawer-social {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 28px;
}

.ms-drawer-social a {
    color: inherit;
    font-size: var(--ms-eyebrow-size);
}

.ms-menu-setup {
    color: var(--ms-light-text);
    font-size: 14px;
}

.ms-menu-open {
    overflow: hidden !important;
}

.ms-visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.ms-header a:focus-visible, .ms-header button:focus-visible, .ms-menu-layer a:focus-visible, .ms-menu-layer button:focus-visible {
    outline: 2px solid var(--ms-stone);
    outline-offset: 6px;
}

@media (max-width: 782px) {
    .admin-bar .ms-menu-layer {
        top: 46px;
    }
}

@media (max-width: 700px) {
    .ms-header {
        padding-top: 25px;
        padding-bottom: 25px;
        min-height: 100px;
    }

    .ms-brand__wordmark {
        font-size: 25px;
    }

    .ms-brand__descriptor {
        font-size: 7px;
        letter-spacing: 1.7px;
        max-width: 245px;
    }

    .ms-menu-toggle > span:first-child {
        display: none;
    }

    .ms-menu-panel {
        padding: 28px 30px;
    }

    .ms-drawer-nav {
        margin-top: 45px;
    }

    .ms-menu-list a {
        font-size: 30px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ms-menu-panel, .ms-menu-backdrop {
        transition: none;
    }
}

/* HOMEPAGE SLIDER */
.ms-home-section, .ms-home-row, .ms-home-column, .ms-home-module {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ms-home-slider {
    position: relative;
    isolation: isolate;
    background: var(--ms-ink);
    color: var(--ms-white);
    min-height: 620px;
    height: 100vh;
    overflow: hidden;
    font: 16px/1.6 var(--ms-font-body);
}

.admin-bar .ms-home-slider {
    height: calc(100svh - 32px);
}

.ms-home-slides, .ms-home-slide, .ms-home-picture, .ms-home-shade {
    position: absolute;
    inset: 0;
}

.ms-home-slide {
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--ms-slide-duration), visibility var(--ms-slide-duration);
    pointer-events: none;
}

.ms-home-slide.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 1;
}

.ms-home-picture {
    display: block;
}

.ms-home-photo {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
    object-position: var(--ms-focus-x, 50%) var(--ms-focus-y, 50%);
}

.ms-home-shade {
    background: linear-gradient(180deg, rgba(0, 0, 0, .28), transparent 35%, rgba(0, 0, 0, .48));
    pointer-events: none;
}

.ms-home-copy {
    position: absolute;
    left: var(--ms-page-gutter);
    right: var(--ms-page-gutter);
    bottom: 125px;
    max-width: 800px;
}

.ms-home-eyebrow {
    font: 10px/1.6 var(--ms-font-body) !important;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 0 !important;
    margin: 0 0 22px !important;
}

.ms-home-copy h1, .ms-home-copy h2 {
    font: normal var(--ms-h1-hero-size)/1.08 var(--ms-font-heading) !important;
    letter-spacing: -.02em;
    color: var(--ms-white) !important;
    padding: 0 !important;
    margin: 0 0 26px !important;
    max-width: 760px;
}

.ms-home-link {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    border-bottom: 1px solid currentColor;
    padding-bottom: 9px;
    font: 10px/1.6 var(--ms-font-body);
    letter-spacing: 2px;
    text-transform: uppercase;
    color: inherit !important;
    text-decoration: none !important;
    transition: opacity .2s;
}

.ms-home-link:hover {
    opacity: .7;
}

.ms-slider-controls[hidden] {
    display: none !important;
}

.ms-slider-controls {
    position: absolute;
    z-index: 3;
    bottom: 30px;
    left: var(--ms-page-gutter);
    right: var(--ms-page-gutter);
    display: grid;
    grid-template-columns:1fr auto 1fr;
    align-items: center;
    gap: 20px;
}

.ms-slider-count {
    font: 10px/1.6 var(--ms-font-body);
    letter-spacing: 2px;
}

.ms-slider-dots {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2px;
}

.ms-slider-dot {
    position: relative;
    width: 24px;
    height: 32px;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
}

.ms-slider-dot:after {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    border: 1px solid var(--ms-white);
    border-radius: 50%;
    margin: auto;
}

.ms-slider-dot.is-active:after {
    background: var(--ms-white);
}

.ms-slider-actions {
    justify-self: end;
    display: flex;
    gap: 12px;
}

.ms-slider-actions button {
    border: 0;
    background: none;
    color: var(--ms-white);
    font: 17px/1 var(--ms-font-body);
    cursor: pointer;
    min-width: 32px;
    min-height: 40px;
    padding: 5px;
}

.ms-slider-actions button svg {
    display: block;
    width: 20px;
    height: 20px;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
    margin: 0 auto;
}

.ms-home-slider button:focus-visible, .ms-home-link:focus-visible {
    outline: 2px solid var(--ms-stone);
    outline-offset: 5px;
}

.ms-home-empty h1 {
    font: normal var(--ms-h2-size)/1.12 var(--ms-font-heading) !important;
    letter-spacing: -.02em;
    color: var(--ms-ink) !important;
    margin: 0 0 30px !important;
    padding: 0 !important;
}

.ms-home-empty {
    padding: 170px var(--ms-page-gutter) 100px;
    background: var(--ms-ink);
    color: var(--ms-white);
    min-height: 100svh;
}

.ms-home-empty h1 {
    color: white !important;
}

.ms-home-empty p {
    color: var(--ms-light-text);
}

@media (max-width: 782px) {
    .admin-bar .ms-home-slider {
        height: calc(100svh - 46px);
    }

    .ms-home-slider {
        max-height: calc(100svh);
    }
}

@media (max-width: 700px) {
    .ms-home-slider {
        min-height: 580px;
    }

    .ms-home-copy {
        bottom: 130px;
    }

    .ms-home-copy h1, .ms-home-copy h2 {
        font-size: clamp(36px, 8vw, 48px) !important;
    }

    .ms-slider-controls {
        grid-template-columns:auto 1fr auto;
        gap: 8px;
        bottom: 22px;
    }

    .ms-slider-actions {
        gap: 2px;
    }

    .ms-slider-dot {
        width: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ms-home-slide {
        transition: none;
    }
}

.ms-home-link span, .ms-native-intro-link a span, .et_pb_link_text span {
    font-size: 12px;
}

/* FOOTER */
.ms-native-intro-link a {
    display: inline-block;
    border-bottom: 1px solid currentColor;
    padding-bottom: 9px;
}

.ms-native-footer {
    border-top: 1px solid var(--ms-divider);
}

.ms-native-footer .et_pb_text a {
    color: inherit;
}

.ms-native-credit a {
    border-bottom: 1px solid var(--ms-divider);
}

.ms-native-footer a:focus-visible {
    outline: 2px solid var(--ms-stone);
    outline-offset: 4px;
}

/* PROJECTS */
.ms-projects-feed .ms-projects-feed-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(36px, 4vw, 60px) 28px;
}

.ms-projects-feed .ms-project-feed-item {
    margin: 0;
    padding: 0;
    min-width: 0;
    border: 0;
    background: transparent;
}

.ms-projects-feed .ms-project-feed-image {
    display: block;
    margin: 0 0 20px;
    overflow: hidden;
}

.ms-projects-feed .ms-project-feed-image img {
    display: block;
    width: 100%;
    aspect-ratio: 1.34;
    object-fit: cover;
    transition: filter .25s;
}

.ms-projects-feed .ms-project-feed-image:hover img {
    filter: brightness(.9);
}

.ms-projects-feed .ms-project-feed-heading {
    font: 400 clamp(27px, 2.5vw, 40px)/1.2 var(--ms-font-heading);
    color: var(--ms-ink);
    padding: 0;
    margin: 0 0 10px;
}

.ms-projects-feed .ms-project-feed-heading a {
    color: inherit;
}

.ms-project-feed-meta {
    margin: 0;
    color: var(--ms-body);
    font: 400 12px/1.4 var(--ms-font-body), sans-serif;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.ms-project-feed-meta .ms-project-feed-separator {
    letter-spacing: 0;
}

.ms-projects-feed .ms-projects-pagination {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 12px;
    font-family: var(--ms-font-body), sans-serif;
}

.ms-projects-feed .ms-projects-pagination a,
.ms-projects-feed .ms-projects-pagination span {
    color: var(--ms-ink);
    border-bottom: 1px solid var(--ms-divider);
    padding-bottom: 7px;
    margin-right: 14px;
}

.ms-projects-feed .ms-projects-pagination .next,
.ms-projects-feed .ms-projects-pagination .prev {
    border-bottom-color: transparent;
}

.ms-project-title {
    max-width: 1100px;
}

.ms-project-hero img {
    display: block;
    width: 100%;
    height: auto;
}

.ms-project-meta .et_pb_text {
    margin-bottom: 12px;
}

.ms-project-gallery {
    column-count: 2;
    column-gap: clamp(12px, 2vw, 30px);
}

.ms-project-gallery figure {
    margin: 0 0 clamp(12px, 2vw, 30px);
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
}

.ms-project-gallery a,
.ms-project-gallery img {
    display: block;
    width: 100%;
}

.ms-project-gallery img {
    height: auto;
}

@media (max-width: 1000px) {
    .ms-project-gallery { column-count: 2; }
}

@media (max-width: 700px) {
    .ms-project-gallery { column-count: 1; }
}

.ms-project-gallery figcaption {
    color: var(--ms-body);
    font: var(--ms-meta-size, 12px)/1.6 var(--ms-font-body);
    margin-top: 12px;
}

.ms-projects-feed a:focus-visible, .ms-project-gallery a:focus-visible {
    outline: 2px solid var(--ms-stone);
    outline-offset: 5px;
}

@media (max-width: 700px) {
    .ms-projects-feed .ms-projects-feed-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ms-projects-feed .ms-project-feed-image img {
        transition: none;
    }
}

/* FANCYBOX — bundled vendor styles; leave unchanged. */
.carousel{position:relative;box-sizing:border-box}.carousel *,.carousel *:before,.carousel *:after{box-sizing:inherit}.carousel.is-draggable{cursor:move;cursor:grab}.carousel.is-dragging{cursor:move;cursor:grabbing}.carousel__viewport{position:relative;overflow:hidden;max-width:100%;max-height:100%}.carousel__track{display:flex}.carousel__slide{flex:0 0 auto;width:var(--carousel-slide-width, 60%);max-width:100%;padding:1rem;position:relative;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.has-dots{margin-bottom:calc(0.5rem + 22px)}.carousel__dots{margin:0 auto;padding:0;position:absolute;top:calc(100% + 0.5rem);left:0;right:0;display:flex;justify-content:center;list-style:none;user-select:none}.carousel__dots .carousel__dot{margin:0;padding:0;display:block;position:relative;width:22px;height:22px;cursor:pointer}.carousel__dots .carousel__dot:after{content:"";width:8px;height:8px;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);background-color:currentColor;opacity:.25;transition:opacity .15s ease-in-out}.carousel__dots .carousel__dot.is-selected:after{opacity:1}.carousel__button{width:var(--carousel-button-width, 48px);height:var(--carousel-button-height, 48px);padding:0;border:0;display:flex;justify-content:center;align-items:center;pointer-events:all;cursor:pointer;color:var(--carousel-button-color, currentColor);background:var(--carousel-button-bg, transparent);border-radius:var(--carousel-button-border-radius, 50%);box-shadow:var(--carousel-button-shadow, none);transition:opacity .15s ease}.carousel__button.is-prev,.carousel__button.is-next{position:absolute;top:50%;transform:translateY(-50%)}.carousel__button.is-prev{left:10px}.carousel__button.is-next{right:10px}.carousel__button[disabled]{cursor:default;opacity:.3}.carousel__button svg{width:var(--carousel-button-svg-width, 50%);height:var(--carousel-button-svg-height, 50%);fill:none;stroke:currentColor;stroke-width:var(--carousel-button-svg-stroke-width, 1.5);stroke-linejoin:bevel;stroke-linecap:round;filter:var(--carousel-button-svg-filter, none);pointer-events:none}html.with-fancybox{scroll-behavior:auto}body.compensate-for-scrollbar{overflow:hidden !important;touch-action:none}.fancybox__container{position:fixed;top:0;left:0;bottom:0;right:0;direction:ltr;margin:0;padding:env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);box-sizing:border-box;display:flex;flex-direction:column;color:var(--fancybox-color, #fff);-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;z-index:1050;outline:none;transform-origin:top left;--carousel-button-width: 48px;--carousel-button-height: 48px;--carousel-button-svg-width: 24px;--carousel-button-svg-height: 24px;--carousel-button-svg-stroke-width: 2.5;--carousel-button-svg-filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.4))}.fancybox__container *,.fancybox__container *::before,.fancybox__container *::after{box-sizing:inherit}.fancybox__container :focus{outline:none}body:not(.is-using-mouse) .fancybox__container :focus{box-shadow:0 0 0 1px #fff,0 0 0 2px var(--fancybox-accent-color, rgba(1, 210, 232, 0.94))}@media all and (min-width: 1024px){.fancybox__container{--carousel-button-width:48px;--carousel-button-height:48px;--carousel-button-svg-width:27px;--carousel-button-svg-height:27px}}.fancybox__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--fancybox-bg, rgba(24, 24, 27, 0.92))}.fancybox__carousel{position:relative;flex:1 1 auto;min-height:0;height:100%;z-index:10}.fancybox__carousel.has-dots{margin-bottom:calc(0.5rem + 22px)}.fancybox__viewport{position:relative;width:100%;height:100%;overflow:visible;cursor:default}.fancybox__track{display:flex;height:100%}.fancybox__slide{flex:0 0 auto;width:100%;max-width:100%;margin:0;padding:48px 8px 8px 8px;position:relative;overscroll-behavior:contain;display:flex;flex-direction:column;outline:0;overflow:auto;--carousel-button-width: 36px;--carousel-button-height: 36px;--carousel-button-svg-width: 22px;--carousel-button-svg-height: 22px}.fancybox__slide::before,.fancybox__slide::after{content:"";flex:0 0 0;margin:auto}@media all and (min-width: 1024px){.fancybox__slide{padding:64px 100px}}.fancybox__content{margin:0 env(safe-area-inset-right, 0px) 0 env(safe-area-inset-left, 0px);padding:36px;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);position:relative;align-self:center;display:flex;flex-direction:column;z-index:20}.fancybox__content :focus:not(.carousel__button.is-close){outline:thin dotted;box-shadow:none}.fancybox__caption{align-self:center;max-width:100%;margin:0;padding:1rem 0 0 0;line-height:1.375;color:var(--fancybox-color, currentColor);visibility:visible;cursor:auto;flex-shrink:0;overflow-wrap:anywhere}.is-loading .fancybox__caption{visibility:hidden}.fancybox__container>.carousel__dots{top:100%;color:var(--fancybox-color, #fff)}.fancybox__nav .carousel__button{z-index:40}.fancybox__nav .carousel__button.is-next{right:8px}@media all and (min-width: 1024px){.fancybox__nav .carousel__button.is-next{right:40px}}.fancybox__nav .carousel__button.is-prev{left:8px}@media all and (min-width: 1024px){.fancybox__nav .carousel__button.is-prev{left:40px}}.carousel__button.is-close{position:absolute;top:8px;right:8px;top:calc(env(safe-area-inset-top, 0px) + 8px);right:calc(env(safe-area-inset-right, 0px) + 8px);z-index:40}@media all and (min-width: 1024px){.carousel__button.is-close{right:40px}}.fancybox__content>.carousel__button.is-close{position:absolute;top:-40px;right:0;color:var(--fancybox-color, #fff)}.fancybox__no-click,.fancybox__no-click button{pointer-events:none}.fancybox__spinner{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:50px;height:50px;color:var(--fancybox-color, currentColor)}.fancybox__slide .fancybox__spinner{cursor:pointer;z-index:1053}.fancybox__spinner svg{animation:fancybox-rotate 2s linear infinite;transform-origin:center center;position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:100%;height:100%}.fancybox__spinner svg circle{fill:none;stroke-width:2.75;stroke-miterlimit:10;stroke-dasharray:1,200;stroke-dashoffset:0;animation:fancybox-dash 1.5s ease-in-out infinite;stroke-linecap:round;stroke:currentColor}@keyframes fancybox-rotate{100%{transform:rotate(360deg)}}@keyframes fancybox-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}100%{stroke-dasharray:89,200;stroke-dashoffset:-124px}}.fancybox__backdrop,.fancybox__caption,.fancybox__nav,.carousel__dots,.carousel__button.is-close{opacity:var(--fancybox-opacity, 1)}.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop,.fancybox__container.is-animated[aria-hidden=false] .fancybox__caption,.fancybox__container.is-animated[aria-hidden=false] .fancybox__nav,.fancybox__container.is-animated[aria-hidden=false] .carousel__dots,.fancybox__container.is-animated[aria-hidden=false] .carousel__button.is-close{animation:.15s ease backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__backdrop,.fancybox__container.is-animated.is-closing .fancybox__caption,.fancybox__container.is-animated.is-closing .fancybox__nav,.fancybox__container.is-animated.is-closing .carousel__dots,.fancybox__container.is-animated.is-closing .carousel__button.is-close{animation:.15s ease both fancybox-fadeOut}.fancybox-fadeIn{animation:.15s ease both fancybox-fadeIn}.fancybox-fadeOut{animation:.1s ease both fancybox-fadeOut}.fancybox-zoomInUp{animation:.2s ease both fancybox-zoomInUp}.fancybox-zoomOutDown{animation:.15s ease both fancybox-zoomOutDown}.fancybox-throwOutUp{animation:.15s ease both fancybox-throwOutUp}.fancybox-throwOutDown{animation:.15s ease both fancybox-throwOutDown}@keyframes fancybox-fadeIn{from{opacity:0}to{opacity:1}}@keyframes fancybox-fadeOut{to{opacity:0}}@keyframes fancybox-zoomInUp{from{transform:scale(0.97) translate3d(0, 16px, 0);opacity:0}to{transform:scale(1) translate3d(0, 0, 0);opacity:1}}@keyframes fancybox-zoomOutDown{to{transform:scale(0.97) translate3d(0, 16px, 0);opacity:0}}@keyframes fancybox-throwOutUp{to{transform:translate3d(0, -30%, 0);opacity:0}}@keyframes fancybox-throwOutDown{to{transform:translate3d(0, 30%, 0);opacity:0}}.fancybox__carousel .carousel__slide{scrollbar-width:thin;scrollbar-color:#ccc rgba(255,255,255,.1)}.fancybox__carousel .carousel__slide::-webkit-scrollbar{width:8px;height:8px}.fancybox__carousel .carousel__slide::-webkit-scrollbar-track{background-color:rgba(255,255,255,.1)}.fancybox__carousel .carousel__slide::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:2px;box-shadow:inset 0 0 4px rgba(0,0,0,.2)}.fancybox__carousel.is-draggable .fancybox__slide,.fancybox__carousel.is-draggable .fancybox__slide .fancybox__content{cursor:move;cursor:grab}.fancybox__carousel.is-dragging .fancybox__slide,.fancybox__carousel.is-dragging .fancybox__slide .fancybox__content{cursor:move;cursor:grabbing}.fancybox__carousel .fancybox__slide .fancybox__content{cursor:auto}.fancybox__carousel .fancybox__slide.can-zoom_in .fancybox__content{cursor:zoom-in}.fancybox__carousel .fancybox__slide.can-zoom_out .fancybox__content{cursor:zoom-out}.fancybox__carousel .fancybox__slide.is-draggable .fancybox__content{cursor:move;cursor:grab}.fancybox__carousel .fancybox__slide.is-dragging .fancybox__content{cursor:move;cursor:grabbing}.fancybox__image{transform-origin:0 0;user-select:none;transition:none}.has-image .fancybox__content{padding:0;background:rgba(0,0,0,0);min-height:1px}.is-closing .has-image .fancybox__content{overflow:visible}.has-image[data-image-fit=contain]{overflow:visible;touch-action:none}.has-image[data-image-fit=contain] .fancybox__content{flex-direction:row;flex-wrap:wrap}.has-image[data-image-fit=contain] .fancybox__image{max-width:100%;max-height:100%;object-fit:contain}.has-image[data-image-fit=contain-w]{overflow-x:hidden;overflow-y:auto}.has-image[data-image-fit=contain-w] .fancybox__content{min-height:auto}.has-image[data-image-fit=contain-w] .fancybox__image{max-width:100%;height:auto}.has-image[data-image-fit=cover]{overflow:visible;touch-action:none}.has-image[data-image-fit=cover] .fancybox__content{width:100%;height:100%}.has-image[data-image-fit=cover] .fancybox__image{width:100%;height:100%;object-fit:cover}.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}.fancybox__carousel .fancybox__slide.has-iframe .fancybox__content,.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content{width:100%;height:80%}.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}.fancybox__carousel .fancybox__slide.has-map .fancybox__content,.fancybox__carousel .fancybox__slide.has-pdf .fancybox__content,.fancybox__carousel .fancybox__slide.has-video .fancybox__content,.fancybox__carousel .fancybox__slide.has-html5video .fancybox__content{padding:0;background:rgba(24,24,27,.9);color:#fff}.fancybox__carousel .fancybox__slide.has-map .fancybox__content{background:#e5e3df}.fancybox__html5video,.fancybox__iframe{border:0;display:block;height:100%;width:100%;background:rgba(0,0,0,0)}.fancybox-placeholder{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fancybox__thumbs{flex:0 0 auto;position:relative;padding:0px 3px;opacity:var(--fancybox-opacity, 1)}.fancybox__container.is-animated[aria-hidden=false] .fancybox__thumbs{animation:.15s ease-in backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__thumbs{opacity:0}.fancybox__thumbs .carousel__slide{flex:0 0 auto;width:var(--fancybox-thumbs-width, 96px);margin:0;padding:8px 3px;box-sizing:content-box;display:flex;align-items:center;justify-content:center;overflow:visible;cursor:pointer}.fancybox__thumbs .carousel__slide .fancybox__thumb::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-width:5px;border-style:solid;border-color:var(--fancybox-accent-color, rgba(34, 213, 233, 0.96));opacity:0;transition:opacity .15s ease;border-radius:var(--fancybox-thumbs-border-radius, 4px)}.fancybox__thumbs .carousel__slide.is-nav-selected .fancybox__thumb::after{opacity:.92}.fancybox__thumbs .carousel__slide>*{pointer-events:none;user-select:none}.fancybox__thumb{position:relative;width:100%;padding-top:calc(100%/(var(--fancybox-thumbs-ratio, 1.5)));background-size:cover;background-position:center center;background-color:rgba(255,255,255,.1);background-repeat:no-repeat;border-radius:var(--fancybox-thumbs-border-radius, 4px)}.fancybox__toolbar{position:absolute;top:0;right:0;left:0;z-index:20;background:linear-gradient(to top, hsla(0deg, 0%, 0%, 0) 0%, hsla(0deg, 0%, 0%, 0.006) 8.1%, hsla(0deg, 0%, 0%, 0.021) 15.5%, hsla(0deg, 0%, 0%, 0.046) 22.5%, hsla(0deg, 0%, 0%, 0.077) 29%, hsla(0deg, 0%, 0%, 0.114) 35.3%, hsla(0deg, 0%, 0%, 0.155) 41.2%, hsla(0deg, 0%, 0%, 0.198) 47.1%, hsla(0deg, 0%, 0%, 0.242) 52.9%, hsla(0deg, 0%, 0%, 0.285) 58.8%, hsla(0deg, 0%, 0%, 0.326) 64.7%, hsla(0deg, 0%, 0%, 0.363) 71%, hsla(0deg, 0%, 0%, 0.394) 77.5%, hsla(0deg, 0%, 0%, 0.419) 84.5%, hsla(0deg, 0%, 0%, 0.434) 91.9%, hsla(0deg, 0%, 0%, 0.44) 100%);padding:0;touch-action:none;display:flex;justify-content:space-between;--carousel-button-svg-width: 20px;--carousel-button-svg-height: 20px;opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, 0.4))}@media all and (min-width: 1024px){.fancybox__toolbar{padding:8px}}.fancybox__container.is-animated[aria-hidden=false] .fancybox__toolbar{animation:.15s ease-in backwards fancybox-fadeIn}.fancybox__container.is-animated.is-closing .fancybox__toolbar{opacity:0}.fancybox__toolbar__items{display:flex}.fancybox__toolbar__items--left{margin-right:auto}.fancybox__toolbar__items--center{position:absolute;left:50%;transform:translateX(-50%)}.fancybox__toolbar__items--right{margin-left:auto}@media(max-width: 640px){.fancybox__toolbar__items--center:not(:last-child){display:none}}.fancybox__counter{min-width:72px;padding:0 10px;line-height:var(--carousel-button-height, 48px);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased}.fancybox__progress{background:var(--fancybox-accent-color, rgba(34, 213, 233, 0.96));height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:30;user-select:none}.fancybox__container:fullscreen::backdrop{opacity:0}.fancybox__button--fullscreen g:nth-child(2){display:none}.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(1){display:none}.fancybox__container:fullscreen .fancybox__button--fullscreen g:nth-child(2){display:block}.fancybox__button--slideshow g:nth-child(2){display:none}.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(1){display:none}.fancybox__container.has-slideshow .fancybox__button--slideshow g:nth-child(2){display:block}
