:root {    
    --primary-font:'Montserrat';
    --secondary-font:'Vanio';

    --primary:#feb201;
    --secondary: #776e5a;
    --tertiary: #e8e8e0;        

    --black: #000000;    
    --white: #ffffff;

    --offwhite: #e9e8e2;

    --foreground: var(--black);
    --background: var(--secondary);
    --menu-hover-legacy:#f8cc3b; 
    --menu-hover: #f7dd72;
    --menu-border: #e67d33;

    --vw: calc( 100vw - ( 100vw - 100% ) );
    --ultra-slim-width: min(calc( var(--vw) - 2 * 16px ), 600px );
    --slim-width: min(calc( var(--vw) - 2 * 16px ), 1080px );
    --default-width: min(calc( var(--vw) - 2 * 16px ), 1440px );
    --wide-width: calc( var(--vw) - 2 * 16px );

    --double-spacing: 50px;
    --spacing: 25px;
    --half-spacing: 16px;

    --h0:80px;
    --h1:70px;
    --h2:44px;
    --h3:33px;
    --h4:20px;
    --h5:16px;
    --h6:12px;

    --lh0:90px;
    --lh1:80px;
    --lh2:54px;
    --lh3:43px;
    --lh4:30px;
    --lh5:26px;
    --lh6:22px;

    --transition: all 0.2s ease 0s;

    --lg: 1199px;
    --md: 991px;
    --sm: 767px;
    --xs: 575px;
}

@media (max-width: 767px) {
    :root {
        --ultra-slim-width: min(calc( var(--vw) - 2 * 8px ), 600px );
        --slim-width: min(calc( var(--vw) - 2 * 8px ), 1080px );
        --default-width: min(calc( var(--vw) - 2 * 8px ), 1440px );
        --wide-width: calc( var(--vw) - 2 * 8px );

        --double-spacing: 32px;
        --spacing: 16px;
        --half-spacing: 8px;
    }
}

/* Font */
    @font-face {
        font-family: 'Vanio';
        src: url('../fonts/vanio/VanioRegular/font.woff2') format('woff2'),
             url('../fonts/vanio/VanioRegular/font.woff') format('woff');
        font-weight: 400;
        font-style: normal;
        font-display: swap; 
    }

    @font-face {
        font-family: 'Vanio';
        src: url('../fonts/vanio/VanioMedium/font.woff2') format('woff2'),
             url('../fonts/vanio/VanioMedium/font.woff') format('woff');
        font-weight: 700;
        font-style: normal;
        font-display: swap; 
    }

/* General */
    body {    
        font-family: var(--primary-font);
        background-color: var(--background);
        color: var(--foreground);
        padding:0;
        margin:0;
        border:none;
    }

    a {
        transition: var(--transition);
    }

    button.button,
    button[type="submit"] {
        background-color: var(--primary);
        color:var(--foreground);
        font-weight: 900;
        border-radius: 8px;
        padding:20px 46px;
        text-align: center;
        border:none;
        font-size: 24px;
        line-height: 1;
        transition: var(--transition);
    }

    button.button:hover,
    button.button:focus,
    button[type="submit"]:hover,
    button[type="submit"]:focus {
        background-color: var(--menu-hover-legacy);
    }

    @media( max-width:767px ) {

        button.button {
            font-size: var(--h5);
            line-height: var(--lh5);
            padding:16px 24px;
            font-weight: 700;
        }
    }

    ol, ul {
        list-style-type: initial;
        padding-left: 25px;
    }

    .has-primary-color { color:var(--primary); }
    .has-secondary-color { color:var(--secondary); }
    .has-tertiary-color { color:var(--tertiary); }

    .has-primary-background-color { background-color: var(--primary); }
    .has-secondary-background-color { background-color: var(--secondary); }
    .has-tertiary-background-color { background-color: var(--tertiary); }

    input[type="text"], 
    input[type="password"], 
    input[type="datetime"], 
    input[type="datetime-local"], 
    input[type="date"], 
    input[type="month"], 
    input[type="time"], 
    input[type="week"], 
    input[type="number"], 
    input[type="email"], 
    input[type="url"], 
    input[type="search"], 
    input[type="tel"], 
    input[type="color"], 
    select, 
    textarea,
    .field {
        color:var(--foreground);
        font-size: var(--h5);
        line-height: var(--lh5);
        height: auto;
        padding:12px;
        font-family: var(--primary-font);
    }

    select option {
        font-family: var(--primary-font), sans-serif;
    }

/* Typography */
    h1, h2, h3, h4, h5, h6 {
        font-family: var(--secondary-font);    
        font-weight: 400;
        margin-top:0;
        margin-bottom: var(--spacing);
    }

    .has-h-0-font-size {
        font-size: var(--h0);
        line-height: var(--lh0);
    }


    h1,
    .has-h-1-font-size {
        font-size: var(--h1);
        line-height: var(--lh1);
    }

    h2,
    .has-h-2-font-size {
        font-size: var(--h2);
        line-height: var(--lh2);
    }

    h3,
    .has-h-3-font-size {
        font-size: var(--h3);
        line-height: var(--lh3);
    }

    h4,
    .has-h-4-font-size {
        font-size: var(--h4);
        line-height: var(--lh4);     
    }


    h5,
    .has-h-5-font-size {
        font-size: var(--h5);
        line-height: var(--lh5);
        text-transform: initial;
        letter-spacing: normal;
    }

    h6,
    .has-h-6-font-size {
        font-size: var(--h6);
        line-height: var(--lh6);
    }

    @media( max-width:767px ) {
         
        .has-h-0-font-size,
        h1,
        .has-h-1-font-size {
            font-size: var(--h2);
            line-height: var(--lh2);
        }
    }

    p {
        font-size: var(--h5);
        line-height: var(--lh5);
        margin-bottom: var(--spacing);
    }    

/* Generic Sections */
    u.underlined{
        text-underline-offset: 20px;
        text-decoration-thickness: 8px;
        text-decoration-color: var(--primary);
    }

    u.underlined-black {
        text-underline-offset: 20px;
        text-decoration-thickness: 8px;
        text-decoration-color: var(--black);
    }

    @media( max-width:767px ) {

        u.underlined{
            text-underline-offset: 12px;
            text-decoration-thickness: 5px;
        }

        u.underlined-black {
            text-underline-offset: 12px;
            text-decoration-thickness: 5px;
        }   
    }

    .island-wrapper {    
        background-color: var(--primary);
        border:20px solid var(--offwhite);        
        background-repeat: no-repeat;
        background-position: left 200px top;
        background-size: cover;
        min-height: 650px;
        padding:145px 0;
    }

    .island-wrapper.right {
        background-position: right 200px top;
    }

    .island-wrapper .container {
        position: relative;
        display: flex;
        justify-content: flex-start;
    }

    .island-wrapper.right .container {
        justify-content: flex-end;
    }

    .island-wrapper .island {
        width: 100%;
        max-width: 720px;
        background-color: var(--tertiary);
        padding:40px 64px 64px 64px;
        font-size: 18px;
        line-height: 28px;
        font-weight: 400;        
        position: relative;
    }

    .island h2 {
        margin-bottom: 40px;
    }

    .island p {
        font-size: 18px;
        line-height: 28px;
    }

    .island > *:last-child {
        margin-bottom: 0;
    }

    .island button {
        top:100%;
        left:50%;
        margin-top:-32px;
        transform: translateX(-50%);
        position: absolute;
        white-space: nowrap;
    }

    @media( max-width:767px ) {
    
        .island-wrapper { 
            border-width: 0;
            background-position: left 60px top;
            padding:100px 0;
        }        

        .island-wrapper.right {
            background-position: right 60px top;
        }

        .island-wrapper .island {
            padding:var(--double-spacing) 20px;
            font-size: var(--h5);
            line-height: var(--lh5);
        }

        .island h2 {
            margin-bottom: var(--spacing);
        }

        .island p {
            font-size: var(--h5);
            line-height: var(--lh5);
        }     
    }

    .hero {
        min-height:580px;
        width: 100%;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .hero-content {      
        padding:0 16px;
        text-align: center;
        color:var(--white);
        max-width: 880px;
        width: 100%;
    }

    .hero-content h1 {
        line-height: 1;
        margin-bottom: 32px;
        text-transform: uppercase;
    }

    .hero-content h1 u {
        text-underline-offset:26px;        
        text-decoration-thickness: 8px;
        text-decoration-color: var(--primary);
    }

    .hero-content h2 {        
        margin-bottom: 0;
    }

    .hero-content span {
        display: inline-block;
    }

    .hero-content button {
        margin-top:112px;
    }

    
    @media( max-width:767px ) {   

        .hero {
            min-height: 484px;
        }

        .hero-content button {
            margin-top:72px;
        }

        .hero-content h1 u {
            text-underline-offset:12px;        
            text-decoration-thickness: 5px;
        }
    }

    @media( max-width:575px ) {

        .hero-content h1 {
            font-size: var(--h3);
            line-height: var(--lh3);
            letter-spacing: -1px;
        }

        .hero-content h2 {
            font-size: var(--h3);
            line-height: var(--lh3);
        }
    }

    .features {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
        gap:var(--double-spacing) var(--spacing);
    }

    .feature {
        flex:0 0 calc( ( 100% -  75px ) / 4 );
        max-width: 220px;
        text-align: center;
    }

    .feature-image {
        margin-bottom: var(--spacing);
        height:173px;
        display: flex;
        justify-content: center;
        align-items: flex-end;
    }

    .feature-image img {
        margin:0;             
    }    

    .feature:nth-child(1) img { width:171px; height:148px; }
    .feature:nth-child(2) img  { width:167px; height:138px; }
    .feature:nth-child(3) img  { width:111px; height:125px; }
    .feature:nth-child(4) img  { width:111px; height:173px; }

    .feature-title h3 {
        margin:0;
        font-weight: 700;
    }

    @media( max-width:1199px ) {

        .feature {
            flex:0 0 calc( ( 100% -  25px ) / 2 );
            max-width: 100%;
        }
    }

    @media( max-width:767px ) {

        .features {
            gap:var(--double-spacing) var(--half-spacing);
        }

        .feature-title h3 {
            font-size: 26px;
            line-height: var(--lh4);
        }
    }

    @media( max-width:575px ) { 

        .feature {
            flex:0 0 100%;
        }

        .feature-title {
            padding:0 16px;
        }        
    }    

/* Layout */
    .container {
        max-width: var(--default-width);
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .slim-container,
    .alignslim {
        max-width: var(--slim-width);
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .entry-content {
        width:100%;
        max-width: 100%;   
        margin:0 !important;    
        padding:0;
    }

    .entry-content a {
        color:var(--primary);
        text-decoration: none;
    }

    .entry-content a:hover,
    .entry-content a:focus {
        color:var(--menu-border);
    }

    .entry-content > * {
        margin-bottom: var(--spacing);
    }

    .entry-content:not(:first-child) {
        margin-top:0;
    } 

    .entry-content > *:last-child {
        margin-bottom:0;
    }

    .entry-content .aligndefault,
    .entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.alignslim):not(.single-latestpost) {
        max-width: var(--default-width);
        margin-left: auto;
        margin-right: auto;
    }

    .entry-content .alignwide {
        max-width: var(--wide-width);
        margin-left: auto;
        margin-right: auto;
    }

    .entry-content .alignfull {
        margin:0;
    }

    .entry-content p {
        margin:0 0 var(--spacing);
    }

/* Header */
    header.header {
        background-color: transparent;
        padding:calc( 32px + var(--half-spacing) ) var(--half-spacing) 32px var(--half-spacing);      
        position: static;  
    }

    header.header .inner-header {
        display: flex;      
        align-items: center;  
        flex-wrap: wrap;
        gap:var(--spacing);
        position: relative;
        padding:0 80px;
    }

    header.header #main-menu {
        flex:1;        
        position: relative;
        z-index: 70000;
    }

    header.header #logo {    
        margin:0;
    }

    header.header #logo img {
        width: 190px;
    }

    header.header #header-right {
        flex:1;
        display: flex;
        justify-content: flex-end;
        gap:var(--half-spacing);
        align-items: center;
    }

    header.header #header-right a {
        display: flex;
    }

    header.header #header-right img {
        width:36px;
    }    

    @media( max-width:1345px ) {

        header.header .inner-header { 
            padding:0 16px;
        }
    }

    @media( max-width:1199px ) {

        header.header .inner-header {
            justify-content: space-between;
        }

        header.header #main-menu {
            order:2;        
            display: flex;                
        }

        header.header #main-menu ul {
            justify-content: flex-end;
        }

        header.header #logo {
            order:1;
        }

        header.header #logo img {
            width: 150px;
        }

        header.header #header-right {
            order:3;
            flex: initial;
        }
    }        

    @media( max-width:991px ) {
    
        header.header #logo img {
            width: 130px;
        }
    }

    @media( max-width:767px ) {

        header.header {
            padding:calc( var(--spacing) + var(--half-spacing) ) var(--half-spacing) var(--spacing) var(--half-spacing); 
        }
    
        header.header .inner-header { 
            padding:0 8px;
        }
    }

/* Menu */
    body.menu-open {
        position: static;
    }

    #main-menu {
        position: static;
        background-color: transparent;
        transition: var(--transition);
        overflow: initial;
    }

    #main-menu > ul,
    header.header #menu.main-navigation {
        padding-top:0 !important;
        margin:0;
        display: flex;
        gap:32px;
        align-items: center;
    }

    body.admin-bar header.header #menu-main-navigation {
        padding-top:0 !important;
    }

    #main-menu ul:before,
    #main-menu ul:after {
        display: none;
    }

    #main-menu ul li {
        width: auto;
        float:none;
        display: inline;
        margin:0;
    }

    #main-menu ul li a {
        padding:8px 0;
        border-bottom: 3px solid transparent;
        border-top:3px solid transparent;
        font-family: var(--primary-font);
        font-size: 14px;
        line-height: var(--lh5);
        font-weight: 500;
        color:var(--white);
        text-transform: none;        
    }

    #main-menu ul li a:hover,
    #main-menu ul li a:focus,
    #main-menu ul li.current-menu-item > a {
        color:var(--menu-hover);
        border-bottom-color:var(--menu-border);
    }

    #main-menu ul.nav li ul.sub-menu {
        right:initial;
        top:calc( 100% - 3px );
        left:0;
        background-color: var(--black);
        margin:0;
        border:none;
        width: auto;
        padding:8px 16px 8px 16px;
        display: flex;
        flex-direction: column;
        gap: 12px;
        border-top:3px solid var(--menu-border);
        visibility: hidden;
        opacity: 0;
        display: none;
    }

    #main-menu ul.nav li ul.sub-menu li a {
        border: none;        
        padding:0;
    }

    #main-menu ul.nav li ul.sub-menu li:hover a,
    #main-menu ul.nav li ul.sub-menu li:focus a {
        border-color:var(--menu-border);
    }

    #main-menu ul.nav > li:hover .sub-menu,
    #main-menu ul.nav > li:focus .sub-menu {
        visibility: visible;
        opacity: 1;
        display: flex;
    }

    @media( max-width:1199px ) {
    
        #main-menu ul.nav > li:last-child > ul.sub-menu {
            left: auto;
            right:0;
        }
    }

    @media( max-width:991px ) {

        body.menu-open header.header #main-menu {
            display: flex;
            left:0;
        }

        body.menu-open header.header #menu-main-navigation {
            display: flex;
        }

        header.header #main-menu {
            width: 100%;            
            justify-content: flex-start;
            position: fixed;            
            height:100%;
            top:0;
            overflow-y: scroll;
            right:initial;
            left:-100%;
            z-index: 10000;
        }

        #main-menu > ul,
        header.header #menu-main-navigation,
        body.admin-bar header.header #menu-main-navigation {
            width: 320px;
            max-width: min(calc( 100% - 62px ), 320px );
            flex-direction: column;
            background-color: var(--black);
            padding:16px !important;
            align-items: flex-start;
            width: auto;
            gap:var(--half-spacing);        
            justify-content: flex-start !important;    
            position: absolute;
            overflow-y: scroll;
            height: 100%;
            left:0;
        }

        body.admin-bar header.header #menu-main-navigation {
            padding-top:48px !important;
        }

        header.header #menu-main-navigation > *:last-child {
            padding-bottom: 20px;
        }

        #main-menu > ul > li > a  {
            border:none;            
            padding:0;            
        }

        #main-menu ul li a {
            font-size: var(--h5);
            line-height: var(--lh5);
        }

        #main-menu ul li a:hover,
        #main-menu ul li a:focus,
        #main-menu ul li.current-menu-item a {            
            border-right-color:var(--menu-border);
        }

        #main-menu > ul > li.menu-item-has-children {
            display: flex;
            flex-direction: column;
            gap:20px;
        }

        #main-menu ul.nav li ul.sub-menu {
            position: static;
            visibility: visible;
            border:none;
            padding:3px 0 3px 16px;
            border-left:2px solid #333;
            display: flex;
            opacity: 1;
            gap:20px;
        }

        #main-menu ul.nav li ul.sub-menu li a {
            width: auto !important;
        }
    }

    @media( max-width:782px ) {

        body.admin-bar header.header #menu-main-navigation {
            padding-top:62px !important;
        }
    }

    .burger-wrapper,
    .burger-close {
        display: none;
        gap:6px;
        flex-direction: column;
        cursor: pointer;
        height:24px;
    }

    .burger-bar {
        width:30px;
        height:4px;
        border-radius: 999px;
        background-color: var(--white);
        transition: var(--transition);
    }

    .burger-wrapper:hover .burger-bar:nth-child(1) { transform: translateY(-3px); }
    .burger-wrapper:hover .burger-bar:nth-child(3) { transform: translateY(3px); }

    @media( max-width:991px ) {

        .burger-wrapper {
            display: flex;    
        }

        body.menu-open .burger-bar:nth-child(1),
        body.menu-open .burger-wrapper:hover .burger-bar:nth-child(1) { 
            transform: rotate(45deg) translate(7px, 7px); 
        }
        body.menu-open .burger-bar:nth-child(2) { display: none; }

        body.menu-open .burger-bar:nth-child(3),
        body.menu-open .burger-wrapper:hover .burger-bar:nth-child(3) { 
            transform: rotate(-45deg) translate(0px, 0px); 
        }

        /*body.menu-open .burger-wrapper {
            opacity: 0;
        }*/
    }

    .admin-bar .burger-close {
        top:48px;
    }

    .burger-close {
        position: fixed;
        z-index: 10;
        cursor: pointer;
        top:16px;
        transform: translateY(-50%);
        left:320px;
    }    

    .burger-close .burger-bar:nth-child(1) {
        transform: rotate(45deg) translate(7px, 7px); 
    }

    .burger-close .burger-bar:nth-child(2) {
        transform: rotate(-45deg) translate(0px, 0px); 
    }

    @media( max-width:991px ) {

        /*body.menu-open .burger-close {
            display: flex;
        }*/
    }

    @media( max-width:782px ) {

        .admin-bar .burger-close {
            top:62px;
        }
    }

/* Homepage */
    .home header.header {
        position: absolute;
        top:0;
        left:0;
        width:100%;
    }

    .home .entry-content {
        padding-top:var(--half-spacing);
    }

    .home-section1 {
        position: relative;
    }       

    #home-slider {
        position: relative;
        height:800px;
        width: 100%;        
    }    

    #home-slider .splide__track {
        height:100%;
    }

    #home-slider .splide__slide {
        position: relative;
    }

    #home-slider img {
        width:100%;
        height:100%;
        object-fit: cover;
        object-position: center;                
    }

    .home-section1-content {
        position: absolute;
        top:50%;
        left:50%;
        transform: translate(-50%,-50%);
        padding:0 16px;
        text-align: center;
        color:var(--white);
        max-width: 632px;
        width: 100%;
        margin-top:56px;
    }

    .home-section1-content h1 {
        line-height: 1;
        margin-bottom: 10px;
    }

    .home-section1-content h2 {
        line-height: 36px;
        margin-bottom: 0;
    }

    .home-section1-content button {
        margin-top:112px;
    }

    @media( max-width:767px ) {

        #home-slider {
            height:600px;
        }
    
        .home-section1-content { 
            max-width:520px;
        }

        .home-section1-content button {
            margin-top:72px;
        }
    }

    @media( max-width:575px ) {

        .home-section1-content { 
            max-width:450px;
        }

        .home-section1-content h1 {
            font-size: var(--h3);
            line-height: var(--lh3);
            letter-spacing: -1px;
        }
    }

    .home-section2 {
        background-position: right 112px top;
    }    

    @media( max-width:767px ) {
    
        .home-section2 { 
            background-position: right 56px top;
        }              
    }

    .home-section3 {
        display: flex;
        align-items: flex-end;
        gap:25px;
        flex-wrap: nowrap;
        padding-top:50px;
        padding-bottom: 50px;
    }

    .home-section3 img {
        margin-bottom: 0;        
        flex: 1 1 auto;
        max-width: 100%;
        height: auto;
        object-fit: contain;
        min-width: 0;
        max-height: 77px;
    }

    @media( max-width:991px ) {

        .home-section3 {
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;   
        }

        .home-section3 img {
            flex:initial;    
            max-width: 140px;            
        }
    }

    @media( max-width:767px ) {
    
        .home-section3 {    
            display: none;
        }
    }

    @media( max-width:575px ) {

        .home-section3 {
            flex-direction: column;
                     
        }
    }

    .home-section4 {
        background-color: var(--tertiary);
        padding:50px 0;
    }

    .home-section4 h2 {
        margin-bottom: 30px;
    }

    .latestpost-wrapper {
        display: flex;
        gap:40px;
    }

    .latestpost {
        flex:1;
    }

    .latestpost h4 {
        font-family: var(--primary-font);
        text-align: right;
        margin-bottom: 10px;
    }

    .latestpost-thumb-wrapper {
        border-right: 20px solid var(--primary);
        position: relative;
    }

    .latestpost-thumb {
        height: 250px;
        width: 100%;
    }

    .latestpost-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .latestpost-title {
        position: absolute;
        left:0;
        bottom:0;
        width: calc( 100% + 20px );
        background-color: var(--black);
        color:var(--white);
        padding:20px;
    }

    .latestpost-action {
        text-align: right;
        padding-top:25px;
    }

    .latestpost-action a {
        font-size: var(--h4);
        line-height: var(--lh4);
        text-decoration: underline;
        color:var(--black);
    }

    .latestpost-action a:hover,
    .latestpost-action a:focus {
        color:var(--primary);
    }

    @media( max-width:991px ) {

        .home-section4 {
            padding:32px 0 16px;
        }

        .home-section4 h2 {
            margin-bottom: var(--spacing);
        }
    
        .latestpost-wrapper {
            gap:var(--half-spacing);
        }

        .latestpost h4 {
            margin-bottom: var(--half-spacing);
        }
    }

    @media( max-width:767px ) {   

        .home-section4 .container {
            max-width: min(calc( var(--vw) - 2 * 20px ), 1440px );
        }

        .latestpost-wrapper {
            flex-direction: column;
            gap:50px;
        }        

        .latestpost h4 {
            font-size: var(--h4);
        }

        .latestpost-title {
            padding:16px;
        }
    }

    .home-section5 {
        background-color: var(--primary);
        color:var(--white);
        padding:100px 0;
    }

    .home-section5 .container {
        display: flex;
        gap:50px;
    }

    .home-section5-left {
        flex:1;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .home-section5-left h2:first-child {
        margin:0;
    }

    .home-section5-left h2:last-child {
        margin: 0;
    }

    .home-section5-right {
        width: 450px;
    }

    .home-section5-right ul {
        list-style-type: none;
        margin:0;
        padding:0;
    }

    .home-section5-right ul li {
        
    }

    .home-section5-right a {
        display: block;
        color:var(--white);
        border-bottom: 3px solid var(--white);
        font-size: 26px;
        line-height: 36px;
        text-decoration: none;
        font-weight:400;         
        position: relative;                                      
        padding:10px 0;
    }

    .home-section5-right a:after {
        content:'';
        display: block;
        width: 0;
        height: 0;
        border-top: 9px solid transparent;
        border-bottom: 9px solid transparent;
        border-left: 12px solid var(--white);
        position: absolute;
        right:0;
        top:50%;
        transform: translateY(-50%);        
        transition: var(--transition);
    }

    .home-section5-right a:hover,
    .home-section5-right a:focus {
        color:var( --black);
        border-color:var(--black);
    }

    .home-section5-right a:hover:after,
    .home-section5-right a:focus:after {
        border-left-color: var(--black);
    }    

    @media( max-width:991px ) {

        .home-section5 .container {
            flex-direction: column;
        }

        .home-section5 {
            padding:32px 0;
        }
    }

    @media( max-width:767px ) {        

        .home-section5 .container {
            max-width: min(calc( var(--vw) - 2 * 20px ), 1440px );
        }
    
        .home-section5-right a {
            font-size: var(--h4);
            line-height: var(--lh4);
            border-bottom-width: 2px;
        }

        .home-section5-left h2 {
            font-size: var(--h3);
            line-height: var(--lh3);
        }

        .home-section5-left .has-h-0-font-size {
            font-size: 36px;
            line-height: 46px;
        }

        .home-section5-right {
            max-width: 100%;
        }
    }

/* About */   
    .about-section1 .hero-content {
        max-width: 720px;
    }    

    .about-section2 .island p:first-of-type {
        margin-bottom: 0;
    }

    .about-section2 .island strong {
        text-transform: uppercase;
    }

    .about-section3 {
        padding:50px 0;
    }

    @media( max-width:1199px ) {

        .about-section3 .slim-container {
            max-width:var(--ultra-slim-width);
        }
    }

    .about-section5 {
        padding:75px 0;
    }

    .about-section5-description {
        text-align: center;        
    }

    .about-section5-description h3 {
        font-weight: 700;
    }

    .about-brands {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap:40px;
        flex-wrap: wrap;
        padding-top:50px;
        padding-bottom: 0px;
    }

    .about-brands img {
        margin-bottom: 0;                
        max-width: 100%;
        max-height: 63px;
        height: auto;
        object-fit: contain;
        min-width: 0;
    }

    @media( max-width:991px ) {

        .about-brands {
            flex-wrap: wrap;
            justify-content: center;
            align-items: center;   
        }

        .about-brands img {
            flex:initial;    
            max-width: 140px;            
        }
    }

/* Brands (Various) */
    .brand-section2 .island-wrapper {
        border-bottom-width:0;
    }

    .brand-section2 .island-wrapper:last-child {
        border-bottom-width: 20px;
    }

    .brand-section2 .island {
        max-width: 800px;
    }

    .brand-section2 ul {
        list-style-type: none;
        padding-left:0;
    }

    .brand-section2 ul li {
        position: relative;
        margin-bottom: 5px;
        font-size: var(--h4);
        line-height: var(--lh4);
        padding-left:var(--spacing);
    }

    .brand-section2 ul li:before {        
        content:'';
        position: absolute;
        top:10px;
        left:0;
        width: 10px;
        height: 10px;
        border-radius: 999px;
        background-color: var(--primary);
    }

    .brand-section2 h2 {
        margin-bottom: var(--double-spacing);
        letter-spacing: -1px;
        font-size: 60px;
        line-height: 70px;
    }

    @media( max-width:767px ) {

        .brand-section2 ul li {
            font-size: var(--h5);
            line-height: var(--lh5);
        }

        .brand-section2 ul li:before {
            width: 8px;
            height: 8px;
        }
    }

/* Our Brands */
    .ourbrands-section1 .hero-content {
        max-width: var(--default-width);
    }

    .ourbrands-section1 .hero-content h1 {
        text-transform: none;    
    }

    .ourbrands-section2 {
    
    }

    .product-carousel-wrapper {
        display: flex;
        flex-wrap: wrap;
        padding:var(--spacing) 0;
    }

    @media( max-width:991px ) {

        .product-carousel-wrapper {
            padding:var(--half-spacing) 0;
        }
    }

    .product-carousel-link {
        flex:1;
        height:700px;
        display: flex;
        position: relative;        
    }

    .product-carousel-link:after {
        content:'';
        position: absolute;
        top:0;
        left:0;
        width: 100%;
        height: 100%;
        background-color: var(--black);
        opacity: 0.52;
        transition: all 0.5s ease 0s;
    }

    .product-carousel {
        position: relative;        
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        flex:1;
    }    

    .product-carousel-action {
        position: absolute;
        bottom:0;
        left:0;
        width:100%;
        background-color: var(--primary);
        font-size: var(--h4);
        line-height: var(--lh4);
        text-align: center;
        padding:24px 16px;
        font-weight: 700;
        text-decoration: none;
        color:var(--black);
        transition: all 0.2s ease 0s;
        opacity: 0;
    }

    .product-carousel-link.highlight:after {
        opacity: 0;
    }

    .product-carousel-link.highlight .product-carousel-action {
        opacity: 1;
    }

    @media( max-width:991px ) {

        .product-carousel-link {
            flex:0 0 50%;
            height:500px;
        }
    }

    @media( max-width:767px ) {
    
        .product-carousel-link {
            flex:0 0 100%;
            height:500px;
        }

        .product-carousel-action {
            opacity: 1;
        }
    }

    .ourbrands-section3.island-wrapper .island {
        max-width: 800px;
    }

    @media( max-width:767px ) {

        .ourbrands-section3 {
            text-align: center;
        }
    }

    .about-products-wrapper {
        display: flex;
        flex-direction: column;
        gap:25px;
    }

    .about-product   {
        display: flex;
        gap:25px;
        align-items: center;
    }

    .about-product-image {    
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 120px;
    }

    .about-product-image img {    
        margin:0;   
    }

    .about-product-description {
        flex:1;
    }

    @media( max-width:767px ) {

        .about-products-wrapper {
            gap:72px;
            margin-top:72px;
        }

        .about-product   {
            flex-direction: column;                        
            align-items: center;
        }

        .about-product-description {
            max-width: 320px;
        }
    }

/* Generic Page */
    .page-background {
        border:25px solid var(--tertiary);  
        background-position: center;  
        background-repeat: no-repeat;
        background-size: cover;
        height:650px;
        margin-bottom: -325px;
    }

    @media( max-width:767px ) {

        .page-background {
            border-width: 8px;
            height:320px;
            margin-bottom: var(--spacing);
        }
    }

    .page-generic {
        min-height: 650px;
    }

    .page-generic-title {
        font-weight: 700;
        margin-bottom: var(--double-spacing);
    }

    .page-generic-content {
        background-color: var(--tertiary);
        padding:80px;
        font-size: var(--h4);
        line-height: var(--lh4);
        max-width:min(calc( var(--vw) - 2 * 66px ), 1080px ) !important;
        position: relative;
        z-index: 80;
    }

    .page-generic-content p {
        font-size: var(--h4);
        line-height: var(--lh4);
    }

    .page-generic-content > *:last-child {
        margin-bottom: 0;
    }

    @media( max-width:991px ) {

        .page-generic-content {
            padding:80px var(--spacing);
        }
    }

    @media( max-width:767px ) {
    
        .page-generic-content {          
            padding:var(--double-spacing) 20px;  
            max-width:min(calc( var(--vw) - 2 * 8px ), 1080px ) !important;
            font-size: var(--h5);
            line-height: var(--lh5);
        }

        .page-generic-content p {
            font-size: var(--h5);
            line-height: var(--lh5);
        }
    }

/* Footer */
    .footer-wrapper {
        padding:50px 0;       
        background-color: var(--background  ); 
    }

    .footer-wrapper .container {
        display: flex;
        gap:80px;
        align-items: center;
    }

    .footer-logo {
        margin:0;
        width: auto;
    }

    .footer-logo img {
        width: 190px;        
    }

    .footer-menu {        
        flex:1;
    }

    .footer-menu ul.nav {
        list-style-type: none;
        padding:0;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .footer-menu ul.nav:before,
    .footer-menu ul.nav:after {
        display: none;
    }

    .footer-menu ul.nav li a {
        color:var(--white);
        font-size: var(--h4);
        line-height: var(--lh4);
        text-decoration: none;
        padding:0;
    }

    .footer-menu ul.nav li a:hover,
    .footer-menu ul.nav li a:focus {
        color:var(--menu-hover);
    }

    @media( max-width:1199px ) {

        .footer-logo img {
            width: 150px;
        }
    }

    @media( max-width:991px ) {

        .footer-menu ul.nav {
            flex-wrap: wrap;
            justify-content: flex-end;
            column-gap: 16px;
            row-gap:16px;
        }
    }

    @media( max-width:575px ) {

        .footer-wrapper .container {
            flex-direction: column;
            gap:50px;
        }

        .footer-menu ul.nav {            
            justify-content: center;
        }
    }

    .footer-copyright {
        text-align: center;
        padding:25px 0 0 0;
        color:var(--white);
        width: 100%;
    }

    .footer-copyright p {
        margin:0 0 5px 0;
    }

    .footer-copyright *:last-child {
        margin: 0;
    }

/* Age Gate */
    #age-gate-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.7);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 99999;
    }

    #age-gate-modal {
        background: var(--tertiary);
        padding: var(--spacing);
        max-width: var(--slim-width);
        width: 100%;
        box-shadow: 0 6px 24px rgba(0,0,0,.4);
        text-align: center;
        font-size: var(--h4);
        line-height: var(--lh4);    
    }

    #age-gate-logo {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: var(--spacing);
    }

    #age-gate-logo img {
        width: 190px;
    }

    #age-gate-modal p {
        margin-top:0;
    }

    .req {
        color:var(--primary);
    }

    .age-gate-date-wrapper {
        display: flex;
        gap:var(--spacing);
        justify-content: center;
        max-width: 700px;
        margin:0 auto;
    }

    .age-gate-date {
        display: flex;
        flex-direction: column;
        flex:1; 
        gap:8px;
    }

    .age-gate-date select {
        padding:var(--half-spacing);
        text-align: center;        
        height: auto;
        background-size: 10px;
    }

    .age-terms-wrapper {
        display: flex;
        justify-content: center;
    }

    .age-gate-row { 
        margin: 12px 0; 
        display:flex; 
        flex-direction:column; 
    }

    .age-gate-row label { 
        margin-bottom:8px; 
    }   

    .age-terms-wrapper label {
        margin-bottom: 0;
    }

    .checkbox-row { 
        flex-direction:row; 
        align-items:center; 
        gap:8px; 
    }

    #age-gate-error { 
        color: red; 
        margin-top:8px; 
    }

    .age-gate-action {
        display: flex;
        justify-content: center;
        margin-bottom: var(--half-spacing);
    }

    .age-gate-more {
        display: flex;
        flex-direction: column;
        gap:8px;
        align-items: center;
        justify-content: center;
    }

    .age-gate-more a { 
        color:var(--foreground);
        text-decoration: none;
    }

    .age-gate-more a:hover,
    .age-gate-more a:focus {
        color:var(--primary);
    }

    @media( max-width:767px ) {

        #age-gate-modal {
            font-size: var(--h5);
            line-height: var(--lh5);
            padding:var(--half-spacing);
        }
    
        #age-gate-logo img {
            width: 100px;
        }

        #age-gate-modal p.has-h-4-font-size {
            font-size: var(--h5);
            line-height: var(--lh5);
        }

        .age-gate-date-wrapper {
            flex-direction: column;
            gap:6px;
        }

        .age-gate-date {
            flex-direction: row;
            align-items: center;
        }

        .age-gate-date label {
            width: 100px;
            text-align: left;
        }

        .age-gate-action button#age-gate-submit {
            font-size: var(--h5);
            line-height: var(--lh5);
            padding:12px 24px;
        }

        .age-terms-wrapper {
            margin-bottom: 20px;
        }

        .age-terms-wrapper label {
            margin-bottom: 0;        
        }
    }

/* PAGE - News */
    .page-blog .latestpost-wrapper {
        flex-wrap: wrap;    
    }    

    .page-blog .latestpost-wrapper .latestpost {
        flex:0 0 calc( ( 100% - 80px ) / 3 );
    }   

    @media( max-width:991px ) {
    
        .page-blog .latestpost-wrapper .latestpost {
            flex: 0 0 100%;
        }
    }

    .blog-section1 {
        background-color: var(--tertiary);
        padding: 100px 0 100px;
    }

    .blog-section1 h2 {
        margin-bottom: 40px;
    }

    @media( max-width:991px ) {

        .blog-section1 {
            padding:32px 0 16px;
        }        
    }

    .blog-content {
        margin-bottom: 30px;
        max-width: 700px;
    }

    @media( max-width:991px ) {

        .blog-content{
            margin-bottom: var(--spacing);
        }
    }

/* Paging */
    .paging-numbered {
        text-align:center;	
        margin: 100px 0 100px 0;
        display:flex;
        align-items:center;
        justify-content:center;
        width: 100%;
    }


    .page-numbers,
    a.page-numbers {
        padding:8px;
        min-width:43px;
        height:43px;            
        border:1px solid var(--primary);
        margin-left:2px;	
        margin-right:2px;
        line-height:25px;
        color:var(--foreground);
    }

    .page-numbers.current {
        background-color:var(--primary);
        border:1px solid var(--primary);
        color:var(--white);
        cursor:default;			
        transition:all 0.2s ease 0s;
    }

    .page-numbers.dots,
    .page-numbers.dots:hover,
    .page-numbers.dots:focus {
        background-color: transparent;
        border-color:transparent;
        cursor: default;
    }

    .page-numbers.next svg,
    .page-numbers.prev svg {   
        width:8px;
    } 

    .page-numbers.next svg path,
    .page-numbers.prev svg path {   
        fill:var(--foreground) !important;
    }    

    .page-numbers:hover,
    .page-numbers:focus,
    a.page-numbers:hover,
    a.page-numbers:focus {   
        background-color:var(--primary);
        border:1px solid var(--primary);
        color:var(--white);	
    }    

    .page-numbers.next:hover,
    .page-numbers.prev:hover {   
        background-color:var(--primary);
        border:1px solid var(--primary);
        color:var(--white);	
    }    

    .page-numbers.next:hover svg path,
    .page-numbers.prev:hover svg path {   
        fill:var(--white)    !important;
    }       

    @media( max-width:767px ) {
    
        .paging-numbered {
            margin: 100px 0 84px 0;
        }
    }

/* Page - Unbold */
    .page-id-85 .page-generic-content, /* Privacy */
    .page-id-90 .page-generic-content, /* Terms */
    .page-id-4466 .page-generic-content, /* Distribution & Wholesale */
    .page-id-4472 .page-generic-content /* Responsibility */ {
        font-weight: 400;
    }

/* 404 */
    .error404 .page-generic {
        min-height: 0;
    }

    .page-not-found {
        background-color: var(--tertiary);
        margin-top:100px;
        margin-bottom: 100px !important;
        text-align: center;
    }

/* Page - Form */
    .page-form-wrapper {
        background-color: var(--primary);
        padding:150px 0 100px;
        position: relative;
        margin-top:-80px;
    }   

    .page-form-wrapper .slick-list {
        height: auto !important;
    }

    .page-form-wrapper:before {
        content:'';
        position: absolute;
        top:15px;
        left:50%;
        transform: translateX(-50%);
        width: 60px;
        height: 60px;
        border:10px solid var(--primary);
        background-color: var(--tertiary);
        z-index: 100;
    }

    .page-form-wrapper:after {
        content:'';
        position: absolute;
        width: 0; 
        height: 0; 
        border-left: 18px solid transparent;
        border-right: 18px solid transparent;        
        border-top: 21px solid var(--primary);
        top:46px;
        left:50%;
        transform: translateX(-50%);
        z-index: 100;
    }

    .page-form-wrapper .contact-slider-container {
        padding: 0;
        margin: 0;
        max-width: 100%;
    }

    .page-form-wrapper #contact-slider {
        background-color: transparent;
    }

    .page-form-wrapper .contact-form-fields > * {
        margin-bottom: var(--spacing);
    }

    .page-form-wrapper .contact-form-fields > *:last-child {
        margin-bottom: 0;
    }

    .page-form-wrapper .form-wrapper {
        padding:0;
        width: 100%;
    }

    .page-form-wrapper .contact-title {
        display: none;    
    }

    .form-wrapper .contact-form-select, 
    .modal-form-wrapper .contact-form-select {
        color:var(--foreground);
    }

    .page-form-wrapper .form-wrapper .contact-form-input,
    .page-form-wrapper .form-wrapper .contact-form-select,
    .page-form-wrapper .form-wrapper .contact-form-textarea {
        background-color: var(--tertiary);
        border:none;
        font-size: var(--h5);
        line-height: var(--lh5);   
        height: auto;
        padding:12px 16px;
        margin:0;
        width: 100%;
        max-width: calc( 100% - 480px);
        font-weight: 600;
    }

    .page-form-wrapper .form-wrapper .form-row > i,
    .page-form-wrapper .form-wrapper .form-row > .checkbox {
        max-width: calc( 100% - 480px);
    }

    .page-form-wrapper .form-wrapper .contact-form-input.error,
    .page-form-wrapper .form-wrapper .contact-form-select.error,
    .page-form-wrapper .form-wrapper .contact-form-textarea.error {
        padding:12px 32px 12px 16px;
    }

    .page-form-wrapper .form-wrapper .contact-form-textarea {
        height: 200px;
    }

    .page-form-wrapper .form-wrapper .contact-form-select,
    .page-form-wrapper .form-wrapper .contact-form-select option {
        font-family: var(--primary-font), sans-serif;
    }    

    .page-form-wrapper .form-footer-container {
        max-width: calc( 100% - 480px);
        margin:0 auto;
        display: flex;
        flex-direction: column;        
    }

    .page-form-wrapper .contact-form-btn {
        font-family: var(--primary-font);
        float:none;
        margin:0 0 0 auto;
        background-color: var(--black);
        color:var(--white);
        margin-top:var(--half-spacing);
    }

    .page-form-wrapper .contact-form-btn:hover,
    .page-form-wrapper .contact-form-btn:focus {
        background-color: var(--secondary);
    }

    .page-form-wrapper .error-message {
        padding:0;
    }

    .form-row {
        display: flex;
        align-items: flex-start;
        gap:var(--spacing);
    }

    .form-row label {
        font-size: var(--h5);
        line-height: var(--lh5);   
        text-align: right;
    }

    .form-row > label:first-child {
        flex: 0 0 215px;
        padding-top:12px;
    }

    .form-row > .noformrow {
        padding-left:215px;
    }

    .form-confirmation-wrapper {
        float:none !important;
        padding:0 !important;
        text-align: center !important;
        width: 100% !important;
    }

    .confirmation-text {
        font-family: var(--primary-font);
        font-weight: 700;
        color:var(--black);
        text-transform: none;
    }

    .contact-form-reload-btn {
        font-family: var(--primary-font);
        font-weight: 700;
        font-size: 24px;
        float:none;
        text-decoration: underline;
    }

    .contact-form-reload-btn:hover,
    .contact-form-reload-btn:focus {
        color:var(--secondary);
    }

    .form-row .lg-half-input {
        width: 100% !important;
    }

    .form-consent a {
        color:var(--black);    
        text-decoration: underline;   
    }

    .form-consent a:hover,
    .form-consent a:focus{
        color:var(--menu-border);
    }

    @media( max-width:991px ) {
    
        .page-form-wrapper .form-wrapper .contact-form-input,
        .page-form-wrapper .form-wrapper .contact-form-select,
        .page-form-wrapper .form-wrapper .contact-form-textarea ,
        .page-form-wrapper .form-wrapper .form-row > i,
        .page-form-wrapper .form-wrapper .form-row > .checkbox {            
            max-width: 100%;
            flex:1;
            margin-right: 33px;
        }

        .page-form-wrapper .form-footer-container {
            max-width: 100%;
            padding-left: 240px;
            padding-right: 33px;
        }  
    }

    @media( max-width:767px ) {

        .page-form-wrapper .slim-container {
            max-width: min(calc( var(--vw) - 2 * 20px ), 1080px );
        }
    
        .page-form-wrapper {
            margin-top:0;
            padding:100px 0;
        }

        .page-form-wrapper:before {
            top:0;
            margin-top:-40px;
        }

        .page-form-wrapper:after {
            top:0;
            margin-top:-10px;
        }   

        .form-row {
            display: block;
        }

        .form-row label {
            text-align: left;
        }

        .form-row > label:first-child {
            flex:1;
            margin-bottom: 8px;
            display: block;
        }

        .page-form-wrapper .form-footer-container {
            padding:0;
        }
    }

    .checkbox {
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        cursor: pointer;
        position: relative;
        padding-left: 46px;
        display: flex;
        align-items: center;
        gap:20px;
        width: 100%;
    }

    .checkbox label {
        cursor: pointer;
    }        

    .form-row .checkbox label {
        width: auto;
        text-align: left;
        width: 100%;
    }

    .checkbox label input[type="checkbox"] {
        position: absolute;
        opacity: 0;
        cursor: pointer;
        height: 0;
        width: 0;            
    }

    .checkbox .checkmark {
        position: absolute;
        top: 0;
        left: 0px;         
        height: 30px;
        width: 30px;            
        background-color: var(--tertiary);
        border:none;
        transition: var(--transition);
    }

    .checkbox .checkmark:after {
        content: "";
        position: absolute;
        display: none;
        left: 12px;
        top: 6.5px;
        width: 6px;
        height: 10px;
        border: solid var(--black);
        border-width: 0 2px 2px 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);                
    }        

    .checkbox .checkmark:focus {
        outline:none;
    }

    .checkbox:hover input ~ .checkmark{
        background-color: #eaedef;    
    }

    .checkbox input:checked ~ .checkmark {
        border-color:var(--primary);
    }

    .checkbox input:checked ~ .checkmark:after {
        display: block;            
    }

    .checkbox input:disabled ~ .checkmark {
        opacity: 0.5;
        cursor: default;
        background-color: var(--tertiary);
    }

    .checkbox input:focus ~ .checkmark {
        outline:1px dotted var(--black);
        outline-offset: 1px;        
    }

    .checkbox input.product-issue-checkbox:checked ~ .product-type-list {
        display: block;
    }

    .form-wrapper .checkbox .contact-form-select {
        margin-top:var(--spacing);
        margin-left: -46px;
        max-width: calc( 100%  + 46px );
        width: calc( 100%  + 46px );
    }

/* Single */
    .single-latestpost {
        background-color: var(--tertiary);
        padding:50px 80px;
        max-width: min(calc( var(--vw) - 2 * 66px ), 1080px );
        margin-left: auto;
        margin-right: auto;
    }

    .single-latestpost h2 {
        margin-bottom: 30px;
    }

    .single .page-generic-content {
        font-weight: 400;
    }

    @media( max-width:991px ) {

        .single-latestpost {
            padding:32px 16px 16px;
        }

        .single-latestpost h2 {
            margin-bottom: var(--spacing);
        }    
    }

    @media( max-width:767px ) {   

        .single-latestpost {
            max-width: min(calc( var(--vw) - 2 * 8px ), 1080px );
            padding:32px 20px 16px;
        }

        .single-latestpost .container {
            max-width: min(calc( var(--vw) - 2 * 20px ), 1440px );
        }
    }

    