/* ------------------------------

 GM.COM Global Styles

------------------------------  */
/* ------------------------------------------------ 

        CSS COMPONENT IMPORTS 

------------------------------------------------ */
@import url('/etc/designs/gbs/sites/gmcom/v-4/theme/css/header.css');
@import url('/etc/designs/gbs/sites/gmcom/v-4/theme/css/footer.css');
@import url('/etc/designs/gbs/sites/gmcom/v-4/components/css/card.css');
@import url('/etc/designs/gbs/sites/gmcom/v-4/components/css/image-text.css');
@import url('/etc/designs/gbs/sites/gmcom/v-4/components/css/scroll-jack.css');
@import url('/etc/designs/gbs/sites/gmcom/v-4/components/css/scroll-jack-x.css');
@import url('/etc/designs/gbs/sites/gmcom/v-4/components/css/custom-swipers.css');
@import url('/etc/designs/gbs/sites/gmcom/v-4/components/css/hero.css');
@import url('/etc/designs/gbs/sites/gmcom/v-4/components/css/ev-filter.css');
@import url('/etc/designs/gbs/sites/gmcom/v-4/components/css/mol-listing.css');
@import url('/etc/designs/gbs/sites/gmcom/v-4/components/css/video-expand.css');
@import url('/etc/designs/gbs/sites/gmcom/v-4/components/css/zero-image.css');

/* ------ Font Awesome ------ */
@import url('/etc/designs/gbs/sites/gmcom/v-4/core/css/fontawesome/css/all.min.css');

/* ------ Font Family ------ */
@font-face {
    font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-thin.eot'); /* IE9 Compat Modes */
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-thin.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-thin.woff2') format('woff2'), /* Super Modern Browsers */
         url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-thin.woff') format('woff'), /* Pretty Modern Browsers */
         url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-thin.ttf')  format('truetype'); /* Safari, Android, iOS */
    font-weight: 200;
    font-style: normal;
}
  
@font-face {
    font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-thin-italic.eot');
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-thin-italic.eot?#iefix') format('embedded-opentype'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-thin-italic.woff2') format('woff2'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-thin-italic.woff') format('woff'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-thin-italic.ttf')  format('truetype');
    font-weight: 200;
    font-style: italic;
}
  
@font-face {
    font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extralight.eot');
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extralight.eot?#iefix') format('embedded-opentype'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extralight.woff2') format('woff2'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extralight.woff') format('woff'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extralight.ttf')  format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extralight-italic.eot');
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extralight-italic.eot?#iefix') format('embedded-opentype'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extralight-italic.woff2') format('woff2'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extralight-italic.woff') format('woff'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extralight-italic.ttf')  format('truetype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-light.eot');
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-light.eot?#iefix') format('embedded-opentype'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-light.woff2') format('woff2'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-light.woff') format('woff'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-light.ttf')  format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-light-italic.eot');
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-light-italic.eot?#iefix') format('embedded-opentype'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-light-italic.woff2') format('woff2'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-light-italic.woff') format('woff'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-light-italic.ttf')  format('truetype');
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-regular.eot');
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-regular.eot?#iefix') format('embedded-opentype'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-regular.woff2') format('woff2'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-regular.woff') format('woff'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-regular.ttf')  format('truetype');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-italic.eot');
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-italic.eot?#iefix') format('embedded-opentype'),
            url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-italic.woff2') format('woff2'),
            url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-italic.woff') format('woff'),
            url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-italic.ttf')  format('truetype');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-semibold.eot');
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-semibold.eot?#iefix') format('embedded-opentype'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-semibold.woff2') format('woff2'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-semibold.woff') format('woff'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-semibold.ttf')  format('truetype');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-semibold-italic.eot');
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-semibold-italic.eot?#iefix') format('embedded-opentype'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-semibold-italic.woff2') format('woff2'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-semibold-italic.woff') format('woff'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-semibold-italic.ttf')  format('truetype');
    font-weight: 600;
    font-style: italic;
}
@font-face {
    font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-bold.eot');
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-bold.eot?#iefix') format('embedded-opentype'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-bold.woff2') format('woff2'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-bold.woff') format('woff'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-bold.ttf')  format('truetype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-bold-italic.eot');
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-bold-italic.eot?#iefix') format('embedded-opentype'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-bold-italic.woff2') format('woff2'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-bold-italic.woff') format('woff'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-bold-italic.ttf')  format('truetype');
    font-weight: 700;
    font-style: italic;
}
@font-face {
    font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extrabold.eot');
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extrabold.eot?#iefix') format('embedded-opentype'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extrabold.woff2') format('woff2'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extrabold.woff') format('woff'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extrabold.ttf')  format('truetype');
    font-weight: 800;
    font-style: normal;
}
@font-face {
    font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extrabold-italic.eot');
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extrabold-italic.eot?#iefix') format('embedded-opentype'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extrabold-italic.woff2') format('woff2'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extrabold-italic.woff') format('woff'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-extrabold-italic.ttf')  format('truetype');
    font-weight: 800;
    font-style: italic;
}


@font-face {
    font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-heavy.eot');
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-heavy.eot?#iefix') format('embedded-opentype'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-heavy.woff2') format('woff2'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-heavy.woff') format('woff'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-heavy.ttf')  format('truetype');
    font-weight: 900;
    font-style: normal;
}
@font-face {
    font-family: 'overpass';
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-heavy-italic.eot');
    src: url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-heavy-italic.eot?#iefix') format('embedded-opentype'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-heavy-italic.woff2') format('woff2'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-heavy-italic.woff') format('woff'),
        url('/etc/designs/gbs/sites/gmcom/v-4/theme/fonts/overpass/overpass-heavy-italic.ttf')  format('truetype');
    font-weight: 900;
    font-style: italic;
}
/* ------ Reset Styles ------ */
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td {
    margin: 0;
    padding: 0;
}


/* ------ Default Styles ------ */
*,*::before,*::after{
	box-sizing:inherit;
}
html {
	line-height:1;
	-ms-text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
    /* root size - 1 rem  */
    font-size: 16px; 
    scroll-behavior: smooth;
}

body {
	margin:0;
    padding: 0;
    font-family: overpass, sans-serif;
    font-weight: normal;
    color: #000;
    background: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; 
}

.gbs-page-body{padding: 129px 0 0 0;}
@media screen and (max-width: 63.9375em) {
    .gbs-page-body{padding: 90px 0 0 0;}
}

.is-visible {
    display: block !important;
}
.is-hidden {
    display: none !important;
}

.is-desktop{display: block;}
.is-mobile{display: none;}
@media screen and (max-width: 39.9375em) {
    .is-desktop{display: none;}
    .is-mobile{display: block;}
}   

/*This is for swipers that extend the container, use on channelbox */
.overflow-hidden {
    overflow: hidden;
}

/* ------ Section Styles ------ */
.primary-section {
    background-color: #fff;
    color: #000;
}

.dark-section {
    background-color: #000;
    color: #fff;
}
.dark-section--v2 {
    background-color: #262E39;
}

.dark-section--v3{
    background-color: #222120
}

.gray-section {
    background-color: #E1E0DF;
    color: #000;
}

.blue-section{
    background-color: #0956FF;
    color: #fff;
}

.background-section{
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    color: #fff;
    z-index: 1;
}
.background-section::before{
    content:"";
    position: absolute;
    top: 0; left:0; width: 100%;
    height: 100%;
    z-index: -1;
    background: rgba(0, 0, 0, 0.50)
}
.background-section--full{
    height: 100vh;
    min-height: 800px;
    display: grid;
}
.background-section--full > .parsys{place-self: center; width: 100%;}

.background-section--nogradient::before{
    background: transparent;
}

/* ------ Font Styles ------ */
h1, h2, h3, h4, h5, h6, .headline {
    font-family: overpass, sans-serif;
    font-style: normal;
    font-kerning: normal;
    font-weight: 400;
    text-rendering: optimizeLegibility;
    margin: 0;
    line-height: 1;
    margin: 0 0 18px 0;
    position: relative;
}
.callout {
    font-size: 4.5rem;
    font-style: normal;
    font-weight: 600;
    line-height: 110%;
    letter-spacing: -0.09rem;
    background: transparent;
    padding: 0;
    margin: 0 0 18px 0
}

/* Resize Sup size for headline */
h1 sup, h2 sup , h3 sup, h4 sup, h5 sup, h6 sup {
    font-size: 40%;
    top: -1.5em;
}

/* Foundation is overriding */
.blue-section .callout,
.dark-section .callout,
.background-section .callout{color: #fff;}

h1, .headline--1 {
    font-size: 3rem;
    line-height: 125%;
    letter-spacing: -0.015rem;
    margin: 0 0 36px 0
}
h2, .headline--2 {
    font-size: 2.25rem;
    line-height: 125%;
    letter-spacing: -0.01125rem;
    margin: 0 0 36px 0
}
h3, .headline--3 {
    font-size: 1.875rem;
    line-height: 125%;
    letter-spacing: -0.009375rem;
}
h4, .headline--4 {
    font-size: 1.5rem;
    line-height: 125%;
    letter-spacing: -0.0075rem;
    margin: 0 0 9px 0;
}
h5, .headline--5 {
    font-size: 1.25rem;
    line-height: 125%;
    margin: 0 0 9px 0;
}
h6, .headline--6 {
    font-size: 1.25rem;
    line-height: 125%;
}

.headline--v2{
    margin: 0 0 36px 0;
}

@media screen and (max-width: 39.9375em) {
    .callout {
        font-size: 2.25rem;
        line-height: 125%; /* 45px */
        letter-spacing: -0.0225rem;
    }
    h1, .headline--1 {
        font-size: 2.25rem;
        letter-spacing: -0.01125rem;
        margin: 0 0 18px 0;
    }
    h2, .headline--2 { 
        font-size: 1.6875rem;
        letter-spacing: -0.00844rem;
        margin: 0 0 18px 0;
    }
    h3, .headline--3 {
        font-size: 1.5;
        letter-spacing: -0.0075rem;
    }
    h4, .headline--4 {
        font-size: 1.3125rem;
        letter-spacing: -0.00656rem;
    }
    h5, .headline--5 {
        font-size: 1.15625rem;
    }
    h6, .headline--6 {
        font-size: 1.15625rem;
    }
    .headline--v2{
        margin: 0 0 18px 0;
    }
    
}
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
    .responsive--headline {
        font-size: 7vw;
    }
}

/* ------ Paragraph/Body Styles ------ */
p, .p--text {
    font-size: 1rem;
    line-height: 1.5;
    text-rendering: optimizeLegibility;
    margin: 0 0 24px 0;
}

.rte p:nth-last-of-type(1):not(.brow), .p--text:nth-last-of-type(1):not(.brow){
    margin: 0;
}

.emphasis, b {
    font-weight: 600;
}

caption, .caption {
    font-size: 0.78125rem;
    line-height: 1.5;
}

.brow {
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    letter-spacing: 0.56px;
    text-transform: uppercase;
    color: #666360;
    margin: 0 0 18px 0
}
.blue-section .brow,
.dark-section .brow,
.background-section .brow {color: #CDCCCB;}

.brow--v2{
    margin: 0 0 9px 0;
}
/* ------ Stat Styles ------ */

.stat{
    font-size: 5.0625rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: -4.86px;
}
.stat--v2{
    font-size: 10.125rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: -9.72px;
}
@media screen and (max-width: 63.9375em) {
    .stat--v2 {
        font-size: 2.625rem;
        letter-spacing: -1.68px;
    }
}

ul, ol, dl {
    line-height: 1.4;
    margin-bottom: 0.8rem;
    list-style-position: outside;
}
li {
    font-size: 1rem;
    margin-bottom:.25rem;
}
ul {
    list-style-type: disc;
    margin-left: 1.05rem;
}
ol {
    margin-left: 1.25rem; 
}
ul ul, ol ul, ul ol, ol ol {
    margin-left: 1.25rem;
    margin-bottom: 0;
}

.underline {
    display: inline;
    font-weight: 600;
    position: relative;
}

.underline > span:nth-of-type(1){
    height: 2px;
    background-color: #000;
    width: var(--underline-width, 100%);
    display: block;
}

.underline > span:nth-of-type(2){
   border-bottom: 2px solid #000;
}
  

.blue-section .underline > span:nth-of-type(1),
.dark-section .underline > span:nth-of-type(1),
.background-section .underline > span:nth-of-type(1){
    background-color: #fff;
}

.blue-section .underline > span:nth-of-type(2),
.dark-section .underline > span:nth-of-type(2),
.background-section .underline > span:nth-of-type(2){
    border-bottom: 2px solid #fff;
}

/* ------ Link Styles ------ */
a{color: #000; text-decoration: underline;}
a:hover, a:active{ color: #666360;}

.blue-section a, a.blue-section,
.dark-section a, a.dark-section,
.background-section a, a.background-section{color :#fff;}
.primary-section a, a.primary-section,
.gray-section a{color: #000;}


.blue-section a:hover, .blue-section a:active, a.blue-section:hover, a.blue-section:active,
.dark-section a:hover, .dark-section a:active, a.dark-section:hover, a.dark-section:active,
.background-section a:hover, .background-section a:active, a.background-section:hover, a.background-section:active{color: #CDCCCB;}
.primary-section a:hover, .primary-section a:active,
a.primary-section:hover, a.primary-section:active,
.gray-section a:hover, .gray-section a:active{ color: #666360;}

a.jump-link{text-decoration: none; transition: 300ms;}

/* ------ Decorative Headline Styles ------ */
.decorative-headlines h3 {
    padding-top: 12px;
    margin-top: 28px;
}
.decorative-headlines h3:before {
    content: '';
    width: 30px;
    height: 4.5px;
    background-color: #0956FF;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

/* ------ Button Styles ------ */
button, .button {font-size: 1rem; text-decoration: none; -webkit-appearance: none;  -moz-appearance: none; color: #fff; background-color: #0956FF; border: 1.5px solid #0956FF; padding: 8px 24px 6px 24px; margin:0; border: 0; border-radius: 4px; line-height: 1.5;}
button:hover, .button:hover {background-color: #388BFF; border-color: #388BFF; }
button:active, button:active {outline:none; background-color: #7DB8FF; border-color: #7DB8FF;}

.dark-section button, .dark-section .button {color: #0956FF; background-color: #fff; border: 1.5px solid #fff}
.dark-section button:hover, .dark-section .button:hover {color: #0956FF; background-color: #D0E8FF; border-color: #D0E8FF}
.dark-section button:active, .dark-section .button:active {color: #0956FF; background-color: #AFD5FF; border-color: #AFD5FF}

.background-section button, .background-section .button {color: #0956FF; background-color: #fff; border: 1.5px solid #fff}
.background-section button:hover, .background-section .button:hover {color: #0956FF; background-color: #D0E8FF; border-color: #D0E8FF}
.background-section button:active, .background-section .button:active {color: #0956FF; background-color: #AFD5FF; border-color: #AFD5FF}

.gray-section button, .gray-section .button {color: #fff; background-color: #000; border: 1.5px solid #000}
.gray-section button:hover, .gray-section .button:hover { color: #fff; background-color: #4A4745; border-color: #4A4745}
.gray-section button:active, .gray-section .button:active { color: #fff; background-color: #827F7D; border-color: #827F7D}

.blue-section button, .blue-section .button {color: #0956FF; background-color: #fff; border: 1.5px solid #fff}
.blue-section button:hover, .blue-section .button:hover {color: #0956FF; background-color: #D0E8FF; border-color: #D0E8FF}
.blue-section button:active, .blue-section .button:active {color: #0956FF; background-color: #AFD5FF; border-color: #AFD5FF}

/* Secondary button */
.button--secondary {color: #0956FF; border: 1.5px solid #0956FF; background-color: transparent;}
.button--secondary:hover {color: #388BFF; background-color: transparent; border-color: #388BFF; }
.button--secondary:active {outline:none; color: #7DB8FF; background-color: #7DB8FF; border-color: #7DB8FF;}

.dark-section .button--secondary { color: #fff; border: 1.5px solid #fff; background-color: transparent;}
.dark-section .button--secondary:hover {color: #E1E0DF; border-color: #E1E0DF; background-color: transparent;}
.dark-section .button--secondary:active { color: #B2B0AE; border-color: #B2B0AE; background-color: transparent;}

.background-section .button--secondary { color: #fff; border: 1.5px solid #fff; background-color: transparent;}
.background-section .button--secondary:hover {color: #E1E0DF; border-color: #E1E0DF; background-color: transparent;}
.background-section .button--secondary:active { color: #B2B0AE; border-color: #B2B0AE; background-color: transparent;}

.gray-section .button--secondary {color: #000; border: 1.5px solid #000; background-color: transparent;}
.gray-section .button--secondary:hover {color: #4A4745; border-color: #4A4745; background-color: transparent;}
.gray-section .button--secondary:active {color: #827F7D; border-color: #827F7D; background-color: transparent;}

.blue-section .button--secondary { color: #fff; border: 1.5px solid #fff; background-color: transparent;}
.blue-section .button--secondary:hover {color: #E1E0DF; border-color: #E1E0DF; background-color: transparent;}
.blue-section .button--secondary:active { color: #B2B0AE; border-color: #B2B0AE; background-color: transparent;}


/* Reset button - clear out styles */
.button--reset{color: inherit; background-color: transparent; border: 0px transparent; width: auto; height: auto; padding: 0; margin: 0; border-radius: 0;}
.button--reset:hover{background-color: transparent; border-color: transparent; color: inherit;}
.button--reset:active,
.button--reset:focus{outline:none; background-color: transparent; border-color: transparent; color: inherit;}

.dark-section .button--reset{color: inherit;  background-color: transparent; border: 0px transparent;}
.dark-section .button--reset:hover,
.dark-section .button--reset:active{outline:none; background-color: transparent; border-color: transparent; color: inherit;}

.background-section .button--reset{color: inherit;  background-color: transparent; border: 0px transparent;}
.background-section .button--reset:hover,
.background-section .button--reset:active{outline:none; background-color: transparent; border-color: transparent; color: inherit;}

.gray-section .button--reset{color: inherit;  background-color: transparent; border: 0px transparent;}
.gray-section .button--reset:hover,
.gray-section .button--reset:active{outline:none; background-color: transparent; border-color: transparent; color: inherit;}

.blue-section .button--reset{color: inherit;  background-color: transparent; border: 0px transparent;}
.blue-section .button--reset:hover,
.blue-section .button--reset:active{outline:none; background-color: transparent; border-color: transparent; color: inherit;}

.button--full{width: 100%;}

/* Multiple buttons added in a container */
.spacing.spacing-multi-buttons {
    padding-bottom: 24px;
}
.multiple-buttons .button.multi-button {
    margin-right: 16px;
    margin-bottom: 16px;
}
.multiple-buttons .button.multi-button:last-child {
    margin-right: 0;
}
@media screen and (max-width: 39.9375em) {
    .spacing.spacing-multi-buttons {
        padding-bottom: 0;
    }
}
/* 380px and below */
@media screen and (max-width: 23.75em) {
    .multiple-buttons .button.multi-button {
        margin-right: 0;
        margin-bottom: 16px;
        display: block;
    }
}

/* ------ Brand Logos ------ */
.logo-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
a.logo-box {
    opacity: 1;
    transition: all .4s ease-in-out;
    aspect-ratio: 1 / 1;
    flex: 1 1 150px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
a.logo-box:hover {
    opacity: .75;
    transform: translateY(-10px);
}
a.logo-box.logo-buick img {
    max-width: 60%;
}

/* ------ Dropdown ------ */

.dropdown__btn{position: relative; width: 100%; text-align: left; font-size: 1.875rem; line-height: 125%; letter-spacing: -0.009375rem; transition: 300ms; opacity: 1;}
.dropdown__btn::after{content:"\f107"; position: absolute; top:0; right:0; font-family: 'Font Awesome 6 Sharp'; transform: rotate(-0deg); transition: 300ms;}
.dropdown__btn:hover{ color:#666360 !important;text-decoration: underline;}
.dropdown__box{display: none; margin: 18px 0 0 0;}

.dropdown__btn.is-active{opacity: .8;}
.dropdown__btn.is-active::after{transform: rotate(-180deg);}
.dropdown__box.is-active{display: block;}

.dropdown--v2{padding-bottom: 0 !important;}
.dropdown--v2 > .parsys{padding: 18px; border-radius: 12px; background:#fff;}
.dropdown--v2 .dropdown__btn{font-size: 1.25rem; padding: 0 30px 0 0;}

.dropdown:not(.dropdown--v2) .row{display: flex; flex-wrap: wrap;}


@media screen and (max-width: 39.9375em) {
    .dropdown__btn {
        font-size: 1.5rem;
    }
}

/* ------ Table Styles ------ */
table {
    border-collapse: collapse;
    border-spacing: 0;
}
td, th {
    padding: 0;
}

/* ------ Image Styles ------ */
img {
    max-width: 100%;
    height: auto;
    -ms-interpolation-mode: bicubic;
    display: inline-block;
    vertical-align: middle;
	border-style:none;
}

.image small{font-size: 12.5px; color:#666360; display: block; margin: 12px 0 0 0;}

/* Image component wrapped in a channel box */
.image-ratio{
    width: 100%;
    height: auto;
    display: block;
}

.image-ratio .image.section > div {
    position: relative;
    width: 100%;
    height: 0;
    z-index: 1;
}

.image-ratio.image-ratio--1-1 .image.section > div{
    padding-top: 100%;
}
.image-ratio.image-ratio--3-2 .image.section > div{
    padding-top: 66.667%;
}
.image-ratio.image-ratio--2-3 .image.section > div{
    padding-top: 150%;
}
.image-ratio.image-ratio--3-4 .image.section > div{
    padding-top: 133.333%;
}
.image-ratio.image-ratio--4-3 .image.section > div{
    padding-top: 75%;
}
.image-ratio.image-ratio--16-9 .image.section > div{
    padding-top: 56.25%;
}
.image-ratio.image-ratio--9-16 .image.section > div{
    padding-top: 177.778%;
}

.image-ratio .image.section img,
.image-ratio .image.section video,
.image-ratio .image.section iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Image Gradients */
.gradient{position: relative; z-index: 1;}
.gradient::before{content: ""; z-index: -1; background: linear-gradient(270deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.75) 100%); width: 100%; height: 100%; position: absolute; top: 0; left: 0;}
.gradient--v2::before{background: linear-gradient(270deg, rgba(0, 0, 0, 0.40) 0%, rgba(0, 0, 0, 0.00) 40%, rgba(0, 0, 0, 0.00) 60%, rgba(0, 0, 0, 0.40) 100%);}
.gradient--v3::before{background: linear-gradient(0deg,rgba(0, 0, 0, .4) 0%, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, .4) 100%);}
.gradient--v4:before {background: linear-gradient(180deg,rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.5) 100%);}

.image-ratio.gradient::before{background: none;}
.image-ratio.gradient .image.section > div::before{content: ""; z-index: 1; background: linear-gradient(270deg, rgba(0, 0, 0, 0.00) 0%, rgba(0, 0, 0, 0.75) 100%); width: 100%; height: 100%; position: absolute; top: 0; left: 0;}
.image-ratio.gradient--v2 .image.section > div::before{background: linear-gradient(270deg, rgba(0, 0, 0, 0.40) 0%, rgba(0, 0, 0, 0.00) 40%, rgba(0, 0, 0, 0.00) 60%, rgba(0, 0, 0, 0.40) 100%);}
.image-ratio.gradient--v3 .image.section > div::before{background: linear-gradient(0deg,rgba(0, 0, 0, .4) 0%, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, .4) 100%);}
.image-ratio.card--logo.gradient .image:nth-of-type(2) > div::before{background: none}

/* Image Solid Overlay */
.solid-overlay::before {background: rgba(0, 0, 0, .5);}

/* ------ Grid and Column Overrides ------ */
/* Since our gutters(padding) are left and right of columns, 
we need to add the extra 30px space (15px left of first column and 15px right of last column)
so our container(aka row) will have a max with of 1200px */
/* Our left & right gutters are 8.33% -> content will have a width of 83.333% */
.row{max-width: calc(1200px + 30px); width: calc(83.333% + 30px)}
.column,.columns{padding: 0 15px;}
.row .row {width: calc(100% + 30px);}

.row.row--full{width: 100%; max-width: 100%;}
.row.row--full .columns, .row.row--full .column{padding: 0;}

.row.row--special{
    max-width: calc(1440px + 30px);
    width: calc(100% - 30px); 
}

.container{
    width: 100%;
    padding: 0 8.333%
}

/* foundation override */
.column:last-child:not(:first-child), .columns:last-child:not(:first-child){float: left;}

@media screen and (max-width: 39.9375em) {
    .row{
        max-width: calc(1200px + 20px);
        width: calc(100% - 20px);
    }

    .row .row {
        width: calc(100% + 20px);
    }

    .row.row--special{
        max-width: calc(1440px + 20px);
        width: calc(100% - 20px);
    }

    .column,.columns {
        padding: 0 10px;
    }
    .column:last-child,.columns:last-child{ padding: 0 10px;}

    .container{
        width: 100%;
        padding: 0 20px;
    }
}

/* ------ Gray borders ------ */
.gray-b-t{border-top: 1px solid #B2B0AE;}
.gray-b-b{border-bottom: 1px solid #B2B0AE;}
.gray-b-r{border-right: 1px solid #B2B0AE;}
.gray-b-l{border-left: 1px solid #B2B0AE;}
.gray-b--color2{border-color: #4A4745;}

/* ------ Spacing / Section top and bottom padding ------ */
.spacing{padding: 60px 0}
.spacing--top{padding: 60px 0 0 0;}
.spacing--bottom{padding: 0 0 60px 0;}
.spacing--bottom--only {padding-bottom: 60px;}
.spacing--nobottom {padding-bottom:0;}
/* used across dark section backgrounds */
.spacing--v2{padding: 0 22.5px} 
@media screen and (max-width: 39.9375em) {
    .spacing{padding: 30px 0}
    .spacing--top{padding: 30px 0 0 0;}
    .spacing--bottom{padding: 0 0 30px 0;}
    .spacing--bottom--only {padding-bottom: 30px !important;}
    .spacing--nobottom {padding-bottom:0;}
    .spacing--top--remove--mobile {padding-top:0;}
}

/* ------ Mobile Move Graphic that breaks column control ------ */
@media screen and (max-width: 39.9375em) {
    .mobile-move--graphic {
        width: calc(100% + 40px);
        margin-left: -20px;
    }
}

/* 
This will help with html elements that need to have a specific padding and/or margins.
    example of usage:
    <p class="custom-p-t" style="--p-t: 12px;">Careers</p>
    <p class="custom-m-l" style="--m-l: 24px;">Careers</p>
    <p class="custom-p-a custom-m-a" style="--p-a: 20px; --m-a:10px">Careers</p>
*/
.custom-p-t{padding-top: var(--p-t);}
.custom-p-r{padding-right: var(--p-r);}
.custom-p-b{padding-bottom: var(--p-b);}
.custom-p-l{padding-left: var(--p-l);}
.custom-p-a{padding: var(--p-a);}

.custom-m-t{margin-top: var(--m-t);}
.custom-m-r{margin-right: var(--m-r);}
.custom-m-b{margin-bottom: var(--m-b);}
.custom-m-l{margin-left: var(--m-l);}
.custom-m-a{margin: var(--m-a);}

@media screen and (max-width: 39.9375em) {
    .custom-p-t{padding-top: calc( var(--p-t) * (2/3) );}
    .custom-p-r{padding-right: calc( var(--p-r) * (2/3) );}
    .custom-p-b{padding-bottom: calc( var(--p-b) * (2/3) );}
    .custom-p-l{padding-left: calc( var(--p-l) * (2/3) );}
    .custom-p-a{padding: calc( var(--p-a) * (2/3) );}
    
    .custom-m-t{margin-top: calc( var(--m-t) * (2/3) );}
    .custom-m-r{margin-right: calc( var(--m-r) * (2/3) );}
    .custom-m-b{margin-bottom: calc( var(--m-b) * (2/3) );}
    .custom-m-l{margin-left: calc( var(--m-l) * (2/3) );}
    .custom-m-a{margin: calc( var(--m-a) * (2/3) );}
}

/* Implementing old GM styles for now */
.m-a-0 { margin: 0 0; }
.m-t-0 { margin-top: 0; }
.m-r-0 {margin-right: 0; }
.m-b-0 {margin-bottom: 0; }
.m-l-0 {margin-left: 0; }
.m-x-0 {margin-right: 0;margin-left: 0; }
.m-y-0 {margin-top: 0;margin-bottom: 0; }
.m-a-1 {margin: 1rem 1rem; }
.m-t-1 {margin-top: 1rem; }
.m-r-1 {margin-right: 1rem; }
.m-b-1 {margin-bottom: 1rem; }
.m-l-1 {margin-left: 1rem; }
.m-x-1 {margin-right: 1rem; margin-left: 1rem; }
.m-y-1 {margin-top: 1rem; margin-bottom: 1rem; }
.m-a-2 {margin: 1.5rem 1.5rem; }
.m-t-2 {margin-top: 1.5rem; }
.m-r-2 {margin-right: 1.5rem; }
/* .m-b-1-125 {margin-bottom: 1.125rem !important; } */
.m-b-2 {margin-bottom: 1.5rem; }
.m-l-2 {margin-left: 1.5rem; }
.m-x-2 {margin-right: 1.5rem;margin-left: 1.5rem; }
.m-y-2 {margin-top: 1.5rem;margin-bottom: 1.5rem; }
.m-a-3 {margin: 3rem 3rem; }
.m-t-3 {margin-top: 3rem; }
.m-r-3 {margin-right: 3rem; }
.m-b-3 {margin-bottom: 3rem; }
.m-l-3 {margin-left: 3rem; }
.m-x-3 {margin-right: 3rem; margin-left: 3rem; }
.m-y-3 {margin-top: 3rem; margin-bottom: 3rem; }
.m-a-4 {margin: 4rem 4rem; }
.m-t-4 {margin-top: 4rem; }
.m-r-4 {margin-right: 4rem; }
.m-b-4 {margin-bottom: 4rem; }
.m-l-4 {margin-left: 4rem; }
.m-x-4 {margin-right: 4rem;margin-left: 4rem; }
.m-y-4 {margin-top: 4rem;margin-bottom: 4rem; }
.m-a-5 {margin: 5rem 5rem; }
.m-t-5 {margin-top: 5rem; }
.m-r-5 {margin-right: 5rem; }
.m-b-5 {margin-bottom: 5rem; }
.m-l-5 {margin-left: 5rem; }
.m-x-5 {margin-right: 5rem; margin-left: 5rem; }
.m-y-5 {margin-top: 5rem; margin-bottom: 5rem; }
.p-a-0 {padding: 0 0; }
.p-t-0 {padding-top: 0; }
.p-r-0 {padding-right: 0; }
.p-b-0 {padding-bottom: 0; }
.p-l-0 {padding-left: 0; }
.p-x-0 {padding-right: 0; padding-left: 0; }
.p-y-0 {padding-top: 0; padding-bottom: 0; }
.p-a-1 {padding: 1rem 1rem; }
.p-t-1 {padding-top: 1rem; }
.p-r-1 {padding-right: 1rem; }
.p-b-1 {padding-bottom: 1rem; }
.p-l-1 {padding-left: 1rem; }
.p-x-1 {padding-right: 1rem; padding-left: 1rem; }
.p-y-1 {padding-top: 1rem; padding-bottom: 1rem; }
.p-a-2 {padding: 1.5rem 1.5rem; }
.p-t-2 {padding-top: 1.5rem; }
.p-r-2 {padding-right: 1.5rem; }
.p-b-2 {padding-bottom: 1.5rem; }
.p-l-2 {padding-left: 1.5rem; }
.p-x-2 {padding-right: 1.5rem;padding-left: 1.5rem; }
.p-y-2 {padding-top: 1.5rem; padding-bottom: 1.5rem; }
.p-a-3 {padding: 3rem 3rem; }
.p-t-3 {padding-top: 3rem; }
.p-r-3 {padding-right: 3rem; }
.p-b-3 {padding-bottom: 3rem; }
.p-l-3 {padding-left: 3rem; }
.p-x-3 {padding-right: 3rem; padding-left: 3rem; }
.p-y-3 {padding-top: 3rem;padding-bottom: 3rem; }
.p-a-4 {padding: 4rem 4rem; }
.p-t-4 {padding-top: 4rem; }
.p-r-4 {padding-right: 4rem; }
.p-b-4 {padding-bottom: 4rem; }
.p-l-4 {padding-left: 4rem; }
.p-x-4 {padding-right: 4rem; padding-left: 4rem; }
.p-y-4 {padding-top: 4rem;padding-bottom: 4rem; }
.p-a-5 {padding: 5rem 5rem; }
.p-t-5 {padding-top: 5rem; }
.p-r-5 {padding-right: 5rem; }
.p-b-5 {padding-bottom: 5rem; }
.p-l-5 {padding-left: 5rem; }
.p-x-5 {padding-right: 5rem;padding-left: 5rem; }
.p-y-5 {padding-top: 5rem;padding-bottom: 5rem; }
  
@media screen and (max-width: 39.9375em) {
      .small-m-a-0 {margin: 0 0; }
      .small-m-t-0 {margin-top: 0; }
      .small-m-r-0 {margin-right: 0; }
      .small-m-b-0 {margin-bottom: 0; }
      .small-m-l-0 {margin-left: 0; }
      .small-m-x-0 {margin-right: 0;margin-left: 0; }
      .small-m-y-0 {margin-top: 0; margin-bottom: 0; }
      .small-m-a-1 {margin: 1rem 1rem; }
      .small-m-t-1 {margin-top: 1rem; }
      .small-m-r-1 {margin-right: 1rem; }
      .small-m-b-1 {margin-bottom: 1rem; }
      .small-m-l-1 {margin-left: 1rem; }
      .small-m-x-1 {margin-right: 1rem; margin-left: 1rem; }
      .small-m-y-1 {margin-top: 1rem;margin-bottom: 1rem; }
      .small-m-a-2 {margin: 1.5rem 1.5rem; }
      .small-m-t-2 {margin-top: 1.5rem; }
      .small-m-r-2 {margin-right: 1.5rem; }
      .small-m-b-2 {margin-bottom: 1.5rem; }
      .small-m-l-2 {margin-left: 1.5rem; }
      .small-m-x-2 {margin-right: 1.5rem;margin-left: 1.5rem; }
      .small-m-y-2 {margin-top: 1.5rem;margin-bottom: 1.5rem; }
      .small-m-a-3 {margin: 3rem 3rem; }
      .small-m-t-3 {margin-top: 3rem; }
      .small-m-r-3 {margin-right: 3rem; }
      .small-m-b-3 {margin-bottom: 3rem; }
      .small-m-l-3 {margin-left: 3rem; }
      .small-m-x-3 {margin-right: 3rem;margin-left: 3rem; }
      .small-m-y-3 {margin-top: 3rem;margin-bottom: 3rem; }
      .small-p-a-0 {padding: 0 0; }
      .small-p-t-0 {padding-top: 0; }
      .small-p-r-0 {padding-right: 0; }
      .small-p-b-0 {padding-bottom: 0; }
      .small-p-l-0 {padding-left: 0; }
      .small-p-x-0 {padding-right: 0;padding-left: 0; }
      .small-p-y-0 {padding-top: 0;padding-bottom: 0; }
      .small-p-a-1 {padding: 1rem 1rem; }
      .small-p-t-1 {padding-top: 1rem; }
      .small-p-r-1 {padding-right: 1rem; }
      .small-p-b-1 {padding-bottom: 1rem; }
      .small-p-l-1 {padding-left: 1rem; }
      .small-p-x-1 {padding-right: 1rem;padding-left: 1rem; }
      .small-p-y-1 {padding-top: 1rem; padding-bottom: 1rem; }
      .small-p-a-2 {padding: 1.5rem 1.5rem; }
      .small-p-t-2 {padding-top: 1.5rem; }
      .small-p-r-2 {padding-right: 1.5rem; }
      .small-p-b-2 {padding-bottom: 1.5rem; }
      .small-p-l-2 {padding-left: 1.5rem; }
      .small-p-x-2 {padding-right: 1.5rem;padding-left: 1.5rem; }
      .small-p-y-2 {padding-top: 1.5rem;padding-bottom: 1.5rem; }
      .small-p-a-3 {padding: 3rem 3rem; }
      .small-p-t-3 {padding-top: 3rem; }
      .small-p-r-3 {padding-right: 3rem; }
      .small-p-b-3 {padding-bottom: 3rem; }
      .small-p-l-3 {padding-left: 3rem; }
      .small-p-x-3 { padding-right: 3rem;padding-left: 3rem; }
      .small-p-y-3 {padding-top: 3rem;padding-bottom: 3rem; }
  }
  
/* ------ Border Styles -----*/
.border-right {
    border-right: 1px solid #A4A9B2;
}
.border-left {
    border-left: 1px solid #A4A9B2;
}
/* ------ Splitting Content Apart (Top and Bottom) But Not Absolute Positioning -----*/
.split-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.split-content div {
    height: 100%;
}
.split-content div.raw_container {
    display: flex;
    flex-direction: column;
}
.split-content .top-content {
    height: auto !important;
}
.split-content .bottom-content {
    height: auto !important;
    margin-top: auto;
}
.split-content .bottom-content p {
    max-width: 380px;
}
@media screen and (max-width: 39.9375em) {
    .split-content {
        border: none;
    }
}

/* ------ Breakpoint references ------ */

/* Small only --- >640px */
@media screen and (max-width: 39.9375em) {}   

/* Medium and up --- 640px< */
@media screen and (min-width: 40em) {}      

/* Medium only --- 640px-1024px*/
@media screen and (min-width: 40em) and (max-width: 63.9375em) {}

/* Large and up --- 1024px<  */
@media screen and (min-width: 64em) {}