/* Basier / Akkurat / Basis / Avenir / Adobe Garamond */

@font-face {
    font-family: 'BasierRegular';
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/basier.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/basier.woff")
            format("woff");
}


@font-face {
    font-family: "Avenir Next";
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/AvenirNextLTPro-Regular.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/AvenirNextLTPro-Regular.woff")
            format("woff");
}
@font-face {
    font-family: "Avenir Roman";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/Avenir-Roman.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/Avenir-Roman.woff")
            format("woff");
}
@font-face {
    font-family: "Avenir Book";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/Avenir-Book.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/Avenir-Book.woff")
            format("woff");
}

@font-face {
    font-family: "Avenir Light";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/Avenir-Light.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/Avenir-Light.woff")
            format("woff");
}

@font-face {
    font-family: "Avenir Medium";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/Avenir-Medium.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/Avenir-Medium.woff")
            format("woff");
}
@font-face {
    font-family: "Avenir";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/AvenirNext-Regular.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/AvenirNext-Regular.woff")
            format("woff");
}
@font-face {
    font-family: "Avenir Next Light";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/AvenirNext-Light.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/AvenirNext-Light.woff")
            format("woff");
}
@font-face {
    font-family: "Avenir Light Pro";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/AvenirLTPro-Light.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/AvenirLTPro-Light.woff")
            format("woff");
}
@font-face {
    font-family: "Neue Haas Grotesk Roman";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/NeueHaasDisplay-Roman.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/NeueHaasDisplay-Roman.woff")
            format("woff");
}

@font-face {
    font-family: "NeueHaasGroteskMedium";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/NeueHaasDisplay-Medium.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/NeueHaasDisplay-Medium.woff")
            format("woff");
}

@font-face {
    font-family: "NeueHaasGroteskLight";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/NeueHaasDisplay-Light.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/NeueHaasDisplay-Light.woff")
            format("woff");
}

@font-face {
    font-family: "HelveticaNeueMedium";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/HelveticaNeue-Medium.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/HelveticaNeue-Medium.woff")
            format("woff");
}

@font-face {
    font-family: "HelveticaNeueLT";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/HelveticaNeueLT.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/HelveticaNeueLT.woff")
            format("woff");
}

@font-face {
    font-family: "SFProRegular";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/SFProDisplay-Regular.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/SFProDisplay-Regular.woff")
            format("woff");
}

@font-face {
    font-family: "SFProMedium";
    font-style: normal;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/SFProDisplay-Medium.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/SFProDisplay-Medium.woff")
            format("woff");
}

@font-face {
    font-family: "SFProSemiBold";
    font-style: normal;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/SFProDisplay-Semibold.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/SFProDisplay-Semibold.woff")
            format("woff");
}

@font-face {
    font-family: "Gotham Light";
    font-style: normal;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/Gotham-Light.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/Gotham-Light.woff")
            format("woff");
}

@font-face {
    font-family: "Gotham Book";
    font-style: normal;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/Gotham-Book.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/Gotham-Book.woff")
            format("woff");
}
@font-face {
    font-family: "AdobeGaramondPro";
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/AGaramondPro-Regular.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/AGaramondPro-Regular.woff")
            format("woff");
}

@font-face {
    font-family: "Unica77Regular";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/Unica77LLWeb.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/Unica77LLWeb.woff")
            format("woff");
}

@font-face {
    font-family: "NeueHaasUnicaPro";
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/NeueHaasUnicaPro-Regular.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/NeueHaasUnicaPro-Regular.woff")
            format("woff");
}

@font-face {
    font-family: 'NeueHaasGrotesk';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url('/wp-content/themes/salusky-law/public/fonts/NHaasGroteskDSPro-55Rg.woff2')
            format("woff2"),
        url('/wp-content/themes/salusky-law/public/fonts/NHaasGroteskDSPro-55Rg.woff')
            format("woff");
}

@font-face {
    font-family: "NeueHaasGrotesk65";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/NHaasGroteskDSPro-65Md.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/NHaasGroteskDSPro-65Md.woff")
            format("woff");
}

@font-face {
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/ACaslonPro-Regular.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/ACaslonPro-Regular.woff")
            format("woff");
}

@font-face {
    font-family: "Cormorant Garamond Light";
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/CormorantGaramond-Light.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/CormorantGaramond-Light.woff")
            format("woff");
}

@font-face {
    font-family: "Maison Neue";
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/3724ece79a634e7b5168905d01e59a64.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/3724ece79a634e7b5168905d01e59a64.woff")
            format("woff");
}

@font-face {
    font-family: "NeueUnica";
    src:
        url("/wp-content/themes/salusky-law/public/fonts/NeueHaasUnica-Regular.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/NeueHaasUnica-Regular.woff")
            format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "NeueHaasUnicaPro";
    src:
        url("/wp-content/themes/salusky-law/public/fonts/NeueHaasUnicaPro-Regular.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/NeueHaasUnicaPro-Regular.woff")
            format("woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Akkurt Light";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/Akkurat-Light.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/Akkurat-Light.woff")
            format("woff");
}

@font-face {
    font-family: "Akkurat Regular";
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src:
        url("/wp-content/themes/salusky-law/public/fonts/Akkurat-Regular.woff2")
            format("woff2"),
        url("/wp-content/themes/salusky-law/public/fonts/Akkurat-Regular.woff")
            format("woff");
}
	/* Plain */
	@font-face {
	  font-family: 'Plain';
	  src: url('/wp-content/themes/salusky-law/public/fonts/Plain-Regular.woff2') format('woff2'),
	       url('/wp-content/themes/salusky-law/public/fonts/Plain-Regular.woff') format('woff');
	  font-weight: 300;
	  font-style: normal;
	  font-display: swap;
	}
	/* SURT */
	@font-face {
	  font-family: 'Surt Light';
	  src: url('/wp-content/themes/salusky-law/public/fonts/Surt-Light.woff2') format('woff2'),
	       url('/wp-content/themes/salusky-law/public/fonts/Surt-Light.woff') format('woff');
	  font-weight: 300;
	  font-style: normal;
	  font-display: swap;
	}
	
	
/* --- 2. CORE VARIABLES --- */

:root {
    --color-black: #000000;
    --color-white: #ffffff;
    --color-border: #e2e2e2;
    --color-error: #ff0000;
    --color-pre-bg: #eeeeee;
    --color-tan: #f5f2f0;
    --color-tan-secondary: #ebeae5;
    --color-blue: #111f33;
    --color-darkblue: #081c28;
    --color-dark-blue: #112531;
    --color-beige: #f2f1ef;
    --color-blue-grey: #eef0f4;
    --color-blue-primary: #112934;
    --color-primary: #0f242e;
    --color-secondary-blue: #0f202c;
    --color-card-background: #edeff3;
    --color-deep-navy: #041c2c;
	--color-teal: #82c7b3;
	--color-bm-red: #d6001c;
    --transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);   
    --font-primary:
        "Avenir Light", "Akkurt Light", arial, helvetica, sans-serif;
    --font-heading:
        "Adobe Garamond Pro", "Adobe Caslon Pro", arial, helvetica, sans-serif;
    --font-body: "Avenir", "Avenir Next", arial, sans-serif;
    --font-sans-primary: "Avenir", "NeueHaasGroteskLight", arial, sans-serif;
    --font-serif-primary:
        "Adobe Caslon Pro", "NeueHaasGroteskLight", arial, sans-serif;
    --font-unica: "NeueUnica";
    --font-neuehaasgrotesk: 'Neue Haas Grotesk Roman', arial, sans-serif;
    --font-basier: "basier", arial, sans-serif;
    --font-gotham-book: "Gotham Book", "HelveticaNeueLT", arial, sans-serif;
    --font-gotham-light:
        "Gotham Light", "Gotham Book", "HelveticaNeueLT", arial, sans-serif;
	--font-neuehaasgrotesk: 'NeueHaasGrotesk','NeueHaasGroteskLight', 'Neue Haas Grotesk Roman', arial, sans-serif;
    --font-avenir-next: "Avenir Next", 'Avenir Light', arial, sans-serif;
    --font-avenir-next-light: "Avenir Next Light", 'Avenir Light', arial, sans-serif;
    --font-avenir-roman: "Avenir Roman", 'Avenir Light', arial, sans-serif;
    --font-avenir: "Avenir", 'Avenir Roman', 'Avenir Light', arial, sans-serif;
    --font-avenir-light: "Avenir Light", "Avenir Next Light", arial, sans-serif;

    --font-akkurat:
        "Akkurat Regular", "HelveticaNeueLT", arial, helvetica, sans-serif;
    --font-akkurat-light: "Akkurat Light";

    --font-maison-neue: "Maison Neue", "Akkurat Light", arial, sans-serif;
    --font-maison-neue-mono: "Maison Neue Mono";

    --font-mono: "Courier Prime", courier, monospace;

    --transition-std: all 0.68s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-fast: all 0.4s ease-in-out;

    /* Spacing Scale */
    --space-sm: 1rem;
    --space-md: 2rem;
    --space-lg: 4rem;
    --space-xlg: 6rem;
    --space-xxl: 4vw;
}

/* --- 3. BASE RESET --- */

*,
::after,
::before {
    box-sizing: border-box;
}

html {
    opacity: 1;
    transition: opacity 1s ease-in-out;
    scroll-behavior: smooth;
    font-size: 20px;
}

body {
    margin: 0;
    background: var(--color-white);
    color: var(--color-black);
    font-family: var(--font-sans-primary);
    font-size: 1rem;
    line-height: 1.4;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeSpeed;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd,
ul,
ol {
    margin: 0;

}

a {
    background-color: transparent;
    color: inherit;
    text-decoration: none;
    transition: opacity 0.3s var(--transition-fast);
    &:hover,
    &:focus {
        outline: 0;
        opacity: 1;
    }
}



/* --- 4. LAYOUT & CONTAINERS (Clean HTML Selection) --- */

/* Targets any class starting with 'container' */
[class^="container"] {
    margin-inline: auto;
    margin-block: var(--space-lg);
    width: min(100% - 10px, 90%);

    &.container-md {
        margin-block: 3em;
        @media (min-width: 1024px) {
            max-width: 90%;
        }
        @media (min-width: 1200px) {
            max-width: 85%;
        }
    }

    &.container-width {
        margin-block: 0;
        width: min(100%, 90%);
        @media (min-width: 1024px) {
            max-width: 95%;
        }
    }
    &.container-w {
        margin-block: 0;
        width: min(100%, 90%);
        @media (min-width: 1024px) {
            max-width: 95%;
        }
    }

    &.container-fullwidth {
        width: 100%;
        max-width: 100%;
        margin-block: 2em;
        padding-inline: 0;
    }

    &.container-i {
        width: min(100% - 40px, 96%);
    }
}

.contain-full {
    width: 100%;
}

/* --- 5. GRID & UTILITY HELPERS --- */

.grid {
    display: grid;
    gap: var(--space-md);
    &.grid-2 {
        @media (min-width: 768px) {
            grid-template-columns: repeat(2, 1fr);
        }
    }
    &.grid-3 {
        @media (min-width: 1024px) {
            grid-template-columns: repeat(3, 1fr);
        }
    }
    &.gap-0 {
        gap: 0;
    }
}

.py-sm {
    padding-block: var(--space-sm);
}
.py-md {
    padding-block: var(--space-md);
}
.py-lg {
    padding-block: var(--space-lg);
}

.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}

/* --- 6. TYPOGRAPHY --- */

h1,
h2,
h3,
.h1,
.h2,
.h3 {
    font-family: var(--font-heading);
    font-weight: 300;
    margin-block-end: 10px;
}

h1,
.h1 {
    font-size: clamp(1.4rem, 5vw, 2rem);
    line-height: 1.2333;
}
h2,
.h2 {
 	font-size: clamp(1.47rem, 3vw, 1.69rem);
    line-height: 1.2;
    &.header__title {
        font-size: 40px;
        padding-inline: 20px;
        text-transform: capitalize;
        @media (min-width: 768px) {
            margin-block: 15px;
        }
    }
}
h3,
.h3 {
	  font-size: clamp(1.26rem, 3.5vw, 1.59rem);
    line-height: 1.3166;
}

h4 {
  font-family: var(--font-heading);
  font-weight: 300;
  font-size: clamp(20px, 3vw, 28px); /* min 20px, scales with viewport, max 28px */
  line-height: 1.3;
  margin-block-end: 0.5em;
}


h5 {
  font-family: var(--font-heading);
  font-weight: 300;
  font-size: clamp(18px, 2.5vw, 24px); /* min 18px, max 24px */
  line-height: 1.3;
  margin-block-end: 0.5em;
}


p {
    font-size: clamp(18px, 1.2rem + 0.2vw, 21px);
    margin-block-end: 20px;
    line-height: 1.4;
    color: var(--color-black);
    font-family: var(--font-avenir);
    &:empty {
        display: none;
    }
}
h6 {
  font-family: var(--font-heading);
  font-weight: 300;
  font-size: clamp(16px, 2vw, 21px); /* min 16px, max 20px */
  line-height: 1.3;
  margin-block-end: 0.5em;
}

cite,
dfn,
em,
i {
    font-style: italic;
}
blockquote {
    margin: 0 1.5em;
    quotes: "" "";
}

pre {
    background: var(--color-pre-bg);
    font-family: var(--font-mono);
    padding: 1.6em;
    margin-block-end: 1.6em;
    overflow-x: auto;
}

/* --- 7. BUTTONS --- */

.button,
.btn--cta,
.btn--dark,
.btn--form,
[type="submit"],
button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    appearance: none;
    background: var(--color-black);
    border: 1px solid var(--color-black);
    color: var(--color-white);
    padding: 16px 55px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    transition: var(--transition-std);

    &:hover {
        background: transparent;
        color: var(--color-black);
    }
}

.btn--more {
    border: 1px solid grey;
    color: var(--color-black);
    display: block;
    margin: 0 auto;
    width: 85%;
    text-align: center;
    padding: 16px;
    transition: var(--transition-fast);
    &:hover {
        background: var(--color-black);
        color: var(--color-white) ;
    }
    @media (min-width: 768px) {
        min-width: 150px;
    }
}

.btn--footer {
    background: var(--color-white);
    border: 1px solid var(--color-white);
    color: var(--color-black);
    min-width: 150px;
    &:hover {
        background: transparent;
        color: var(--color-white) ;
    }
}

.btn-hero {
    background: var(--color-white);
    border: 1px solid var(--color-white);
    border-radius: 7px;
    padding: 20px 15px;
    &:hover {
        background: var(--color-black);
        color: var(--color-white);
        border-color: var(--color-black);
    }
}

/* --- 8. FORMS & INPUTS --- */

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
    width: 100%;
    padding: 15px;
    border: 1px solid var(--color-black);
    font-size: 18px;
    font-weight: 200;
    background: var(--color-white);
    outline: none;

    &::placeholder {
        opacity: 1;
        transition: opacity 0.5s;
    }
    &:focus::placeholder {
        opacity: 0;
    }
}





.grid--full {
    width: 100%
}

.grid--third {
    padding: 30px
}

.grid--fourth {
    padding: 30px;
    border-bottom: 1px solid #eee;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
}

.grid--fourth:last-child {
    border-bottom: none
}

.grid--half,
.grid--two-third {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    padding: 30px
}

.grid--mobile-first {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1
}

@media only screen and (min-width:768px) {
    .grid--third {
        padding: 30px
    }
    .grid--fourth {
        padding: 60px
    }
    .grid--half,
    .grid--two-third {
        padding: 30px
    }
    .grid--half {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%
    }
}

@media only screen and (min-width:1024px) {
    .grid--third {
        -ms-flex-order: initial;
        -ms-flex-preferred-size: 33.33333%;
        flex-basis: 33.33333%;
        max-width: 33.33333%
    }
    .grid--fourth,
    .grid--third {
        -webkit-box-ordinal-group: initial;
        order: 0;
        padding: 30px;
        border-left: 0
    }
    .grid--fourth {
        -ms-flex-order: initial;
        -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
        max-width: 25%;
        border-bottom: none
    }
    .grid--two-third {
        -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
        order: 0;
        -ms-flex-preferred-size: 66.66667%;
        flex-basis: 66.66667%;
        max-width: 66.66667%;
        padding: 30px
    }
    .grid--half {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%;
        padding: 30px
    }
    .grid--lead {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
        border-left: 0
    }
    .grid--last {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        border-right: 0
    }
}

.column--half,
.column--third,
.column--two-third {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
}

.column--half {
    max-width: 100%
}

@media only screen and (min-width:1024px) {
    .column--third {
        display: flex;
        flex-flow: column;
        flex-basis: 33.33333%;
        max-width: 33.33333%
    }
    .column--two-third {
        -ms-flex-preferred-size: 66.66667%;
        flex-basis: 66.66667%;
        max-width: 66.66667%
    }
    .column--half {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%
    }
}

.col-1-4 {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 0 30px
}

@media  (min-width:1024px) {
    .col-1-4 {
        grid-template-columns: repeat(2,1fr)
    }
}

@media  (min-width:1200px) {
    .col-1-4 {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media  (min-width:1440px) {
    .col-1-4 {
        grid-template-columns: repeat(4, 1fr)
    }
}

.col-2 {
    display: grid;
    grid-template-columns: 1fr
}

@media  (min-width:1024px) {
    .col-2 {
        grid-template-columns:repeat(2,1fr);
        grid-gap: 0 100px
    }
}





button {
    background: none;
    border: none
}

.btn {
    font-size: 15px;
    padding: 15px 20px;
    text-align: center;
    text-decoration: none;
    cursor: pointer
}

@media  (min-width:768px) {
    .btn {
        font-size: 15px
    }
}

.btn:hover {
    text-decoration: none;
    cursor: pointer
}

.btn>a,
.btn>a:hover {
    text-decoration: none;
    border-bottom: none
}


.btn-cta {
  background: #293c3c;
  display: inline-flex;
  gap: 10px;
  padding: 6px 30px;
  text-transform: uppercase;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  font-size: 12px;
  width: 305px;
  font-weight: 400;
  height: 60px;
  letter-spacing: 4px;
  text-align: center;
  text-decoration: none;
  flex-shrink: 0;
  color: #fff;
  transition: all 0.5s ease-in-out;
}
.btn-cta:hover {
  background: #111;
}
.arrow-up {
  height: 16px;
  width: 16px;
  display: inline-block;
  vertical-align: middle;
}


.btn--cta {
    width: auto;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 20px 15px;
    min-width: 170px;
    font-size: 15px;
    line-height: 1.2;
    text-align: center;
    border: 1px solid #000;
    cursor: pointer;
    -webkit-transition: all .68s ease-in-out;
    transition: all .68s ease-in-out
}

@media  (min-width:768px) {
    .btn--cta {
        min-width: 150px
    }
}

.btn--cta:hover,
.btn--dark {
    border: 1px solid #000;
    background: #000;
    color: #fff;
    transition: all .68s ease-in-out
}

.btn--dark {
    display: inline-block;
    padding: 18px 45px;
    min-width: 270px;
}

.btn--dark:hover {
    cursor: pointer;
    background: transparent;
    color: #000;
    transition: all .68s ease-in-out
}

.btn--share {
    display: flex;
    align-items: center;
    background-color: transparent;
    color: #000;
    appearance: none;
    width: auto;
    height: auto;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    font-style: normal;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    white-space: normal
}

@media  (min-width:1024px) {
    .btn--share {
        margin-right: 10px
    }
}

.btn--share svg {
    width: 20px;
    height: 20px;
    vertical-align: middle
}

.btn--share.btn--small svg {
    width: 16px;
    height: 16px;
    margin-right: 4px;
    vertical-align: middle
}

.btn--small {
    padding: 8px 10px;
    font-size: .75em;
    line-height: 1
}

.btn--more {
    margin: 0 auto;
    text-align: center;
    display: block;
    padding: 16px;
    font-size: 17px;
    color: #000;
    border: 1px solid grey;
    width: 85%;
    transition: all .4s ease-in-out
}

@media  (min-width:768px) {
    .btn--more {
        min-width: 150px
    }
}

.btn--more:hover {
    border: 1px solid #000;
    background: #000;
    color: #fff ;
    transition: all .68s ease-in-out
}



.btn--footer {
    min-width: 150px;
    color: #000;
    background: #fff;
    border: 1px solid #fff;
    display: inline-block
}

.btn--footer,
.btn--footer:hover {
    -webkit-transition: all .68s ease-in-out;
    transition: all .68s ease-in-out
}

.btn--footer:hover {
    background: transparent;
    color: #fff 
}

.btn--close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 20px;
    height: 20px;
    padding: 0;
    background-repeat: no-repeat;
    background-size: contain;
    cursor: pointer
}

@media  (min-width:768px) {
    .btn--close {
        position: absolute;
        top: 48px;
        right: 28px;
        line-height: 1
    }
}

.btn--form {
    margin: 0 auto;
    background: #000;
    color: #fff;
    padding: 20px 65px
}

.btn--form,
.btn--form:hover {
    -webkit-transition: all .68s ease-in-out;
    transition: all .68s ease-in-out
}

.btn--form:hover {
    border: 1px solid #000;
    background: transparent;
    color: #000 
}

.btn-hero {
    background: #000;
    border: 1px solid #000;
    border-radius: 2px;
    padding: 20px 15px;
    width: 300px;
    color: #fff;
    max-width: 300px;
    text-align: center;
    font-size: 17px;
    font-weight: 400;
    letter-spacing: .1px;
    -webkit-transition: all .68s ease-in-out;
    transition: all .68s ease-in-out;
    margin: 0 auto
}

@media  (min-width:768px) {
    .btn-hero {
        margin: 0
    }
}

.btn-hero:hover {
    border: 1px solid #000;
    background: transparent;
    color: #000;
    -webkit-transition: all .68s ease-in-out;
    transition: all .68s ease-in-out
}

@media  (min-width:768px) {
    .btn-hero:hover {
        border: 1px solid #000;
        background: #000
    }
}

.btn-feature {
    background: #fff;
    border: 1px solid #fff;
    border-radius: 7px;
    padding: 20px 60px;
    width: 300px;
    text-align: center;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .1px
}

.btn-feature,
.btn-feature:hover {
    -webkit-transition: all .68s ease-in-out;
    transition: all .68s ease-in-out
}

.btn-feature:hover {
    border: 1px solid #fff;
    background: transparent;
    color: #fff
}



:-moz-placeholder {
    opacity: 1;
    -moz-transition: opacity .5s;
    transition: opacity .5s
}

::-webkit-input-placeholder {
    opacity: 1;
    -webkit-transition: opacity .5s;
    transition: opacity .5s
}

::-moz-placeholder {
    opacity: 1;
    -moz-transition: opacity .5s;
    transition: opacity .5s
}

:-ms-input-placeholder {
    opacity: 1;
    -ms-transition: opacity .5s;
    transition: opacity .5s
}

::-ms-input-placeholder {
    opacity: 1;
    -ms-transition: opacity .5s;
    transition: opacity .5s
}

::placeholder {
    opacity: 1;
    -webkit-transition: opacity .5s;
    transition: opacity .5s
}

:focus:-moz-placeholder {
    opacity: 0
}

:focus::-webkit-input-placeholder {
    opacity: 0
}

:focus::-moz-placeholder {
    opacity: 0
}

:focus:-ms-input-placeholder {
    opacity: 0
}

:focus::-ms-input-placeholder {
    opacity: 0
}

:focus::placeholder {
    opacity: 0
}



a {
    background-color: transparent;
    color: inherit
}

a,
a:visited {
    text-decoration: none
}

a,
a:visited {
    color: currentColor
}

a:active,
a:focus,
a:hover,
a:visited:active,
a:visited:focus,
a:visited:hover {
    outline: 0
}

a:link,
a:visited:link {
    outline: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, .3)
}

.link {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    overflow: hidden
}

.link:not(.no-hover):hover:after {
    -webkit-transition: background .6s cubic-bezier(.19, 1, .22, 1), -webkit-transform .6s cubic-bezier(.19, 1, .22, 1) .1s;
    transition: background .6s cubic-bezier(.19, 1, .22, 1), -webkit-transform .6s cubic-bezier(.19, 1, .22, 1) .1s;
    transition: background .6s cubic-bezier(.19, 1, .22, 1), transform .6s cubic-bezier(.19, 1, .22, 1) .1s;
    transition: background .6s cubic-bezier(.19, 1, .22, 1), transform .6s cubic-bezier(.19, 1, .22, 1) .1s, -webkit-transform .6s cubic-bezier(.19, 1, .22, 1) .1s
}

.link:after {
    position: absolute;
    bottom: 1px;
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transition: background .8s cubic-bezier(.19, 1, .22, 1), -webkit-transform .5s cubic-bezier(1, 0, 0, 1) .1s;
    -webkit-transition: background .8s cubic-bezier(.19, 1, .22, 1), -webkit-transform .5s cubic-bezier(1, 0, 0, 1) .1s;
    transition: background .8s cubic-bezier(.19, 1, .22, 1), transform .5s cubic-bezier(1, 0, 0, 1) .1s;
    transition: background .8s cubic-bezier(.19, 1, .22, 1), transform .5s cubic-bezier(1, 0, 0, 1) .1s, -webkit-transform .5s cubic-bezier(1, 0, 0, 1) .1s;
    opacity: .75
}

.link--clear:hover:after {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.link--clear:after {
    -webkit-transform: translate3d(-102%, 0, 0);
    transform: translate3d(-102%, 0, 0)
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute ;
    width: 1px
}

.screen-reader-text:active,
.screen-reader-text:focus,
.screen-reader-text:hover {
    background-color: #f1f1f1;
    border-radius: 3px;
    -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
    clip: auto ;
    color: #000;
    display: block;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    font-size: 1rem
}

.is-transitioning {
    display: block ;
    visibility: visible 
}

.scroll {
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch
}

.noscroll {
    overflow: hidden;
    overflow-x: hidden;
    overflow-y: hidden
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

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

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




.visually-hidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.clearfix:after,
.clearfix:before {
    content: "";
    display: table
}

.clearfix:after {
    clear: both
}

.flow {
    --flow-space: 1em
}

.flow>*+* {
    margin-top: var(1em)
}

.-hide-page-overflow {
    overflow: hidden
}

.site-main {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto
}

.content-width {
    margin: 0 auto;
    padding: 0;
    width: 98%
}

@media  (min-width:1024px) {
    .content-width {
        width: 90%
    }
}

.container-width {
    margin: 0 auto;
    padding: 0;
    width: 100%
}

@media  (min-width:1024px) {
    .container-width {
        width: 90%
    }
}

.site-content .content-area,
.site-footer .content-area,
.site-header .content-area {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%
}

.site-content .content-width,
.site-footer .content-width,
.site-header .content-width {
    padding: 0 20px
}

@media  (min-width:768px) {
    .site-content .content-width,
    .site-footer .content-width,
    .site-header .content-width {
        padding: 0
    }
}

.wp-block-columns {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

.error404 .widget-area {
    padding-top: 1em
}

@media  (min-width:915px) {
    .error404 .widget-area {
        padding-top: 6em
    }
}

.relative {
    position: relative
}

.block {
    display: block
}

.col-12 {
    width: 100%
}

.zn1 {
    z-index: -1
}

.z3 {
    z-index: 3
}

.top-0 {
    top: 0
}

.left-0 {
    left: 0
}

.bottom-0 {
    bottom: 0
}

.right-0 {
    right: 0
}

.big-bg {
    background-size: cover;
    background-position: center 100%;
    background-repeat: no-repeat
}

@media  (min-width:1024px) {
    .md-sticky {
        position: sticky
    }
}

@media  (min-width:1024px) {
    .md-hide {
        display: none 
    }
}

.sm-show {
    display: none
}

@media  (min-width:768px) {
    .sm-show {
        display: block
    }
}

.md-show {
    display: none
}

@media  (min-width:1024px) {
    .md-show {
        display: block
    }
}

@media  (min-width:1024px) {
    .md-absolute {
        position: absolute
    }
}

@media  (min-width:1024px) {
    .md-h100 {
        height: 100vh
    }
}

.intro {
    padding: 90px 0;
    position: relative
}

@media  (min-width:1024px) {
    .intro {
        padding: 7em 0
    }
}

.container-intro {
    max-width: 95%;
    margin: 0 auto;
    padding: 0 30px
}

@media  (min-width:1024px) {
    .container-intro {
        max-width: 90%
    }
}

@media  (min-width:1920px) {
    .container-intro {
        max-width: 80%
    }
}

@media (min-width:900px) and (max-width:1200px) {
    .container-intro {
        padding: 0 3%
    }
}

.container-intro-small {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 40px
}

@media  (min-width:1024px) {
    .container-intro-small {
        max-width: 80%
    }
}

.site-header {
    background: #fff;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%
}

.site-header,
.site-header>.content-width {
    align-items: center;
    display: flex
}

.site-header>.content-width {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.site-header.header--mobile {
    border-bottom: 0;
    max-height: 0;
    opacity: 0;
    padding: 0;
    position: fixed;
    top: 0;
    visibility: hidden;
    z-index: 1;
    overflow-y: auto
}

.site-header.header--mobile,
.site-header.header--mobile.-is-open {

    transition: opacity .5s, visibility 0s, max-height 0s
}

.site-header.header--mobile.-is-open {
    background: #292d30;
    display: block;
    height: 100vh;
    max-height: 100%;
    opacity: 1;
    visibility: visible;
    width: 100vw;
    z-index: 99999
}

.site-header.header--mobile .header--mobile-top {
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: center
}

.site-header.header--mobile .header--mobile-top .site-branding {
    padding: 14px 25px
}

@media  (min-width:768px) {
    .site-header.header--mobile .header--mobile-top .site-branding {
        padding: 24px 30px
    }
}

.site-header.header--mobile .header--mobile-top .site-branding .logo {
    display: inline-block;
    width: 170px;
    line-height: 1;
    color: #fff
}

.site-header.header--mobile .header--mobile-top .site-branding .logo svg {
    height: 65px;
    width: 170px
}

@media  (min-width:420px) {
    .site-header.header--mobile .header--mobile-top .site-branding .logo svg {
        height: 55px;
        width: 210px
    }
}

@media  (min-width:768px) {
    .site-header.header--mobile .header--mobile-top .site-branding .logo svg {
        height: 65px;
        width: 250px
    }
}

.site-header.header--mobile .header--mobile-top .btn--close {
    height: 50px;
    line-height: 32px;
    padding: 0;
    position: absolute;
    right: 20px;
    top: 10px;
    width: 49px
}

.site-header.header--mobile .header--mobile-top .btn--close:after,
.site-header.header--mobile .header--mobile-top .btn--close:before {
    background-color: #fff;
    content: "";
    height: 30px;
    left: 25px;
    position: absolute;
    top: 16px;
    width: 2px
}

.site-header.header--mobile .header--mobile-top .btn--close:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.site-header.header--mobile .header--mobile-top .btn--close:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.site-header.header--mobile .main-navigation,
.site-header.header--mobile .mobile-secondary-navigation,
.site-header.header--mobile .social-navigation {
    border-top: 1px solid #fff;
    color: #fff
}

.site-header.header--mobile .main-navigation .menu,
.site-header.header--mobile .mobile-secondary-navigation .menu,
.site-header.header--mobile .social-navigation .menu {
    display: flex;
    flex-direction: column;
    padding: 32px 16px
}

.site-header.header--mobile .main-navigation .menu .btn,
.site-header.header--mobile .mobile-secondary-navigation .menu .btn,
.site-header.header--mobile .social-navigation .menu .btn {
    display: none
}

.site-header.header--mobile .social-navigation .menu {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    padding: 25px 16px
}

.site-header.header--mobile .social-navigation .menu .menu-item {
    margin-right: 15px
}

.site-header.header--mobile .social-navigation .menu .menu-item svg {
    width: 20px;
    height: 20px
}

.site-header.header--desktop {
    position: fixed;
    top: 0;
    bottom: 0;
    z-index: 9999;
    max-height: 85px;
    padding: 16px 0
}

@media  (min-width:768px) {
    .site-header.header--desktop {
        max-height: 110px
    }
}

.site-header.header--desktop .site-branding {
    display: flex;
    align-items: center;
    padding: 16px 16px 16px 0
}

@media  (min-width:768px) {
    .site-header.header--desktop .site-branding {
        padding: 24px 0 24px;
    }
}

.site-header.header--desktop .site-branding .logo {
    width: 170px;
    line-height: 1;
    color: #000
}

@media  (min-width:768px) {
    .site-header.header--desktop .site-branding .logo {
        width: 250px
    }
    
}

.site-header.header--desktop .site-branding .logo svg {
    width: 270px;
    height: auto
}

@media  (min-width:420px) {
    .site-header.header--desktop .site-branding .logo svg {
        width: 250px;
    }
}

@media  (min-width:768px) {
    .site-header.header--desktop .site-branding .logo svg {
        width: 370px;
    }
}

.site-header.header--desktop .main-navigation {
    display: none
}

@media  (min-width:1024px) {
    .site-header.header--desktop .main-navigation {
        display: block
    }
}

.site-header.header--desktop .right-nav {
    display: flex;
    align-items: center;
    padding: 16px 0 16px 16px
}

@media  (min-width:1024px) {
    .site-header.header--desktop .right-nav {
        min-width: 327px;
        display: none
    }
}

.site-header.header--desktop .right-nav .order-online-btn {
    display: none;
    min-width: 130px;
    margin-right: 25px
}

@media  (min-width:768px) {
    .site-header.header--desktop .right-nav .order-online-btn {
        display: inline-block
    }
}

@media  (min-width:1024px) {
    .site-header.header--desktop .right-nav .order-online-btn {
        min-width: 160px
    }
}

.site-header.header--desktop .right-nav .search {
    display: none;
    padding: 0
}

@media  (min-width:1024px) {
    .site-header.header--desktop .right-nav .search {
        display: flex
    }
}

.site-header.header--desktop .right-nav .search-divider {
    display: none;
    border-right: 1px solid #eee;
    content: "";
    height: 41px;
    margin-right: 20px;
    margin-left: 20px
}

@media  (min-width:1024px) {
    .site-header.header--desktop .right-nav .search-divider {
        display: block
    }
}

.site-header.header--desktop .right-nav .social-menu {
    display: none
}

@media  (min-width:1024px) {
    .site-header.header--desktop .right-nav .social-menu {
        display: flex
    }
}

.site-header.header--desktop .right-nav .hamburger {
    display: inline-block;
    position: relative;
    background-color: transparent;
    border: 0;
    cursor: pointer;
    margin: 0;
    outline: none;
    padding: 10px 4px 10px 30px
}

@media  (min-width:768px) {
    .site-header.header--desktop .right-nav .hamburger {
        padding-left: 30px;
        padding-right: 20px
    }
}

@media  (min-width:1024px) {
    .site-header.header--desktop .right-nav .hamburger {
        display: none
    }
}

.no-results .content-width,
.not-found .content-width {
    align-items: center
}

.no-results .content-width,
.not-found .content-width,
.site-content {
    display: flex;
    flex-direction: column
}


.no-results {
    padding: 4em 0
}

.admin-bar .site-content {
    margin-top: 0
}

.section {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.container-i {
    width: 80%;
    max-width: 80%;
    margin-right: auto;
    margin-left: auto
}

@media  (min-width:1024px) {
    .container-i {
        width: 96%;
        max-width: 96%
    }
}

.order-2 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
}

.border-bottom {
    border-bottom: 1px solid #eee
}

.header--module {
    width: 100%;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    min-height: 90px
}

.header--module h1 {
    font-size: 55px
}

@media  (min-width:768px) {
    .header--module h1 {
        font-size: 62px
    }
}

.header--module h2 {
    font-size: 50px
}

.header--module .header__title {
    width: 100%;
    padding: 18px 15px 13px;
    line-height: 1;
    font-size: 40px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 auto;
    text-align: left
}

@media  (min-width:768px) {
    .header--module .header__title {
        font-size: 50px;
        padding: 20px 30px 23px;
        line-height: 1;
        letter-spacing: 1px;
        margin: 0
    }
}

.header--module .header__description {
    display: none
}

@media  (min-width:1024px) {
    .header--module .header__description {
        display: inline-block;
        margin-left: 30px;
        margin-bottom: 0;
        width: 45%;
        font-size: 18px;
        line-height: 1.33
    }
}

.header--module .subnav__aside {
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    align-items: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 0 20px 0 0
}

@media  (min-width:1024px) {
    .header--module .subnav__aside {
        padding: 0 30px 0 60px
    }
}

.header--module .subnav__aside .btn--search {
    width: 27px;
    height: 27px;
    margin-left: 0;
    margin-right: 20px
}

@media  (min-width:1024px) {
    .header--module .subnav__aside .btn--search {
        width: 17px;
        height: 17px;
        margin-left: 30px;
        margin-right: 0
    }
}

.header--module .subnav__aside .btn--cta {
    min-width: 10px;
    white-space: nowrap
}

@media  (min-width:1024px) {
    .header--module .subnav__aside .btn--cta {
        min-width: 170px
    }
}

.site-content .content-container {
    max-width: 85%;
    padding: 75px 0 50px;
    margin: 0 auto
}

@media  (min-width:1024px) {
    .site-content .content-container {
        max-width: 75%;
        padding: 75px 0
    }
}

.site-content .content-container p {
    font-size: 22px
}

.site-content .content-container h1 {
    font-size: 2.78em;
    line-height: 1.01em;
    text-transform: uppercase;
    padding: .5em 1em;
    max-width: 24em;
    margin: 0 auto
}

.site-content .img-large-bg-page .content-width {
    max-width: 85%;
    padding: 75px 0 50px
}

@media  (min-width:1024px) {
    .site-content .img-large-bg-page .content-width {
        max-width: 75%;
        padding: 75px 0
    }
}

.site-content .img-large-bg-page .content-width p {
    font-size: 20px
}

.site-content .img-large-bg-page .content-width h1 {
    font-size: 2.7em;
    line-height: 1em;
    text-transform: uppercase;
    padding: .5em 0;
    margin: 0 auto;
    max-width: 90%
}

@media  (min-width:1024px) {
    .site-content .img-large-bg-page .content-width h1 {
        max-width: 80%;
        padding: .5em 1em
    }
}


.page-template-page-homepage .img-large-bg-page .img-bg-page-header { 
    height: 50vw;
    min-height: 800px;
	}


.page-template-page-homepage .img-large-bg-page .img-bg-page-header:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #3c323212;
    z-index: 1
}

.img-large-bg-page .img-bg-page-header {
    height: 30vw;
    min-height: 800px;
    position: relative;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    align-items: center;
}

.img-large-bg-page .img-bg-page-header:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #3c323212;
    z-index: 1
}

.img-large-bg-page .img-bg-page-header .bg-img {
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    z-index: -1;
    -o-object-position: 50% 35%;
    object-position: 50% 35%
}

.img-large-bg-page .img-bg-page-header .page-title {
    color: #fff;
    z-index: 2;
    font-size: 2.12em;
    text-transform: capitalize;

}

@media  (min-width:1024px) {
    .img-large-bg-page .img-bg-page-header .page-title {
        font-size: 2.34em
    }
}



.img-large-bg-page .img-bg-page-header .page-title {
    color: #fff;
    z-index: 2;
    font-size: 2em;
    text-transform: capitalize;

}

@media  (min-width:1024px) {
    .img-large-bg-page .img-bg-page-header .page-title {
        font-size: 2.12em
    }
}



.img-large-bg-page h3 {
    line-height: 1.4em;
    letter-spacing: 1px;
    font-size: 1.38em;
    padding-bottom: 10px;
    text-transform: uppercase
}

.img-large-bg-page p {
    letter-spacing: .01em;
    font-size: 19px
}

figure {
    margin: 0
}

.page_intro {
    padding: 90px 0;
    position: relative
}

@media  (min-width:1024px) {
    .page_intro {
        padding: 5em 0
    }
    .page_intro .restraint {
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

.page_intro h1 {
    margin-bottom: 30px;
    font-size: 2em;
    line-height: 1em;
    z-index: 2
}

@media  (min-width:1024px) {
    .page_intro h1 {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        text-align: left;
        -webkit-box-flex: 0;
        -ms-flex: none;
        flex: none;
        padding-right: 10%;
        width: 38%;
        line-height: 1.01em
    }
}

@media  (min-width:1024px) {
    .page_intro .copy {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        -ms-flex: auto;
        flex: auto;
        font-size: 21px;
        font-size: 2.1rem;
        width: 65%
    }
}

.page_intro .copy p {
    margin-bottom: 1.5rem
}

@media  (min-width:1024px) {
    .page_intro .copy p {
        margin-bottom: 2rem
    }
}

.page_intro .copy p:last-of-type {
    margin-bottom: 0
}

.restraint {
    max-width: 95%;
    margin: 0 auto;
    padding: 0 30px;
    text-align: center
}

@media  (min-width:1024px) {
    .restraint {
        max-width: 90%;
        text-align: left
    }
}

@media  (min-width:1440px) {
    .restraint {
        max-width: 80%
    }
}

@media (min-width:900px) and (max-width:1200px) {
    .restraint {
        padding: 0 3%
    }
}

.site-footer {
    background: #0b2232;
    animation: background 15s ease-in-out infinite;
    z-index: 10
}

.site-footer .content-width {
    max-width: 90%;
    padding: 0;
    margin: 0 auto 30px
}

@media  (min-width:1024px) {
    .site-footer .content-width {
        max-width: 95%
    }
}

.site-footer .footer-top {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    padding-top: 1.877rem
}

.site-footer .footer-top h1, .site-footer .footer-top h2 {
    position: relative;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.12em;
    text-transform: uppercase;
    letter-spacing: 3px;
}
.site-footer .footer-top .column {
    width: 100%;
    color: #fff;
    position: relative;
}


.site-footer .footer-top .column:first-of-type {
    margin-bottom: 30px
}

.site-footer .footer-top .column:nth-child(2) {
    margin-bottom: 65px
}

@media  (min-width:1024px) {
    .site-footer .footer-top .column:nth-child(2) {
        margin-bottom: 90px
    }
}

.site-footer .footer-top .column:last-child {
    margin-bottom: 15px
}

@media  (min-width:1024px) {
    .site-footer .footer-top .column {
        width: 33.333332%;
        padding: 1%
    }
}

.site-footer .footer-top .column p {
    font-size: 17px;
    margin-bottom: 0
}

.site-footer .footer-top .column svg, .site-footer .footer-top .column img {
   width: 100%;
   max-width: 75px;

}

.site-footer .footer-top .social-menu {
    margin-top: 30px
}

.site-footer .footer-top .social-menu .menu {
    color: #fff;
    display: flex;
    justify-content: flex-start;
    align-items: center
}

.site-footer .footer-top .social-menu .menu .menu-item {
    padding: 0 10px 0 0
}

.site-footer .footer-top .social-menu .menu .menu-item svg {
    width: 25px;
    height: 25px
}

.site-footer .footer-top .footer-menu {
    margin-bottom: 0;
    margin-top: 30px
}

.site-footer .footer-top .footer-menu .menu {
    font-size: 17px;
    line-height: 1.5em;
    -webkit-columns: 2;
    -moz-columns: 2;
    column-count: 2
}

@media  (min-width:1024px) {
    .site-footer .footer-top .footer-menu .menu {
        line-height: 1.7em
    }
}

.site-footer .footer-top .footer-menu .menu .link-u {
    border-color: #fff
}

.site-footer .footer-top .footer-menu .menu .btn--footer {
    display: block;
    position: absolute;
    bottom: -60px;
    left: 0;
    width: 100%
}

@media  (min-width:768px) {
    .site-footer .footer-top .footer-menu .menu .btn--footer {
        width: 300px
    }
}

@media  (min-width:1024px) {
    .site-footer .footer-top .footer-menu .menu .btn--footer {
        bottom: -50px;
        left: 15px;
        width: 275px
    }
}

.site-footer .footer-top .widget_mailchimpsf_widget {
    margin-bottom: 0
}

.site-footer .footer-top .widget_mailchimpsf_widget h1 {
    margin: 0 0 10px
}

.site-footer .footer-top .widget_mailchimpsf_widget #mc_subheader {
    margin: 0 0 15px;
    font-size: 14px
}

.site-footer .footer-top .widget_mailchimpsf_widget .mc_form_inside {
    display: flex
}

.site-footer .footer-top .widget_mailchimpsf_widget .mc_form_inside .mc_merge_var,
.site-footer .footer-top .widget_mailchimpsf_widget .mc_form_inside .mc_signup_submit {
    display: inline-block
}

.site-footer .footer-top .widget_mailchimpsf_widget .mc_form_inside .mc_merge_var {
    width: 100%
}

.site-footer .footer-top .widget_mailchimpsf_widget .mc_form_inside .mc_merge_var input[type=text] {
    border: 1px solid #fff;
    height: 60px
}

.site-footer .footer-top .widget_mailchimpsf_widget .mc_form_inside .mc_signup_submit {
    margin-left: 10px
}

.site-footer .footer-top .widget_mailchimpsf_widget .mc_form_inside .mc_signup_submit input[type=submit] {
    border: 1px solid #fff;
    background: transparent;
    color: #fff;
    padding: 10px 30px;
    height: 60px
}

@media  (min-width:1024px) {
    .site-footer .footer-top .widget_mailchimpsf_widget .mc_form_inside .mc_signup_submit input[type=submit] {
        padding: 10px 45px
    }
}

.site-footer .footer-top .widget_mailchimpsf_widget .mc_form_inside .mc_signup_submit input[type=submit]:hover {
    background: #fff;
    color: #000
}

.site-footer .footer-top .widget_mailchimpsf_widget .mc_form_inside #mc_message {
    position: absolute;
    top: 174px;
    font-size: 14px;
}

@media  (min-width:1024px) {
    .site-footer .footer-top .widget_mailchimpsf_widget .mc_form_inside #mc_message {
        top: 200px
    }
}

.site-footer .footer-top .privacy-statement {
    font-size: .7em
}

.site-footer .footer-bottom {
    border-top: 1px solid #fff;
    padding: .9375rem 0;
    font-size: 13px
}

@media  (min-width:1024px) {
    .site-footer .footer-bottom {
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 1.25rem 0 1.875rem
    }
}

.site-footer .footer-bottom .item_nav_menu .menu {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    line-height: 1em;
    margin-bottom: 20px;
    text-align: center
}

.site-footer .footer-bottom .item_nav_menu .menu .menu-item {
    margin: 0;
    padding: 0 .625rem;
    border-right: 1px solid #fff
}

.site-footer .footer-bottom .item_nav_menu .menu .menu-item:first-child {
    padding-left: 0;
    margin-left: 0
}

.site-footer .footer-bottom .item_nav_menu .menu .menu-item:last-child {
    padding-right: 0;
    margin-right: 0;
    border: 0
}

.site-footer .footer-bottom .item_nav_menu .menu .menu-item a {
    font-weight: 500;
    color: #fff;
    font-size: .9rem;
    letter-spacing: .5px
}

.site-footer .footer-bottom .footer-text {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    text-align: center;
    color: #fff
}

@media  (min-width:1024px) {
    .site-footer .footer-bottom .footer-text {
        text-align: right
    }
}

.site-footer .footer-bottom .footer-text a,
.site-footer .footer-bottom .footer-text p {
    font-size: .9rem;
    letter-spacing: .4px;
    line-height: 1.8em
}

@media  (min-width:1024px) {
    .site-footer .footer-bottom .footer-text a,
    .site-footer .footer-bottom .footer-text p {
        line-height: 1.5em
    }
}

.site-footer .footer-bottom .footer-text a {
    border-bottom: 1px solid #fff;
    padding-bottom: 2px
}

.main-hero {
    background-size: cover;
    background-position: 50% 50%;
    width: 100%;
    min-height: 635px
}

@media  (min-width:915px) {
    .main-hero {
        min-height: 62vw;
        background-position: 50%
    }
}

@media  (min-width:1200px) {
    .main-hero {
        min-height: 49vw
    }
}

.main-hero .hero-content {
    display: flex;
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
    flex-direction: column;
    padding: 4em 1.4em;
    margin-top: 5vw;
    max-width: 475px
}

@media  (min-width:768px) {
    .main-hero .hero-content {
        padding: 4em 3em;
        max-width: 540px
    }
}

@media  (min-width:1024px) {
    .main-hero .hero-content {
        padding: 3em 0 0 5.5em;
        margin-top: 6.5vw
    }
}

@media  (min-width:1440px) {
    .main-hero .hero-content {
        max-width: 650px;
        padding: 3em 0 0 6.5em
    }
}

.main-hero .hero-content h1 {
    line-height: 1.04em;
    margin-bottom: 20px;
    font-size: 35px
}

@media  (min-width:1200px) {
    .main-hero .hero-content h1 {
        font-size: 40px
    }
}

@media  (min-width:1440px) {
    .main-hero .hero-content h1 {
        font-size: 47px
    }
}

.main-hero .hero-content p {
    margin-bottom: 30px;
    font-size: 21px
}

.main-content {
    width: 100%
}

@media  (min-width:1200px) {
    .main-content {
        min-height: 49vw
    }
}

.main-content .hero-content {
    position: relative;
    display: flex;
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
    flex-direction: column;
    padding: 4em 1.7em;
    background-color: #000
}

@media  (min-width:768px) {
    .main-content .hero-content {
        padding: 3.5em 3em 0;
        max-width: 550px;
        position: absolute;
        top: 100px;
        background-color: transparent
    }
}

@media  (min-width:1024px) {
    .main-content .hero-content {
        padding: 1em 0 0 5.5em;
        margin-top: 3.5vw
    }
}

@media  (min-width:1440px) {
    .main-content .hero-content {
        max-width: 650px;
        padding: 3em 0 0 6.5em
    }
}

.main-content .hero-content h1 {
    line-height: 1.04em;
    margin-bottom: 20px;
    font-size: 33px;
    color: #fff;
    text-align: center;

}

@media  (min-width:768px) {
    .main-content .hero-content h1 {
        font-size: 40px;
        text-align: left;
        color: #000
    }
}

@media  (min-width:1440px) {
    .main-content .hero-content h1 {
        font-size: 47px
    }
}

.main-content .hero-content p {
    margin-bottom: 30px;
    font-size: 21px;
    color: #fff;
    text-align: center
}

@media  (min-width:768px) {
    .main-content .hero-content p {
        color: #000;
        text-align: left
    }
}

.main-content figure .hero {
    position: relative
}

.main-content figure img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 20%;
    object-position: 50% 20%;
    height: 320px;
    max-height: 600px;
    min-height: 49vw
}

@media  (min-width:420px) {
    .main-content figure img {
        height: 500px
    }
}

.section-intro {
    display: block;
    margin-top: 3em;
    margin-bottom: 4em
}

@media  (min-width:1024px) {
    .section-intro {
        margin-bottom: 3em
    }
}

.section-intro .section-header {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin-top: 1em
}

.section-intro p {
    padding-right: 15px;
    padding-left: 15px;
    margin: 0 auto
}

@media  (min-width:1024px) {
    .section-intro p {
        max-width: 78%;
        font-size: 20px;
        padding-right: 35px;
        padding-left: 35px
    }
}

@media  (min-width:1440px) {
    .section-intro p {
        max-width: 60%
    }
}

.section-intro .grid-offering {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 85px;
    text-align: center;
    padding-right: 30px;
    padding-left: 30px;
    margin-top: 2em
}

@media  (min-width:915px) {
    .section-intro .grid-offering {
        grid-template-columns: repeat(3, 1fr);
        margin: 3em auto 0;
        max-width: 90%;
        grid-gap: 15px
    }
}

@media  (min-width:1024px) {
    .section-intro .grid-offering {
        margin: 3em auto 0;
        max-width: 90%;
        grid-gap: 30px
    }
}

@media  (min-width:1200px) {
    .section-intro .grid-offering {
        max-width: 90%
    }
}

@media  (min-width:1440px) {
    .section-intro .grid-offering {
        max-width: 85%
    }
}

.section-intro .grid-offering .item img {
    max-width: 38%;
    margin: 0 auto 1.5em
}

@media  (min-width:420px) {
    .section-intro .grid-offering .item img {
        max-width: 38%
    }
}

@media  (min-width:768px) {
    .section-intro .grid-offering .item img {
        max-width: 27%
    }
}

@media  (min-width:915px) {
    .section-intro .grid-offering .item img {
        max-width: 65%
    }
}

@media  (min-width:1440px) {
    .section-intro .grid-offering .item img {
        max-width: 60%
    }
}

@media  (min-width:1920px) {
    .section-intro .grid-offering .item img {
        max-width: 50%
    }
}

.section-intro .grid-offering h3 {
    max-width: 55%;
    margin: 0 auto 10px;
    font-size: 27px;
    line-height: 1.15em
}

@media  (min-width:915px) {
    .section-intro .grid-offering h3 {
        max-width: 67%
    }
}

@media  (min-width:1024px) {
    .section-intro .grid-offering h3 {
        font-size: 25px;
        max-width: 61%
    }
}

.section-intro .grid-offering p {
    max-width: 100%;
    font-size: 18px
}

@media  (min-width:768px) {
    .section-intro .grid-offering p {
        max-width: 65%
    }
}

@media  (min-width:915px) {
    .section-intro .grid-offering p {
        max-width: 100%
    }
}

.curve-top {
    width: 100%;
    min-height: 50px
}

@media  (min-width:1024px) {
    .curve-top {
        min-height: 120px
    }
}



.copy_module .container {
    max-width: none;
    width: 100%;
    z-index: 2
}

@media  (min-width:915px) {
    .copy_module .container {
        max-width: 66.66666667%
    }
}

.copy_module .container h2 {
    color: #fff;
    font-size: 2.43em;

}

.copy_module .container p {
    font-size: 19px;
    line-height: 22px;
    color: #fff;
    margin-bottom: 40px;
    margin-top: 20px
}

.approach-feature {
    background: #f9f8f7;
    position: relative
}

.grid-features {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px;
    margin: 0 auto;
    max-width: 100%;
    text-align: center;
    padding-bottom: 1em;
    padding-top: 3em
}

@media  (min-width:1024px) {
    .grid-features {
        grid-template-columns: repeat(2, 1fr);
        max-width: 90%
    }
}

@media  (min-width:1200px) {
    .grid-features {
        grid-template-columns: repeat(3, 1fr)
    }
}

.grid-features .item {
    margin: 30px
}

.grid-features .item img {
    max-width: 170px;
    margin: 0 auto 13px;
    width: 100%
}

.grid-features .item h3 {
    font-size: 27px;
    line-height: 29px;
    text-transform: capitalize
}

.grid-features .item p {
    font-size: 18px;
    line-height: 20px
}

.approach-full {
    min-height: 700px;
    background-size: cover;
    background-position: 75% 50%;
    margin-top: -100px;
    width: 100%
}

@media  (min-width:1024px) {
    .approach-full {
        height: 45vh
    }
}

@media  (min-width:1440px) {
    .approach-full {
        height: 36vw
    }
}

.approach-full .statement-feature {
    position: relative
}

.approach-full .statement-feature h2 {
    overflow: auto;
    position: absolute;
    top: 200px;
    color: #fff;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 8% 14%;
    font-size: 1.75em
}

@media  (min-width:1024px) {
    .approach-full .statement-feature h2 {
        padding: 8% 20%
    }
}

@media  (min-width:1440px) {
    .approach-full .statement-feature h2 {
        padding: 6% 29 0
    }
}

.approach-full-footer {
    min-height: 600px;
    background-size: cover;
    background-position: 75% 50%;
    margin-top: -100px;
    width: 100%;
    position: relative
}

@media  (min-width:1024px) {
    .approach-full-footer {
        height: 45vh
    }
}

@media  (min-width:1440px) {
    .approach-full-footer {
        height: 36vw
    }
}

.approach-full-footer .statement-feature {
    position: relative
}

.approach-full-footer .statement-feature h2 {
    overflow: auto;
    position: absolute;
    top: 200px;
    color: #fff;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 8% 14%;
    font-size: 1.75em;
    line-height: 1em
}

@media  (min-width:1024px) {
    .approach-full-footer .statement-feature h2 {
        padding: 8% 20%
    }
}

@media  (min-width:1440px) {
    .approach-full-footer .statement-feature h2 {
        padding: 8% 29%
    }
}

.approach-full-footer .statement-feature-copy {
    position: relative
}

.approach-full-footer .statement-feature-copy h3 {
    overflow: auto;
    position: absolute;
    top: 200px;
    color: #fff;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 8% 14%;
    font-size: 1.75em
}

@media  (min-width:1024px) {
    .approach-full-footer .statement-feature-copy h3 {
        padding: 8% 20%
    }
}

@media  (min-width:1440px) {
    .approach-full-footer .statement-feature-copy h3 {
        padding: 8% 29%
    }
}

.grid-technologies {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px;
    margin-bottom: 10em
}

@media  (min-width:1024px) {
    .grid-technologies {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 70px;
        margin-bottom: 9em
    }
}

.grid-technologies .item {
    text-align: center
}

.grid-technologies .item h3 {
    line-height: 1.4em;
    letter-spacing: .01em;
    font-size: 1.4em;
    padding-bottom: 0;
    text-transform: capitalize;
    margin-top: 20px
}

@media  (min-width:1024px) {
    .grid-technologies .item h3 {
        text-align: left
    }
}

.grid-technologies p {
    font-size: 20px
}

@media  (min-width:1024px) {
    .grid-technologies p {
        text-align: left
    }
}




/* ABOUT US */

.grid-aboutus {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px;
    margin-bottom: 10em
}

@media (min-width:1024px) {
    .grid-aboutus {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 70px;
        margin-bottom: 9em
    }
}

.grid-aboutus .item {
    text-align: center
}

.grid-aboutus .item h3 {
    line-height: 1.4em;
    letter-spacing: .01em;
    font-size: 1.4em;
    padding-bottom: 0;
    text-transform: capitalize;
    margin-top: 20px
}

@media (min-width:1024px) {
    .grid-aboutus .item h3 {
        text-align: left
    }
}

.grid-aboutus p {
    font-size: 20px
}

@media (min-width:1024px) {
    .grid-aboutus p {
        text-align: left
    }
}

.statement-feature-footer {
    color: #fff;
    text-align: center;
    width: 100%;
    overflow: auto;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    padding: 185px 50px 0
}

@media (min-width:420px) {
    .statement-feature-footer {
        max-width: 750px
    }
}

@media (min-width:1200px) {
    .statement-feature-footer {
        margin-top: 3em
    }
}

@media (min-width:1440px) {
    .statement-feature-footer {
        padding: 11em 0 0;
        max-width: 850px
    }
}

.statement-feature-footer h1 {
    font-size: 2.1em;
    line-height: 1em;
    margin-bottom: 20px
}

@media (min-width:1200px) {
    .statement-feature-footer h1 {
        font-size: 2.251em
    }
}

.statement-feature-footer p {
    font-size: 20px
}

@media (min-width:1200px) {
    .statement-feature-footer p {
        font-size: 24px
    }
}

.people_grid {
    margin-bottom: 2em
}

@media (min-width:1024px) {
    .people_grid {
        margin-bottom: 5.5em
    }
}

.people_grid .grid .row {
    position: relative
}

.people_grid .grid .row.three .container-content .person .container-content {
    height: 100%
}

.people_grid .grid .person {
    background-color: #a1a1a1;
    display: inline-block;
    height: 500px;
    margin-bottom: 40px;
    position: relative;
    width: 100%
}

.people_grid .grid .person .no_hover {
    cursor: default
}

.people_grid .grid .person .container {
    overflow: hidden;
    position: relative;
    height: 100%;
    width: 100%
}

.people_grid .grid .person .media {
    position: absolute;
    height: 100%;
    transition: all .3s ease-in-out;
    width: 100%;
    z-index: 1;
    background-size: cover;
    background-position: 50% 23%
}

.people_grid .grid .person .text {
    color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 40px;
    width: 100%;
    z-index: 2;
    mix-blend-mode: luminosity;
    text-shadow: 0 0 15px rgba(45, 45, 45, .2)
}

.people_grid .grid .person .text .name {
    display: block;
    font-size: 2rem;
    line-height: 1em;
    margin-bottom: 10px;
}

@media (min-width:1024px) {
    .people_grid .grid .person .text .name {
        font-size: 1.5rem
    }
}

@media (min-width:1920px) {
    .people_grid .grid .person .text .name {
        font-size: 2rem
    }
}

.people_grid .grid .person .text .title {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    mix-blend-mode: difference
}

.people_grid .grid .person .desc {
    background-color: #2d2d2d;
    color: #fff;
    height: 100%;
    left: 0;
    opacity: 0;
    padding: 40px 30px;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}

.people_grid .grid .person .desc p,
.people_grid .grid .person .desc span {
    opacity: 0;
    transition: opacity .2s ease-out .25s
}

.people_grid .grid .person .desc .name {
    font-size: 1.5rem;
    margin-bottom: 10px
}

.people_grid .grid .person .desc .title {
    color: #c9c9c9;
    font-size: 1rem;
    font-weight: 700
}

.people_grid .grid .person .desc span {
    display: block
}

.people_grid .grid .person .desc p {
    line-height: 1.7;
    margin-top: 20px
}

.people_grid .grid .person:hover:not(.no_hover) .media {
    transform: scale(1.05)
}

.people_grid .grid .person.active {
    z-index: 5
}

.people_grid .grid .person.active .desc {
    opacity: 1;
    transition: opacity .3s ease-out, width .3s ease-out
}

.people_grid .grid .person.active .desc p,
.people_grid .grid .person.active .desc span {
    opacity: 1
}

@media (min-width:900px) {
    .people_grid .grid .row {
        margin-bottom: 50px
    }
    .people_grid .grid .person {
        margin-bottom: 0;
        width: calc(20% - 25px)
    }
    .people_grid .grid .person .name {
        font-size: 1rem;
        margin-bottom: 10px;
    }
    .people_grid .grid .person .title {
        font-size: .7rem;
        font-weight: 700
    }
    .people_grid .grid .person.double_wide {
        width: calc(40% - 25px)
    }
    .people_grid .grid .person .desc {
        padding: 40px
    }
    .people_grid .grid .person.active.lefty .desc {
        left: auto;
        right: 0;
        width: 200%
    }
    .people_grid .grid .person.active.righty .desc {
        width: 200%
    }
    .people_grid .grid .row.one {
        position: relative
    }
    .people_grid .grid .row.one:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 54.92537%
    }
    .people_grid .grid .row.one>.container-content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }
    .people_grid .grid .row.one .person {
        height: calc(50% - 25px);
        position: absolute
    }
    .people_grid .grid .row.one .person.double_tall {
        height: 100%
    }
    .people_grid .grid .row.one .person.one {
        top: 0;
        left: 0
    }
    .people_grid .grid .row.one .person.two {
        top: 0;
        left: calc(40% + 25px);
        width: calc(40% - 50px)
    }
    .people_grid .grid .row.one .person.three {
        top: 0;
        right: 0
    }
    .people_grid .grid .row.one .person.four {
        bottom: 0;
        left: calc(40% + 25px)
    }
    .people_grid .grid .row.one .person.five {
        bottom: 0;
        right: 0;
        width: calc(40% - 50px)
    }
    .people_grid .grid .row.three .person,
    .people_grid .grid .row.two .person {
        display: block;
        float: left;
        height: 100%;
        position: relative;
        margin-right: 50px
    }
    .people_grid .grid .row.three .person:last-of-type,
    .people_grid .grid .row.two .person:last-of-type {
        margin-right: 0
    }
    .people_grid .grid .row.two {
        position: relative
    }
    .people_grid .grid .row.two:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 25.97015%
    }
    .people_grid .grid .row.two>.container-content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }
    .people_grid .grid .row.two .person:last-of-type {
        width: calc(40% - 50px)
    }
    .people_grid .grid .row.three .container-content {
        display: flex;
        flex-wrap: wrap
    }
}

@media (min-width:1200px) {
    .people_grid .grid .row.one:before {
        padding-top: 57%
    }
    .people_grid .grid .row.three .container-content {
        display: flex;
        flex-wrap: wrap
    }
    .people_grid .grid .row.three .person {
        height: 390px;
        width: calc(40% - 33.33333px);
        margin-right: 50px;
        margin-bottom: 50px
    }
    .people_grid .grid .row.three .person:nth-child(3n) {
        margin-right: 0;
        width: calc(20% - 33.33333px)
    }
    .people_grid .grid .row.three .person:nth-child(3n).active .desc {
        left: auto;
        right: 0;
        width: 200%
    }
    .people_grid .grid .row.three .person:nth-child(3n+1):nth-child(2n) {
        margin-right: 50px;
        width: calc(20% - 33.33333px)
    }
    .people_grid .grid .row.three .person:nth-child(3n+1):nth-child(2n).active .desc {
        width: 200%
    }
    .people_grid .grid .row.three .person:nth-child(6n) {
        width: calc(40% - 33.33333px)
    }
    .people_grid .grid .row.three .person:nth-child(6n).active .desc {
        left: 0;
        right: auto;
        width: 100%
    }
    .people_grid .grid .row.three .person:first-child {
        border: none;
        margin-right: 50px;
        width: calc(40% - 33.33333px)
    }
}

@media (min-width:1400px) {
    .people_grid .grid .row.one .person.double_wide {
        width: calc(37% - 25px)
    }
    .people_grid .grid .row.one .person.two.double_wide {
        left: calc(37% + 25px);
        width: calc(35% - 25px)
    }
    .people_grid .grid .row.one .person.three {
        width: calc(26.5% - 25px)
    }
    .people_grid .grid .row.one .person.four {
        left: calc(37% + 25px);
        width: calc(26.5% - 25px)
    }
    .people_grid .grid .row.one .person.five {
        width: calc(35% - 25px)
    }
    .people_grid .grid .row.three .person {
        height: 500px;
        width: calc(37.5% - 33.33333px)
    }
    .people_grid .grid .row.three .person:nth-child(3n),
    .people_grid .grid .row.three .person:nth-child(3n+1):nth-child(2n) {
        width: calc(25% - 33.33333px)
    }
    .people_grid .grid .row.three .person:first-child,
    .people_grid .grid .row.three .person:nth-child(6n) {
        width: calc(37.5% - 33.33333px)
    }
}


@media (min-width:900px) and (max-width:1200px) {
    .people_grid .grid .person .text {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 20px
    }
    .people_grid .grid .person.double_wide {
        width: calc(33.33333% - 13.33333px)
    }
    .people_grid .grid .row {
        margin-bottom: 20px
    }
    .people_grid .grid .row.one {
        position: relative
    }
    .people_grid .grid .row.one:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 54.92537%
    }
    .people_grid .grid .row.one>.container-content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }
    .people_grid .grid .row.one .person {
        height: calc(50% - 10px)
    }
    .people_grid .grid .row.one .person.two {
        left: calc(33.33333% + 6.66667px);
        width: calc(33.33333% - 13.33333px)
    }
    .people_grid .grid .row.one .person.three {
        top: 0;
        right: 0;
        width: calc(33.33333% - 13.33333px)
    }
    .people_grid .grid .row.one .person.four {
        left: calc(33.33333% + 6.66667px);
        width: calc(33.33333% - 13.33333px)
    }
    .people_grid .grid .row.one .person.five {
        width: calc(33.33333% - 13.33333px)
    }
    .people_grid .grid .row.one .person.active:not(.one) .desc {
        left: 0;
        width: calc(200% + 20px)
    }
    .people_grid .grid .row.one .person.active.five .desc,
    .people_grid .grid .row.one .person.active.three .desc {
        left: auto;
        right: 0;
        width: calc(200% + 20px)
    }
    .people_grid .grid .row.three .person,
    .people_grid .grid .row.two .person {
        margin-right: 20px;
        width: calc(33.33333% - 13.33333px)
    }
    .people_grid .grid .row.three .person:last-of-type,
    .people_grid .grid .row.two .person:last-of-type {
        margin-right: 0
    }
    .people_grid .grid .row.three .person.active .desc,
    .people_grid .grid .row.two .person.active .desc {
        left: 0;
        width: calc(200% + 20px)
    }
    .people_grid .grid .row.three .person.active:nth-child(3n) .desc,
    .people_grid .grid .row.two .person.active:nth-child(3n) .desc {
        left: auto;
        right: 0;
        width: calc(200% + 20px)
    }
    .people_grid .grid .row.two {
        position: relative
    }
    .people_grid .grid .row.two:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 25.97015%
    }
    .people_grid .grid .row.two>.container-content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }
    .people_grid .grid .row.two .person:last-of-type {
        width: calc(33.33333% - 13.33333px)
    }
    .people_grid .grid .row.three .container-content {
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .people_grid .grid .row.three .person {
        position: relative;
        width: calc(33.33333% - 13.33333px);
        margin-right: 20px;
        margin-bottom: 20px
    }
    .people_grid .grid .row.three .person:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 81.23477%
    }
    .people_grid .grid .row.three .person>.container-content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0
    }
    .people_grid .grid .row.three .person:nth-child(3n) {
        margin-right: 0
    }
}

.team-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 30px;
    margin-top: 5em
}

@media  (min-width:768px) {
    .team-grid {
        grid-template-columns: 30% 1fr;
        grid-gap: 85px
    }
}

.team-grid .col-left img {
    width: 100%
}

.team-grid .col-left h2 {
    margin-top: 20px
}

.team-grid .col-left .stat {
    margin-bottom: 15px;
    font-size: 17px;
    line-height: 22px
}

.team-grid .col-left .stat h4 {
    letter-spacing: 2px;
    margin-bottom: 7px;
    position: relative;
    font-weight: 500;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 800;
    line-height: 30px;
    text-rendering: optimizeLegibility;
    cursor: pointer;
    border-bottom: 1px solid #969696
}

.team-grid .col-left .sidebar-specs {
    margin-top: 15px
}

@media  (min-width:768px) {
    .team-grid .col-left .desktop-none {
        display: none
    }
}

.team-grid .col-right .body-copy p {
    line-height: 1.53em
}

.team-grid .col-right .nomobile {
    display: none
}

@media  (min-width:768px) {
    .team-grid .col-right .nomobile {
        display: block
    }
}

.team-grid .col-right h2 {
    font-size: 40px;
    line-height: 1em;
    letter-spacing: .3px
}

.team-grid .col-right h4 {
    font-weight: 400;
    font-size: 20px;
    padding-bottom: 10px
}

.team-grid .col-right .link-u-b {
    border-bottom: 1px solid #c9c9c9;
    padding-top: 2px
}



.feature-right {
    display: flex;
    flex-direction: column-reverse;
    padding: 50px 20px 30px
}

@media  (min-width:915px) {
    .feature-right {
        border-right: 1px solid #c4c4c4;
        padding: 0;
        flex-direction: inherit
    }
}

.feature-right .image {
    padding: 0;
    border: none;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative
}

@media  (min-width:915px) {
    .feature-right .image {
        border-right: 1px solid #c4c4c4;
        padding: 4% 0;
        width: 60%
    }
}

.feature-right .image .divide {
    display: none
}

@media  (min-width:915px) {
    .feature-right .image .divide {
        background-color: #c4c4c4;
        height: 1px;
        left: 0;
        position: absolute;
        display: flex;
        top: 50%;
        width: 100%;
        z-index: 2
    }
}

.feature-right .image figure {
    max-width: none
}

@media  (min-width:915px) {
    .feature-right .image figure {
        max-width: 66.66666667%;
        z-index: 2
    }
}

.image>figure img {
    max-width: 100%;
    z-index: 3
}

.feature-right .module {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    margin-bottom: 30px;
    border: none;
    padding: 40px 20px 20px;
    text-align: center
}

@media  (min-width:915px) {
    .feature-right .module {
        width: 50%;
        margin-bottom: 0;
        text-align: left
    }
}

.border-top,
.feature-left {
    border-top: 1px solid #c4c4c4
}

.feature-left {
    display: flex;
    flex-direction: column;
    padding: 50px 20px 30px;
    border-bottom: 1px solid #c4c4c4
}

@media  (min-width:915px) {
    .feature-left {
        border-right: 1px solid #c4c4c4;
        padding: 0;
        -webkit-box-orient: inherit;
        -webkit-box-direction: inherit;
        -ms-flex-direction: inherit;
        flex-direction: inherit
    }
}

.feature-left .image-left {
    padding: 0;
    border: none;
    width: 100%;
    display: flex;
    align-items: center;
    position: relative
}

@media  (min-width:915px) {
    .feature-left .image-left {
        border-right: 1px solid #c4c4c4;
        padding: 4% 0;
        width: 60%
    }
}

.feature-left .image-left .divide {
    display: none
}

@media  (min-width:915px) {
    .feature-left .image-left .divide {
        background-color: #c4c4c4;
        height: 1px;
        left: 0;
        position: absolute;
        display: flex;
        top: 50%;
        width: 100%;
        z-index: 2
    }
}

.feature-left .image-left figure {
    max-width: none
}

@media  (min-width:915px) {
    .feature-left .image-left figure {
        max-width: 66.66666667%;
        z-index: 2
    }
}

.image-left>figure img {
    max-width: 100%;
    z-index: 3
}

.feature-left .module {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    margin-bottom: 30px;
    border: none;
    padding: 40px 20px 20px;
    text-align: center
}

@media  (min-width:915px) {
    .feature-left .module {
        width: 50%;
        margin-bottom: 0;
        text-align: left
    }
}

.module .container {
    max-width: none;
    width: 100%;
    z-index: 2;
    text-align: left
}

@media  (min-width:915px) {
    .module .container {
        max-width: 66.66666667%
    }
}

.module .container img {
    max-width: 230px;
    margin-bottom: 15px
}

.module .container h3 {
    font-size: 22px;
    line-height: 1.2em;
    margin-bottom: 30px
}

.module .container h4 {
    color: #115270;
    text-transform: uppercase;
    padding-bottom: 3px;
    font-size: 20px;
    letter-spacing: 1px;
    border-bottom: 1px solid #646464
}

.module .container p {
    font-size: 19px;
    line-height: 20px;
    margin-bottom: 20px;
    margin-top: 20px;
    letter-spacing: .4px
}

.module .container p.large {
    font-size: 22px;
    line-height: 1.1em;
    margin-bottom: 30px
}

.module .container p.attribute {
    font-weight: 600;
    font-size: 18px;
    margin: 0
}

.quote {
    position: relative
}

.quote img {
    position: absolute;
    top: -23px;
    left: -24px;
    z-index: -1;
    width: 80px;
    opacity: .1
}

.grid-portfolio {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
    margin-top: 3.5em;
    margin-bottom: 3em;
    padding: 0 20px
}

@media  (min-width:1024px) {
    .grid-portfolio {
        grid-template-columns: repeat(4, 1fr)
    }
}

.grid-portfolio .item img {
    margin-bottom: 13px
}

.grid-portfolio .item h3 {
    font-size: 20px;
    margin-left: 5px
}

.content {
    height: 100%;
    overflow-x: hidden;
    overflow-y: hidden;
    -webkit-clip-path: border-box;
    clip-path: border-box;
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.block {
    position: relative;
    height: 100vh
}

[class*=item-parallax] {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out;
    will-change: transform
}

.item-parallax-media {
    z-index: 1
}

.item-parallax-media img {
    will-change: transform
}

.item-parallax-content {
    z-index: 2
}

.block:first-child .item-parallax-content {
    -webkit-transform: translateY(calc(var(--yBlock-1)*0.5px));
    transform: translateY(calc(var(--yBlock-1)*0.5px))
}

.block:first-child .item-parallax-media img {
    -webkit-transform: translateY(calc(var(--yBlock-1)*0.1px));
    transform: translateY(calc(var(--yBlock-1)*0.1px))
}

.block:nth-child(2) .item-parallax-content {
    -webkit-transform: translateY(calc(var(--yBlock-2)*0.5px));
    transform: translateY(calc(var(--yBlock-2)*0.5px))
}

.block:nth-child(2) .item-parallax-media img {
    -webkit-transform: translateY(calc(var(--yBlock-2)*0.1px));
    transform: translateY(calc(var(--yBlock-2)*0.1px))
}

.block:nth-child(3) .item-parallax-content {
    -webkit-transform: translateY(calc(var(--yBlock-3)*0.5px));
    transform: translateY(calc(var(--yBlock-3)*0.5px))
}

.block:nth-child(3) .item-parallax-media img {

    transform: translateY(calc(var(--yBlock-3)*0.1px))
}

.block:nth-child(4) .item-parallax-content {
    -webkit-transform: translateY(calc(var(--yBlock-4)*0.5px));
    transform: translateY(calc(var(--yBlock-4)*0.5px))
}

.block:nth-child(4) .item-parallax-media img {
    -webkit-transform: translateY(calc(var(--yBlock-4)*0.1px));
    transform: translateY(calc(var(--yBlock-4)*0.1px))
}

.block:nth-child(5) .item-parallax-content {
    -webkit-transform: translateY(calc(var(--yBlock-5)*0.5px));
    transform: translateY(calc(var(--yBlock-5)*0.5px))
}

.block:nth-child(5) .item-parallax-media img {
    -webkit-transform: translateY(calc(var(--yBlock-5)*0.1px));
    transform: translateY(calc(var(--yBlock-5)*0.1px))
}

.flex-container {
    display: flex
}

.centered-content {
    margin: auto
}

.head-large {
    margin-bottom: 5vw;
    font-size: 50px
}

.head-large,
.head-small {
    line-height: 1.2em;
    color: #fff
}

.head-small {
    margin-bottom: 1.5rem;
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: .5em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.feature-copy,
.head-centered {
    text-align: center
}

.feature-copy {
    display: block;
    max-width: 500px;
    margin-right: auto;
    margin-bottom: 1.5rem;
    margin-left: auto;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    font-size: 1rem;
    line-height: 1.8em
}

.copy-white {
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.item-parallax-media {
    overflow: hidden
}

.item-parallax-media img {
    position: absolute;
    top: -10%;
    width: 120%;
    height: 120%;
    -o-object-fit: cover;
    object-fit: cover
}

.section-landing:after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .4);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1
}

@media  (min-width:1024px) {
    .section-landing:after {
        width: 65%;
        background: rgba(0, 0, 0, .7)
    }
}

.landing-content {
    padding: 10%;
    color: #fff
}

@media  (min-width:1024px) {
    .landing-content {
        padding: 0 13% 0 40%
    }
}

.img-grid {
    flex-direction: column;
    -ms-flex-pack: distribute;
    justify-content: space-around
}

.img-gridItem {
    position: relative;
    width: 100%;
    max-width: 800px;
    margin-right: auto;
    margin-left: auto
}

.img-gridItem img {
    display: block;
    width: 50%;
    height: 40vh;
    -o-object-fit: cover;
    object-fit: cover;
    will-change: transform;
    -webkit-backface-visibility: visible;
    backface-visibility: visible
}

.img-gridItem.type-left img {
    margin-right: auto
}

.img-gridItem.type-right img {
    margin-left: auto
}

.img-gridItem:first-child img {
    -webkit-transform: translateX(calc(var(--yBlock-4)*-0.03%));
    transform: translateX(calc(var(--yBlock-4)*-0.03%))
}

.img-gridItem:nth-child(2) img {
    -webkit-transform: translateX(calc(var(--yBlock-4)*0.03%));
    transform: translateX(calc(var(--yBlock-4)*0.03%))
}

.img-caption {
    position: absolute;
    top: 50%;
    width: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.img-caption * {
    text-align: left;
    padding-right: 1.5rem;
    padding-left: 1.5rem
}


.page-template-page-inquiries .contact-page-aside {
    grid-column: 1/-1;
    font-size: 18px;
    line-height: 1.33
}

@media  (min-width:1024px) {
    .page-template-page-inquiries .contact-page-aside {
        grid-column: 3/4
    }
}

.page-template-page-inquiries .contact-page-aside h2 {
    border-bottom: none;
    padding-bottom: 0
}

.page-template-page-inquiries .contact-page-aside p {
    margin-bottom: 20px
}

.page-template-page-inquiries .contact-page-aside a {
    display: inline-block;
    margin-bottom: 10px
}

.page-template-page-contact .footer-form {
    margin-top: 4em
}

.container-slider {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    width: 90%;
    margin-bottom: 3em
}

@media  (min-width:1024px) {
    .container-slider {
        width: 80%;
        margin-bottom: 4.5em
    }
}

@media  (min-width:1440px) {
    .container-slider {
        width: 70%
    }
}

.row-slider {
    margin-right: -15px;
    margin-left: -15px
}

.col-sm-5 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px
}

@media  (min-width:1024px) {
    .col-sm-5 {
        float: left;
        width: 41.66666667%
    }
}

.col-sm-7 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px
}

@media  (min-width:1024px) {
    .col-sm-7 {
        float: left;
        width: 58.33333333%
    }
}

.slide-detail {
    text-align: left
}

#customers-testimonials .item {
    padding: 0;
    transition: all .3s ease-in-out
}

@media  (min-width:1024px) {
    #customers-testimonials .item {
        padding: 50px
    }
}

.big-title {
    font-size: 21px
}

.complication {
    display: none
}

@media  (min-width:1024px) {
    .complication {
        display: block;
        position: absolute;
        width: 200px;
        height: 200px;
        top: 0;
        left: 0;
        transform-origin: center;
        transform: rotate(0deg) translate(-15px, -25px);
        z-index: 0;
        transition: all .5s;
        will-change: transform
    }
}

.complication span {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transform-origin: center;
    transform: rotate(0deg);
    background: #e0dedc;
    transition: all .5s;
    border-radius: 4px
}




.error404 .content-area .error-404 {
    overflow: hidden
}

.error404 .content-area .error-404 .page-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 60vh;
    text-align: center;
    position: relative
}

.error404 .content-area .error-404 .page-header h1,
.error404 .content-area .error-404 .page-header h2,
.error404 .content-area .error-404 .page-header h3 {
    color: #fff
}

.error404 .content-area .error-404 .page-header h1 {
    font-size: 40px
}

@media  (min-width:1024px) {
    .error404 .content-area .error-404 .page-header h1 {
        font-size: 50px
    }
}



.error404 .content-area .error-404 .page-header .bg-img {
    position: absolute;
    top: -160px;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: -1;
    min-height: 80vh;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top
}

.sticky-bg-wrap {
    height: 100%;
    width: 100%;
    position: relative
}

.sticky-bg-wrap .page-content {
    position: relative;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 0;
    background-color: #fff
}

@media  (min-width:1024px) {
    .sticky-bg-wrap .page-content {
        margin-top: 27rem;
        max-width: 1300px
    }
}

@media  (min-width:1200px) {
    .sticky-bg-wrap .page-content {
        max-width: 1190px
    }
}

@media  (min-width:1440px) {
    .sticky-bg-wrap .page-content {
        max-width: 1440px
    }
}

@media  (min-width:1600px) {
    .sticky-bg-wrap .page-content {
        max-width: 1600px
    }
}

.sticky-bg-wrap .page-content .page {
    padding: 4rem 0 0
}

@media  (min-width:1024px) {
    .sticky-bg-wrap .page-content .page {
        padding-right: 0;
        padding-left: 0
    }
}

.sticky-bg-wrap .page-content .page .content-width {
    padding-right: 2rem;
    padding-left: 2rem
}

@media  (min-width:1024px) {
    .sticky-bg-wrap .page-content .page .content-width {
        padding-right: 0;
        padding-left: 0
    }
}

.sticky-bg-wrap .page-content .page h2 {
    font-size: 40px;
    line-height: 42px;
    letter-spacing: .5px;
    margin-bottom: 30px
}

@media  (min-width:768px) {
    .sticky-bg-wrap .page-content .page h2 {
        font-size: 45px
    }
}

.sticky-bg-wrap .page-content .page p {
    font-size: 20px;
    margin-bottom: 20px
}

html {
    opacity: 1;
    transition: opacity 1s ease-in-out;
    visibility: visible
}


.newsletter-grid {
    display: grid;
    grid-template-columns: 60% 40%;
    grid-gap: 1px
}






/* ============
	WP FORMS 
	============ */
	
.btn-form {
	padding: 30px 50px;
	width: 100%;
 }

.wpforms-container select, .wpforms-container select {
	height: 58px;
    border-radius: 0;
}

div.wpforms-container-full .wpforms-form .wpforms-field-divider {
    border-top: 0 ;
    padding: 13px ;
    background: #000 ;
    color: #fff ;

    text-transform: capitalize ;
    letter-spacing: 0 ;
    font-weight: 300 ;
    font-size: 23px ;
    margin-bottom: 17px ;
}

div.wpforms-container-full .wpforms-form .wpforms-field-divider h3 {
    color: #fff ;
    padding-top: 0 ;
    font-size: inherit ;
    font-weight: 300 ;
    padding: 0;
    margin: 0;
    text-transform: capitalize;
    font-weight: 300;
    letter-spacing: 0;
}


wpforms-container ::-webkit-input-placeholder { /* Chrome and Safari */
   color: #999 ;
}
 
.wpforms-container :-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color: #999 ;
   opacity: 1 ;
}
 
.wpforms-container ::-moz-placeholder { /* Mozilla Firefox 19+ */
   color: #999 ;
   opacity: 1 ;
}
 
.wpforms-container :-ms-input-placeholder { /* Internet Explorer 10-11 */
   color: #999 ;t;
}
 
.wpforms-container ::-ms-input-placeholder { /* Microsoft Edge */
   color: #999 ;
}
 
.wpforms-container ::placeholder {
   color: #999 ;
}

/* homepage */


.container-home {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
  margin-right: auto;
  margin-left: auto;
}

.container-grid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 767px) {
  .container-grid {
    max-width: 81%;
  }
}


.home-feature-desc {
  font-size: 18px;
  display: contents;
}

@media (max-width: 600px) {
  .mobile-feature {
    min-height: 52vw;
    max-height: 52vw;
    object-fit: cover;
    object-position: center;
  }
}

h1.title {
  z-index: 9;
}

.figure-img {
  min-height: 30vh;
  height: 30vh;
  max-height: 30vh;
  background-size: cover;
  background-position: center;
}

@media (min-width: 767px) {
  .figure-img {
    min-height: 24vh;
    height: 24vh;
    max-height: 24vh;
  }
}

@media (min-width: 992px) {
  .figure-img {
    min-height: 325px;
    height: 325px;
    max-height: 325px;
  }
}

@media (min-width: 1024px) {
  .figure-img {
    min-height: 275px;
    height: 275px;
    max-height: 275px;
    background-size: cover;
    background-position: center;
  }
}

.practice-areas-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 50px;
}

@media (min-width: 1024px) {
  .practice-areas-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.card-content {
  background: #162531;
  color: #fff;
  text-align: center;
}

.card-content .content {
  padding: 60px;
}



/* MAIN SWIPER */

.global .swiper-container {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  height: 80vh;
}
@media (min-width: 1024px) {
.global .swiper-container {
  max-height: 80vh;
  min-height: 80vh;
  }
}
.global .swiper-slide img {
  width: 100%;
  height: 100%;
  transition: transform 0.5s ease;
  opacity: 0.4;
  object-fit: cover;
  z-index: 1;
  max-height: 80vh;

}

@media (min-width: 1024px) {
.global .swiper-slide img, .global .swiper-slide>video {
  min-height: 80vh;
    max-height: 80vh;
  }
}
.global .swiper-slide-active img {
  transform: scale(1);
  opacity: 1;
}

.global .heading {
  position: absolute;
  bottom: 20%;
  left: 5%;
  width: 100%;

  z-index: 2;
  pointer-events: none;
}

.global .heading h2 {
  text-transform: capitalize;
  font-size: 39px;
  margin-bottom: 20px;
  line-height: 1.1;
  color: white;
  width: 100%;
  max-width: none;
  max-width: 80%;
  z-index: 3;
  pointer-events: all;
}

@media (min-width: 1024px) {
  .global .heading h2 {
    max-width: 45%;
    font-size: 45px;
  }
}


.global .heading h3 {
  font-size: 22px;
  max-width: 80%;
  line-height: 1.1;
  color: #fff;
  width: 100%;
  max-width: none;
  font-weight: 700;
  z-index: 3;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  pointer-events: all;
}

@media (min-width: 1024px) {
  .global .heading h3 {
    max-width: 65%;
  }
}

.global .heading p {
  font-size: 24px;
  line-height: 1.4;
  color: #fff;
  width: 100%;
  max-width: none;
  z-index: 3;
  pointer-events: all;
}

@media (min-width: 1024px) {
  .global .heading p {
    max-width: 39%;
  }
}
.global .heading a {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 300;
  color: #fff;
  text-decoration: underline;
  letter-spacing: 0.2em;
  text-transform: uppercase;
    text-decoration: none;
    width: 300px;
    display: flex;
    justify-content: center;
    height: 60px;
    background: #000;
    align-items: center;
    border-radius: 3px;
}

/* Apply gradient overlay */
.global .swiper-slide::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%; 
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
  pointer-events: none; 
  z-index: 1;
}
.global .swiper-slide video {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

/* ATTORNEY SPOTLIGHT  QUOTE */

.attorney-spotlight {
  position: relative;
  width: 100%;
}
.image-container {
  width: 100%;
  position: relative;
}

.image-container img {
  min-height: 600px;
  height: 100%;
  width: 100%;
  display: block;
  object-fit: cover;
  object-position: 18% 57%;
  max-height: 800px;
}
@media (min-width: 992px) {
.image-container img {
  min-height: 695px;
  height: 100%;
  width: 100%;
  display: block;
  object-fit: cover;
  object-position: 98% 50%;
  max-height: 695px;
}
	}
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
}

.quote-card {
  color: #000;

  font-weight: 300;
  padding: 50px;
  max-width: 700px;
  min-width: 300px;
  width: 100%; /* Allows flexibility */
  text-align: left;
}

@media (min-width: 767px) {
  .quote-card {
    color: #fff;
    width: 80%; /* Allows flexibility */
  }
}

.quote-card h2 {
  font-size: 33px;
  font-weight: 300;
  line-height: 1.1;
    padding-bottom: 10px;
}
.quote-card h3 {
  margin-top: 10px;
  font-size: 25px;
  font-weight: 300;
}
.quote-card p {
    font-size: 13px;
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 2.3px;
    line-height: 1.7;
}
.quote-card .icon {
  width: 25px;
  height: 25px;
  margin-top: 10px;
      filter: invert(1);
}

@media (min-width: 767px) {
  .quote-card {
    position: absolute;
    top: 50%;
    left: 75%;
    transform: translate(-50%, -50%);
    padding: 20px 45px 20px 30px;
  }
}
@media (min-width: 1024px) {
  .quote-card {

    padding: 20px 75px 20px 30px;
  }
}
/* Coverflow Swiper */

.custom-swiper-container {
  overflow: hidden;
  width: 100%;
  padding-bottom: 40px;
  margin: 3em 0 5em;
}
@media (min-width: 767px) {
.custom-swiper-container {
	margin: 3em 0 8em;
  }
}





/* Centering the active slide */
.custom-swiper-container .swiper-wrapper {
  display: flex;
  align-items: center;
}

.custom-swiper-container .swiper-slide {
  width: 60vw;
  height: 600px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

/* Overlay for Dark Effect */
.custom-swiper-container .swiper-slide::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
}

/* Slide Image */
.custom-swiper-container .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Left-aligned, vertically centered text */
.custom-swiper-container .swiper-slide .content {
  position: absolute;
  top: 50%;
  left: 50px;
  transform: translateY(-50%); /* Centers vertically */
  text-align: left;
  color: #fff;
  padding: 15px;
  max-width: 80%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center; /* Ensures text stays centered */
}

.custom-swiper-container .swiper-slide .title {
  font-size: 45px;
  font-weight: bold;
  margin-bottom: 5px;
}

/* Left-aligned, vertically centered text */
.custom-swiper-container .swiper-slide .content {
  position: absolute;
  top: 50%;
  left: 50px;
  transform: translateY(-50%); /* Centers vertically */
  text-align: left;
  color: #fff;
  padding: 15px;
  max-width: 80%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center; /* Ensures text stays centered */
}

.custom-swiper-container .swiper-slide h2 {
  font-size: 2.1rem;
  line-height: 1.2;
  font-weight: 300;
  max-width: 60%;
}

.custom-swiper-container .swiper-slide h3 {
  font-size: 1em;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.custom-swiper-container .swiper-slide a {
  font-size: 22px;
  text-transform: uppercase;
}

/* Responsive Adjustments */
@media (max-width: 1024px) {
  .custom-swiper-container .swiper-slide {
    width: 80vw ;
    height: 500px;
  }
}

@media (max-width: 768px) {
  .custom-swiper-container .swiper-slide {
    width: 85vw ;
    height: 400px;
  }
}

@media (max-width: 480px) {
  .custom-swiper-container .swiper-slide {
    width: 90vw ;
    height: 350px;
  }
}

.swiper-button-next,
.swiper-button-prev {
  color: #fff;
}

.container .heading {
	text-align: center;
}

.container .heading h2 {
	text-transform: capitalize;
	font-size: 2em;
	margin: 0 auto;
	width: 100%;
	padding: 2em 25px .5em;
}


.home-intro {
	margin: 3em auto;
	width: 100%;
	padding: 0 25px 1em;
}

.home-intro h3 {
	font-size: 21px;
    text-align: center;
    margin-top: 1em;
    margin-bottom: 2em;
    line-height: 1.4;
}


	.latest-news .heading h2 {
	margin: 3em auto 2em;
	text-align: center;
	text-transform: capitalize;
	font-size: 2em;
}




/* PRACTICE AREAS */

.practice-areas-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.practice-area-item {
    background-color: #f7f7f7;
    padding: 1.5rem;
    border-radius: 8px;
    transition: transform 0.2s ease;
}

.practice-area-item:hover {
    transform: translateY(-5px);
}

.practice-area-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    margin-bottom: 1rem;
}

.practice-area-title {
    font-size: 1.25rem;
    font-weight: 600;
}


/* Header Interior */
.hero-main {
  position: relative;
  color: #fff;
  overflow: hidden;
  height: 600px; /* removed stray slash */
}

.hero-main::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background: rgba(0,0,0,0.24);        
  z-index: 2;
}

.hero-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0;
  animation: fadeIn 1s ease forwards;
}

.hero__container {
  position: absolute;
  bottom: 12%;
  margin: 0 4em;
  transform: translateY(-50%);
  z-index: 2;
  width: 100%;
}

.hero__title {
  font-size: 2.3rem;
  margin: 0;
  opacity: 0;
  animation: fadeIn 1s ease forwards;
  animation-delay: 0.6s;
  font-weight: normal;
}
.hero-page-title {
  color: #fff;
  margin: 0px 2rem; /* spacing between button and title */
  font-size: 1.4rem;
  opacity: 0;
  animation: fadeIn 1s ease forwards;
  animation-delay: 1.6s;
  white-space: nowrap; /* Prevent wrapping */
}
.hero__cta {
  position: absolute;
  bottom: 0;
  width: 100%;
  border-top: 1px solid rgba(255,255,255,0.5);
  z-index: 2;
}

.hero__cta .hero__wrapper {
  display: flex;
  align-items: center;
  height: 5rem;
  margin: 0 4em;
}

.header-btn {
  color: #fff;
  text-decoration: none;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  display: flex;
  align-items: center;
  transition: color 0.3s ease;
  opacity: 0;
  animation: fadeIn 1s ease forwards;
  animation-delay: 1.2s;
  font-weight: normal;
}

.header-btn svg {
  margin-left: 1rem;
  width: 24px;
  height: 24px;
  stroke: currentColor;
  fill: none;
  transition: transform 0.3s ease;
}

.header-btn:hover svg {
  transform: translateX(6px);
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
  .hero-main {
    height: 580px;
  }

  .hero__title {
    font-size: 2rem;
    line-height: 1;
   
  }

  .hero__cta .hero__wrapper {
    height: 4rem;
  }
}

@media (min-width: 1024px) {
  .hero-main {
    height: 600px;
  }

  .hero__container .wrapper,
  .hero__cta .hero__wrapper {
  
  }

  .hero__title {
    font-size: 2rem;
    max-width: 55%;
  }
}



/* Practice Areas Complete Styling - ADA Accessible */

/* Breadcrumb Navigation - ADA Accessible */
.breadcrumb {
    margin-bottom: 2rem;
    padding: 1rem 0;
    border-bottom: 1px solid #e0e0e0;
    font-size: 14px;
}

.breadcrumb a {
    color: #0073aa;
    text-decoration: underline;
  
}

.breadcrumb a:hover,
.breadcrumb a:focus {
    color: #005a87;
    outline: 2px solid #0073aa;
    outline-offset: 2px;
}

.breadcrumb .separator {
    margin: 0 0.5rem;
    color: #000;
}

.breadcrumb .current {
    color: #000;
    font-weight: 500;
}

/* Category Header */
.category-header {
    margin-bottom: 3rem;
    text-align: left;
}

.category-header h1 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
  
}

.category-description {
    font-size: 1.1rem;
    line-height: 1.6;

}

/* Practice Areas Featured Grid */
.practice-areas-featured {
    margin: 2em auto;
    width: 100%;
    padding: 0 15px;
}

@media (min-width: 767px) {
    .practice-areas-featured {
        max-width: 80%;
    }
}

/* Main Featured Grid */
.featured-grid__inner {
    margin: 0 auto;
    width: 100%;
    display: grid; 
    grid-gap: 30px; 
    margin-bottom: 5em;
    padding: 3em 15px;
} 

@media (min-width: 662px) { 
    .featured-grid__inner { 
       
    } 
}     

@media (min-width: 1024px) { 
    .featured-grid__inner { 
        grid-gap: 15px; 
        grid-template-columns: repeat(2, 1fr); 
        width: 90%;
    } 
}     



/* Grid Items */
.post-grid__item { 
    box-sizing: border-box; 
    display: flex; 
    width: 100%;
    padding: 0 15px;
} 

@media (min-width: 768px) { 
    .post-grid__item { 
        padding: 0;
    } 
}     

/* Grid Cards */
.grid-card { 
    height: auto; 
    margin-top: 0; 
    width: 100%;
    display: flex; 
    flex-flow: column nowrap;
    transition: all 500ms ease-in-out;;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
} 

.grid-card:hover,
.grid-card:focus-within {
  
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

/* Card Link Wrapper - ADA Accessible */
.grid-card__link-wrapper { 
    display: flex; 
    flex-flow: column nowrap;
    height: 100%; 
    touch-action: manipulation;
    text-decoration: none;
    color: inherit;
    border-radius: 8px;
    transition: all 0.3s ease;
} 

.grid-card__link-wrapper:focus {
    outline: 3px solid #0073aa;
    outline-offset: 2px;
}

.grid-card__link-wrapper:hover {
    text-decoration: none;
}

/* Thumbnail Container */
.grid-card__thumbnail { 
    background-color: #f5f5f5; 
    position: relative; 
    width: 100%;
    overflow: hidden;
    padding-top: 53.8451345%; /* Maintains aspect ratio */
}

/* Images - Accessible and Responsive */
.grid-card__thumbnail img { 
    position: absolute; 
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.grid-card:hover .grid-card__thumbnail img {
    transform: scale(1.05);
}

/* Card Header */
.grid-card__header {
    background: #131929;
    color: #fff;
    text-align: left;
    padding: 0 35px;
    height: 120px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Card Titles - ADA Accessible */
h3.grid-card__title {
    font-size: 29px;
    margin: 0 0 5px 0;
    line-height: 1.3;
    color: #fff;
    font-weight: 300;
}

.grid-card__category {
    font-size: 12px;
    color: #fff;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 2px;
    
}



.cta-button:focus {
    outline: 3px solid #ffbf47;
    outline-offset: 2px;
}

/* Empty State */
.no-practice-areas {
    text-align: center;
    padding: 3rem 2rem;
    background: #f8f9fa;
    border-radius: 8px;
    margin: 2rem 0;
}

.back-link {
    color: #0073aa;
    text-decoration: underline;
    font-weight: 500;
}

.back-link:hover,
.back-link:focus {
    color: #005a87;
    outline: 2px solid #0073aa;
    outline-offset: 2px;
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    .grid-card__header {
        background: #000;
        border: 2px solid #fff;
    }
    
    .grid-card__title,
    .grid-card__category {
        color: #fff;
    }
    
    .cta-button {
        border-width: 3px;
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .grid-card,
    .grid-card__link-wrapper,
    .grid-card__thumbnail img,
    .cta-button {
        transition: none;
    }
    
    .grid-card:hover {
        transform: none;
    }
    
    .grid-card:hover .grid-card__thumbnail img {
        transform: none;
    }
}

/* Focus Indicators for Keyboard Navigation */
.grid-card__link-wrapper:focus-visible {
    outline: 3px solid #ffbf47;
    outline-offset: 3px;
    border-radius: 8px;
}

/* Mobile Responsive Adjustments */
@media (max-width: 767px) {
    .category-header h1 {
        font-size: 2rem;
    }
    
    .featured-grid__inner {
        grid-template-columns: 1fr;
        padding: 2rem 15px;
    }
    
    .grid-card__header {
        padding: 15px;
    }
    
    h3.grid-card__title {
        font-size: 1.1em;
    }
    
    .category-cta {
        padding: 2rem 1rem;
        margin-top: 3rem;
    }
    
    .cta-content h2 {
        font-size: 1.5rem;
    }
}

/* Print Styles */
@media print {
    .breadcrumb,
    .category-cta {
        display: none;
    }
    
    .grid-card {
        break-inside: avoid;
        box-shadow: none;
        border: 1px solid #ccc;
    }
}


/* Home - Attorney Feature */

.attorney-spotlight {
  padding: 40px 0;
}
.attorney-container {
  width: 100%;
  padding: 0 20px;
  margin: 0 auto;
}
@media (min-width:992px) {
  .attorney-container {
    display: flex;
    padding: 0 100px;
  }
}
.attorney-feature-image img {
  width: 100%;
  height: 100%;
  min-height: 54vw;
  max-height: 800px;
  object-fit: cover;
  display: block;
}
.attorney-feature-image {
  flex: 1;
}
.attorney-content {
  flex: 1;
  background: #f8f6f3;
  padding: 3em 45px 6em;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (min-width:992px) {
  .attorney-content {
    padding: 2em 100px;
	background-color: #f0eeeb;
    font-size: 24px;
    font-weight: 300;
    margin-bottom: 20px;
  }
}
.attorney-content h2 {

  font-size: 40px;
  margin: 0 0 5px;
}
.attorney-content h3 {
	
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 20px;
  font-weight: 400;
  margin: 0;
}
.attorney-content p {
  padding-bottom: 1em;
}








.header--homepage {
    min-height: 75vmin
}


.header--homepage .header__background {
    background-position: center;
}

@media (min-width: 967px) {
	.header--homepage .header__background {
		    background-attachment: fixed;
	}
}

.header--homepage .header__background:before {
    /* background: rgba(0, 0, 0, .15);  add back in to darken image background */
    background-image: none;
    z-index: 1
}

.header--homepage .hero-overlay svg {
    right: 
}

@media (min-width: 767px) {
	.header--homepage .hero-overlay svg {
	    right: 0
	}
}

.header--homepage .hero-overlay path {
    transform: translateX(100%) rotate(-18deg)
}

.header--homepage .hero-overlay__container {
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%;
    max-width: 65%;
    left: auto ;
    right: 0;
}

@media (min-width:800px) {
    .header--homepage .hero-overlay__container {
        display: block
    }
}

.header--homepage .hero__content {
    width: 400px;
    font-size: 2.4em;
    color: #fff;
}

@media (min-width: 767px) {
	.header--homepage .hero__content {
	    width: 500px;
	    font-size: 51px;
	    line-height: 53px;
	}
}

@media (min-width: 967px) {
	.header--homepage .hero__content {
	    width: 800px;
	    font-size: 50px;
	    line-height: 60px;
	}
}
.header--homepage .hero-content {
    z-index: 1;
    position: absolute;
    top: 25%;
    left: 8%;
    /*transform: translate3d(-50%, -50%, 0);
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: 1/1/1/1 */
}

.header--homepage .hero-callout {
    background-color: #f0f0f0;
    background-size: 100%;
    padding: 4.5rem;
    position: relative;
    text-align: center;
    z-index: 1
}