:root {
    --color-theme: #3D4543;
    --color-theme-rgb: 61,69,67;
    --color-theme-wood: #826040;
    --color-theme-wood-rgb: 130,96,64;
    --color-theme-darkwood: #483729;
    --color-theme-darkwood-rgb: 72,55,41;
    --color-body: #222222;
    --color-body-rgb: 34,34,34;
    --color-gray: #D9D8D6;
    --color-gray-rgb: 217,216,214;
    --color-gray-light: #EDEDED;
    --color-gray-light-rgb: 237,237,237;
    --color-gray-bright: #F8F8F8;
    --color-gray-bright-rgb: 248,248,248;
    --color-placeholder: var(--color-gray);
    --color-error: #c70000;
    --filter-black: brightness(0);
    --filter-white: brightness(0) invert(1);
    --font-body: 'IBM Plex Sans Thai', sans-serif;
    --font-heading: 'Cremona', 'IBM Plex Sans Thai', sans-serif;
    --font-special: 'ivypresto-display', serif;
    --weight-regular: normal;
    --weight-medium: 500;
    --weight-light: 300;
    --font-size-3xs: 8px;
    --font-size-2xs: 10px;
    --font-size-xs: 12px;
    --font-size-sm: 14px;
    --font-size-md: 16px;
    --font-size-lg: 18px;
    --font-size-xl: 20px;
    --font-size-h4: 24px;
    --font-size-h3: 30px;
    --font-size-h2: 36px;
    --font-size-h1: 48px;
    --font-size-body: var(--font-size-sm);
    --icon-size: var(--font-size-xl);
    --line-height-xs: 1;
    --line-height-sm: 1.2;
    --line-height-md: 1.7;
    --letter-spacing: 0.2em;
    --spacing-2xl: 100px;
    --spacing-2xl-minus: -100px;
    --spacing-xl: 75px;
    --spacing-xl-minus: -75px;
    --spacing-lg: 50px;
    --spacing-lg-minus: -50px;
    --spacing-md: 30px;
    --spacing-md-minus: -30px;
    --spacing-sm: 20px;
    --spacing-sm-minus: -20px;
    --spacing-xs: 15px;
    --spacing-xs-minus: -15px;
    --spacing-2xs: 10px;
    --spacing-2xs-minus: -10px;
    --spacing-3xs: 5px;
    --spacing-3xs-minus: -5px;
    --header-height: 60px;
    --logo-height: 60px;
    --input-height: 35px;
    --input-height-md: 45px;
    --cta-shadow: 0 -1px 0 0 inset;
    --opacity: 0.6;
    --opacity-light: 0.3;
    --transition: 0.4s;
    --transition-x2: 0.8s;
    --timing-function: ease;
}
html.page-scrolling {
  --logo-height: 55px;
}
html.page-scrolling .header-brand .logo {
  filter: brightness(0.4);
}


/*========== FIX STYLE:THEME ==========*/
.bg-theme { background-color: var(--color-theme) !important;}
.bg-theme-wood { background-color: var(--color-theme-wood) !important;}
.bg-theme-darkwood { background-color: var(--color-theme-darkwood) !important;}
.bg-gray { background-color: var(--color-gray) !important;}
.bg-gray-light { background-color: var(--color-gray-light) !important;}
.c-theme { color: var(--color-theme) !important;}
.c-theme-wood { color: var(--color-theme-wood) !important;}
.c-theme-darkwood { color: var(--color-theme-darkwood) !important;}
.c-body { color: var(--color-body) !important;}
.c-gray { color: var(--color-gray) !important;}
.c-error { color: var(--color-error) !important;}
.padding-top-2xl { padding-top: var(--spacing-2xl) !important;}
.padding-top-xl { padding-top: var(--spacing-xl) !important;}
.padding-top-lg { padding-top: var(--spacing-lg) !important;}
.padding-top-md { padding-top: var(--spacing-md) !important;}
.padding-top-sm { padding-top: var(--spacing-sm) !important;}
.padding-top-xs { padding-top: var(--spacing-xs) !important;}
.padding-top-2xs { padding-top: var(--spacing-2xs) !important;}
.padding-top-3xs { padding-top: var(--spacing-3xs) !important;}
.padding-bottom-2xl { padding-bottom: var(--spacing-2xl) !important;}
.padding-bottom-xl { padding-bottom: var(--spacing-xl) !important;}
.padding-bottom-lg { padding-bottom: var(--spacing-lg) !important;}
.padding-bottom-md { padding-bottom: var(--spacing-md) !important;}
.padding-bottom-sm { padding-bottom: var(--spacing-sm) !important;}
.padding-bottom-xs { padding-bottom: var(--spacing-xs) !important;}
.padding-bottom-2xs { padding-bottom: var(--spacing-2xs) !important;}
.padding-bottom-3xs { padding-bottom: var(--spacing-3xs) !important;}
.padding-y-2xl { padding-top: var(--spacing-2xl) !important; padding-bottom: var(--spacing-2xl) !important;}
.padding-y-xl { padding-top: var(--spacing-xl) !important; padding-bottom: var(--spacing-xl) !important;}
.padding-y-lg { padding-top: var(--spacing-lg) !important; padding-bottom: var(--spacing-lg) !important;}
.padding-y-md { padding-top: var(--spacing-md) !important; padding-bottom: var(--spacing-md) !important;}
.padding-y-sm { padding-top: var(--spacing-sm) !important; padding-bottom: var(--spacing-sm) !important;}
.padding-y-xs { padding-top: var(--spacing-xs) !important; padding-bottom: var(--spacing-xs) !important;}
.padding-y-2xs { padding-top: var(--spacing-2xs) !important; padding-bottom: var(--spacing-2xs) !important;}
.padding-y-3xs { padding-top: var(--spacing-3xs) !important; padding-bottom: var(--spacing-3xs) !important;}
.margin-top-2xl:not(:first-child) { margin-top: var(--spacing-2xl) !important;}
.margin-top-xl:not(:first-child) { margin-top: var(--spacing-xl) !important;}
.margin-top-lg:not(:first-child) { margin-top: var(--spacing-lg) !important;}
.margin-top-md:not(:first-child) { margin-top: var(--spacing-md) !important;}
.margin-top-sm:not(:first-child) { margin-top: var(--spacing-sm) !important;}
.margin-top-xs:not(:first-child) { margin-top: var(--spacing-xs) !important;}
.margin-top-2xs:not(:first-child) { margin-top: var(--spacing-2xs) !important;}
.margin-top-3xs:not(:first-child) { margin-top: var(--spacing-3xs) !important;}
.margin-bottom-2xl:not(:last-child) { margin-bottom: var(--spacing-2xl) !important;}
.margin-bottom-xl:not(:last-child) { margin-bottom: var(--spacing-xl) !important;}
.margin-bottom-lg:not(:last-child) { margin-bottom: var(--spacing-lg) !important;}
.margin-bottom-md:not(:last-child) { margin-bottom: var(--spacing-md) !important;}
.margin-bottom-sm:not(:last-child) { margin-bottom: var(--spacing-sm) !important;}
.margin-bottom-xs:not(:last-child) { margin-bottom: var(--spacing-xs) !important;}
.margin-bottom-2xs:not(:last-child) { margin-bottom: var(--spacing-2xs) !important;}
.margin-bottom-3xs:not(:last-child) { margin-bottom: var(--spacing-3xs) !important;}

/*========== FIX STYLE:GENERAL ==========*/
.bg-black { background-color: #000000 !important;}
.bg-white { background-color: #ffffff !important;}
.c-black { color: #000000 !important;}
.c-white { color: #ffffff !important;}
.filter-black { -webkit-filter: brightness(0) !important; filter: brightness(0) !important;}
.filter-white { -webkit-filter: brightness(0) invert(1) !important; filter: brightness(0) invert(1) !important;}
.a-left { text-align: left !important;}
.a-right { text-align: right !important;}
.a-center { text-align: center !important;}
.margin-0 { margin: 0 !important;}
.margin-top-0 { margin-top: 0 !important;}
.margin-bottom-0 { margin-bottom: 0 !important;}
.padding-0 { padding: 0 !important;}
.padding-top-0 { padding-top: 0 !important;}
.padding-bottom-0 { padding-bottom: 0 !important;}
.uppercase { text-transform: uppercase !important;}
.nowrap { white-space: nowrap !important;}
.overflow-hidden { overflow: hidden !important;}
.hidden { display: none !important;}
.alignfull { width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;}

/*========== RESET ==========*/
*, *:before, *:after {
    box-sizing: border-box;
}
::-webkit-scrollbar {
    width: 0px;
    overflow: hidden;
}
::-moz-selection {
    background: var(--color-theme);
    color: #fff;
}
::selection {
    background: var(--color-theme);
    color: #fff;
}

article, aside, figcaption, figure, picture, footer, header, hgroup, main, nav, section {
    display: block;
}
html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}
body {
    margin: 0;
    width: 100%;
    min-height: 100vh;
    overflow-x: hidden;
    position: relative;
    background: var(--color-gray-light);
    color: var(--color-body);
    opacity: 0;
    will-change: opacity;
    transition: opacity 2.4s;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
h1,h2,h3,h4,h5,h6 {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}
p {
    margin: 0;
}
address {
    font-style: normal;
}
ul, ol {
    list-style: none;
}
ul, ol, li {
    margin: 0;
    padding: 0;
}
a {
    color: inherit;
}
a, a:hover, a:focus {
    outline: 0;
    text-decoration: none;
}
a[href^=tel] {
    white-space: nowrap;
}
a[href^=mailto] {
    word-break: break-word;
}
a, button, [role="button"] {
    cursor: pointer;
}
button, input, textarea, select {
    outline: 0;
    -webkit-appearance: none;
    box-shadow: none;
    border-radius: 0;
    border: 0;
    background: none;
    padding: 0;
    margin: 0;
    min-width: 0;
    font: inherit;
    line-height: normal;
    text-transform: inherit;
    text-align: inherit;
    letter-spacing: inherit;
    text-indent: inherit;
    color: inherit;
}
fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}
img {
    border: 0;
    outline: 0;
    height: auto;
    width: auto;
    max-width: 100%;
    vertical-align: middle;
}
figure {
    margin: 0;
}
table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
th, td {
    padding: 0;
    font-weight: inherit;
    text-align: inherit;
}
iframe {
    border: 0;
}
[tabindex="-1"]:focus {
    outline: 0 !important;
}

/*========== TEXT STYLE ==========*/
body {
    font-family: var(--font-body);
    font-weight: var(--weight-regular);
    font-size: var(--font-size-body);
    line-height: var(--line-height-md);
}
strong {
    font-weight: var(--weight-medium);
}

.font-body {
    font-family: var(--font-body) !important;
}
.font-heading {
    font-family: var(--font-heading) !important;
}

.weight-regular {
    font-weight: var(--weight-regular) !important;
}
.weight-medium {
    font-weight: var(--weight-medium) !important;
}

.size-3xs {
    font-size: var(--font-size-3xs) !important;
}
.size-2xs {
    font-size: var(--font-size-2xs) !important;
}
.size-xs {
    font-size: var(--font-size-xs) !important;
}
.size-sm {
    font-size: var(--font-size-sm) !important;
}
.size-md {
    font-size: var(--font-size-md) !important;
}
.size-lg {
    font-size: var(--font-size-lg) !important;
}
.size-xl {
    font-size: var(--font-size-xl) !important;
}
.size-h4 {
    font-size: var(--font-size-h4) !important;
    line-height: var(--line-height-sm);
}
.size-h3 {
    font-size: var(--font-size-h3) !important;
    line-height: var(--line-height-sm);
}
.size-h2 {
    font-size: var(--font-size-h2) !important;
    line-height: var(--line-height-sm);
}
.size-h1 {
    font-size: var(--font-size-h1) !important;
    line-height: var(--line-height-sm);
}
.size-body {
    font-size: var(--font-size-body) !important;
}

/*========== TRANSITION ==========*/
img, a, button, [role="button"], 
input, textarea, select,
.select2-selection__placeholder,
.select2-results__option,
.label.anim,
.button, 
.ctrl,
.explore,
.explore-icon,
.container,
#footer,
#header,
.object,
.object-fit:before,
.bg-img,
.tab-content,
.tabdata-content,
[class*="swiper-button-"] {
    transition: var(--transition);
}

/*========== CTAs ==========*/
.button,
.explore,
.explore-icon {
    font-family: var(--font-special);
    font-weight: var(--weight-light);
    font-size: var(--font-size-xs);
    line-height: normal;
    text-align: center;
    text-transform: uppercase;
}

.button {
    text-decoration: none !important;
	box-shadow: none !important;
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    vertical-align: top;
    width: auto;
    min-width: 250px;
    max-width: 100%;
    height: var(--input-height-md);
    min-height: 0;
    max-height: none;
    padding: 0 var(--spacing-xs);
    color: #fff;
    background: var(--color-theme);
    border: 0;
    border-radius: 0;
    overflow: hidden;
}
.button:after {
    content: "";
    width: 0%;
    height: 100%;
    background: #fff;
    position: absolute;
    z-index: -1;
    top: 0; 
    left: 0;
    right: auto;
    transition: width 0.6s;
}
.button:hover {
    color: var(--color-theme);
}
.button:hover:after {
    width: 100%;
    left: auto;
    right: 0;
}
.button.bg-theme-wood:not(:hover) {
    border-color: var(--color-theme-wood);
}
.button.bg-theme-darkwood:not(:hover) {
    border-color: var(--color-theme-darkwood);
}
.button.alignwide {
    width: 100%;
}
.button.fixwidth {
    width: 318px;
}

.explore {
    position: relative;
}
.explore:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: auto;
    width: 100%;
    height: 1px;
    border-bottom: 1px solid;
    transition: var(--transition);
}
.explore:hover:after {
    -webkit-animation: explore var(--transition-x2);
    animation: explore var(--transition-x2);
}
@-webkit-keyframes explore {
    0% { width: 100%; left: 0; right: auto;}
    50% { width: 0%; left: 0; right: auto;}
    50.5% { width: 0%; left: auto; right: 0;}
    100% { width: 100%; left: auto; right: 0;}
}
@keyframes explore {
    0% { width: 100%; left: 0; right: auto;}
    50% { width: 0%; left: 0; right: auto;}
    50.5% { width: 0%; left: auto; right: 0;}
    100% { width: 100%; left: auto; right: 0;}
}

.explore-icon {
    display: inline-flex;
    align-items: baseline;
}
.explore-icon > * {
    vertical-align: top;
}
.explore-icon .ic {
    font-size: var(--font-size-sm);
}
.explore-icon .ic-name {
    position: relative;
}
.explore-icon .ic-name:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: auto;
    right: 0;
    width: 0%;
    height: 1px;
    border-bottom: 1px solid;
    transition: var(--transition);
}
.explore-icon:hover .ic-name:after {
    width: 100%;
    left: 0;
    right: auto;
}

.link-overlay {
    text-decoration: none !important;
    box-shadow: none !important;
    color: inherit !important;
    font-size: 0 !important;
    opacity: 0 !important;
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
}

/*========== GENERAL ==========*/
.container {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.f-left {
    margin-left: 0;
}
.f-right {
    margin-right: 0;
}

.ic, .ic-name {
    display: inline-block;
    vertical-align: middle;
}
.ic + .ic-name,
.ic-name + .ic {
    margin-left: var(--spacing-2xs);
}

.brand {
    display: inline-block;
    vertical-align: top;
}
.brand .logo {
    display: block;
    width: auto;
    height: auto;
}

.menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.object,
.object-fit {
    display: block;
    overflow: hidden;
    position: relative;
}
.object > img,
.object > video,
.object > iframe {
    display: block;
    width: 100%;
    margin: auto;
}
.object-fit > img,
.object-fit > video,
.object-fit > iframe {
    display: block;
    margin: 0 auto;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    position: absolute;
    top: 0; left: 0;
}
.object-fit:before {
    content: "";
    display: block;
    width: 100%;
}

.bg-img {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.no-touchevents .bg-img.fixed {
    background-attachment: fixed;
}

.social {
    display: inline-flex;
    align-items: center;
    vertical-align: top;
    line-height: 1;
}
.social > * {
    display: block;
}
.social > *:not(:last-child) {
    margin-right: var(--spacing-xs);
}
.social a {
    color: inherit !important;
}
.social a:hover {
    opacity: var(--opacity);
}
.social .ic {
    font-size: var(--icon-size);
    padding: 1px;
    margin: -1px;
}

.iframe-container {
    position: relative;
    overflow: hidden;
    padding-top: 56.25%;
}
.iframe-container iframe {
    outline: 0;
    border: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.map-container {
    width: 100%;
    position: relative;
    overflow: hidden;
}
.map-container:before {
    content: "";
    display: block;
    width: 100%;
    padding-bottom: 52.0833333333%;
}
.map-container iframe {
    outline: 0;
    border: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0; top: 0;
}
.map-container .mockup {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
}

/*========== FORM ==========*/
input,
textarea,
select {
    width: 100%;
    height: var(--input-height);
    padding: var(--spacing-3xs) 0;
    background: none;
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid;
}
textarea {
    display: block;
    overflow: auto;
    min-width: 100%;
    max-width: 100%;
    width: 100% !important;
    min-height: calc(var(--input-height)*2);
    padding-top: 8px;
    padding-bottom: 8px;
    resize: none;
}

/* SELECT:START */
.select {
    position: relative;
}
.select select {
    line-height: normal;
    padding-right: var(--input-height);
    text-overflow: "";
    cursor: pointer;
}
.select:after {
    font-family: 'iconfont';
    content: "\e904";
    font-size: var(--font-size-3xs);
    font-weight: normal;
    line-height: 1;
    vertical-align: top;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
    padding-right: 0;
    width: var(--input-height);
    height: 100%;
    padding-right: 0;
    position: absolute;
    top: 0; bottom: 0;
    right: 0;
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
}
.select2-parent:after {
    display: none;
}
.select2-rendered__match {
    text-decoration: underline;
}
.select2-close-mask {
    border: 0;
    margin: 0;
    padding: 0;
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    min-height: 100%;
    min-width: 100%;
    height: auto;
    width: auto;
    opacity: 0;
    z-index: 99;
    background-color: #fff;
    filter: alpha(opacity=0);
}
.select2-hidden-accessible {
    border: 0 !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important;
}
.select2-container {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
}
.select2-dropdown {
    display: block;
    width: 100%;
    position: absolute;
    z-index: 1051;
    left: -100000px;
    border-radius: 0 !important;
    border: 1px solid;
    background: #fff;
    color: var(--color-body);
    box-sizing: border-box;
    transition: none;
    overflow: hidden;
}
.select2-container--open .select2-dropdown {
    left: 0;
}
.select2-container--open .select2-dropdown--below {
    margin: -1px 0;
}
.select2-container--open .select2-dropdown--above {
    margin: 0;
}
.select2-results {
    display: block;
}
.select2-results__options {
    list-style: none;
    margin: 0;
    padding: var(--spacing-xs) var(--spacing-sm);
    line-height: normal;
}
.select2-results__option {
    padding: 0;
}
.select2-results__option:not(:last-child) {
    margin-bottom: var(--spacing-3xs);
}
.select2-results__option[aria-selected] {
    cursor: pointer;
}
.select2-search--dropdown {
    display: block;
    padding: var(--spacing-xs);
}
.select2-search--dropdown .select2-search__field {
    padding: 7px 15px 8px;
    width: 100%;
    box-sizing: border-box;
}
.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none;
}
.select2-search--dropdown.select2-search--hide {
    display: none;
}
.select2-container--default .select2-selection--single {
    outline: 0;
    display: block;
    height: var(--input-height);
    background: none;
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid;
    transition: var(--transition);
    overflow: hidden;
    cursor: pointer;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    display: block;
    padding: 0 var(--input-height) 0 0;
    height: 100%;
    line-height: calc(var(--input-height) - 1px);
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: inherit;
}
.select2-container--default .select2-selection--single .select2-selection__rendered[title] {
    background-color: transparent;
}
.select2-container--default .select2-selection--single .select2-selection__clear {
    position: relative;
    cursor: pointer;
    float: right;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--color-gray);
    opacity: 1;
}
.select2-container--default .select2-selection--single .select2-selection__arrow,
.select2-container--default .select2-selection--single .select2-selection__clear {
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 1;
    display: block;
    width: var(--input-height);
    height: 100%;
    font-size: 0;
    text-align: center;
    padding-right: 0;
    cursor: pointer;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border: 0;
    margin: 0;
    position: static;
    top: auto;
    left: auto;
    display: block;
    width: 100%;
    height: 100%;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b:before,
.select2-container--default .select2-selection--single .select2-selection__clear:before {
    font-family: 'iconfont';
    font-size: var(--font-size-3xs);
    font-weight: normal;
    line-height: 1;
    vertical-align: top;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
    padding-right: 0;
    width: 100%;
    height: 100%;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b:before {
    content: "\e904";
}
.select2-container--default .select2-selection--single .select2-selection__clear:before {
    content: "\e900";
}
.select2-container--default.select2-container--disabled .select2-selection--single {
    background-color: #eee;
    cursor: default;
}
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
    display: none;
}
.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
    display: none;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border: 0;
}
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid var(--color-gray-light);
}
.select2-container--default .select2-search--inline {
    float: left;
}
.select2-container--default .select2-search--inline .select2-search__field {
    -webkit-appearance: textfield;
    box-sizing: border-box;
    box-shadow: none;
    background: none;
    border: none;
    padding: 0;
    outline: 0;
    font-size: 100%;
    margin-top: 5px;
}
.select2-container--default .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none;
}
.select2-container--default .select2-results > .select2-results__options {
    max-height: 30vh;
    overflow-y: auto;
}
.select2-container--default .select2-results__option span {
    display: inline;
    transition: var(--transition);
}
.select2-container--default .select2-results__option[role=group] {
    padding: 0;
}
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[data-selected=true] {
    
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: none;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] span {
    box-shadow: var(--cta-shadow);
    color: inherit;
}
.select2-container--default .select2-results__option[aria-selected=true] {
    text-decoration: none;
    font-weight: inherit;
    color: inherit;
}
.select2-container--default .select2-results__option[aria-selected=true] span {
    box-shadow: none;
    color: var(--color-theme-wood);
}
.select2-container--default .select2-results__option[aria-disabled=true] {
    color: inherit !important;
    opacity: var(--opacity) !important;
    pointer-events: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
.select2-container--default .select2-results__group {
    display: block;
    padding: 0;
    cursor: default;
}
/* SELECT:END */

/* DATEPICKER:START */
.datepicker {
    position: relative;
}
.datepicker:before {
    font-family: 'iconfont';
    content: "\e934";
    font-weight: normal;
    font-size: var(--font-size-md);
    width: var(--input-height);
    height: var(--input-height);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    top: 0; 
    right: 0;
    pointer-events: none;
}
.ui-datepicker {
    width: 498px;
    max-width: calc(100vw - var(--spacing-md)*2);
    margin: 0;
    padding: 0;
    font: inherit;
    line-height: normal;
    color: var(--color-body);
    background: #fff;
    border: 0;
    border-radius: 0;
    overflow: hidden;
    z-index: 9999 !important;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.ui-datepicker .ui-datepicker-header {
    position: relative;
    padding: 0;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--input-height);
    line-height: normal;
    border: 0;
    border-radius: 0;
    text-transform: uppercase;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    display: flex;
    align-items: center;
    justify-content: center;
    vertical-align: top;
    width: var(--input-height);
    height: var(--input-height);
    line-height: inherit;
    text-align: center;
    position: absolute;
    top: 0;
    z-index: 1;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-prev-hover {
    left: 0;
}
.ui-datepicker .ui-datepicker-next,
.ui-datepicker .ui-datepicker-next-hover {
    right: 0;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
    position: static;
    margin: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
    text-indent: inherit;
}
.ui-datepicker .ui-datepicker-prev span:before,
.ui-datepicker .ui-datepicker-next span:before {
    font-family: 'iconfont';
    font-size: var(--font-size-xs);
    font-weight: normal;
}
.ui-datepicker .ui-datepicker-prev span:before {
    content: "\e909";
}
.ui-datepicker .ui-datepicker-next span:before {
    content: "\e90a";
}
.ui-datepicker .ui-datepicker-title {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: top;
    font-size: inherit;
    padding-left: var(--font-size-xs);
}
.ui-datepicker .ui-datepicker-title select {
    width: auto;
    padding: 0 var(--spacing-sm) 0 0;
    border: 0;
    height: auto;
    min-height: 0;
    line-height: normal;
    text-transform: uppercase;
}
.ui-datepicker .ui-datepicker-title select:not(:last-child) {
    margin-right: 0;
}
.ui-datepicker .ui-datepicker-title option {
    color: #000;
}
.ui-datepicker .ui-datepicker-title .ui-datepicker-month {
    order: 1;
}
.ui-datepicker .ui-datepicker-title .ui-datepicker-year {
    order: 3;
}
.ui-datepicker .ui-datepicker-title:before,
.ui-datepicker .ui-datepicker-title:after {
    font-family: 'iconfont';
    content: "\e90c";
    font-size: var(--font-size-2xs);
    font-weight: normal;
    line-height: 1;
    pointer-events: none;
    transform: translateX(calc(var(--spacing-sm-minus) + var(--spacing-2xs)));
}
.ui-datepicker .ui-datepicker-title:before {
    order: 2;
}
.ui-datepicker .ui-datepicker-title:after {
    order: 4;
}
.ui-datepicker .ui-datepicker-calendar {
    border: 0;
    border-top: 0;
    border-radius: 0;
}
.ui-datepicker table {
    margin: 0;
    padding: var(--spacing-3xs) 0;
    font: inherit;
}
.ui-datepicker th,
.ui-datepicker td {
    padding: var(--spacing-3xs);
    text-align: center;
    text-transform: uppercase;
}
.ui-datepicker td span,
.ui-datepicker td a {
    margin: 0 auto;
    padding: 0;
    width: auto;
    height: auto;
    line-height: normal;
    text-align: center;
    display: inline-block;
    vertical-align: top;
}
.ui-datepicker tbody tr:last-child td {
    padding-bottom: var(--spacing-xs);
}
.ui-datepicker .ui-state-default:hover {
    opacity: var(--opacity);
}
.ui-datepicker td.ui-datepicker-today .ui-state-default:not(.ui-state-active) {
    font-weight: var(--weight-regular);
    box-shadow: var(--cta-shadow);
}
.ui-datepicker th,
.ui-datepicker td .ui-state-highlight,
.ui-datepicker td .ui-state-active,
.ui-datepicker .ui-datepicker-title {
    font-weight: var(--weight-medium);
    font-style: normal;
    opacity: 1;
}
.ui-datepicker td .ui-state-active {
    font-weight: var(--weight-medium);
    color: inherit;
}
/* DATEPICKER:END */

/* TIMEPICKER:START */
.timepicker {
    position: relative;
}
.timepicker:before {
    font-family: 'iconfont';
    content: "\e922";
    font-weight: normal;
    font-size: var(--font-size-md);
    width: var(--input-height);
    height: var(--input-height);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    top: 0; right: 0;
    pointer-events: none;
}
.ui-timepicker-container {
    position: absolute;
    z-index: 9999 !important;
    overflow: hidden;
    box-sizing: border-box;
}
.ui-timepicker {
    display: block;
    height: auto;
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: left;
    box-sizing: border-box;
}
.ui-timepicker-viewport {
    display: block;
    height: auto;
    max-height: 25vh;
    margin: 0;
    padding: var(--spacing-xs) var(--spacing-sm);
    overflow: auto;
    overflow-x: hidden;
    box-sizing: border-box;
}
.ui-timepicker-standard {
    margin: 0;
    padding: 0;
    font: inherit;
    line-height: normal;
    color: var(--color-body);
    background: #fff;
    border: 0;
    border-radius: 0;
}
.ui-timepicker-standard a {
    border: 0;
    background: none;
    display: block;
    padding: 0;
    text-decoration: none;
    transition: none;
}
.ui-timepicker-standard .ui-menu-item {
    margin: 0;
    padding: 0;
    width: 100% !important;
}
.ui-timepicker-standard .ui-menu-item:not(:last-child) {
    margin-bottom: var(--spacing-3xs);
}
.ui-timepicker-standard .ui-state-hover {
    border: 0;
    background: none !important;
    color: inherit !important;
    opacity: var(--opacity);
}
.ui-timepicker-hidden {
    display: none;
}
.ui-timepicker-no-scrollbar .ui-timepicker {
    border: none;
}
/* TIMEPICKER:END */

/* CHECKBOX&RADIO:START */
.choice {
    position: relative;
    display: inline-flex;
    vertical-align: top;
    font-size: var(--font-size-xs);
    line-height: normal;
}
.choice > span {
    position: relative;
    display: inline-block;
    -webkit-touch-callout: none;
}
.choice > input {
    position: absolute;
    z-index: -1000;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    background: none;
}
.choice input + span {
    display: inline-block;
    vertical-align: baseline;
    text-align: left;
    padding-left: calc(var(--font-size-lg) + var(--spacing-xs));
    line-height: normal;
    min-width: var(--font-size-lg);
    min-height: var(--font-size-lg);
    height: auto;
    cursor: pointer;
}
.choice input + span:before,
.choice input + span:after {
    content: "";
    display: block;
    width: var(--font-size-lg);
    height: var(--font-size-lg);
    position: absolute;
    left: 0; 
    top: 0;
}
.choice input + span:before {
    background-color: rgba(214,214,214,0.6);
    border: 0;
    border-radius: 0;
}
.choice input + span:after {
    font-family: 'iconfont';
	content: "\e923";
    font-size: var(--font-size-2xs);
    color: var(--color-theme-darkwood);
    line-height: normal;
	display: inline-flex;
    align-items: center;
    justify-content: center; 
    text-align: center;   
	opacity: 0;
}
.choice input + span:before,
.choice input + span:after {
    margin: 0;   
}
.choice input:checked + span:after {
    opacity: 1;
}
.choice input[type="radio"] + span:before,
.choice input[type="radio"] + span:after {
    border-radius: 50%;
}
/* CHECKBOX&RADIO:END */

.field {
    width: 100%;
    margin-bottom: var(--spacing-sm);
}
.field.half {
    width: calc(50% - var(--spacing-3xs));
}
.field.focusin {
    position: relative;
    z-index: 2;
}
.fields {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: var(--spacing-sm-minus);
}
.fields + .fields {
    margin-top: var(--spacing-sm);
}
[class*="fields-"]:not(:first-child),
.fields-cta > *:not(:first-child) {
    margin-top: var(--spacing-lg);
}
.fields-cta {
    position: relative;
}
.fields-cta .ajax-loader {
    display: block;
    margin: 0;
    left: 0;
    right: auto;
    top: calc(100% + var(--spacing-3xs));
}
.fields-cta.a-center .ajax-loader {
    left: 0;
    right: 0;
    margin: 0 auto;
}

.input {
    position: relative;
}
.label {
    padding: 0;
    border-radius: 0;
    position: relative;
    display: block;
    font-weight: var(--weight-regular);
    line-height: normal;
    opacity: var(--opacity);
}
.label.anim {
	padding: 0;
    height: auto;
    width: 100%;
    max-width: 100%;
    color: inherit;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    position: absolute;
    z-index: 1;
    left: 0;
    top: calc(var(--input-height)/2);
    transform: translateY(-50%);
    pointer-events: none;
}
.label.anim:not(.fixed) {
    transition-property: opacity, visibility;
}
.label:not(.anim):not(:last-child) {
    margin-bottom: var(--spacing-3xs);
}
.input.filled .label.anim:not(.fixed) {
    opacity: 0;
    visibility: hidden;
}
.input.filled .label.anim.fixed {
    top: 0;
    transform: translateY(-75%);
    font-size: var(--font-size-2xs);
}

.input.filled input,
.input.filled textarea,
.input.filled select,
.select2-container--default .select2-selection--single .select2-selection__rendered {
    font-weight: var(--weight-regular);
}
.input input:-internal-autofill-selected,
.input textarea:-internal-autofill-selected,
.input select:-internal-autofill-selected {
    font-weight: var(--weight-regular);
    color: inherit;
}
.input input:disabled,
.input textarea:disabled,
.input select:disabled,
.select2-container--default.select2-container--disabled .select2-selection--single {
    cursor: default;
    opacity: 0.1;
}
.input input[type="checkbox"]:disabled,
.input input[type="radio"]:disabled {
    background-color: transparent;
}
.input :-ms-input-placeholder {
    font-size: inherit !important;
    font-weight: normal !important;
    font-style: normal !important;
    color: var(--color-gray) !important;
    opacity: var(--opacity) !important;
}
.input ::-webkit-input-placeholder {
    font-size: inherit !important;
    font-weight: normal !important;
    font-style: normal !important;
    color: var(--color-gray) !important;
    opacity: var(--opacity) !important;
}
.input ::-moz-placeholder {
    font-size: inherit !important;
    font-weight: normal !important;
    font-style: normal !important;
    color: var(--color-gray) !important;
    opacity: var(--opacity) !important;
}
.input ::-ms-clear {
    display: none;
    width: 0;
    height: 0;
}
.input ::-ms-reveal {
    display: none;
    width: 0;
    height: 0;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 0;
}
input::-webkit-contacts-auto-fill-button {
    display: none !important;
    visibility: hidden;
    pointer-events: none;
}
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    box-shadow: 0 0 0px 1000px #fff inset;
    -webkit-transition: 5000s ease 0s;
    transition: 5000s ease 0s;
}
input[type=number] {
    -moz-appearance: textfield;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input,
textarea,
select,
.select2-dropdown,
.select2-container--default .select2-selection--single {
    border-color: inherit;
}
.c-white input,
.c-white textarea,
.c-white select,
.c-white .select2-container--default .select2-selection--single {
    border-bottom-color: var(--color-gray);
}

.recaptcha-box {
    width: 295px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/*========== UPLOAD FILE ==========*/
.custom-file-upload-hidden {
    display: none;
    visibility: hidden;
    position: absolute;
    left: -9999px;
}
.custom-file-upload {
    display: flex;
    align-items: center;
    margin: 0;
}
.file-upload-wrapper {
    position: relative; 
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    font-size: var(--font-size-xs);
}
.file-upload-wrapper > *:not(:last-child) {
    margin-left: var(--spacing-xs);
}
.file-upload-wrapper .file-upload-action {
    cursor: pointer; 
    position: relative;
    z-index: 1;
    width: auto;
    height: var(--input-height);
    display: flex;
    align-items: center;
}
.file-upload-wrapper .file-upload-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-width: 0;
    width: auto;
    height: var(--input-height);
    padding: 0 var(--spacing-sm);
    border: 1px solid var(--color-theme);
    border-radius: calc(var(--input-height)/2);
    box-shadow: none !important;
    white-space: nowrap;
    overflow: visible;
    
}
.file-upload-wrapper .file-upload-button:hover {
    background: #000;
    border-color: #000;
    color: #fff;
}
.file-upload-wrapper .file-upload-input {
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none !important;
}

/*========== PLUGIN:POPUP ==========*/
[class*="open-popup-"] {
    cursor: pointer;
}
.mfp-bg, 
.mfp-content {
    transition: var(--transition);
    opacity: 0;
}
.mfp-bg {
    background: #000;
    z-index: 9998;
}
.mfp-bg.mfp-ready {
    opacity: 0.7;
}
.mfp-bg.mfp-removing {
    opacity: 0;
}
.mfp-wrap {
    z-index: 9999;
}
.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1;
}
.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0;
}
.mfp-container {
    padding-left: 0;
    padding-right: 0;
    position: fixed;
    max-height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}
button.mfp-close,
button.mfp-close:active,
.modal-dismiss,
.mfp-iframe-holder .mfp-close, 
.mfp-image-holder .mfp-close {
    font-family: inherit;
    font-size: 0;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    padding: 0;
    color: inherit !important;
    background: none !important;
    border-radius: 0;
    overflow: hidden;
    opacity: 0.5;
    position: fixed;
    z-index: 10;
    bottom: auto;
    left: auto;
    top: var(--spacing-sm);
    right: var(--spacing-sm);
}
button.mfp-close:hover,
.modal-dismiss:hover,
.mfp-iframe-holder .mfp-close:hover, 
.mfp-image-holder .mfp-close:hover {
    color: inherit !important;
    background: none !important;
    opacity: 1;
}
button.mfp-close:before,
.modal-dismiss:before {
    font-family: 'iconfont';
    content: "\e900";
    font-size: var(--font-size-xl);
    line-height: 1;
    color: inherit;
    display: block;
    width: auto;
    height: auto;
    padding: 0;
    overflow: hidden;
}

.popup-ctrl {
    font-size: 0;
    line-height: 0;
    position: fixed;
    z-index: -99999;
    top: 100%;
}
.popup-style-modal .modal-dismiss {
    position: absolute;
}
.popup-style-modal .modal-dismiss.fixed {
    position: fixed;
    color: #fff !important;
}
.popup-style-modal .modal-dismiss.fixed:before {
    font-size: var(--font-size-xl);
}
.popup-style-modal .mfp-content {
    width: auto;
    max-width: 100%;
    padding: var(--spacing-sm) 0;
}

.modal-object {
    width: 612px;
    max-width: calc(100vw - var(--spacing-sm)*2);
    margin: 0 auto;
    padding: 0;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.modal-object .modal-cover .object-fit:before {
    padding-bottom: 56.25%;
}
.modal-object .modal-cover img.mfp-img {
    padding: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: calc(100vh - var(--header-height)*2) !important;
}

/*========== PLUGIN:SLIDER ==========*/
.swiper-container {
    width: 100%;
}
.swiper-wrapper {
    will-change: transform;
}
[class*="swiper-button-"] {
    z-index: 10;
    outline: none;
    margin: 0;
    width: auto;
    height: auto;
    background-color: transparent;
    color: inherit;
    line-height: 1;
    justify-content: center;
    top: 50%;
    transform: translateY(-50%);
}
[class*="swiper-button-"]:hover {
    color: inherit;
}
[class*="swiper-button-"]:after {
    font-family: 'iconfont';
    font-size: var(--font-size-h4);
    color: inherit;
    opacity: 1;
    position: relative;
}
.swiper-button-prev:after {
    content: "\e905";
    transform: translateX(-6px);
}
.swiper-button-next:after {
    content: "\e906";
    transform: translateX(6px);
}
.swiper-button-prev {
    left: 0;
    padding-left: var(--spacing-lg);
}
.swiper-button-next {
    right: 0;
    padding-right: var(--spacing-lg);
}
.swiper-button-disabled {
    opacity: 0 !important;
}
.swiper-buttons {
    display: flex;
    align-items: center;
    justify-content: space-between;
    vertical-align: top;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2;
    padding: 0;
    margin: 0;
    line-height: 1;
    pointer-events: none;
}
.swiper-buttons [class*="swiper-button-"] {
    position: static;
    transform: none;
    pointer-events: auto;
}

.swiper-pagination {
    line-height: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.swiper-pagination-bullet {
    outline: none;
    font-size: 0;
    vertical-align: top;
    width: 6px;
    height: 6px;
    margin: 0 2px !important;
    background: var(--color-gray-light);
    border-radius: 50%;
    border: 0;
    opacity: 1;
}
.swiper-pagination-bullet-active {
    background: var(--color-theme);
    opacity: 1;
}
.swiper-container-horizontal>.swiper-pagination-bullets {
    bottom: var(--spacing-md);
}
.swiper-pagination.c-white .swiper-pagination-bullet,
.c-white .swiper-pagination-bullet {
    background: #fff;
}
.swiper-pagination.static {
    position: relative;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
}
.swiper-pagination.static > * {
    margin-top: var(--spacing-md) !important;
}

.swiper-container:not(.swiper-container-initialized) [class*="swiper-button-"],
.swiper-container:not(.swiper-container-initialized) .swiper-pagination,
.swiper-pagination-bullet:first-child:last-child {
    display: none !important;
}

.swiper-container-fade .swiper-slide {
    width: 100% !important;
    opacity: 0 !important;
}
.swiper-container-fade .swiper-slide-active {
    opacity: 1 !important;
    z-index: 1 !important;
}
.swiper-container.default .swiper-slide {
    width: 100% !important;
}
.swiper-container.fix [class*="swiper-button-"],
[class*="swiper-button-"].align-media {
    top: 0;
    transform: none;
}
.swiper-container.fix .swiper-buttons {
    width: 100%;
    margin: 0 auto;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0; right: 0;
    pointer-events: none;
    justify-content: space-between;
}
.swiper-container.fix .swiper-buttons [class*="swiper-button-"] {
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
    pointer-events: auto;
}

.swiper-mask {
    -webkit-mask-box-image: -webkit-linear-gradient(0deg, transparent 0%, white var(--spacing-sm));
}
.swiper-mask .swiper-container {
    -webkit-mask-box-image: -webkit-linear-gradient(180deg, transparent 0%, white var(--spacing-sm));
}
.swiper-mask ~ .swiper-pagination {
    position: relative;
}

.type-slider {
    position: relative;
}

/*========== POST ==========*/
.entry-content {
    --wp--style--block-gap: var(--spacing-lg);
}
.entry > *:not(:last-child) {
    margin-bottom: var(--spacing-lg);
}
.entry-header > *:not(:last-child),
.entry-content > *:not(:last-child),
.entry-content .wp-block-column > *:not(:last-child) {
    margin-bottom: var(--spacing-xs);
}
.entry-content li:not(:last-child) {
    margin-bottom: 0;
}
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    color: var(--color-theme-wood);
}
.entry-content h1,
.entry-content h2 {
    font-weight: var(--weight-medium);
    font-size: var(--font-size-md);
}
.entry-content ul {
    list-style-type: disc;
    padding-left: 1.4em;
}
.entry-content ol {
    list-style-type: decimal;
    padding-left: 1.4em;
}
.entry-content ol li {
    padding-left: 4px;
}
.entry-content a {
    color: var(--color-theme-wood);
}
.entry-content.onhover a:not(:hover) {
    box-shadow: none;
}
.entry-content figure {
    overflow: hidden;    
}
.entry-content .wp-block-image {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.entry-content .wp-block-image img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    height: auto;
}
.entry-content .wp-block-image:not(.alignfull):not(.alignwide),
.entry-content .wp-block-video:not(.alignfull):not(.alignwide) {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.entry-content .wp-block-image:not(.alignfull):not(.alignwide) img,
.entry-content .wp-block-video:not(.alignfull):not(.alignwide) video {
    width: 100%;
    height: auto;
    max-width: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}
.entry-content .wp-block-image:not(.alignfull):not(.alignwide) img {
    max-height: 315px;
}
.entry-content .wp-block-video:not(.alignfull):not(.alignwide) video {
    max-height: 370px;
    width: auto;
    background: #000;
}

.entry-content .wp-block-video figcaption {
    line-height: normal;
    margin: var(--spacing-2xs) 0 0;
}
.entry-content .wp-block-video.alignfull figcaption {
    padding: 0 var(--spacing-sm);
}

.entry-content [class*="wp-block-"] {
    list-style: none;
    padding: 0;
    max-width: 100%;
    margin: 0 auto;
}
.entry-content [class*="wp-block-"] li {
    margin: 0 auto !important;
}
.entry-content [class*="wp-block-"] + *,
.entry-content * + [class*="wp-block-"] {
    margin-top: var(--spacing-lg);
}
.entry-content [class*="wp-block-"]:first-child {
    margin-top: 0;
}
.entry-content [class*="wp-block-"]:last-child {
    margin-bottom: 0;
}
.entry-content [class*="wp-block-"].alignfull {
	width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}
.entry-content .wp-block-gallery .blocks-gallery-grid {
    list-style: none;
    width: auto;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    display: grid;
    grid-gap: var(--spacing-2xs);
    grid-template-columns: 100%;
}
.entry-content .wp-block-gallery .blocks-gallery-grid > li {
    flex: none !important;
    flex-basis: auto !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}
.entry-content .wp-block-gallery.columns-2 .blocks-gallery-grid {
    grid-template-columns: repeat(2,1fr);
}
.entry-content .wp-block-gallery.columns-3 .blocks-gallery-grid {
    grid-template-columns: repeat(3,1fr);
}
.entry-content .wp-block-gallery.columns-4 .blocks-gallery-grid {
    grid-template-columns: repeat(4,1fr);
}
.entry-content .wp-block-gallery.columns-5 .blocks-gallery-grid {
    grid-template-columns: repeat(5,1fr);
}
.entry-content .wp-block-gallery.columns-6 .blocks-gallery-grid {
    grid-template-columns: repeat(6,1fr);
}
.entry-content .wp-block-gallery.columns-7 .blocks-gallery-grid {
    grid-template-columns: repeat(7,1fr);
}
.entry-content .wp-block-gallery.columns-8 .blocks-gallery-grid {
    grid-template-columns: repeat(8,1fr);
}
.entry-content .wp-block-gallery .blocks-gallery-item,
.entry-content .wp-block-gallery .blocks-gallery-item > * {
    display: block;
    width: 100%;
}
.entry-content .wp-block-columns {
    justify-content: space-between;
}
.entry-content .wp-block-columns .wp-block-column {
    margin: 0;
}
.entry-content .wp-block-columns .wp-block-column
.entry-content .wp-block-columns .wp-block-image {
    width: 100%;
}
.entry-content .wp-block-columns .wp-block-image img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
}

.entry-gallery > *:not(:first-child) {
    margin-top: var(--spacing-lg);
}

.entry-share {
    display: flex;
    align-items: center;
}
.entry-share > *:not(:last-child) {
    margin-right: var(--spacing-xs);
}
.entry-share .title {
    font-weight: var(--weight-medium);
    color: var(--color-theme-wood);
}
.entry-share .social {
    color: var(--color-theme-darkwood);
}

/*========== FUNCTION:TAB ==========*/
.tab,
.tabdata {
    position: relative;
}
.tab a.active,
.tabdata a.active {
    pointer-events: none;
}
.tab-content,
.tabdata-content {
    position: relative;
    height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    margin: 0 !important;
    transition-duration: 1s;
}
.tab-content.active,
.tabdata-content.active {
    height: auto;
    opacity: 1;
    overflow: visible;
    pointer-events: auto;
}

/*========== FUNCTION:ACCORDION ==========*/
.accordion .entry-title {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: var(--spacing-3xs);
    border-bottom: 1px solid var(--color-theme);
}
.accordion .entry-title:after {
    font-family: 'iconfont';
    content: "\e904";
    position: relative;
    font-size: var(--font-size-2xs);
    margin-left: var(--spacing-2xs);
}
.accordion.active .entry-title:after {
    transform: rotate(-180deg);
}
.accordion .entry-content {
    display: none;
    padding-top: var(--spacing-sm);
}

/*========== FUNCTION:VIDEO ==========*/
.video {
    position: relative;
    line-height: 0;
}
.video .ctrl {
    cursor: pointer;
    transition: var(--transition);
}
.video .ctrls {
    position: absolute;
    z-index: 3;
    right: 0; top: 0;
    transition: var(--transition);
}
.video .ctrls .ctrl {
    cursor: pointer;
    display: block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    background-color: rgba(0,0,0,0.3);
    color: #fff;
}
.video .ctrls .ctrl:before {
    font-family: 'iconfont';
    font-size: var(--font-size-2xs);
    line-height: 1;
}
.video .ctrls .ctrl.play:before {
    content: "\e933";
}
.video .ctrls .ctrl.pause:before {
    content: "\e936";
}
.video .ctrls .ctrl.mute:before {
    content: "\e93d";
}
.video .ctrls .ctrl.unmute:before {
    content: "\e93e";
}
.video .ctrls .ctrl.fullscreen {
    display: none !important;
}
.video .ctrls .ctrl.fullscreen:before {
    content: "\e93c";
}
.video .ctrls-overlaid {
    width: auto;
    height: auto;
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.video .ctrls-overlaid .ctrl {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    line-height: 1;
    overflow: hidden;
    background: none;
    border-radius: 50%;
    border: 1px solid;
    color: #fff;
    text-shadow: 0 0 10px rgba(0,0,0,0.1);
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
}
.video .ctrls-overlaid .ctrl:not(:hover) {
    opacity: 1;
}
.video .ctrls-overlaid .ctrl:before {
    font-family: 'iconfont';
    font-size: var(--font-size-xl);
}
.video .ctrls-overlaid .ctrl.play:before {
    content: "\e933";
}
.video video {
    width: 100%;
}
.video video[muted] ~ .ctrls .ctrl.unmute,
.video video[autoplay] ~ .ctrls .ctrl.play,
.video video[autoplay] ~ .ctrls-overlaid,
.video video:not([muted]) ~ .ctrls .ctrl.mute,
.video video:not([autoplay]) ~ .ctrls,
.video video:not([autoplay]) ~ .ctrls .ctrl.pause {
    display: none;
}
.video video[controls] ~ .ctrls,
.video video[controls] ~ .ctrls-overlaid,
.video.hidden-ctrls .ctrls,
.video:not(.playing) .ctrls,
.video:not(.playing) video:not([controls])::-webkit-media-controls {
    display: none !important;
}
.video:not(.playing) .ctrls-overlaid {
    display: block !important;
}

/*========== HAMBURGER ==========*/
.hamburger {
    position: relative;
    display: block;
    width: 25px;
    height: 12px;
    padding: 10px 0;
    transition: var(--transition);
}
.hamburger:hover {
    opacity: var(--opacity);
}
.hamburger .bars,
.hamburger .bars:before,
.hamburger .bars:after {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--color-body);
    transition: var(--transition);
}
.hamburger .bars {
    display: block;
    font-size: 0;
    line-height: 0;
    top: 50%;
    transform: translateY(-50%);
    transition-property: background-color, transform;
}
.hamburger .bars:before,
.hamburger .bars:after {
    display: block;
    content: "";
}
.hamburger .bars:before {
    top: -6px;
    transition-property: background-color, top;
    transition-delay: 0s, .10s;
}
.hamburger .bars:after {
    bottom: -6px;
    transition-property: background-color, bottom, transform;
    transition-delay: 0s, .10s, 0s;
}

/*========== HEADER ==========*/
#header {
    position: relative;
    z-index: 100;
    width: 100%;
}
#header.header-fixed {
    position: fixed;
    top: 0; 
    left: 0;
    will-change: transform;
    transition-duration: var(--transition-x2);
}

.header-nav {
    position: relative;
    z-index: 101;
    width: 100%;
    height: var(--header-height);
    background: #fff;
    color: var(--color-body);
    line-height: normal;
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-column-gap: var(--spacing-lg);
    align-items: center;
}
html:not(.page-scrolling) .header-nav {
    background: none;
}
html.header-panel-enabled .header-nav {
    background: none;
}

.header-brand {
    grid-row: 1;
    grid-column: 1;
    justify-self: start;
    position: relative;
    z-index: 101;
    transition: transform var(--transition-x2);
    will-change: transform;
}
.header-brand .brand .logo {
    height: var(--logo-height);
}

.header-menu {
    grid-row: 1;
    grid-column: 2;
    justify-self: end;
    transition: opacity var(--transition-x2);
}
.header-menu .menu {
    display: flex;
    font-family: var(--font-heading);
    font-weight: var(--weight-regular);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
}
.header-menu .menu > *:not(:last-child) {
    margin-right: var(--spacing-lg);
}
.header-menu .menu a:hover {
    opacity: var(--opacity);
}

.header-panel-ctrl {
    grid-row: 1;
    grid-column: 3;
    justify-self: end;
    position: relative;
    z-index: 101;
}
.header-panel {
    display: block;
    width: 100%;
    overflow: hidden;
    position: fixed;
    z-index: 100;
    top: 0;
    right: 0;
    pointer-events: none;
    transition: var(--transition-x2);
}
.header-panel.active {
    pointer-events: auto;
}
.header-panel .panel-overlay {
    display: block;
    width: 100%;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    cursor: pointer;
    opacity: 0;
    transition: var(--transition);
    pointer-events: none;
}
.header-panel.active .panel-overlay {
    opacity: 1;
    pointer-events: auto;
}
.header-panel,
.header-panel .panel-overlay {
    height: 100vh;
    height: calc(var(--vhFlexible, 1vh) * 100);
}
@supports (-webkit-touch-callout:none) {
    .instagram-browser .header-panel,
    .instagram-browser .header-panel .panel-overlay {
        height: 100vh;
    }
}
.header-panel .panel {
    position: relative;
    z-index: 2;
    margin: 0;
    width: 100%;
    height: 100%;
    will-change: transform;
}
.header-panel .wrap {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: auto;
    max-width: none;
    height: 100%;
    padding: 0 20px 0 0;
    margin-right: -20px;
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: var(--transition-x2);
    padding-top: var(--header-height);
    -webkit-mask-box-image: -webkit-linear-gradient(-90deg, transparent 0%, white var(--header-height));
}
.header-panel .wrap > * {
    width: 100%;
}
.header-panel .inner {
    flex: 1;
    padding: 0 var(--spacing-lg) var(--spacing-lg);
}
.header-panel .inner > *:not(:last-child) {
    margin-bottom: var(--spacing-md);
}
.header-panel .menu {
    font-family: var(--font-heading);
    font-weight: var(--weight-regular);
    font-size: var(--font-size-lg);
    text-transform: uppercase;
}
.header-panel .menu a {
    text-decoration: none !important;
    box-shadow: none !important;
}
.header-panel .menu a:hover {
    opacity: var(--opacity);
}
.header-panel .menu li {
    display: flex;
    flex-wrap: wrap;
}
.header-panel .menu li:not(:last-child) {
    margin-bottom: var(--spacing-xs);
}
.header-panel .menu li > .next,
.header-panel .menu li > .readonly {
    display: flex;
    align-items: center;
}
.header-panel .menu li > .next:after,
.header-panel .menu li > .readonly:after {
    font-family: 'iconfont';
    content: "\e904";
    font-size: var(--font-size-3xs);
    padding-left: var(--spacing-3xs);
}
.header-panel .menu li.active > .next:after,
.header-panel .menu li.active > .readonly:after {
    content: "\e903";
}
.header-panel .menu li > .readonly + .next {
    display: none;
}
.header-panel .menu.m-highlight {
    font-size: var(--font-size-h4);
}
.header-panel .menu.m-highlight > *:not(:last-child) {
    margin-bottom: var(--spacing-md);
}
.header-panel .menu-dropdown {
    transition: none;
    display: none;
    width: calc(100% + var(--spacing-lg)*2);
    margin: var(--spacing-xs) var(--spacing-lg-minus) 0;
    padding: var(--spacing-xs) var(--spacing-lg);
    font-family: var(--font-body);
    font-weight: var(--weight-medium);
    font-size: var(--font-size-body);
    text-transform: none;
}
.header-panel .menu-dropdown ul {
    width: 100%;
}
.header-panel .menu-dropdown ul > li:not(:last-child) {
    margin-bottom: var(--spacing-2xs);
}
.header-panel .menu-dropdown ul > li > ul {
    display: none;
    font-weight: var(--weight-regular);
    font-size: var(--font-size-xs);
    padding: var(--spacing-2xs) 0;
}
.header-panel .menu-dropdown ul > li > ul > li:not(:last-child) {
    margin-bottom: var(--spacing-3xs);
}

/*========== FOOTER ==========*/
#footer {
    position: relative;
    width: 100%;
    background: var(--color-theme);
    color: var(--color-gray);
}
.footer-nav {
    position: relative;
    z-index: 1;
}
.footer-nav .copyright {
    font-size: var(--font-size-2xs);
    text-align: center;
    color: rgba(var(--color-gray-rgb),var(--opacity));
}
.footer-nav .directory {
    font-weight: var(--weight-medium);
    font-size: var(--font-size-xs);
}
.footer-nav .directory ul ul {
    color: rgba(var(--color-gray-rgb),var(--opacity));
}
.footer-nav .directory ul ul a:hover {
    color: rgba(var(--color-gray-rgb),1);
}
.footer-nav .keepintouch > *:not(:first-child) {
    margin-top: var(--spacing-xl);
}
.footer-nav .keepintouch > .social:not(:first-child) {
    margin-top: var(--spacing-md);
}
.footer-nav .keepintouch .entry-title {
    font-weight: var(--weight-medium);
    color: #fff;
}
.footer-nav .contact > *:not(:first-child) {
    margin-top: var(--spacing-3xs);
}
.footer-nav .contact .entry-title {
    font-size: var(--font-size-lg);
}
.footer-nav .contact .entry-contact {
    display: flex;
}
.footer-nav .contact .entry-contact a {
    text-decoration: none !important;
    box-shadow: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background-color: rgba(var(--color-gray-rgb),0.15);
    color: var(--color-gray);
}
.footer-nav .contact .entry-contact a:hover {
    background-color: var(--color-body);
    color: var(--color-gray);
}
.footer-nav .contact .entry-contact > *:not(:last-child) {
    margin-right: var(--spacing-3xs);
}
.footer-nav .contact .entry-contact:not(:first-child) {
    margin-top: var(--spacing-sm);
}
.footer-nav .social a {
    color: rgba(var(--color-gray-rgb),var(--opacity));
}
.footer-nav .social a:hover {
    color: #fff;
    opacity: 1;
}

#addon {
    width: auto;
    height: auto;
    position: fixed;
    z-index: 99;
    right: calc(var(--spacing-lg)/2);
    bottom: calc(var(--spacing-lg)/2);
}
.addon-button {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2px;
    margin: 0 3px;
    width: 56px;
    height: 56px;
    font-family: var(--font-special);
    font-weight: var(--weight-light);
    font-size: var(--font-size-xs);
    line-height: 1;
    color: var(--color-theme);
    background: #fff;
    border: 1px solid var(--color-gray-light);
    box-shadow: 0px 4px 6px rgba(0,0,0,0.15);
    border-radius: 50%;
    overflow: hidden;
}
.addon-button .ic {
    font-size: 26px;
}
.addon-button:not(:first-child) {
    margin-top: var(--spacing-3xs);
}
.addon-button:hover {
    color: var(--color-theme-wood);
    background: #fff;
}

#backtotop {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 2px;
    width: 62px;
    height: 62px;
    font-family: var(--font-special);
    font-weight: var(--weight-light);
    font-size: var(--font-size-xs);
    line-height: var(--line-height-sm);
    color: var(--color-theme);
    background: #fff;
    border: 1px solid var(--color-gray-light);
    box-shadow: 0px 4px 6px rgba(0,0,0,0.15);
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    z-index: 98;
    right: calc(var(--spacing-lg)/2);
    top: calc(-62px/2);
}
#backtotop:hover {
    color: var(--color-theme-wood);
    background: #fff;
}
html:not(.page-scrolling) #backtotop {
    opacity: 0;
    pointer-events: none;
}

/*========== PAGE ==========*/
#page {
    position: relative;
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr auto;
    grid-template-columns: 100%;
}
#page.header-fixed-page {
    grid-template-rows: 1fr auto;
}
#page.error-page {
    grid-template-rows: 1fr;
}

/*========== MAIN ==========*/
#main {
    position: relative;
    z-index: 1;
    transition: padding-top var(--transition-x2);
}

.padding-top-header { 
    padding-top: calc(var(--header-height) + var(--spacing-lg)) !important;
    transition: padding-top var(--transition-x2);
}

/*========== SECTION ==========*/
section {
    position: relative;
    width: 100%;
}

.sc-inner {
    width: 100%;
    padding-top: var(--spacing-2xl);
    padding-bottom: var(--spacing-2xl);
}
.sc-inner.pull {
    padding-top: 0;
}
.sc-container + .sc-container {
    margin-top: var(--spacing-2xl);
}
.sc-container > *:not(:last-child),
.sc-content > *:not(:last-child),
.sc-columns > *:not(:last-child),
.sc-column > *:not(:last-child),
.sc-function > *:not(:last-child) {
    margin-bottom: var(--spacing-lg);
}
.sc-headline > *:not(:first-child),
.sc-desc > *:not(:last-child) {
    margin-top: var(--spacing-xs);
}
.sc-headline > .sc-explore:not(:first-child) {
    margin-top: var(--spacing-sm);
}

.sc-link {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: 0; 
    left: 0;
    font-size: 0;
    opacity: 0;
}

.sc-back {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-heading);
    text-transform: uppercase;    
}
.sc-back:before {
    font-family: 'iconfont';
    content: "\e909";
    font-size: var(--font-size-2xs);
    margin-right: var(--spacing-2xs);
}
.sc-back:hover {
    opacity: var(--opacity);
}

.sc-nav {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}

.sc-function {
    position: relative;
    z-index: 3;
}

.sc-menu-wrapper {
    width: 100%;
    position: relative;
    overflow: visible;
}
.sc-menu-wrapper ul {
    display: flex;
    align-items: baseline;
    text-align: center;
}
.sc-menu-wrapper ul > li > a {
    text-decoration: none !important;
    box-shadow: none !important;
    opacity: 0.5;
}
.sc-menu-wrapper ul > li.current-cat > a,
.sc-menu-wrapper ul > li > a.active {
    opacity: 1;
}
.sc-menu-wrapper .swiper-slide {
    width: auto !important;
}
.sc-menu-wrapper .swiper-slide > a {
    display: block;
    white-space: nowrap;
}
.sc-menu-wrapper .swiper-wrapper {
    justify-content: space-between;
}
.sc-menu-wrapper.center-enabled .swiper-wrapper {
    justify-content: center;
}
.sc-menu-container {
    width: 100%;
    position: relative;
    z-index: 3;
}

.sc-billboard {
    width: 100%;
    position: relative;
    overflow: hidden;
}
.sc-billboard .sc-cover .object-fit:before {
    padding-bottom: 60.0877192982%;
}
.sc-billboard.h-full .sc-cover .object-fit:before {
    padding-bottom: 0 !important;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
}
@supports (-webkit-touch-callout:none) {
    .instagram-browser .sc-billboard.h-full .sc-cover .object-fit:before {
        height: 100vh;
    }
}
.sc-billboard .sc-inner {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 3;
    top: 0; 
    left: 0;
    pointer-events: none;
}
.sc-billboard .sc-inner a,
.sc-billboard .sc-inner button {
    position: relative;
    z-index: 3;
    pointer-events: auto;
}
.sc-billboard .sc-container {
    height: 100%;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: 1fr auto 1fr;
    grid-gap: var(--spacing-lg) 0;
}
.sc-billboard .sc-container > *:not(:last-child) {
    margin-bottom: 0;
}
.sc-billboard .sc-container [data-pos="top"] {
    grid-row: 1;
    align-self: start;
}
.sc-billboard .sc-container [data-pos="center"] {
    grid-row: 2;
    align-self: center;
}
.sc-billboard .sc-container [data-pos="bottom"] {
    grid-row: 3;
    align-self: end;
}
.sc-billboard.overlay {
    background: #000;
}
.sc-billboard.overlay .sc-cover [class*="object"] {
    opacity: 0.7;
}

.sc-logo {
    line-height: 1;
}
.sc-logo .object {
    display: inline-block;
    vertical-align: top;
}
.sc-logo .object > * {
    height: var(--logo-height);
}

.sc-movedown {
    width: 30px;
    height: 18px;
    margin: auto;
    display: block;
    position: absolute;
    z-index: 3;
    left: 0;
    right: 0;
    bottom: var(--spacing-sm);
    pointer-events: none;
}
.c-white .sc-movedown {
    -webkit-filter: var(--filter-white);
    filter: var(--filter-white);
}
.sc-movedown:before,
.sc-movedown:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../img/common/ic-arrow-down.svg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% auto;
    position: absolute;
    top: 0;
    left: 0;
}
.sc-movedown:before {
    background-position: center bottom 6px;
    opacity: 0.7;
}

section.fullscreen {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
}
@supports (-webkit-touch-callout:none) {
    .instagram-browser section.fullscreen {
        min-height: 100vh;
    }
}
section.fullscreen.v-center {
    align-items: center;
}
section.fullscreen > * {
    width: 100%;
}
section.sections > section:not(:last-child) > .sc-inner:last-child {
    padding-bottom: 0 !important;
}

/*========== FILTER ==========*/
.fn {
    position: relative;
    width: auto;
    font-size: var(--font-size-body);
    line-height: inherit;
    color: var(--color-theme-wood);
}
.fn .ctrl,
.fn .ctrl:hover {
    text-decoration: none !important;
    box-shadow: none !important;
    color: inherit !important;
    opacity: 1 !important;
}
.fn .ctrl {
    padding: 0;
    width: auto;
    height: auto;
    font-size: inherit;
    line-height: inherit;
    text-transform: none;
    white-space: nowrap;
    display: flex;
    align-items: center;
}
.fn .ctrl > * {
    margin: 0;
}
.fn .ctrl > *:not(:last-child) {
    margin-right: var(--spacing-2xs);
}
.fn .ctrl .ic {
    font-size: 87.5%;
    color: inherit;
    line-height: 1;
}
.fn .ctrl .ic:not([class*="ic-"]):before {
    content: "\e90c";
}
.fn .ctrl .ic-sliders {
    font-size: 25px;
}
.fn form,
.fn .select {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    z-index: 1 !important;
    top: 0 !important;
    left: 0 !important;
}
.fn .select:after {
    display: none;
}
.fn .select select,
.fn .select2-container,
.fn .select2-container .select2-selection--single {
    width: 100%;
    height: 100%;
    border: 0;
    background: none;
}
.fn .select select,
.fn .select2-container .select2-selection--single {
    opacity: 0;
}
.fn .fn-panel {
    display: none;
    position: absolute;
    z-index: 99;
    top: 100%;
    width: 100%;
}
.fn .select2-dropdown,
.fn .fn-panel {
    left: 0 !important;
    right: auto !important;
    width: -webkit-max-content !important;
    width: -moz-max-content !important;
    width: max-content !important;
    max-width: calc(100vw - var(--spacing-sm)*2) !important;
    margin: var(--spacing-2xs) auto !important;
    color: var(--color-theme-wood) !important;
    background: #fff !important;
    border: 1px solid !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    text-transform: none !important;
}
.fn.left .select2-dropdown,
.fn.left .fn-panel {
    left: 0 !important;
    right: auto !important;
}
.fn.right .select2-dropdown,
.fn.right .fn-panel {
    left: auto !important;
    right: 0 !important;
    text-align: right;
}
.fn .select2-results__options,
.fn .fn-panel-wrap {
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    max-height: 50vh !important;
}
.fn .select2-results__options,
.fn .fn-panel-inner {
    padding: 0;
    line-height: inherit;
}
.fn .select2-results__option,
.fn .fn-menu li > a {
    display: block;
    min-width: 85px;
    padding: var(--spacing-3xs) var(--spacing-2xs);
    transition: var(--transition);
}
.fn .select2-results__option:hover,
.fn .fn-menu li > a:hover {
    background: var(--color-theme-wood);
    border-color: var(--color-theme-wood);
    color: #fff;
}
.fn .select2-results__option[aria-selected=true],
.fn .fn-menu li.current-cat > a {
    font-weight: var(--weight-medium);
}
.fn .select2-results__option:not(:last-child),
.fn .fn-menu li:not(:last-child) {
    border-bottom: 1px solid;
}

.fn.enabled {
    z-index: 1;
}
.fn.enabled .ctrl {
    box-shadow: var(--cta-shadow) !important;
}

.fn-container {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: auto auto;
}
.fn-container .fn.left {
    grid-row: 1;
    grid-column: 1;
    justify-self: start;
}
.fn-container .fn.right {
    grid-row: 1;
    grid-column: 2;
    justify-self: end;
}

.filter-container {
    text-align: center;
}
.filter-ctrl .ctrl {
    font-family: var(--font-special);
    font-weight: var(--weight-light);
    font-size: var(--font-size-xs);
    text-transform: uppercase;
    white-space: nowrap;
}
.filter-ctrl .ctrl:hover {
    color: var(--color-theme-wood);
}
.filter-wrapper {
    width: 100%;
    font-weight: var(--weight-medium);
    font-size: var(--font-size-xs);
    color: var(--color-theme-darkwood);
}
.filter-wrapper ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: var(--spacing-2xs-minus) var(--spacing-xs-minus) 0;
}
.filter-wrapper li {
    padding: var(--spacing-2xs) var(--spacing-xs) 0;
}
.filter-wrapper li > a:hover,
.filter-wrapper li.current-cat > a {
    color: var(--color-theme-wood);
}
.filter-panel {
    display: none;
}

/*========== MODULES ==========*/
.card {
    display: block;
    width: 100%;
    position: relative;
    text-align: left;
    color: inherit;
}
.card a:not(.link-overlay),
.card button {
    position: relative;
    z-index: 3;
    pointer-events: auto;
}
.card .cover {
    position: relative;
}
.card .cover .object-fit:before {
    padding-bottom: 133.3333333333%;
}
.card .caption {
    position: relative;
    z-index: 3;
    pointer-events: none;
}
.card .caption:not(:first-child) {
    padding-top: var(--spacing-sm);
}
.card .caption > * {
    transition: var(--transition);
}
.card .caption > *:not(:first-child) {
    margin-top: var(--spacing-3xs);
}
.card .caption > .entry-title:not(:first-child) {
    margin-top: var(--spacing-2xs);
}
.card .caption > .entry-explore:not(:first-child) {
    margin-top: var(--spacing-2xs);
}
.card .entry-date {
    font-size: var(--font-size-xs);
    color: var(--color-theme-darkwood);
}
.card .entry-title {
    font-weight: var(--weight-medium);
    font-size: var(--font-size-md);
    color: var(--color-theme-wood);
}
.card:hover .entry-title {
    color: var(--color-theme-darkwood);
}
.card .ellipsis {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.card .entry-title.ellipsis {
    -webkit-line-clamp: 2;
}
.card .entry-desc.ellipsis {
    -webkit-line-clamp: 3;
}

.c-white .card .entry-date,
.c-white .card .entry-title {
    color: inherit !important;
}
.c-white .card:hover .caption > * {
    opacity: var(--opacity) !important;
}

.card-container + .card-container {
    margin-top: var(--spacing-lg);
}

.card-container.type-alignment > *:not(:first-child) {
    margin-top: var(--spacing-lg);
}

.card-container.type-grid {
    display: grid;
    grid-auto-flow: dense;
}

.card-container.type-slider {
    margin-left: var(--spacing-lg-minus);
    margin-right: var(--spacing-lg-minus);
}
.card-container.type-slider,
.card-container.type-slider .swiper-slide {
    padding-left: calc(var(--spacing-lg)/2);
    padding-right: calc(var(--spacing-lg)/2);
}
.card-container.type-slider .swiper-slide {
    width: calc(100%/3) !important;
}
.card-container.type-slider .swiper-container {
    position: static;
}
.card-container.type-slider [class*="swiper-button-"] {
    width: var(--spacing-lg);
    padding: 0 !important;
}
.card-container.type-slider [class*="swiper-button-"]:after {
    transform: none;
}

*[data-card="category"] .card .caption {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
    padding: var(--spacing-md);
}
*[data-card="category"] .card .caption > * {
    color: inherit;
}
*[data-card="category"] .card:hover .caption > * {
    opacity: 1 !important;
}
*[data-card="category"] .card .cover {
    background: #000;
}
*[data-card="category"] .card:hover .cover .object-fit > * {
    opacity: 0.7;
}
*[data-card="category"].type-grid {
    grid-gap: var(--spacing-2xl);
    grid-template-columns: repeat(2,1fr);
}

*[data-card="blog"] .card .cover .object-fit:before {
    padding-bottom: 78.4722222222%;
}
*[data-card="blog"].type-slider .card .entry-explore {
    display: none;
}

*[data-card="catalogue"] .card {
    text-align: center;
    color: var(--color-theme-wood);
}
*[data-card="catalogue"] .card .cover {
    background: var(--color-gray);
    border: 5px solid #FFFFFF;
    box-shadow: 0px 5px 8px rgba(0, 0, 0, 0.25);
}
*[data-card="catalogue"] .card .cover .object-fit:before {
    padding-bottom: 114.0972222222%;
}
*[data-card="catalogue"] .card .caption:not(:first-child) {
    padding-top: var(--spacing-md);
}
*[data-card="catalogue"] .card .caption > *:not(:first-child) {
    margin-top: var(--spacing-3xs);
}
*[data-card="catalogue"].type-grid {
    grid-template-columns: repeat(2,1fr);
    grid-gap: var(--spacing-xl) var(--spacing-2xl);
}
*[data-card="catalogue"].type-grid .card-grid {
    width: 100%;
    max-width: 483px;
    margin-left: auto;
    margin-right: auto;
}

*[data-card="product"] .card .cover {
    background: #fff;
}
*[data-card="product"] .card .cover .object-fit:before {
    padding-bottom: 125.5555555556%;
}
*[data-card="product"] .card .cover .object-fit > * {
    display: block !important;
    width: calc(100% + 2px) !important;
    height: calc(100% + 2px) !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
    will-change: opacity;
}
*[data-card="product"] .card .cover .object-fit > * + * {
    z-index: 1;
    opacity: 0;
}
*[data-card="product"] .card:hover .cover .object-fit > *:first-child:not(:last-child) {
    opacity: 0;
}
*[data-card="product"] .card:hover .cover .object-fit > * + * {
    opacity: 1;
}

*[data-card="product"] .card .cover[data-cover="model"] {
    display: none;
    background: none;
}
*[data-card="product"] .card .cover[data-cover="model"] .object-fit:before {
    padding-bottom: 90%;
}
*[data-card="product"] .card .cover[data-cover="model"] .object-fit > * {
    -o-object-fit: contain;
    object-fit: contain;
}

*[data-card="product"].type-grid {
    grid-template-columns: repeat(4,1fr);
    grid-gap: var(--spacing-lg);
    grid-auto-flow: dense;
}
*[data-card="product"].type-grid.all .card-grid:nth-child(10n+1),
*[data-card="product"].type-grid.all .card-grid:nth-child(10n+2) {
    grid-column: 1 / span 2;
    position: relative;
}
*[data-card="product"].type-grid.all .card-grid:nth-child(10n+1) .cover[data-cover="default"],
*[data-card="product"].type-grid.all .card-grid:nth-child(10n+2) .cover[data-cover="default"] {
    display: none !important;
}
*[data-card="product"].type-grid.all .card-grid:nth-child(10n+1) .cover[data-cover="model"],
*[data-card="product"].type-grid.all .card-grid:nth-child(10n+2) .cover[data-cover="model"] {
    display: block;
}

*[data-section="contact-detail"] .sc-inner {
    padding-bottom: 0;
}
*[data-section="contact-detail"] .sc-container > *:not(:last-child) {
    margin-bottom: 0;
}
.contact-detail {
    position: relative;
}
.contact-detail > *:not(:first-child) {
    margin-top: var(--spacing-2xs);
}
.contact-detail .entry-social:not(:first-child) {
    margin-top: var(--spacing-xs);
}
.contact-detail .entry-qrcode:not(:first-child) {
    margin-top: var(--spacing-sm);
}
.contact-detail .entry-qrcode .object {
    width: 100px;
}
.contact-detail .scene {
    margin: 0 !important;
    position: absolute;
    z-index: 1;
    right: 0;
    pointer-events: none;
}
.contact-map {
    position: relative;
}
.contact-map .map-container:before {
    padding-bottom: 125.3333333333%;
}
.contact-map .map-direction {
    width: 100%;
    text-align: center;
    position: absolute;
    z-index: 3;
    left: 0;
    bottom: var(--spacing-lg);
    padding: 0 var(--spacing-md);
}
.contact-map .map-direction .button {
    max-width: 100%;
}

*[data-section="404"] .sc-inner {
    padding-top: var(--spacing-lg);
    padding-bottom: var(--spacing-lg);
}

.project-ref-category {
    width: 100%;
    max-width: 470px;
    margin-left: auto;
    margin-right: auto;
    font-family: var(--font-heading);
    font-weight: var(--weight-regular);
    font-size: var(--font-size-h4);
    line-height: var(--line-height-sm);
    text-transform: uppercase;
}
.project-ref-category a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.project-ref-category a:hover {
    opacity: var(--opacity);
}
.project-ref-category a:after {
    font-family: 'iconfont';
    content: "\e90a";
    font-size: var(--font-size-2xs);
    margin-left: var(--spacing-2xs);
}
.project-ref-category li:not(:last-child) {
    border-bottom: 1px solid rgba(255,255,255,0.3);
    padding-bottom: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
}

*[data-section="project-ref"].style-boxes .project-ref-cover .ref-cover > .object-fit:before {
    padding-bottom: 100%;
}
*[data-section="project-ref"].style-boxes .project-ref-ctrls {
    font-size: var(--font-size-xl);
    line-height: var(--line-height-sm);
    text-transform: uppercase;
}
*[data-section="project-ref"].style-boxes .project-ref-ctrls ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 var(--spacing-2xs-minus);
}
*[data-section="project-ref"].style-boxes .project-ref-ctrls li {
    padding: 0 var(--spacing-2xs);
}
*[data-section="project-ref"].style-boxes .project-ref-ctrls .ref-ctrl:not(.active) {
    opacity: 0.2;
}

*[data-section="project-ref"].style-screen {
    position: relative;
    background: #000;
    color: #fff;
}
*[data-section="project-ref"].style-screen .sc-inner {
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    padding-bottom: 0;
    -webkit-mask-box-image: -webkit-linear-gradient(90deg, transparent 0%, white var(--spacing-sm));
}
*[data-section="project-ref"].style-screen .sc-container {
    height: 100%;
}
*[data-section="project-ref"].style-screen .sc-container > * {
    width: 100%;
}
*[data-section="project-ref"].style-screen .sc-container > *:not(:last-child) {
    margin-bottom: 0;
}
*[data-section="project-ref"].style-screen .sc-nav {
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--header-height) + var(--spacing-md));
    padding-bottom: var(--spacing-md);
}
*[data-section="project-ref"].style-screen .project-ref-ctrls {
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 100%;
    width: auto;
    max-width: 100%;
    overflow: hidden;
    font-family: var(--font-heading);
    font-size: var(--font-size-xl);
    text-transform: uppercase;
    text-align: center;
    line-height: 1;
    padding: 0 var(--spacing-md);
    -webkit-mask-box-image: -webkit-linear-gradient(-90deg, transparent 170px, white 210px);
}
*[data-section="project-ref"].style-screen .project-ref-ctrls .swiper-container {
    height: 100%;
    overflow: visible;
}
*[data-section="project-ref"].style-screen .project-ref-ctrls .swiper-slide {
    height: auto !important;
    padding: var(--spacing-3xs) 0;
}
*[data-section="project-ref"].style-screen .project-ref-ctrls .ref-ctrl {
    opacity: 0.2;
}
*[data-section="project-ref"].style-screen .project-ref-ctrls .swiper-slide-active .ref-ctrl {
    opacity: 1;
}
*[data-section="project-ref"].style-screen .project-ref-cover {
    pointer-events: none;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
}
*[data-section="project-ref"].style-screen .project-ref-cover .ref-cover {
    display: none;
}
*[data-section="project-ref"].style-screen .project-ref-cover .ref-cover > .object-fit {
    opacity: 0.7;
}
*[data-section="project-ref"].style-screen .project-ref-cover .ref-cover > .object-fit:before {
    padding-bottom: 0 !important;
}
*[data-section="project-ref"].style-screen,
*[data-section="project-ref"].style-screen .project-ref-cover .ref-cover > .object-fit:before {
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
}
@supports (-webkit-touch-callout:none) {
    .instagram-browser *[data-section="project-ref"].style-screen,
    .instagram-browser *[data-section="project-ref"].style-screen .project-ref-cover .ref-cover > .object-fit:before {
        height: 100vh;
    }
}

.about-intro .entry-title {
    line-height: 1;
}
.about-intro .entry-title > * {
    display: block;
}
.about-intro .entry-title > strong {
    font-size: 133.3333333333%;
}
.about-intro .entry-title > strong + span {
    padding-left: 42px;
}
.about-intro > *:not(:first-child) {
    margin-top: var(--spacing-sm);
}
.about-intro-cover {
    pointer-events: none;
}

.about-intro-scene,
.about-timeline-scene {
    position: absolute;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
}
.about-intro-scene > *,
.about-timeline-scene > * {
    display: block;
    width: 100%;
    height: auto;
}
.about-intro-scene {
    width: 36.8055555556vw;
    bottom: 0;
    left: 0;
    transform: translateY(50%);
}
.about-intro-scene > * {
    margin-left: -60px;
}
.about-timeline-scene {
    width: 448px;
    max-width: 39.298245614%;
    top: 0;
    left: 19%;
    transform: translateY(-33%);
}

.about-timeline {
    position: relative;
}
.timeline-ctrls {
    width: 100%;
    overflow: hidden;
    position: absolute;
    z-index: 3;
    top: var(--spacing-lg);
    left: 0;
    font-family: var(--font-heading);
    font-size: var(--font-size-xl);
    text-transform: uppercase;
    line-height: 1;
}
.timeline-ctrls .sc-menu-container {
    -webkit-mask-box-image: -webkit-linear-gradient(0deg, transparent 0%, white var(--spacing-xs));
}
.timeline-ctrls .sc-menu-wrapper {
    -webkit-mask-box-image: -webkit-linear-gradient(180deg, transparent 0%, white var(--spacing-xs));
}
.timeline-ctrls .sc-menu-wrapper .swiper-slide {
    padding: 0 calc(var(--spacing-lg)/2);
}
.timeline-ctrls .sc-menu-wrapper .swiper-slide:first-child {
    padding-left: var(--spacing-lg);
}
.timeline-ctrls .sc-menu-wrapper .swiper-slide:last-child {
    padding-right: var(--spacing-lg);
}
.timeline-content {
    overflow: hidden;
}
.timeline-content .sc-inner {
    padding: var(--spacing-lg) 0;
}

*[data-section="about-timeline"] .sc-inner,
*[data-section="about-story"] .sc-inner,
*[data-section="about-story"] *[data-story-id="1"] {
    padding-top: 0;
}

.about-quality {
    position: relative;
    text-align: center;
}
.about-quality .cover {
    background-color: var(--color-gray-light);
}
.about-quality .cover .object > * {
    mix-blend-mode: luminosity;
}
.about-quality .caption {
    position: absolute;
    z-index: 1;
    top: 0; 
    bottom: 0;
    left: 0; 
    right: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.about-quality .entry-title {
    color: var(--color-theme-wood);
}
.about-quality .entry-title strong {
    font-weight: inherit;
    color: var(--color-theme-darkwood);
}

.blog-gallery .entry-gallery .object > * {
    max-height: 585px;
    -o-object-fit: contain;
    object-fit: contain;
}

.segment-doc {
    display: block;
    position: relative;
    transition: var(--transition);
}
.segment-doc .cover {
    background: #000;
}
.segment-doc .cover .object-fit:before {
    padding-bottom: 100%;
}
.segment-doc:hover .cover .object-fit > * {
    opacity: 0.7;
}
.segment-doc .caption {
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    pointer-events: none;
}

*[data-segment="home-solution"] .segment-doc-container {
    background: var(--color-body);
    color: #fff;
}
*[data-segment="teak-furniture"] .segment-doc-container {
    background: var(--color-theme-darkwood);
    color: #fff;
}

#product-cta {
    width: 100%;
	text-align: center;
    padding: 0 var(--spacing-md);
    position: fixed;
    z-index: 10;
    left: 0;
    bottom: calc(var(--spacing-lg)/2);
    pointer-events: none;
}
#product-cta > * {
    pointer-events: auto;
}
#product-cta + #highlight .sc-movedown {
    bottom: calc(var(--input-height-md) + var(--spacing-sm)*2);
}

#single-product {
    overflow: hidden;
}
#single-product .sc-container > *:not(:last-child) {
    margin-bottom: var(--spacing-2xl);
}

.product-model {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.product-model > * {
    width: calc(50% - var(--spacing-2xl)/2);
    margin: 0 auto;
}

.product-detail {
    width: 100%;
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
}
.product-detail .detail-group:not(:first-child) {
    margin-top: var(--spacing-xl);
}
.product-detail .detail-group > *:not(:first-child) {
    margin-top: var(--spacing-xs);
}
.product-detail .detail-group .entry-title {
    font-family: var(--font-heading);
    font-size: var(--font-size-lg);
    text-transform: uppercase;
    color: var(--color-theme-wood);
}
.product-detail .variable-items-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: var(--spacing-2xs-minus);
}
.product-detail .variable-item {
    text-decoration: none;
    box-shadow: none;
    color: inherit;
    opacity: 1;
    display: block;
    text-align: center;
    position: relative;
    line-height: 1;
}
.product-detail .variable-item {
    margin: 0 var(--spacing-2xs) var(--spacing-2xs) 0;
}
.product-detail .variable-item-span {
    display: block;
    width: 40px;
    height: 40px;
}
.product-detail .variable-item-span > * {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
.product-detail .variable-item-span,
.product-detail .variable-item-span > * {
    border-radius: 50%;
    overflow: hidden;
}
.product-detail .variable-item.active .variable-item-span:after {
    content: "+";
    font-family: var(--font-heading);
    font-size: 22px;
    line-height: 1;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    color: #fff;
}
.product-detail .variable-item-name {
    display: block;
    font-size: var(--font-size-xs);
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    opacity: 0;
    transition: var(--transition);
}
.product-detail .variable-item.active .variable-item-name {
    opacity: 1;
}
.product-detail table {
    text-align: center;
    border-top: 1px solid var(--color-gray);
}
.product-detail tr > * {
    padding: var(--spacing-3xs) var(--spacing-xs);
}
.product-detail thead tr > * {
    padding-top: var(--spacing-2xs);
    padding-bottom: var(--spacing-2xs);
    font-weight: var(--weight-medium);
    font-size: var(--font-size-xs);
    color: var(--color-theme-darkwood);
}
.product-detail tbody tr:nth-child(odd) > * {
    background-color: rgba(255,255,255,0.5);
}

.product-gallery.type-slider {
    background: #000;
    overflow: hidden;
}
.product-gallery.type-slider .object-fit:before {
    padding-bottom: 60.0877192982%;
}
.product-gallery.type-flex .item {
    position: relative;
}
.product-gallery.type-flex .item > * {
    position: relative;
    z-index: 2;
}

/*========== SCENE ==========*/
.scene-logo {
    display: block;
    pointer-events: none;
}
.scene-logo > * { 
    display: block;
    width: 100%;
    height: auto;
}
.header-panel .scene-logo {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    display: block;
    width: 160.5333333333vw;
    transform: translate(35px, 50px);
    max-height: 100%;
    -webkit-filter: brightness(0%) invert(100%) sepia(32%) saturate(0%) hue-rotate(134deg) brightness(113%) contrast(95%);
    filter: brightness(0%) invert(100%) sepia(32%) saturate(0%) hue-rotate(134deg) brightness(113%) contrast(95%);
}
#footer .scene-logo {
    width: 530px;
    opacity: 0.06;
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    transform: translateY(-78px);
    max-height: calc(100% + 78px);
    overflow: hidden;
}
#footer .scene-logo > * {
    transform: translateX(134px);
}

.scene-bg {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
    pointer-events: none;
}

section[class*="bg-"] .scene-bg {
    z-index: 0;
}
section[class*="bg-"] .scene-bg ~ .sc-inner {
    z-index: 1;
    position: relative;
}

/*========== IFRAME ==========*/
#iframe-body {
    height: auto !important;
    min-height: 0 !important;
    background: none !important;
    opacity: 1 !important;
    overflow: hidden !important;
}
#iframe-body #page {
    padding: 0 !important;
    min-height: 0 !important;
}
#iframe-body #cookie-law-info-bar,
#iframe-body #cookie-law-info-again,
#iframe-body .woofc-overlay,
#iframe-body #woofc-count,
#iframe-body #woofc-area,
#iframe-body #fb-root {
    display: none !important;
}

/*========== MAILCHIMP ==========*/
#mc_embed_signup #mc_embed_signup_scroll {
    display: block !important;
    position: relative !important;
    font-size: var(--font-size-xs);
    text-align: left;
}
#mc_embed_signup #mc_embed_signup_scroll .mc-field-group {
    position: relative !important;
    margin: 0 auto !important;
    width: 100%;
    max-width: 100%;
}
#mc_embed_signup #mc_embed_signup_scroll #mc-embedded-subscribe {
    margin: 0;
    min-width: 0;
    height: var(--input-height);
    display: flex;
    align-items: center;
    position: absolute;
    right: 0;
    top: 0;
    font-size: inherit;
    font-weight: var(--weight-medium);
}
#mc_embed_signup #mc_embed_signup_scroll #mc-embedded-subscribe:hover {
    opacity: var(--opacity);
}
#mc_embed_signup #mce-responses {
    width: 100% !important;
    padding: 0 !important;
    position: absolute !important;
    left: 0 !important;
    top: calc(var(--input-height) + var(--spacing-3xs)) !important; 
    text-align: inherit;
    text-transform: nonw;
}
#mc_embed_signup #mce-responses .response {
    padding: 0 !important; 
    font-size: var(--font-size-2xs) !important;
    color: inherit !important;
}
#mc_embed_signup #mce-responses #mce-error-response {
    color: var(--color-error) !important;
}
#mc_embed_signup #mce-responses #mce-success-response {
    color: var(--color-gray) !important;
}
#mc_embed_signup div.mce_inline_error {
    width: 100%;
    margin: 0 !important;
    background: none !important;
    padding: 0 !important;
    font-size: var(--font-size-xs) !important;
    font-weight: inherit !important;
    color: var(--color-error) !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    top: auto !important; 
    bottom: 0 !important;
    display: none !important;
}
#mc_embed_signup input.mce_inline_error {
    border-color: var(--color-error) !important;
}
#mc_embed_signup.popupstyle,
#mc_embed_signup.footerstyle {
    padding: 0 0 var(--spacing-md);
}
.iframe-subscribe.position-popup,
.iframe-subscribe.position-footer {
    height: calc(var(--input-height) + var(--spacing-md)) !important;
    margin: 0 0 var(--spacing-md-minus) !important;
}
.iframe-subscribe {
    display: block !important;
    width: 100% !important;
}

/*========== ANIMATE ==========*/
.animate {
    will-change: opacity, transform;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
}
.animated {
    -webkit-animation-duration: 0.8s;
    animation-duration: 0.8s;
    -webkit-animation-delay: .1s;
    animation-delay: .1s;
}
@-webkit-keyframes fadeInUp {
    from{ opacity: 0; transform: scale(1,1) translate(0,20px);}
    to{ opacity: 1; transform: scale(1,1) translate(0,0);}
}
@keyframes fadeInUp {
    from{ opacity: 0; transform: scale(1,1) translate(0,20px);}
    to{ opacity: 1; transform: scale(1,1) translate(0,0);}
}
.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}
@-webkit-keyframes matrixZoomOut {
    from { transform: matrix(1.1, 0, 0, 1.1, 0, 0);}
    to { transform: matrix(1, 0, 0, 1, 0, 0);}
}
@keyframes matrixZoomOut {
    from { transform: matrix(1.1, 0, 0, 1.1, 0, 0);}
    to { transform: matrix(1, 0, 0, 1, 0, 0);}
}
.matrixZoomOut {
    -webkit-animation-name: matrixZoomOut;
    animation-name: matrixZoomOut;
    -webkit-animation-duration: 1.8s;
    animation-duration: 1.8s;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}

.swiper-container .animate:not(.animated) {
    -webkit-animation-name: none !important;
    animation-name: none !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/*========== BUNDLE CSS ==========*/
img, 
iframe,
.button,
.explore,
.explore-icon,
#header, 
#footer,
#addon,
.mfp-close,
.select2-selection--single,
.select2-results__option,
.choice > span,
.sc-billboard,
.sc-menu,
.sc-nav,
.fn,
.card {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.brand,
.hamburger,
.plaimanas,
.button,
.social a,
.object,
.qty-btn,
.sc-link,
.mfp-close,
.modal-dismiss,
.card {
    box-shadow: none !important;
}

.alm-listing+.alm-btn-wrap {
  margin-top: var(--spacing-2xl);
}