/* CSS FRAMEWORK
versione 5.2 by AndreaFrison.com

-------------------------------------------------------------
-------------------------------------------------------------
	background-image: url(../img/xxx.png);
	_background-image: url(../common/img/transparent.gif);
	_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="common/img/xxx.png", sizingMethod="crop");
	background-repeat: no-repeat;
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figure, footer, header, hgroup, menu, nav, section, menu,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
article, aside, figure, footer, header,
hgroup, nav, section { display:block; }
nav ul { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after,
q:before, q:after { content:''; content:none; }
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }
ins { background-color:#ff9; color:#000; text-decoration:none; }
mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted #000; cursor:help; }
table { border-collapse:collapse; border-spacing:0; }
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
input, select { vertical-align:middle; }

pre {
padding: 15px;
white-space: pre; /* CSS2 */
white-space: pre-wrap; /* CSS 2.1 */
white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
word-wrap: break-word; /* IE */
}
/* align checkboxes, radios, text inputs with their label */
input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { vertical-align: bottom; width: auto !important; }
.ie6 input { vertical-align: text-bottom; }
/* hand cursor on clickable input elements */
label, input[type=button], input[type=submit], button { cursor: pointer; }

:focus {
outline: 0;
}
/* bicubic resizing for non-native sized IMG:*/
.ie7 img { -ms-interpolation-mode: bicubic; }
.clearer {
     visibility: hidden;
     display: block;
     font-size: 0;
     clear: both;
     height: 0;
     }

/* Heading kerning pairs and ligatures */
h1, h2, h3 { text-rendering: optimizeLegibility; }

/* END RESET CSS */

#infocontent {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

#infocontent ul li {
    list-style-type: none;
}

#infocontent h3 a,
#infocontent ul li a {
    font-size: 10px;
    font-weight: normal;
    font-style: normal;
    text-decoration: none;
}



/* -------- STILI PROGETTO ------- */
:root {
    --main: #C77760;
    --white: #ffffff;
    --black: #000000;

    --gray-100: #F7F7F7;
    --gray-200: #E6E6E6;
    --gray-500: #8D8D8D;
    --gray-900: #252324;

    --gray-warm: #F3F0EB;
    
    --font-size-title: 28px;
    --font-size-text: 16px;


    --fs-13: clamp(11px, 0.677vw, 13px);
    --fs-14: clamp(12px, 0.729vw, 14px);
    --fs-16: clamp(13px, 0.834vw, 16px);
    --fs-17: clamp(13px, 0.885vw, 17px);
    --fs-20: clamp(16px, 1.042vw, 20px);
    --fs-25: clamp(18px, 1.302vw, 25px);
    --fs-32: clamp(20px, 1.666vw, 32px);
    --fs-36: clamp(20px, 1.875vw, 36px);
    --fs-58: clamp(22px, 3.025vw, 58px);
    --fs-72: clamp(28px, 3.751vw, 72px);
    --fs-80: clamp(32px, 4.166vw, 80px);
    --fs-88: clamp(36px, 4.583vw, 88px);


    --font-serif: "EB Garamond", serif;


    --gutter-off: max(1.25rem, 3.34vw);
    --gutter-in: max(1.25rem, 1.67vw);
    
    --section-p-y: 90px;
    --sp: min(max(12px,2.5vw),48px);

    --sp-60: clamp(30px, 3.125vw, 60px);
    --sp-90: clamp(60px, 4.687vw, 90px);
    --sp-120: clamp(70px, 6.25vw, 120px);
    --sp-160: clamp(90px, 8.33vw, 160px);
    --sp-180: clamp(110px, 9.375vw, 180px);
    
    --transition-timing: cubic-bezier(0.165, 0.84, 0.44, 1);


    /* Focus ring (WCAG compliant) */
    --focus-rgba: rgb(0, 0, 0, 0.75);
    --focus-ring: 0 0 0 3px var(--focus-rgba);

}

::selection {
    background: #333;
    color: #fff;
}

::-moz-selection {
    background: #333;
    color: #fff;
}

.post-edit-link {
    position: fixed;
    z-index: 9999;
    bottom: 0;
    right: 0;
    padding: 10px 18px;
    background-color: #454545;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border-top-left-radius: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    transition: background-color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.post-edit-link:hover,
.post-edit-link:focus-visible {
    color: #fff;
    background-color: #222;
}



@font-face {
    font-family: 'EB Garamond';
    src: url('../fonts/EBGaramond-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'EB Garamond';
    src: url('../fonts/EBGaramond-Italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}


@font-face {
    font-family: 'ScalaSansPro';
    src: url('../fonts/ScalaSansPro-Regular.woff2') format('woff2'),
        url('../fonts/ScalaSansPro-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ScalaSansPro';
    src: url('../fonts/ScalaSansPro-Light.woff2') format('woff2'),
        url('../fonts/ScalaSansPro-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ScalaSansPro';
    src: url('../fonts/ScalaSansPro-Bold.woff2') format('woff2'),
        url('../fonts/ScalaSansPro-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ScalaSansPro';
    src: url('../fonts/ScalaSansPro-Italic.woff2') format('woff2'),
        url('../fonts/ScalaSansPro-Italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}



body {
	font-family: "ScalaSansPro", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; 
	font-weight: 400;
    
    background-color: #fff;

    -webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.drawer-in {
    overflow: hidden;
}

.serif {
    font-family: var(--font-serif);
    font-optical-sizing: auto;
}

a, a:hover {
    color: inherit;
    text-decoration: none;
    outline: 0;
}

a:focus-visible, 
button:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring) !important;
}

.link-underline {
    text-decoration: underline;
    text-underline-offset: 0.1em;
}

img:not([src]) {
   visibility: hidden; /* nascondo bordo su img senza 'src' */
}

.figure, .img-full {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
}

.figure-bg, .figure-bg::after, .img-cover, .img-contain, .img-scale, .figure > picture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.figure-bg, .figure-bg::after {
    user-select: none;
    pointer-events: none;
}

.img-contain {
    object-fit: contain;
}

.img-scale {
    object-fit: scale-down;
}

.container-fluid {
    position: relative;
    --bs-gutter-x: var(--gutter-off);
}

.container-fluid .row {
    --bs-gutter-x: var(--gutter-in);
}

/* -------- BTNS ------- */

.btn {
    --btn-color: #000;
    --btn-color-hover: #fff;
    color: var(--btn-color);
    padding: 12px 32px;
    border-radius: 0;
    border: 1px solid var(--btn-color);
    background-color: transparent;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 10px;
}

.btn:hover,
.btn:focus {
    color: var(--btn-color-hover);
    border-color: var(--btn-color);
    background-color: var(--btn-color);
}

.btn-small {
    font-size: 100%;
    line-height: 100%;
    padding: 0.8em 1em;
}

.btn-fill {
    border: 0;
    background-color: var(--gray-200);
}

.btn-fill:hover,
.btn-fill:focus {
    background-color: var(--gray-500);
}

.btn svg {
    width: 1em;
    fill: currentColor;
}

.btn-inline {
    color: currentColor;
    font-weight: 400;
    font-size: var(--font-size-text);
    line-height: 120%;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 10px;
    padding-bottom: 0.2em;
    font-family: var(--font-serif);
}

.btn-inline span {
    position: relative;
    display: inline-block;
}

.btn-inline span::before,
.btn-inline span::after {
    content: "";
    position: absolute;
    bottom: -0.2em;
    left: 0;
    right: unset;
    display: block;
    width: 100%;
    height: 1px;
    opacity: 0.45;
    background-color: currentColor;
    transition: all .3s var(--transition-timing);
}

.btn-inline span::after {
    width: 0;
    opacity: 1;
    left: unset;
    right: 0;
}

.btn-inline:hover span::after {
    width: 100%;
    left: 0;
    right: unset;
    opacity: 1;
}

.btn-inline svg {
    width: 1em;
    fill: currentColor;
    display: none;
}

.btn-back svg {
    transform: rotate(180deg);
}




/* -------- HEADER ------- */
#header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    color: var(--black);
    background-color: transparent;
    padding: max(0.75rem,1.045vw) 0;
    transition: all 0.2s var(--transition-timing);

}

#header.headroom--unpinned {
    opacity: 0;
    pointer-events: none;
}

#header.headroom--not-top.headroom--pinned {
    background-color: var(--white);
}

#brand {
    display: inline-block;
    width: min(160px, max(115px, 10vw));
    height: auto;
    height: auto;
}

#brand svg {
    width: 100%;
    height: auto;
    fill: currentColor;
}

.header-nav {
    font-family: var(--font-serif);
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 120%;
    column-gap: 1em;
}


.hamburger {
    border: none;
    margin: 0;
    padding: 0;
    background: transparent;
    line-height: normal;
    width: auto;
    height: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    transition: transform 0.2s ease;
    color: currentColor;
}

.hamburger svg {
    width: 32px;
    height: auto;
    fill: currentColor;
}


/* -------- DRAWER ------- */
#drawer {
    position: fixed;
    z-index: 101;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    visibility: hidden; 
    transition: visibility 0s linear 0.6s;
    pointer-events: none;
}

.drawer-in #drawer {
    visibility: visible;
    transition-delay: 0s;
    pointer-events: auto;
}

#drawer_bg {
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .2);
    opacity: 0;
    transition: opacity .3s var(--transition-timing);
    pointer-events: none;
    backdrop-filter: blur(3px);
}

.drawer-in #drawer_bg {
    opacity: 1;
    pointer-events: all;
}

#drawer_wrapper {
    position: fixed;
    pointer-events: all;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-color: var(--white);
    transition: opacity .3s var(--transition-timing) .3s;
    overflow-y: auto;
}

.drawer-in #drawer_wrapper {
    opacity: 1;
    transition: opacity .3s var(--transition-timing) 0s;
}

#drawer_content {
    padding: max(0.75rem,1.045vw) 0;
    width: 100%;
    min-height: 100%;
    opacity: 0;
    text-align: center;
    transition: opacity .3s var(--transition-timing) 0s;
}

.drawer-in #drawer_content {
    opacity: 1;
    transition: opacity .6s var(--transition-timing) .3s;
}

#drawer_content .drawer-navbar {
    font-family: var(--font-serif);
}

#drawer_navbar_1 {
    font-weight: 400;
    font-size: min(max(46px,2.86vw),55px);
    line-height: 120%;
    margin: 0.8em 0;
}

#drawer_navbar_2 {
    font-weight: 400;
    font-size: min(max(22px,1.66vw),32px);
    line-height: 120%;
    color: var(--text-gray);
}

#drawer_content .drawer-navbar ul {
    display: flex;
    flex-direction: column;
    row-gap: 0.3em;
}

#drawer_content .drawer-navbar a {
    position: relative;
    display: inline-block;
    transition: opacity .3s var(--transition-timing);
}

#drawer_content .drawer-navbar a:hover {
    opacity: 0.75;
}

#drawer_lang {
    list-style: none;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 14px;
    row-gap: 14px;
}

#drawer_lang .lang-link {
    letter-spacing: 0.04em;
}

#drawer_lang .lang-link:not(.active) {
    opacity: 0.7;
}

#drawer_lang .lang-link:hover {
    text-decoration: underline;
}


.social-links ul {
    display: inline-flex;
    flex-direction: column;
    row-gap: 12px;
}

.social-links .social-link {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 7px;
    transition: opacity 0.5s var(--transition-timing);
    font-size: 14px;
}

.social-links .social-link::before {
    content: "";
    width: 24px;
    min-width: 24px;
    height: 24px;
    display: block;
    background: no-repeat center / contain;
}

.social-links:hover .social-link {
    opacity: 0.5;
}

.social-links:hover .social-link:hover {
    opacity: 1;
}

.social-links .social-link[href*="facebook"]::before {
    background-image: url(../img/social-facebook.svg);
}

.social-links .social-link[href*="instagram"]::before {
    background-image: url(../img/social-instagram.svg);
}

.social-links .social-link[href*="linkedin"]::before {
    background-image: url(../img/social-linkedin.svg);
}



/* -------- FOOTER ------- */
#footer {
    border-top: 1px solid var(--gray-100);
    position: relative;
    color: var(--black);
}

#footer_main {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: var(--fs-20);
    line-height: 120%;
    padding: var(--fs-36) 0;
}

.footer-navbar ul {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    column-gap: 1.4em;
}

.footer-navbar a {}

.footer-navbar a:hover {
    text-decoration: underline;
    text-underline-offset: 0.1em;
    text-decoration-thickness: 1px;
}

#footer_colophon {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: var(--fs-16);
    line-height: 120%;
    padding-bottom: var(--fs-36);
}




/* -------- FRONT PAGE ------- */
#front_page {
    position: relative;
    width: 100%;
    height: 100vh;
/*    height: calc(var(--vh, 1vh) * 100);*/
    max-height: -moz-available;
    max-height: -webkit-fill-available;
    max-height: fill-available;
    display: block;
    background-color: var(--black);
    overflow: hidden;
}

#front_page .figure-bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.45) 5%, rgba(0, 0, 0, 0) 74%);
    mix-blend-mode: multiply;
}

#front_page #front_panels {
    position: absolute;
    top: 62px;
    left: 0;
    width: 100%;
    height: calc(100% - 62px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}

#front_page #front_panels .front-panel,
#front_page #front_panels .front-panel .panel-link {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#front_page #front_panels .front-panel {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

#front_page #front_panels .front-panel .panel-link {
    position: relative;
    z-index: 2;
    font-weight: 400;
    font-size: calc(var(--font-size-title) * 1.5);
    /*font-size: max(calc(var(--font-size-title) * 1.8), min(calc(var(--font-size-title) * 2.4), 6vw));*/
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.04em;
    color: #fff;
    transition: color 0.3s var(--transition-timing);
}

#front_page #front_panels .front-panel.panel-center .panel-link {
    font-style: italic;
}

#front_page #front_panels .front-panel .inner-panel {
    display: none;
    visibility: hidden;
}


/* -------- PAGE ------- */
sub, sup {
    font-size: 0.65em;
}

.ff-serif {
    font-family: var(--font-serif);
}

.pretitle {
    font-weight: 700;
    font-size: 12px;
    line-height: 120%;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 1.5em;
}

.title {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: var(--font-size-title);
    line-height: 120%;
}

.subtitle {
    font-weight: 400;
    font-size: var(--font-size-title);
    line-height: 120%;
    color: #888;
    margin-top: 0.1em;
}

.text {
    font-weight: 400;
    font-size: var(--fs-20);
    line-height: 150%;

    text-align: justify;
}

.text-hyphens {
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphens: auto;
}

.text p + p,
.text p + ul,
.text ul + p {
    margin-top: 1em;
}

.title a,
.text a {
    position: relative;
    text-decoration: none;
}

.title a::before,
.title a::after,
.text a::before,
.text a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: unset;
    display: block;
    width: 100%;
    height: 0.05em;
    opacity: 0.45;
    background-color: currentColor;
    transition: all .3s var(--transition-timing);
}

.title a::after,
.text a::after {
    width: 0;
    opacity: 1;
    left: unset;
    right: 0;
}

.title a:hover::after,
.text a:hover::after {
    width: 100%;
    left: 0;
    right: unset;
    opacity: 1;
}

.text ul {
    padding-left: 1.2em;
}

.text ul li + li {
    margin-top: 0.8em; 
}

.text ul li::marker {
    font-size: 70%;
}

#intro,
#intro_w_side {
    padding: calc(var(--section-p-y) * 1.5) 0 var(--section-p-y);
}

#intro.intro-dark,
#intro_w_side.intro-dark {
    color: #fff;
    background-color: var(--black);
}

#intro_w_side .title,
#intro_w_side .subtitle {
    display: block;
    font-family: var(--font-serif);
}

#intro_figure {
    position: relative;
    top: -1px;
    background-color: var(--black);
}

#intro_figure::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 65%;
    background-color: #fff;
}

#intro_figure .figure-wrapper {
    position: relative;
    z-index: 1;
    margin: auto;
    pointer-events: none;
    user-select: none;
}

#intro_figure .figure-wrapper .figure {
    overflow: hidden;
}


.flex {
    padding: var(--sp-120) 0;
}

.flex + .flex {
    padding-top: 0;
}

.embed-container {
    position: relative;
    padding-top: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;
    animation: skeleton-loading 1.6s linear infinite alternate;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.layout-images:has( + .layout-images) {
    padding-bottom: 0;
}

.layout-images .figure {
    margin-top: 24px;
    pointer-events: none;
    user-select: none;
    overflow: hidden;
}



/* -------- GALLERY GRID ------- */
.gallery-grid {
    padding-bottom: var(--section-p-y);
}

.gallery-grid + .flex {
    padding-top: 0;
}

.gallery-grid .gallery-items {
    position: relative;
    list-style: none;
    --bs-gutter-x: 6px;
    --bs-gutter-y: 6px;
}

.gallery-grid .gallery-link {
    position: relative;
    display: block;
    width: 100%;
    padding-top: 125%;
}

.gallery-masonry {
    --masonry-col: 2;
    --masonry-gutter: min(max(12px, 2.916vw), 56px);
    margin-left: calc(var(--masonry-gutter) * -1);
}

.gallery-masonry .gallery-sizer,
.gallery-masonry .gallery-item {
    width: calc(100% / var(--masonry-col) - var(--masonry-gutter));
    margin-left: var(--masonry-gutter);
}

.gallery-masonry .gallery-item {
    float: left;
    margin-bottom: var(--masonry-gutter);
}

.pin-btn {
    position: absolute;
    top: 12px;
    right: 12px;
    color: #fff;
    opacity: 0;
    z-index: 10;
    width: 1rem; 
    transition: all 0.2s ease-in-out;
}

.pin-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 44px;
    min-height: 44px;
}

.pin-btn svg {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.25));
}

.gallery-item:hover .pin-btn,
.gallery-item:focus-within .pin-btn {
    opacity: 1;
}

.gallery-item .pin-btn:hover,
.gallery-item .pin-btn:focus {
    transform: scale(1.15);
    color: #fff;
}

@media (hover: none) {
    .gallery-item .pin-btn {
        opacity: 1;
    }
}


/* -------- GALLERY CAROUSEL ------- */
.gallery-carousel {
    padding-bottom: var(--sp-120);
    overflow: hidden;
}

.gallery-carousel + .flex {
    padding-top: 0;
}

.gallery-carousel .swiper {
    overflow: visible;
}

.gallery-carousel .swiper-slide {
    height: min(700px, 58vh, 100vw);
    width: auto;
}

.gallery-carousel .gallery-link {
    position: relative;
    display: block;
    width: auto;
    height: 100%;
}

.gallery-carousel .swiper-scrollbar.swiper-scrollbar-horizontal,
#portfolio_filter .swiper-scrollbar.swiper-scrollbar-horizontal {
    position: relative;
    bottom: 0;
    top: 0;
    left: 0;
    width: 100%;
    margin-top: 60px;
    border-radius: 0;
    height: 3px;
    background: #E2E2E3;
}

.gallery-carousel .swiper-scrollbar.swiper-scrollbar-horizontal .swiper-scrollbar-drag,
#portfolio_filter .swiper-scrollbar.swiper-scrollbar-horizontal .swiper-scrollbar-drag {
    border-radius: 0;
    height: 100%;
    background-color: #838386;
    cursor: grab;
}


/* -------- PORTFOLIO ------- */
#portfolio_grid {
    padding-bottom: var(--section-p-y);
}

#portfolio_cat_list {
    font-weight: 400;
    font-size: var(--fs-16);
    line-height: 120%;
    padding-top: var(--sp-60)
}

#portfolio_cat_list ul {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    row-gap: 1em;
    column-gap: 1.7em;
}

#portfolio_cat_list .cat-item {
    display: block;
}

#portfolio_cat_list .cat-item .cat-link {
    display: block;
    padding-bottom: 4px;
    border-bottom: 1px solid transparent;
    transition: all 0.3s var(--transition-timing);
}

#portfolio_cat_list .cat-item .cat-link:hover,
#portfolio_cat_list .cat-item.current-cat .cat-link {
    border-bottom-color: currentColor;
}


#portfolio_rel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--sp-120) 0;
    background-color: var(--gray-warm);
    overflow: hidden;
}

#portfolio_rel .swiper {
    overflow: visible;
}

#portfolio_rel .swiper-slide {
    width: 100%;
    max-width: 313px;
}

#portfolio_rel .title {
    margin-bottom: calc(var(--section-p-y) * 0.5);
}

.portfolio-link {
    display: block;
    user-select: none;
}

#portfolio_grid .portfolio-link {
    margin-bottom: calc(var(--section-p-y) * 0.33);
} 

.portfolio-link .portfolio-figure {
    width: 100%;
    height: 0;
    padding-top: 125%;
    display: block;
    pointer-events: none;
    user-select: none;
    overflow: hidden;
}

.portfolio-link .portfolio-figure .img-cover {
    will-change: transform;
    transition: transform .3s var(--transition-timing);
}

.portfolio-link:hover .portfolio-figure .img-cover {
    transform: scale(1.05);
    backface-visibility: hidden;
}

.portfolio-link .portfolio-title {
    margin-top: 1.1em;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: calc(var(--font-size-text) * 1.1);
    line-height: 125%;
}

.portfolio-link .portfolio-excerpt {
    font-weight: 300;
    font-size: 13px;
    line-height: 155%;
    margin-top: 0.8em;
}

.portfolio-link .btn-inline {
    opacity: 0;
    transition: all .3s var(--transition-timing) 0s;
}

.portfolio-link:hover .btn-inline {
    opacity: 1;
    transition-delay: .6s;
}

#portfolio_rel .swiper-scrollbar.swiper-scrollbar-horizontal {
    position: relative;
    bottom: 0;
    top: 0;
    left: 0;
    width: 100%;
    margin-top: 60px;
    border-radius: 0;
    height: 2px;
    background: var(--gray-200);
}

#portfolio_rel .swiper-scrollbar.swiper-scrollbar-horizontal .swiper-scrollbar-drag {
    border-radius: 0;
    height: 100%;
    background: var(--gray-900);
    cursor: grab;
}



/* -------- BANNER ------- */
.banner {
    position: relative;
    background-color: var(--black);
    overflow: hidden;
}

.banner .banner-link {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 100vh;
    color: #fff;
    padding: var(--section-p-y) 0;
    overflow: hidden;
}

.banner .figure-bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background: linear-gradient(82deg, rgba(0, 0, 0, 0.85) 5%, rgba(0, 0, 0, 0) 74%);
    mix-blend-mode: multiply;
}

.banner .container {
    position: relative;
}

.banner .title {
    text-wrap: balance;
    font-size: calc(var(--font-size-title) * 1.3);
}

.banner .btn-inline {
    margin-top: 2em;
}
    


/* -------- FAQ ------- */
#faq_rel {
    padding: var(--section-p-y) 0;
}

#page_faq #faq_rel {
    padding-top: 0;
}

#faq_rel .title {
    margin-bottom: 1.2em;
    text-transform: uppercase;
}

#accordionFaq {
    --bs-accordion-color: currentColor;
    --bs-accordion-bg: transparent;
    --bs-accordion-border-radius: 0;
    list-style: none;
}

#accordionFaq .accordion-item {
    border: 0;
    border-bottom: 1px solid #ccc;
}

#accordionFaq .accordion-header {
    position: relative;
    border: 0;
    padding: max(36px, 2vw) 0;
    background-color: transparent;
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    column-gap: 2vw;
    align-items: center;
    text-align: left;
    font-weight: 400;
    font-family: var(--font-serif);
    font-size: calc(var(--font-size-text) * 1.55);
    line-height: 158%;
    color: currentColor;
}

#accordionFaq .accordion-header::after {
    content: "";
    width: 1.25rem;
    height: 1.25rem;
    margin-left: auto;
    background: no-repeat center / contain;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjMUExQTFBIiBkPSJNMjQgMTF2Mkgwdi0yeiIvPjwvc3ZnPg==");
}

#accordionFaq .accordion-header.collapsed::after {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjMUExQTFBIiBkPSJNMTMgMTFoMTF2MkgxM3YxMWgtMlYxM0gwdi0yaDExVjBoMnYxMVoiLz48L3N2Zz4=");
}

#accordionFaq .accordion-body {
    max-width: min(720px, 87%);
    font-weight: 400;
    font-size: var(--font-size-text);
    line-height: 180%;
    padding: 0;
    padding-bottom: max(28px, 2vw);
}



/* -------- ABOUT ------- */
#about {
    padding-bottom: calc(var(--section-p-y) - max(3rem, 8vw));
}

#about .text {
/*
    font-weight: 400;
    font-size: var(--font-size-title);
*/
    padding-bottom: var(--sp-120);
}

#about .about-item {
    margin-bottom: max(3rem, 8vw);
}

#about .about-item .figure {
    width: 100%;
    padding-top: 150%;
    height: 0;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
}

#about .about-item .about-name {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: calc(var(--font-size-text) * 1.22);
    line-height: 120%;
    margin-top: 1.2em;
}

.about-pop .modal-content {
    border: 0;
    border-radius: 0;
    padding: 40px 30px;
}

.about-pop .figure {
    width: 104px;
    height: 104px;
    display: block;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 38px;
}

.about-pop .about-pop-info {
    margin-bottom: 40px;
    list-style: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 30px;
    row-gap: 30px;
    font-weight: 700;
    font-size: 14px;
    line-height: 120%;
}

.about-pop .about-pop-info-label {
    color: #888;
    margin-bottom: 0.04em;
}

.about-pop .vr {
    width: 1px;
    height: 50%;
    display: block;
    margin: auto;
    background-color: #888;
}

.about-pop .about-pop-intro,
.about-pop .about-pop-text {
    font-weight: 400;
    font-size: calc(var(--font-size-text) * 1.33);
    line-height: 155%;
    margin-bottom: 1.8em;
}

.about-pop .about-pop-text {
    font-size: var(--font-size-text);
}

#featured_on {
    padding-bottom: var(--section-p-y);
}

#facts {
    padding: var(--section-p-y) 0;
}

#about_altripiani {
    padding: var(--section-p-y) 0 calc(var(--section-p-y) * 0.5);
    background-color: var(--gray-100);
}

#about_altripiani_figure {
    position: relative;
    top: -1px;
    background-color: var(--gray-100);
}

#about_altripiani_figure::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 65%;
    background-color: #fff;
}

#about_altripiani_figure .figure-wrapper {
    position: relative;
    z-index: 1;
    margin: auto;
    pointer-events: none;
    user-select: none;
}

#about_altripiani_figure .figure {
    overflow: hidden;
}


/* -------- TEAM ------- */
#page_team {
    padding: calc(var(--section-p-y) * 1.5) 0 var(--section-p-y);
}

#single_team_wrapper {
    position: relative;
    overflow: hidden;
}

#single_team_wrapper .figure {
    position: relative;
    width: 100%;
    height: 72.63vw;
    display: block;
    margin-bottom: 40px;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
}

#page_team .subtitle {
    font-size: calc(var(--font-size-text) * 1.33);
}

#page_team + #references_archive,
.gallery-carousel + #references_archive {
    padding: var(--section-p-y) 0;
    background-color: #f3f3f3;
}



/* -------- SERVICES ------- */
#services_rel {}

.services-loop {
    list-style: none;
    padding-bottom: var(--sp-60);
}

.service-item {
    padding: var(--sp-60) 0;
}

.service-item .service-item__figure {
    position: relative;
    padding-top: 90%;
    pointer-events: none;
    user-select: none;
}

.service-item .service-item__link {
    position: absolute;
    z-index: 1;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    pointer-events: all;
}

.service-item .service-item__title {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: var(--fs-58);
    line-height: 110%;
    margin-bottom: 0.6em;
}

.service-item .service-item__text {
    font-weight: 400;
    font-size: var(--fs-20);
    line-height: 140%;
}


#services_rel .service-link {
    width: 100%;
    height: auto;
    display: block;
    font-weight: 400;
    font-size: 16px;
    line-height: 120%;
    margin-bottom: var(--section-p-y);
}

#services_rel .service-link .figure-wrapper {
    max-width: 100%;
    display: block;
}

#services_rel .service-link .figure {
    width: 100%;
    height: 0;
    padding-top: 62.5%;
    display: block;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
}

#services_rel .service-link .service-title {
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: calc(var(--font-size-text) * 1.22);
    line-height: 120%;
    margin: 1.2em 0 0.4em;
}


/* -------- TESTIMONIALS ------- */
#testimonial_rel {
    position: relative;
    padding: calc(var(--section-p-y) * 1.5) 0 var(--section-p-y);
    background-color: #f3f3f3;
    overflow: hidden;
}

#testimonial_rel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(var(--section-p-y) * 0.5);
    background-color: #fff;
}

#testimonial_rel .testimonial-title {
    font-style: italic;
    font-weight: 400;
    font-size: calc(var(--font-size-text) * 1.33);
    line-height: 120%;
    margin-bottom: 2em;
}

#testimonial_rel .testimonial-title small {
    font-size: var(--font-size-text);
}

#testimonial_rel .testimonial-text {
    font-weight: 400;
    font-size: 16px;
    line-height: 135%;
    max-width: 360px;
}

#testimonial_rel .testimonial-counter {
    position: relative;
    z-index: 1;
    font-weight: 700;
    font-size: 12px;
    line-height: 120%;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #888;
    margin-bottom: 12px;
}

#testimonial_rel .swiper-fade .swiper-slide {
    opacity: 0 !important;
}

#testimonial_rel .swiper-fade .swiper-slide-active {
    opacity: 1 !important;
}

#testimonial_rel .swiper-nav {
    position: relative;
    display: flex;
    flex-direction: row;
    column-gap: 18px;
    margin-top: 30px;
    --swiper-navigation-size: 36px;
    --swiper-navigation-color: var(--black);
}

#testimonial_rel .swiper-nav .swiper-button-next,
#testimonial_rel .swiper-nav .swiper-button-prev {
    position: relative;
    top: unset;
    left: unset;
    right: unset;
    bottom: 0;
    margin: 0;
    width: var(--swiper-navigation-size);
    height: var(--swiper-navigation-size);
    border-radius: 50px;
    border: 1px solid var(--swiper-navigation-color);
}

#testimonial_rel .swiper-nav .swiper-button-prev svg,
#testimonial_rel .swiper-nav .swiper-button-next svg {
    width: 0.9em;
}

#testimonial_rel .swiper-nav .swiper-button-prev svg {
    transform: rotate(180deg);
}

#testimonial_rel .swiper-nav .swiper-button-prev::after,
#testimonial_rel .swiper-nav .swiper-button-next::after {
    content: "←";
    font-weight: 400;
    font-size: 16px;
    display: none;
}

/*
#testimonial_rel .swiper-nav .swiper-button-next::after {
    content: "→";
}
*/

#testimonial_images {
    position: absolute;
    top: 0;
    left: 0;
    width: 24%;
    height: 100%;
}

#testimonial_images .swiper {
    width: 100%;
    height: 100%;
}

#testimonial_images .swiper-slide {
    width: 100%;
}

#testimonial_images .figure {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: min(290%, 80vh);
    display: block;
    overflow: hidden;
    transition: padding 0.6s var(--transition-timing);
    pointer-events: none;
    user-select: none;
}

#testimonial_images .figure::after {
    content: attr(data-name);
    position: absolute;
    top: 50%;
    left: 0;
    text-align: center;
    display: block;
    width: 100%;

    display: none;
}


/* -------- kicks ------- */
#kicks_ctas {
    padding-bottom: calc(var(--section-p-y) - max(3rem, 8vw));
}

#kicks_ctas .kicks-item {
    margin-bottom: max(3rem, 8vw);
}
 
#kicks_ctas .kicks-item .figure {
    width: 100%;
    padding-top: 150%;
    height: 0;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
}

#kicks_ctas .kicks-item .kicks-title {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: calc(var(--font-size-text) * 1.22);
    line-height: 120%;
    margin-top: 1.2em;
}


/* -------- FORM ------- */
.form {
    padding-bottom: var(--section-p-y);
}


/* -------- PAGINATION ------- */
#pagination {
    margin-top: 60px;
    font-weight: 400;
    font-size: var(--font-size-text);
    line-height: 150%;
    padding-top: 30px;
    border-top: 1px solid #E2E2E3;
}

#pagination nav ul {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 10px;
}

#pagination nav ul a {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 100%;
    min-height: 32px;
    min-width: 32px;
    color: var(--black);
    border: 1px solid #E2E2E3;
    transition: all .3s var(--transition-timing);
}

#pagination nav ul a.current,
#pagination nav ul a:hover {
    color: #fff;
    border-color: var(--black);
    background-color: var(--black);
}


/* -------- CURSOR ------- */
#cursor {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 1000;
    contain: layout style size;
    pointer-events: none;
    display: none;
}

#cursor::before {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    font-size: 11px;
    line-height: 1.22;
    color: #000;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    text-align: center;
    text-transform: uppercase;
    width: 93px;
    height: 93px;
    -webkit-transform: scale(0);
    transform: scale(0);
    background: rgba(255, 255, 255, 0.7) url(../img/icon-drag.svg) no-repeat center / 100% auto;
    backdrop-filter: blur(3px);
    border-radius: 50%;
    
    transition: opacity .35s ease, -webkit-transform .45s cubic-bezier(0.79, 0, 0.4, 1);
    transition: transform .45s cubic-bezier(0.79, 0, 0.4, 1), opacity .35s ease;
    transition: transform .45s cubic-bezier(0.79, 0, 0.4, 1), opacity .35s ease, -webkit-transform .45s cubic-bezier(0.79, 0, 0.4, 1);
    
    will-change: transform;
}

#cursor.is-hover::before {
    transform: scale(1);
    opacity: 1;
    background-color: rgba(255, 255, 255, 0.7);
}

#cursor.is-mousedown::before {
    transition-duration: 0.1s !important;
    transform: scale(0.85) !important;
}

/*#cursor::before {
    content: var(--cursorCaption, "");
}*/



/* -------- CONTACTS ------- */
#form {
    --form-color: #000;
    color: var(--form-color);
/*    background-color: var(--black);*/
}

#form .gform_fields {
    grid-row-gap: 36px;
}

#form .gform_required_legend {
    display: none;
}

#form .gfield_required {
    color: var(--form-color);
}

#form .gfield_label {
    font-weight: 400;
    font-size: var(--font-size-text);
    line-height: 120%;
    color: var(--form-color);
}

#form select {
    -webkit-appearance: none;
    -moz-appearance:    none;
    appearance:         none;
}

#form input[type=text],
#form input[type=tel],
#form input[type=email],
#form select,
#form textarea  {
    color: var(--form-color);
    font-weight: 400;
    font-size: var(--font-size-text);
    line-height: 120%;
    padding: 10px 0;
    border: 0;
    border-radius: 0;
    border-bottom: 1px solid #999;
    background-color: transparent;
}

#form textarea {
    height: 120px;
    resize: none;
}

#form input:focus,
#form select:focus,
#form textarea:focus {
    border-bottom-color: var(--form-color);
}

#form .ginput_container_consent {
    font-size: 12px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 10px;
}

#form .ginput_container_consent .gfield_required {
    display: none;
}

#form .ginput_container_select {
    position: relative;
}

#form .ginput_container_select::before {
    content: "+";
    position: absolute;
    right: 0;
    top: 10px;
}

#form input[type=submit] {
    color: var(--white);
    font-size: 16px;
    padding: 12px 32px;
    border-radius: 0;
    border: 1px solid var(--form-color);
    background-color: var(--form-color);
    margin-top: 36px;
    margin-left: auto;
}

#form .gform_wrapper .gform_validation_errors {
    padding: 0;
    margin-bottom: 45px;
    border: 0;
    border-radius: 0;
    background-color: transparent;
}

#form .gform_wrapper .gform_validation_errors .gform_submission_error {
    color: var(--main);
    font-size: 16px;
}

#form .gform_wrapper .gform_validation_errors .gform-icon {
    display: none;
}

#form .gform_wrapper [aria-invalid=true]+label {
    color: var(--form-color);
}

#form .gform_wrapper .validation_message {
    margin: 0.4em 0 0;
    border: 0;
    padding: 0;
    color: #d58067;
    background-color: transparent;
}

#section_contacts {
    background-color: var(--gray-warm);
    padding: var(--section-p-y) 0;
}

#section_contacts .text {
    line-height: 170%;
}

#section_contacts .text a::before,
#section_contacts .text a::after {
    opacity: 0;
}

/* -------- REFERENCES ------- */
#references_archive {
    padding-bottom: var(--section-p-y);
}

#references_archive ul {
    list-style: none;
}

#references_archive ul li {
    padding: 60px 0;
    border-top: 1px solid #ccc;
}

#references_archive ul li:last-child {
    border-bottom: 1px solid #ccc;
}

#references_archive .reference-person {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    column-gap: 12px;
}

#references_archive .reference-person .reference-figure {
    width: 68px;
    min-width: 68px;
    height: 68px;
    display: block;
    overflow: hidden;
    border-radius: 50px;
}

#references_archive .reference-person .reference-title {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: calc(var(--font-size-text) * 1.2);
    line-height: 130%;
}

#references_archive .reference-person .reference-title small {
    font-weight: 400;
    font-style: italic;
}

#references_archive .reference-text {
    font-style: italic;
}


/* -------- 2026 ------- */
.home-gallery {
    min-height: 100vh;
    min-height: 100svh;
    background: #fff;
}

.home-swiper {
    height: 100vh;
    height: 100svh;
    padding: min(max(12px,8.23vw),158px) !important;
    box-sizing: border-box;
}

.home-swiper,
.home-swiper img {
    -webkit-touch-callout: none;
    -webkit-user-select: none;  
    -moz-user-select: none;   
    -ms-user-select: none;  
    user-select: none; 
    -webkit-user-drag: none;
}

.home-swiper .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-swiper .swiper-slide .figure {
    height: 100%;
}



/* -------- SINGLE PORTFOLIO ------- */
#hero_single_portfolio .title,
#hero_single_portfolio .subtitle,
#hero_single_service .title,
#hero_single_service .subtitle {
    font-family: var(--font-serif);
    display: block;
    text-wrap: balance;
}

#single_portfolio,
#single_service {
    padding-top: calc(var(--section-p-y) * 1.5);
}

.hero-image {
    padding-top: calc(var(--section-p-y) * 0.5);
}

.hero-image .is-portrait-limit {
    width: 100%;
    max-width: 60vh;
    margin: auto;
}

.hero-image figure {
    pointer-events: none;
    user-select: none;    
}


.page-hero {
    padding-top: var(--sp-180);
    padding-bottom: var(--sp-60);
    text-align: center;
}

.hero-headline {
    font-weight: 400;
    font-size: var(--fs-88);
    line-height: 110%;
    font-family: var(--font-serif);
    max-width: 16ch;
    margin: auto;
    text-wrap: balance;
}

.page-hero .figure {
    margin-top: var(--sp-60);
    padding-top: 56.25vw;
}


/* -------- MEDIA QUERY ------- */
@media screen and (min-width:768px) {

    #drawer_wrapper {
        height: auto;
    }
    
    #drawer #drawer_primary_navbar {
        margin: 10vh 0 15vh;
    }
    
    
    /* FRONT PAGE - START */
    #front_page #front_panels {
        top: 0;
        height: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: stretch;
    }
    
    #front_page #front_panels .front-panel {
        --deafult-size: calc(100% / 3);
        position: absolute;
        top: 0;
        width: var(--deafult-size);
        justify-content: flex-end;
        padding: 18vh 0;
        border: 0;
        transition: all 0.3s var(--transition-timing);
    }
    
    #front_page #front_panels.has-active .front-panel {
        background-color: #111;
    }
    
    #front_page #front_panels.has-active .front-panel:not(.is-active) .panel-link {
        color: #222;
    }
    
    #front_page #front_panels.has-active #panel_2:not(.is-active) .panel-link {
        color: #111;
    }
    
    #front_page #front_panels .front-panel.is-active {
        width: calc(100% / 2);
        z-index: 10;
        background-color: #000;
    }
    
    #front_page #front_panels #panel_1 {
        left: 0;
    }
    
    #front_page #front_panels #panel_2 {
        left: var(--deafult-size);
    }
    
    #front_page #front_panels #panel_3 {
        left: calc(var(--deafult-size) * 2);
    }
    
    #front_page #front_panels #panel_2.is-active-1,
    #front_page #front_panels #panel_2.is-active-3 {
        left: calc(100% / 2);
        background-color: #333;
        z-index: 9;
    }
    
    #front_page #front_panels #panel_2.is-active-2 {
        left: calc(100% / 4);
        border: 0;
    }
    
    #front_page #front_panels #panel_2.is-active-3 {
        left: calc(50% - var(--deafult-size));
    }
    
    #front_page #front_panels #panel_3.is-active-3 {
        left: 50%;
    }
    
    #front_page #front_panels .front-panel.panel-center {
        border-right: 1px solid rgba(255, 255, 255, 0.2);
        border-left: 1px solid rgba(255, 255, 255, 0.2);
    }
    
    #front_page #front_panels .front-panel .panel-link {
        height: auto;
        padding: 2vh 0;
    }
    
    #front_page #front_panels .panel-side .panel-link::after {
        content: "";
        left: 0;
        top: 52%;
        position: absolute;
        width: 50px;
        height: 2px;
        display: block;
        background-color: #fff;
        transition: all .3s var(--transition-timing);
    }
    
    #front_page #front_panels #panel_3 .panel-link::after {
        left: unset;
        right: 0;
    }
    
    #front_page #front_panels .panel-side.is-active .panel-link::after {
        width: 50%;
    }
    
    #front_page #front_panels.has-active .front-panel:not(.is-active) .panel-link::after {
        background-color: #222;
    }
    
    #front_page #front_panels #panel_2:after {
        content: "";
        left: 50%;
        bottom: 0;
        position: absolute;
        height: 50px;
        width: 2px;
        display: block;
        background-color: #fff;
        transition: all .3s var(--transition-timing);
    }
    
    #front_page #front_panels #panel_2.is-active:after {
        height: 0;
    }
    
    #front_page #front_panels.has-active #panel_2:not(.is-active):after {
        background-color: #111;
    }

    #front_page #front_panels .front-panel .inner-panel {
        opacity: 0;
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: block;
        visibility: visible;
        pointer-events: none;
        backface-visibility: hidden;
        transition: all .3s var(--transition-timing);
    }
    
    #front_page #front_panels .front-panel.is-active .inner-panel {
        opacity: 1;
    }
    
    #front_page .swiper,
    #front_page .swiper-slide {
        width: 100%;
        height: 100%;
    }
    
    #home_container #homepage_panels .homepage_panel .inner-panel .inner-panel-overlay {
        display: block;
        position: absolute;
        bottom: -1px;
        left: 0;
        width: 100%;
        height: 50%;
        z-index: 1;
        background: linear-gradient(0, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
    }
    
    /* FRONT PAGE - END */
    
    .banner .title {
        font-size: calc(var(--font-size-title) * 1.7);
    }

    #about .about-items,
    #kicks_ctas .kicks-items {
        padding-top: 8vw;
    }
    
    #about .about-item.odd,
    #kicks_ctas .kicks-item.odd {
        margin-top: -8vw;
    }
        
    .about-pop {
        width: 975px;
        max-width: 90%;
    }
    
    .about-pop .about-pop-short-info {
        max-width: 180px;
    }
    
    .about-pop .figure {
        margin-left: 0;
    }
    
    .about-pop .about-pop-info {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    
    #testimonial_rel {
        min-height: calc(var(--section-p-y) * 1.25 + 700px);
    }
    
    #testimonial_images {
        width: 40%;
        height: 700px;
    }
    
    #testimonial_images .swiper-slide {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        width: 240px;
    }
    
    #testimonial_images .figure {
        position: relative;
        width: 100%;
        height: 320px;
        padding: 0;
        display: block;
        overflow: hidden;
        transition: height 1.2s var(--transition-timing);
    }

    #testimonial_images .swiper-slide-next .figure {
        height: 55%;
    }

    #testimonial_images .swiper-slide-active .figure {
        height: 100%;
    }

    #testimonial_images .figure .img-cover {
        object-position: bottom;
    }
    


    
}


@media screen and (min-width:992px) {
    :root {
        --font-size-text: 17px;
        --font-size-title: 30px;
        --section-p-y: 120px;
    }

    .gallery-masonry {
        --masonry-col: 3;
    }
    
    #accordionFaq .accordion-header::before {
        content: attr(data-before);
        position: relative;
        top: 2px;
        font-weight: 400;
        font-size: calc(var(--font-size-text) * 0.86);
        line-height: 250%;
        margin-left: -3vw;
        width: 1vw;
    }
    
    #testimonial_images {
        width: 50%;
    }
    
    #single_team_wrapper {
        --team-height: 36vw;
        min-height: var(--team-height);
    }

    #single_team_wrapper .figure {
        position: absolute;
        top: 0;
        left: 0;
        width: 50vw;
        height: 100%;
        max-height: var(--team-height);
        margin-bottom: 0;
    }

    #single_team_content {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        min-height: var(--team-height);
    }
    
}


@media screen and (min-width:1200px) {
    :root {
        --font-size-text: 18px;
        --font-size-title: 32px;
        --section-p-y: 150px;
    }
}


@media screen and (min-width:1400px) {
    :root {
        --section-p-y: 165px;
    }
    
    
}


@media screen and (min-width:1600px) {
    
    :root {
        --font-size-title: 36px;
    }
    
}


@media screen and (min-width: 1920px) {
    :root {
        --section-p-y: 180px;
    }
    
}



/* -------- EXTRA ------- */
/**
 * Swiper 12.1.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 28, 2026
 */

:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode{.swiper-wrapper:after{content:"";left:0;pointer-events:none;position:absolute;top:0}}.swiper-virtual.swiper-css-mode.swiper-horizontal{.swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}}.swiper-virtual.swiper-css-mode.swiper-vertical{.swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:var(--swiper-navigation-size);z-index:10;&.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}&.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled &{display:none!important}svg{height:100%;object-fit:contain;transform-origin:center;width:100%;fill:currentColor;pointer-events:none}}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto;.swiper-navigation-icon{transform:rotate(180deg)}}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev,&~.swiper-button-next,.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{.swiper-navigation-icon{transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{.swiper-navigation-icon{transform:rotate(0deg)}}}.swiper-vertical{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-button-prev,~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px);.swiper-navigation-icon{transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto;.swiper-navigation-icon{transform:rotate(90deg)}}}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10;&.swiper-pagination-hidden{opacity:0}&.swiper-pagination-disabled,.swiper-pagination-disabled>&{display:none!important}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden;.swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullet-active-next-next{transform:scale(.33)}}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));button&{appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable &{cursor:pointer}&:only-child{display:none!important}}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0);.swiper-pagination-bullet{display:block;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}&.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px;.swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets{.swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}&.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap;.swiper-pagination-bullet{transition:transform .2s,left .2s}}}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute;.swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl & .swiper-pagination-progressbar-fill{transform-origin:right top}&.swiper-pagination-horizontal,&.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>&,.swiper-vertical>&.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}&.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,&.swiper-pagination-vertical,.swiper-horizontal>&.swiper-pagination-progressbar-opposite,.swiper-vertical>&{height:100%;left:0;top:0;width:var(--swiper-pagination-progressbar-size,4px)}}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;&.swiper-scrollbar-disabled,.swiper-scrollbar-disabled>&{display:none!important}&.swiper-scrollbar-horizontal,.swiper-horizontal>&{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);position:absolute;top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);z-index:50}&.swiper-scrollbar-vertical,.swiper-vertical>&{height:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);left:var(--swiper-scrollbar-left,auto);position:absolute;right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50}}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);height:100%;left:0;position:relative;top:0;width:100%}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{align-items:center;display:flex;height:100%;justify-content:center;text-align:center;width:100%;>canvas,>img,>svg{max-height:100%;max-width:100%;object-fit:contain}}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{left:0;opacity:0;pointer-events:none;position:absolute;top:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{margin:0 auto;transition-timing-function:ease-out}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-direction:column;flex-wrap:wrap}.swiper-fade{&.swiper-free-mode{.swiper-slide{transition-timing-function:ease-out}}.swiper-slide{pointer-events:none;transition-property:opacity;.swiper-slide{pointer-events:none}}.swiper-slide-active{pointer-events:auto;& .swiper-slide-active{pointer-events:auto}}}.swiper.swiper-cube{overflow:visible}.swiper-cube{.swiper-slide{backface-visibility:hidden;height:100%;pointer-events:none;transform-origin:0 0;visibility:hidden;width:100%;z-index:1;.swiper-slide{pointer-events:none}}&.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}.swiper-slide-active,.swiper-slide-next,.swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube-shadow{bottom:0;height:100%;left:0;opacity:.6;position:absolute;width:100%;z-index:0;&:before{background:#000;bottom:0;content:"";filter:blur(50px);left:0;position:absolute;right:0;top:0}}}.swiper-cube{.swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}}.swiper-cube{.swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-slide-shadow-cube.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper.swiper-flip{overflow:visible}.swiper-flip{.swiper-slide{backface-visibility:hidden;pointer-events:none;z-index:1;.swiper-slide{pointer-events:none}}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}}.swiper-flip{.swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-slide-shadow-flip.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper-creative{.swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}}.swiper.swiper-cards{overflow:visible}.swiper-cards{.swiper-slide{backface-visibility:hidden;overflow:hidden;transform-origin:center bottom}}


/* fancyBox v3.5.7 */
body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.fancybox-slide--image .fancybox-content{animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;transform-origin:top left;transition-property:transform,opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;outline:none}.fancybox-button div{height:100%}.fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.fancybox-button svg path{fill:currentColor;stroke-width:0}.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:first-child,.fancybox-button--pause svg:first-child,.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:99998}.fancybox-close-small{background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.fancybox-close-small:hover{color:#fff;opacity:1}.fancybox-slide--html .fancybox-close-small{color:currentColor;padding:10px;right:0;top:0}.fancybox-slide--image.fancybox-is-scaling .fancybox-content{overflow:hidden}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{display:none}.fancybox-navigation .fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.fancybox-navigation .fancybox-button div{padding:7px}.fancybox-navigation .fancybox-button--arrow_left{left:0;left:env(safe-area-inset-left);padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0;right:env(safe-area-inset-right)}.fancybox-caption{background:linear-gradient(0deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.075) 75.5%,rgba(0,0,0,.037) 82.85%,rgba(0,0,0,.019) 88%,transparent);bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:75px 44px 25px;pointer-events:none;right:0;text-align:center;z-index:99996}@supports (padding:max(0px)){.fancybox-caption{padding:75px max(44px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(44px,env(safe-area-inset-left))}}.fancybox-caption--separate{margin-top:-50px}.fancybox-caption__body{max-height:50vh;overflow:auto;pointer-events:all}.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited{color:#ccc;text-decoration:none}.fancybox-caption a:hover{color:#fff;text-decoration:underline}.fancybox-loading{animation:a 1s linear infinite;background:transparent;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@keyframes a{to{transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;transform:translateZ(0)}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{opacity:0;transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{transform:translateZ(0) scale(1)}@media (max-height:576px){.fancybox-slide{padding-left:6px;padding-right:6px}.fancybox-slide--image{padding:6px 0}.fancybox-close-small{right:-6px}.fancybox-slide--image .fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}.fancybox-caption{padding-left:12px;padding-right:12px}@supports (padding:max(0px)){.fancybox-caption{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}}.fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px}.fancybox-share p{margin:0;padding:0}.fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.fancybox-share__button:link,.fancybox-share__button:visited{color:#fff}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}.fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:rgba(0,0,0,0);top:0;width:212px;z-index:99995}.fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.fancybox-thumbs-x .fancybox-thumbs__list{overflow:hidden}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{width:7px}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.fancybox-thumbs__list a:before{border:6px solid #ff5268;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.fancybox-thumbs__list a:focus:before{opacity:.5}.fancybox-thumbs__list a.fancybox-thumbs-active:before{opacity:1}@media (max-width:576px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs__list a{max-width:calc(100% - 10px)}}



/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2015 Daniel Eden
*/

.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.animated.infinite {
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.animated.hinge {
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
}

.animated.bounceIn,
.animated.bounceOut {
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
}

.animated.flipOutX,
.animated.flipOutY {
    -webkit-animation-duration: .75s;
    animation-duration: .75s;
}



@-webkit-keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInDown {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInDownBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInDownBig {
    -webkit-animation-name: fadeInDownBig;
    animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInLeft {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInLeftBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInLeftBig {
    -webkit-animation-name: fadeInLeftBig;
    animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInRight {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInRightBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInRightBig {
    -webkit-animation-name: fadeInRightBig;
    animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes fadeInUpBig {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }

    100% {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeInUpBig {
    -webkit-animation-name: fadeInUpBig;
    animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.fadeOut {
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

@keyframes fadeOutDown {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

.fadeOutDown {
    -webkit-animation-name: fadeOutDown;
    animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }
}

@keyframes fadeOutDownBig {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }
}

.fadeOutDownBig {
    -webkit-animation-name: fadeOutDownBig;
    animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

@keyframes fadeOutLeft {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

.fadeOutLeft {
    -webkit-animation-name: fadeOutLeft;
    animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }
}

@keyframes fadeOutLeftBig {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }
}

.fadeOutLeftBig {
    -webkit-animation-name: fadeOutLeftBig;
    animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

@keyframes fadeOutRight {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

.fadeOutRight {
    -webkit-animation-name: fadeOutRight;
    animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }
}

@keyframes fadeOutRightBig {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }
}

.fadeOutRightBig {
    -webkit-animation-name: fadeOutRightBig;
    animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

@keyframes fadeOutUp {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

.fadeOutUp {
    -webkit-animation-name: fadeOutUp;
    animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }
}

@keyframes fadeOutUpBig {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }
}

.fadeOutUpBig {
    -webkit-animation-name: fadeOutUpBig;
    animation-name: fadeOutUpBig;
}



@-webkit-keyframes slideInDown {
    0% {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
        visibility: visible;
    }

    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInDown {
    0% {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
        visibility: visible;
    }

    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.slideInDown {
    -webkit-animation-name: slideInDown;
    animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
    0% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }

    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInLeft {
    0% {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }

    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.slideInLeft {
    -webkit-animation-name: slideInLeft;
    animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
    0% {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        visibility: visible;
    }

    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInRight {
    0% {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        visibility: visible;
    }

    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.slideInRight {
    -webkit-animation-name: slideInRight;
    animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
    0% {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        visibility: visible;
    }

    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInUp {
    0% {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        visibility: visible;
    }

    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.slideInUp {
    -webkit-animation-name: slideInUp;
    animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    100% {
        visibility: hidden;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

@keyframes slideOutDown {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    100% {
        visibility: hidden;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

.slideOutDown {
    -webkit-animation-name: slideOutDown;
    animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    100% {
        visibility: hidden;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

@keyframes slideOutLeft {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    100% {
        visibility: hidden;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

.slideOutLeft {
    -webkit-animation-name: slideOutLeft;
    animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    100% {
        visibility: hidden;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

@keyframes slideOutRight {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    100% {
        visibility: hidden;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

.slideOutRight {
    -webkit-animation-name: slideOutRight;
    animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    100% {
        visibility: hidden;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

@keyframes slideOutUp {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    100% {
        visibility: hidden;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

.slideOutUp {
    -webkit-animation-name: slideOutUp;
    animation-name: slideOutUp;
}

.spinner {
    width: 50px;
    height: 16px;
    text-align: center;
    font-size: 10px;
    position: relative;
    top: 50%;
    margin: -8px auto 100px;
}

.spinner > div {
    background-color: #666;
    height: 100%;
    width: 1px;
    display: inline-block;

    -webkit-animation: stretchdelay 1.2s infinite ease-in-out;
    animation: stretchdelay 1.2s infinite ease-in-out;
}

.spinner .rect2 {
    -webkit-animation-delay: -1.1s;
    animation-delay: -1.1s;
}

.spinner .rect3 {
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s;
}

.spinner .rect4 {
    -webkit-animation-delay: -0.9s;
    animation-delay: -0.9s;
}

.spinner .rect5 {
    -webkit-animation-delay: -0.8s;
    animation-delay: -0.8s;
}

@-webkit-keyframes stretchdelay {
    0%,
    40%,
    100% {
        -webkit-transform: scaleY(0.4)
    }
    20% {
        -webkit-transform: scaleY(1.0)
    }
}

@keyframes stretchdelay {
    0%,
    40%,
    100% {
        transform: scaleY(0.4);
        -webkit-transform: scaleY(0.4);
    }
    20% {
        transform: scaleY(1.0);
        -webkit-transform: scaleY(1.0);
    }
}

/* fine spinner */