/*/////////////////////////*/
/*                         */
/*     VERDANTAS BRAND     */
/*         COLORS          */
/*                         */
/*/////////////////////////*/
/* Palette pulled from the VRS theme (color/lib.scss). Semantic --primary/
   --secondary aliases map the Bootstrap-style class names used in the widget
   markup (text-primary, bg-primary, btn-primary, btn-secondary) onto the brand. */
:root {
    --black: #000;
    --dark-gray: #424E56;
    --gray: #414141;
    --medium-gray: #707070;
    --light-gray: #9F9F9F;
    --off-white: #E8EFEF;
    --white: #ffffff;
    --blue: #0663D2;
    --dark-blue: #063560;
    --dark-blue: #063560;
    --primary-btn-text: #063560;
    --darkest-blue: #001A33;
    --teal: #36BFBE;
    --dark-teal: #004853;
    --split-pea: #AEDF35;
    --split-pea-light: #bee75c;
    /* Semantic aliases for the widget markup */
    --primary: var(--blue);
    --secondary: var(--dark-blue);
    --tertiary: var(--off-white);
}

/* Color helpers (override Bootstrap utilities, which use !important) */
.text-primary {
    color: var(--blue) !important;
}

.text-secondary {
    color: var(--dark-blue) !important;
}

.text-blue {
    color: var(--blue) !important;
}

.text-teal {
    color: var(--teal) !important;
}

.text-black {
    color: var(--black);
}

.text-white {
    color: var(--white);
}

.bg-primary {
    background-color: var(--dark-blue) !important;
}

.bg-black {
    background-color: var(--darkest-blue) !important;
}

.bg-off-white {
    background-color: var(--off-white);
}

.bg-gradient-dark {
    background-image: linear-gradient(120deg, var(--dark-blue), var(--dark-teal));
}

/*/////////////////////////*/
/*                         */
/*       TYPOGRAPHY        */
/*                         */
/*/////////////////////////*/
body {
    font-family: "Source Sans 3", sans-serif;
    color: var(--dark-gray);
    line-height: 1.7;
}

.font-body {
    font-family: "Source Sans 3", sans-serif;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.font-headline {
    font-family: "Figtree", sans-serif;
    font-weight: 500;
    color: var(--dark-blue);
    line-height: 1.2;
}

/* Keep headings/text white inside dark ("text-white") containers, e.g. the
   testimonial gradient and countdown, where the heading itself has no class. */
.text-white,
.text-white p, .text-white .p,
.text-white h1, .text-white h2, .text-white h3,
.text-white h4, .text-white h5, .text-white h6,
.text-white .h1, .text-white .h2, .text-white .h3,
.text-white .h4, .text-white .h5, .text-white .h6 {
    color: var(--white);
}

/* Eyebrow / meta label */
.meta {
    font-family: "Figtree", sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .05em;
}

a {
    color: var(--blue);
    transition: all 0.15s;
}

a:hover {
    color: var(--dark-blue);
}

strong, b, .strong, .bold {
    font-weight: 700;
}

.stat {
    font-weight: 800;
}

.feature-text {
    padding: 1em 0 0.25em 2em;
    border-left: 5px solid var(--teal);
}

blockquote {
    background: var(--off-white);
    padding: 25px;
    font-size: 0.85em;
    font-style: italic;
    margin-bottom: 0;
    color: var(--dark-blue);
    border-radius: 0 !important;
    border-left: 5px solid var(--teal);
}

/*/////////////////////////*/
/*                         */
/*         BUTTONS         */
/*                         */
/*/////////////////////////*/
/* Verdantas buttons are square (no radius), Figtree 600, with a skewed fill
   that slides in on hover. The overlay sits at z-index:-1 above the base
   background but below the label, so no <span> wrapper is required in the
   markup (isolation:isolate scopes the stacking context to the button). */
.btn.btn-primary,
.btn.btn-secondary {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: inline-block;
    margin-right: 15px;
    margin-bottom: 10px;
    min-width: 135px;
    width: auto;
    text-align: center;
    font-family: "Figtree", sans-serif;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.2;
    padding: 1.15em 2.5em;
    border: 0;
    border-radius: 0;
    text-decoration: none;
    transition: color .15s;
}

.btn.btn-primary:before,
.btn.btn-secondary:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 1px);
    z-index: -1;
    transform-origin: 0 0;
    transform: translateX(-100%) skewX(30deg);
    transition: transform .5s;
}

.btn.btn-primary:hover:before,
.btn.btn-primary:focus:before,
.btn.btn-secondary:hover:before,
.btn.btn-secondary:focus:before {
    transform: translateX(-2.55em) skewX(30deg);
}

.btn.btn-primary:hover,
.btn.btn-secondary:hover {
    text-decoration: none;
}

/* Primary = split-pea green with dark-blue label */
.btn.btn-primary {
    color: var(--primary-btn-text);
    background-color: var(--split-pea);
    border-color: var(--split-pea);
}

.btn.btn-primary:before {
    background: var(--split-pea-light);
}

.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active {
    color: var(--primary-btn-text);
    background-color: var(--split-pea);
    border-color: var(--split-pea);
    box-shadow: none;
}

/* Secondary = dark-blue with white label */
.btn.btn-secondary {
    color: var(--white);
    background-color: var(--blue);
    border-color: var(--blue);
}

.btn.btn-secondary:before {
    background: #076feb;
}

.btn.btn-secondary:hover,
.btn.btn-secondary:focus,
.btn.btn-secondary:active {
    color: var(--white);
    background-color: var(--blue);
    border-color: var(--blue);
    box-shadow: none;
}

@media (max-width:349px) {

    .btn.btn-primary,
    .btn.btn-secondary {
        min-width: 100%;
    }
}

/*/////////////////////////*/
/*                         */
/*      MISC WIDGETS       */
/*                         */
/*/////////////////////////*/
.subpage-links {
    width: 100%;
    padding: 1em 0;
}

#subpage-links a {
    text-decoration: none;
}

#subpage-links a:hover {
    opacity: 0.75;
}

.countdown-text .outer {
    padding: 30px 15px 15px;
}

.countdown-text .btn.absolute {
    position: absolute;
    right: 30px;
    bottom: -30px;
}

.quicklinks a {
    line-height: 1.2em;
    font-weight: bold;
    color: var(--dark-blue);
    border-radius: 0;
    transition: all 0.15s;
}

.quicklinks a:hover {
    background-color: var(--dark-blue);
    color: var(--white);
    text-decoration: none;
}

@media (min-width: 1200px) {
    .three-col-text-image-video {
        font-size: 16.5px;
    }
}

/*/////////////////////////*/
/*                         */
/*      PROJECT CARDS      */
/*                         */
/*/////////////////////////*/
/* 2-col / 3-col widgets styled like the Verdantas "Featured Project" tiles:
   image on top, then eyebrow / headline / body / button. Just a reorder plus a
   subtle drop shadow (no border, no rounded corners) - matches the VRS
   .news-tile shadow (0 0 6px rgba(0,0,0,.2)). Image keeps its natural aspect
   ratio (img-fluid), no square crop. */
.project-card {
    background-color: var(--white);
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}

.project-card__media {
    margin: 0;
}

.project-card__media img {
    display: block;
    width: 100%;
    /* natural aspect ratio preserved (img-fluid) */
}

.project-card__body {
    padding: 1.5em;
}

#social-links .social {
    font-size: 24px;
}

#social-links .social a {
    color: var(--white);
}

#social-links .social a:hover {
    opacity: 0.75;
}

/* Match VRS (.sidebar-item-wrap): the divider is a thick navy line at the
   BOTTOM of each accordion block, not a thin line at the top. Hide the
   markup's leading <hr> and border the block instead. */
.product-feature-accordion hr {
    display: none;
}

.product-feature-accordion article {
    border-bottom: 3px solid var(--dark-blue);
    padding-bottom: 1.25em;
    margin-bottom: 1.5em;
}

.product-feature-accordion .product-figure {
    background-position: left center;
}

@media (max-width:767px) {
    .btn {
        margin-bottom: 1.5em;
    }

    .countdown-text p {
        margin-bottom: 30px;
    }

    .countdown-text .btn.absolute {
        margin-bottom: 0;
        right: 50%;
        transform: translateX(50%);
    }

    .text-left-image-video .ml-3 {
        margin-left: 0 !important;
    }

    .quicklinks a {
        padding: 0.8em !important;
    }
}

/*/////////////////////////*/
/*                         */
/*     SLIDER / ARROWS     */
/*                         */
/*/////////////////////////*/
/* Verdantas arrows: 42px split-pea squares with a dark-blue triangle, sitting
   just outside the slides. Container reserves room via left/right padding.
   On < 768px the arrows drop to the bottom center of the slider (the previous
   build hid them entirely below 575px, which broke mobile navigation). */
/* .slider--arrows {
    padding-left: 64px;
    padding-right: 64px;
} */
.slider--arrows .slick-prev,
.slider--arrows .slick-next {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
    border: none;
    outline: none;
    border-radius: 0;
    background: var(--split-pea);
    position: absolute;
    z-index: 5;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    transition: background .15s;
}

.slider--arrows .slick-prev:hover,
.slider--arrows .slick-next:hover,
.slider--arrows .slick-prev:focus,
.slider--arrows .slick-next:focus {
    background: var(--split-pea-light);
}

.slider--arrows .slick-prev:before,
.slider--arrows .slick-next:before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 8px solid var(--dark-blue);
    border-top: 5.33px solid transparent;
    border-right: 0;
    border-bottom: 5.33px solid transparent;
    -webkit-transition: all .15s;
    transition: all .15s;
    opacity: 1;
}

.slider--arrows .slick-prev {
    left: auto;
    right: 98%;
}

.slider--arrows .slick-prev:before {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.slider--arrows .slick-next {
    right: auto;
    left: 98%;
}

.logo-parade .slick-slide {
    padding: 0 0.5em;
}

@media (max-width: 575.98px) {
    .slider--arrows {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 62px !important;
    }

    .slider--arrows .slick-prev, .slider--arrows .slick-prev:focus {
        top: calc(100% + 30px);
        right: auto;
        left: calc(50% - 45px);
    }

    .slider--arrows .slick-next, .slider--arrows .slick-next:focus {
        top: calc(100% + 30px);
        left: auto;
        right: calc(50% - 45px);
    }
}

@media (min-width: 768px) {
    .slider--arrows .slick-prev {
        left: auto;
        right: 98%;
    }

    .slider--arrows .slick-next {
        right: auto;
        left: 98%;
    }

    .slider--arrows-margin-in {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .slider--arrows-margin-in .slick-prev {
        left: 0;
        right: auto;
        -webkit-transform: translate(0, -50%) !important;
        transform: translate(0, -50%) !important;
    }

    .slider--arrows-margin-in .slick-next {
        right: 0;
        left: auto;
        -webkit-transform: translate(0, -50%) !important;
        transform: translate(0, -50%) !important;
    }
}

/*/////////////////////////*/
/*                         */
/*        ACCORDION        */
/*                         */
/*/////////////////////////*/
.toggle-accordion {
    cursor: pointer;
}

.accordion-arrow {
    position: relative;
    display: inline-block;
    width: 18px;
    height: 44px;
    vertical-align: middle;
    color: var(--dark-blue);
}

/* Solid triangle (matches VRS .btn-list-expand:after): points down when
   collapsed, up when expanded. */
.accordion-arrow:before {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    -webkit-transition: all .15s;
    transition: all .15s;
}

.accordion-arrow--down:before {
    border-top: 8px solid var(--dark-blue);
    border-bottom: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.accordion-arrow--up:before {
    border-bottom: 8px solid var(--dark-blue);
    border-top: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.toggle-accordion.open .accordion-arrow--down {
    display: none;
}

.toggle-accordion.open .accordion-arrow--up {
    display: inline-block !important;
}

.list-inline li {
    display: inline;
}

.list-inline li a {
    text-decoration: none;
}

/*/////////////////////////*/
/*                         */
/*         SIDEBAR         */
/*                         */
/*/////////////////////////*/
/* NOTE: the live VRS build's sidebar container has no class/ID to hook onto.
   These rules are scoped to .sidebar for the preview in generic.html; when the
   widgets are dropped into VRS, add a `sidebar` class to the sidebar column
   (or change the selectors below to VRS's actual wrapper) so they apply. */
@media (min-width:992px) {
    .sidebar {
        font-size: 15px;
    }

    .sidebar .feature-text-quote .feature-text {
        padding-left: 0;
        border-left: 0;
    }

    .sidebar .feature-text-quote .feature-text h3.h2 {
        font-size: 1.75em;
    }

    .sidebar .rounded30 {
        border-radius: 20px;
    }

    .sidebar .logo-parade .col-12,
    .sidebar .three-col-stats .col-12,
    .sidebar .countdown-text .col-12,
    .sidebar .quicklinks .col-12 {
        flex: none;
        width: 100%;
        max-width: 100%;
    }

    .sidebar .three-col-stats .col-12,
    .sidebar .countdown-text .col-12 {
        text-align: center;
    }

    .sidebar h1.stat,
    .sidebar .h1.stat {
        font-size: 5em;
    }

    .sidebar .quicklinks a {
        padding: 0.85em !important;
    }

    .sidebar .countdown-text p {
        margin-bottom: 30px;
    }

    .sidebar .countdown-text .btn.absolute {
        margin-bottom: 0;
        right: 50%;
        transform: translateX(50%);
    }

    .sidebar .two-col-text-image-video .slick-slide,
    .sidebar .three-col-text-image-video .slick-slide {
        padding: 0 1em;
    }
}

@media (max-width:991px) {
    .sidebar {
        padding-left: 0;
    }

    .sidebar:after {
        display: none;
    }
}