/* ==========================================================================
   setup the environment
   ========================================================================== */
:root {
    /*greys*/
    --grey-22: #222222;
    --grey-4b: #4b4b4b;
    --grey-53: #535353;
    --grey-a6: #a6a6a6;
    --grey-db: #dbdbdb;

    /*links*/
    --link-hover: #eb661e;

    /*etc*/
    --main-orange: #ff7700;
    --new-orange: #e65c00;

    /*measurements*/
    --wrapper-h-pad: 2rem;
}

main {
    color: var(--grey-53);
    font-family: 'Source Sans Pro', Arial, sans-serif;
}
main img, main video { height: auto; max-width: 100%; }


/*section*/
section, main header {
    padding: 0 var(--wrapper-h-pad);
    width: 100%;
}
div[id$="-content"] { 
    margin: 0 auto;
    max-width: 72.5rem;
    padding-bottom: 3.75rem;
    padding-top: 3.75rem;
    width: 100%;
}
.feature div[id$="-content"] { border-top: 1px solid var(--grey-db); }


/*grids*/
.feature-grid {
    align-items: center;
    display: grid;
    grid-gap: 0 80px;
    grid-template-columns: 1fr 1fr;
}
.feature-grid img, .feature-grid video { margin: 0 auto; max-height: 300px; }
.feature-grid .feature-right { font-size: 0; text-align: center; }
.feature-grid.img-on-left .feature-left { order: 2; }
.feature-grid.img-on-left .feature-right { order: 1; }


/*text*/
.feature h2 {
    color: var(--gray-22);
    font-size: 2.25rem;
    font-weight: 400;
}

main h3 {
    font-size: 1.875rem;
    line-height: 1.15;
}

main p {
    font-size: 1.25rem;
    padding-bottom: 0.75rem; 
}
div[id$="-content"].feature-grid p { padding-bottom: 1.375rem; }

main li {
    font-size: 1.1rem;
    line-height: 1.2;
    padding-bottom: 0.625rem;
}
main li a { color: var(--new-orange); }
main li a:hover { color: var(--main-orange); }


/* ==========================================================================
   carousel
   ========================================================================== */
.cd-hero { 
    max-width: 540px;
    position: relative; 
}
.cd-hero__slider { 
    height: calc(300px + 2rem); 
    min-height: calc(300px + 2rem); 
    overflow: hidden;
    position: relative;
    width: 100%;
}
.cd-hero__slide {
    height: 100%;
    left: 0;
    position: absolute;
    text-align: center;
    top: 0;
    width: 100%;
    /* Force Hardware Acceleration */
    -webkit-transform: translateZ(0px);
    transform: translateZ(0px);
    will-change: transform;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.cd-hero__slide.cd-hero__slide--selected {
    /* this is the visible slide */
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}
.cd-hero__slide.cd-hero__slide--move-left {
    /* slide hidden on the left */
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
}
.cd-hero__slide.cd-hero__slide--is-moving,
.cd-hero__slide.cd-hero__slide--selected {
    /* the cd-hero__slide--is-moving class is assigned to the slide which is moving outside the viewport */
    -webkit-transition: -webkit-transform 0.5s;
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s;
}
html:not(.js-enabled) .cd-hero__slide { display: none; }
html:not(.js-enabled) .cd-hero__slide.cd-hero__slide--selected { display: block; }


/* hero slider nav */
.cd-hero__nav { 
    background: #fff;
    bottom: 0;
    height: 1.125rem;
    position: absolute;
    width: 100%;
    z-index: 2;
}
.cd-hero__nav nav,
.cd-hero__nav ul,
.cd-hero__nav li,
.cd-hero__nav a { height: 100%; }

.cd-hero__nav nav {
    display: block;
    margin: 0 auto;
    position: relative;
}
.cd-hero__nav ul.outer-ul {
    align-items: stretch;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
}
.cd-hero__nav li { 
    line-height: 1.125rem; 
    padding-bottom: 0; 
}
.cd-hero__nav ul.outer-ul li.scroll {
    overflow: hidden;
    width: 100%;
}
.cd-hero__nav ul.inner-ul {
    align-items: stretch;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    overflow: hidden;
}
.cd-hero__nav ul.inner-ul > li { flex: 0 0 auto; }
.cd-hero__nav .dot {
    background: transparent;
    border-radius: 100%;
    border: 2px solid var(--grey-a6);
    cursor: pointer;
    display: inline-block;
    height: 12px;
    margin: 0 4px;
    width: 12px;
}
.cd-hero__nav li.cd-selected .dot { background: var(--grey-a6); }
.cd-hero__nav .dot:hover { border-color: var(--link-hover); }
.cd-hero__nav li.cd-selected .dot:hover { background: var(--link-hover); }



/* ==========================================================================
   Fix conflicts with overview.css
   ========================================================================== */
.cd-hero__nav ul.outer-ul,
.cd-hero__nav ul.inner-ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.cd-hero__nav li {
    padding: 0 !important;
    position: static !important;
}

.cd-hero__nav li:before {
    content: none !important;
    display: none !important;
}

.cd-hero__nav .dot {
    display: inline-block !important;
}



/* ==========================================================================
   responsive breakpoint styles
   ========================================================================== */
@media (max-width: 900px) {
    /*setup*/
    :root {
        /*etc*/
        --wrapper-h-pad: 3.2rem; /*~45px*/
    }
    .feature-grid { grid-template-columns: 1fr !important; }
    .feature-grid img, .feature-grid video, .cd-hero { margin-bottom: 1.75rem; }
    .feature-grid img, .feature-grid video { display: block !important; }

    /*carousel*/
    .cd-hero { margin-left: auto; margin-right: auto; }
}


@media (max-width: 600px) {
    /*setup*/
    :root {
        /*etc*/
        --wrapper-h-pad: 1rem; /*line up with global menu*/
    }
    div[id$="-content"] {
        padding-bottom: 32px;
        padding-top: 32px;
    }
    section.feature { padding-left: 0; padding-right: 0; }
    section.feature div[id$="-content"] {
        padding-left: var(--wrapper-h-pad);
        padding-right: var(--wrapper-h-pad);
    }
    div[id$="-content"].feature-grid p { font-size: 17px; }
    main li { font-size: 1.24rem; line-height: 1.25; }
}