/* =========================================================
   FONT FACE DECLARATIONS
   CSS FILE LOCATION:
   /dist/css/style.min.css

   FONT FILE LOCATION:
   /dist/fonts/
   ========================================================= */





/* ---------------------------------------------------------
   PP Eiko Regular
--------------------------------------------------------- */
@font-face {
    font-family: 'PP Eiko';
    src: url('/wp-content/themes/bill-grasska/dist/fonts/PPEiko-Regular.woff2') format('woff2'),
         url('/wp-content/themes/bill-grasska/dist/fonts/PPEiko-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


/* ---------------------------------------------------------
   PP Neue Montreal Book
--------------------------------------------------------- */
@font-face {
    font-family: 'PP Neue Montreal';
    src: url('/wp-content/themes/bill-grasska/dist/fonts/PPNeueMontreal-Book.woff2') format('woff2'),
         url('/wp-content/themes/bill-grasska/dist/fonts/PPNeueMontreal-Book.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


/* ---------------------------------------------------------
   SF Pro Display Regular
--------------------------------------------------------- */
@font-face {
    font-family: 'SF Pro Display';
    src: url('/wp-content/themes/bill-grasska/dist/fonts/SFProDisplay-Regular.woff2') format('woff2'),
         url('/wp-content/themes/bill-grasska/dist/fonts/SFProDisplay-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


/* ---------------------------------------------------------
   SF Pro Display Medium
--------------------------------------------------------- */
@font-face {
    font-family: 'SF Pro Display Medium';
    src: url('/wp-content/themes/bill-grasska/dist/fonts/SFProDisplay-Medium.woff2') format('woff2'),
         url('/wp-content/themes/bill-grasska/dist/fonts/SFProDisplay-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}


/* ---------------------------------------------------------
   SF Pro Display Semibold
--------------------------------------------------------- */
@font-face {
    font-family: 'SF Pro Display Semibold';
    src: url('/wp-content/themes/bill-grasska/dist/fonts/SFProDisplay-Semibold.woff2') format('woff2'),
         url('/wp-content/themes/bill-grasska/dist/fonts/SFProDisplay-Semibold.woff') format('woff'),
         url('/wp-content/themes/bill-grasska/dist/fonts/SFProDisplaySemibold.ttf') format('truetype'),
         url('/wp-content/themes/bill-grasska/dist/fonts/SFProDisplay-Semibold.eot');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}


/* ---------------------------------------------------------
   Sans Light
--------------------------------------------------------- */
@font-face {
    font-family: 'Sans Light';
    src: url('/wp-content/themes/bill-grasska/dist/fonts/Sans-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}


/* ---------------------------------------------------------
   Season Sans Regular
--------------------------------------------------------- */
@font-face {
    font-family: 'Season Sans';
    src: url('/wp-content/themes/bill-grasska/dist/fonts/SeasonSans-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


/* ---------------------------------------------------------
   Agro
--------------------------------------------------------- */
@font-face {
    font-family: 'Agro';
    src: url('/wp-content/themes/bill-grasska/dist/fonts/agro.woff2') format('woff2'),
         url('/wp-content/themes/bill-grasska/dist/fonts/agro.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


/* ---------------------------------------------------------
   Basis
--------------------------------------------------------- */
@font-face {
    font-family: 'Basis';
    src: url('/wp-content/themes/bill-grasska/dist/fonts/basis.woff2') format('woff2'),
         url('/wp-content/themes/bill-grasska/dist/fonts/basis.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


/* ---------------------------------------------------------
   E Light
--------------------------------------------------------- */
@font-face {
    font-family: 'E Light';
    src: url('/wp-content/themes/bill-grasska/dist/fonts/e_light.woff2') format('woff2'),
         url('/wp-content/themes/bill-grasska/dist/fonts/e_light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}


/* ---------------------------------------------------------
   Intl
--------------------------------------------------------- */
@font-face {
    font-family: 'Intl';
    src: url('/wp-content/themes/bill-grasska/dist/fonts/intl.woff2') format('woff2'),
         url('/wp-content/themes/bill-grasska/dist/fonts/intl.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


/* ---------------------------------------------------------
   Mix Light
--------------------------------------------------------- */
@font-face {
    font-family: 'Mix';
    src: url('/wp-content/themes/bill-grasska/dist/fonts/mix_light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}


/* ---------------------------------------------------------
   Mix Regular
--------------------------------------------------------- */
@font-face {
    font-family: 'Mix';
    src: url('/wp-content/themes/bill-grasska/dist/fonts/mix_regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}



/* =========================================================
   CSS VARIABLES
   ========================================================= */

:root {
    --bg-dark: #0a0e1b;
    --color-white: #fff;
    --color-black: #000;
    --color-primary-blue: #171c30;
    --color-blue: #0b1027;
    --color-secondary-blue: #002540;
    --font-suisse: 'SuisseIntl-Regular', Helvetica, Arial, sans-serif;
    --garamond: 'Adobe Garamond Pro', serif;
    --transition-snappy: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    --font--pp-neue-montreal: "PP Neue Montreal";
}

/* --- Header & Logo --- */
.header_nav {
   /* position: fixed; /* Keep pinned to top when menu opens */
    top: 0; 
  /*  left: 50%;
    transform: translateX(-50%);*/
    width: 100%;
    display: flex; 
    justify-content: space-between; 
    align-items: center;
    padding: 20px; 
    box-sizing: border-box;
    max-width: 95%;
    margin: 0 auto;
    z-index: 4000;
}

#logo-rfp {
    width: 185px;
    height: auto;
    transition: var(--transition-snappy);
    /* Aligns flush with the left container edge */
    transform: translateX(-10px); 
    display: block;
    z-index: 4000;
}

/* Logo Path Colors - Normal State */
#logo-rfp .st0 { fill: #000; transition: fill 0.3s; }
#logo-rfp .bar-bg { fill: #000; transition: fill 0.3s; }
#logo-rfp .bottom-text path { fill: #fff; transition: fill 0.3s; }

/* Logo Path Colors - Menu Open State */
body.menu-open #logo-rfp .st0 { fill: #fff; }
body.menu-open #logo-rfp .bar-bg { fill: #fff; }
body.menu-open #logo-rfp .bottom-text path { fill: #000; }
body.menu-open .hamburger span { background: #fff; }

/* --- Navigation Links --- */
.desktop-nav { 
    display: flex; 
    align-items: center; 
    gap: 40px; 
}

.desktop-nav a {
    text-decoration: none; 
    color: #000;
    font-size: 17px; 
    letter-spacing: 0;
    font-weight: 300;
    font-family: var(--font-suisse);
}

/* --- Buttons --- */
.desktop-nav .btn-apply {
    background: var(--color-primary-blue);
    color: var(--color-white);
    width: 150px;
    height: 52px;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-family: "SuisseIntl-Regular";
}

.desktop-nav .btn_nav {
    background: var(--color-secondary-blue);
    color: #fff;
    width: 170px;
    height: 52px;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-family: "SuisseIntl-Regular";
}

/* --- Hamburger Icon --- */
.hamburger {
    width: 30px; 
    height: 12px;
    display: flex; 
    flex-direction: column; 
    justify-content: center;
    align-items: center; 
    cursor: pointer;
    position: relative;
    z-index: 4001;
}

.hamburger span { 
    width: 100%; 
    height: 1px; 
    background: #000; 
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), background 0.3s;
    position: absolute;
}

.hamburger span:nth-child(1) { transform: translateY(-4px); }
.hamburger span:nth-child(2) { transform: translateY(4px); }

/* Hamburger Morph to X */
body.menu-open .hamburger span:nth-child(1) { transform: rotate(45deg); }
body.menu-open .hamburger span:nth-child(2) { transform: rotate(-45deg); }
.hamburger:hover span { background: #999; }

/* --- Menu Overlay --- */
.menu-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100vh;
    background: var(--bg-dark);
    z-index: 3000;
    display: none; 
    opacity: 0;
    padding: 60px; 
    box-sizing: border-box;
    color: #fff;
    font-family: var(--font--pp-neue-montreal);
    font-weight: 500;
}

.overlay-content {
    display: grid; 
    grid-template-columns: 1.5fr 1fr;
    height: 100%; 
    padding-top: 100px; 
    grid-gap: 100px; 
    box-sizing: border-box;
}

.links-container { display: flex; flex-direction: column; justify-content: center; }
.links-grid { display: grid; grid-template-columns: 1fr; gap: 0 40px; }

.menu-link {
    font-family: var(--garamond);
    font-size: clamp(32px, 4.5vw, 40px);
    font-weight: 300;
    color: #fff; 
    text-decoration: none;
    line-height: 1.1; 
    margin-bottom: 12px;
    display: block; 
    opacity: 0; 
    transform: translateY(20px);
}

.image-preview-wrap { 
    position: relative; width: 100%; aspect-ratio: 4/5; 
    align-self: center; overflow: hidden; 
}

.preview-img { 
    position: absolute; width: 100%; height: 100%; 
    object-fit: cover; opacity: 0; transition: opacity 0.4s ease; 
}
.preview-img.active { opacity: 1; }

.overlay-footer {
    position: absolute; bottom: 40px; left: 60px; right: 60px;
    display: flex; justify-content: space-between; align-items: flex-end;
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 20px; 
    font-size: 12px;
}

.overlay-footer a {
    color: var(--color-white);
    font-size: 15px;
    font-family: var(--font-suisse);
    text-decoration: none;
}

.overlay-footer .socials {
    display: flex;
    gap: 20px;
    flex-direction: row;
    justify-content: space-between;
}

/* --- Mobile Styles --- */
@media (max-width: 768px) {
    .header_nav { padding: 25px 30px; max-width: 100%; }
    .desktop-nav a:not(.hamburger) { display: none; }
    .menu-overlay { padding: 20px; }
    .overlay-content {
        grid-template-columns: 1fr;
        display: flex; 
        flex-direction: column;
        justify-content: flex-end;
        padding-bottom: 120px;
    }
    .links-grid { grid-template-columns: 1fr; }
    .image-preview-wrap { display: none; }
    .menu-link { font-size: 34px; margin-bottom: 8px; }
    .overlay-footer { 
        position: relative; left: 0; right: 0; 
        flex-direction: column; align-items: flex-start; gap: 20px; 
    }
}

#primary {
	margin: 0;
}
#wpforms-1543-field_134_1 {
    color:  #D0342C;
    margin-top: 50px;
    margin-bottom: 50px;
    font-weight: 600;
}

div.wpforms-container-full .wpforms-field.wpforms-field-checkbox ul li, div.wpforms-container-full .wpforms-field.wpforms-field-radio ul li, div.wpforms-container-full .wpforms-field.wpforms-field-payment-checkbox ul li, div.wpforms-container-full .wpforms-field.wpforms-field-payment-multiple ul li, div.wpforms-container-full .wpforms-field.wpforms-field-gdpr-checkbox ul li

{
	
	align-content: center;
	align-items: center;
}
/* FORMS */


div.wpforms-container-full .wpforms-form .wpforms-field-divider h3 {
    background: #101f2f;
    color: #fff;
    height: 65px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0;
    padding: 0 20px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 13px;
}


