﻿/*******************************************************************************
    CSS global variables
*******************************************************************************/

:root {
    --hero-height-wide: 420px;
    --hero-height-medium: 360px;
    --hero-height-reduce-1: 320px;
}


/*******************************************************************************
    Hero
*******************************************************************************/

/* Default layout */
.hero {
    background-color: var(--ac-grey-441);
    grid-template-rows: var(--hero-height-medium);
}

    .hero > div:first-child {
        grid-column-start: 7;
        grid-column-end: 15;
        grid-row-start: 1;
        grid-row-end: 2;
    }

    .hero > div:last-child {
        grid-column-start: 2;
        grid-column-end: 7;
        grid-row-start: 1;
        grid-row-end: 2;
        display: flex;
        align-items: center;
    }

    .hero img {
        display: block;
        width: 100%;
        height: var(--hero-height-medium);
        margin: 0;
        padding: 0;
        object-fit: cover;
    }

    .hero h1 {
        margin: 0;
        padding: 0;
        font-size: 270%;
    }

        .hero h1 strong {
            color: var(--ac-orange-2024);
        }

/* bp-minor-reduce-1-max */
@media all and (max-width: 840px) {

    .hero {
        grid-template-rows: var(--hero-height-reduce-1);
    }

        .hero img {
            height: var(--hero-height-reduce-1);
        }

        .hero h1 {
            font-size: 250%;
        }
}

/* bp-minor-reduce-2-max */
@media all and (max-width: 720px) {

    .hero h1 {
        font-size: 230%;
    }
}

/* bp-major-narrow-max */
@media all and (max-width: 670px) {

    .hero {
        grid-template-rows: auto auto;
    }

        .hero > div:first-child {
            grid-column-start: 1;
            grid-column-end: 9;
        }

        .hero > div:last-child {
            grid-column-start: 2;
            grid-column-end: 8;
            grid-row-start: 2;
            grid-row-end: 3;
            display: block;
            padding-top: 2em;
            padding-bottom: 2em;
            text-align: center;
        }

        .hero img {
            height: auto;
        }

        .hero h1 {
            font-size: 250%;
        }
}

/* bp-minor-reduce-3-max */
@media all and (max-width: 500px) {

    .hero h1 {
        font-size: 210%;
    }
}

/* bp-major-wide-min */
@media all and (min-width: 1024px) {

    .hero {
        grid-template-rows: var(--hero-height-wide);
    }

        .hero img {
            height: var(--hero-height-wide);
        }

        .hero h1 {
            font-size: 360%;
        }
}


/*******************************************************************************
    Layout
*******************************************************************************/

.grid-pos-a {
    grid-column-start: 2;
    grid-column-end: 14;
    grid-row-start: 1;
    grid-row-end: 2;
}


/* bp-major-narrow-max */
@media all and (max-width: 670px) {

    .grid-pos-a {
        grid-column-end: 8;
    }
}


/*******************************************************************************
    Pillars
*******************************************************************************/

.pillars {
    padding-top: 0.5em;
    padding-bottom: 1em;
}

.pillar-card {
    background-color: var(--ac-pastel-biscuit);
    border-radius: 8px;
    padding-left: 1em;
    padding-right: 1em;
    border-width: 3px;
    border-color: var(--ac-border-biscuit);
    border-style: solid;
}

.pillar-1 {
    grid-column-start: 2;
    grid-column-end: 6;
    grid-row-start: 2;
    grid-row-end: 3;
}

.pillar-2 {
    grid-column-start: 6;
    grid-column-end: 10;
    grid-row-start: 2;
    grid-row-end: 3;
}

.pillar-3 {
    grid-column-start: 10;
    grid-column-end: 14;
    grid-row-start: 2;
    grid-row-end: 3;
}

/* bp-major-narrow-max */
@media all and (max-width: 670px) {

    .pillar-1 {
        grid-column-start: 2;
        grid-column-end: 8;
        grid-row-start: 2;
        grid-row-end: 3;
    }

    .pillar-2 {
        grid-column-start: 2;
        grid-column-end: 8;
        grid-row-start: 3;
        grid-row-end: 4;
        margin-top: 1em;
    }

    .pillar-3 {
        grid-column-start: 2;
        grid-column-end: 8;
        grid-row-start: 4;
        grid-row-end: 5;
        margin-top: 1em;
    }
}

/* bp-major-wide-min */
@media all and (min-width: 1024px) {
}


/*******************************************************************************
    Relevance
*******************************************************************************/

.relevance {
    padding-top: 1em;
    padding-bottom: 1em;
}

.relevance-1 {
    grid-column-start: 2;
    grid-column-end: 6;
    grid-row-start: 1;
    grid-row-end: 2;
}

.relevance-2 {
    grid-column-start: 6;
    grid-column-end: 14;
    grid-row-start: 1;
    grid-row-end: 2;
}

.relevance-1 > img {
    display: block;
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    object-fit: cover;
}

/* bp-minor-reduce-1-max */
@media all and (max-width: 840px) {

    .relevance-2 > h2 {
        margin-top: 0;
    }

    .relevance-2 > p:last-child {
        margin-bottom: 0;
    }
}

/* bp-major-narrow-max */
@media all and (max-width: 670px) {

    .relevance-1 {
        grid-column-start: 2;
        grid-column-end: 8;
        grid-row-start: 1;
        grid-row-end: 2;
    }

    .relevance-2 {
        grid-column-start: 2;
        grid-column-end: 8;
        grid-row-start: 2;
        grid-row-end: 3;
        margin-top: 1em;
    }

    .relevance-1 > img {
        width: 100%;
        height: auto;
    }

    .relevance-2 > h2 {
        margin-top: inherit;
    }

    .relevance-2 > p:last-child {
        margin-bottom: inherit;
    }
}


/*******************************************************************************
    Trust
*******************************************************************************/

.trust {
    padding-top: 0.5em;
    padding-bottom: 1em;
}

.trust-card {
    border-radius: 8px;
    border-width: 3px;
    border-style: solid;
    padding-left: 1em;
    padding-right: 1em;
}

.trust-1 {
    background-color: var(--ac-pastel-blue);
    border-color: var(--ac-border-blue);
    grid-column-start: 2;
    grid-column-end: 7;
    grid-row-start: 2;
    grid-row-end: 3;
}

.trust-2 {
    background-color: var(--ac-pastel-green);
    border-color: var(--ac-border-green);
    grid-column-start: 7;
    grid-column-end: 14;
    grid-row-start: 2;
    grid-row-end: 3;
    padding-bottom: 1em; /* a little more space for quotes */
}


/* Client quotes */
.client-quotes {
    position: relative;
}

    .client-quotes blockquote {
        margin: 0;
    }

.client-quote {
    position: absolute;
    opacity: 0;
    margin-top: 0;
    animation: rotate-quotes 45s infinite;
}

.client-quote-1 {
    animation-delay: 0s;
}

.client-quote-2 {
    animation-delay: 15s;
}

.client-quote-3 {
    animation-delay: 30s;
}

.client-name {
    font-style: italic;
    margin-left: 2em;
}

@keyframes rotate-quotes {
    0% {
        opacity: 0;
    }

    3% {
        opacity: 1;
    }

    30% {
        opacity: 1;
    }

    33% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .client-quote {
        animation: none;
        display: none;
    }

        .client-quote:first-child {
            display: block;
            opacity: 1;
        }
}

/* bp-minor-reduce-2-max */
@media all and (max-width: 720px) {

    .client-name {
        margin-left: 1em;
    }
}

/* bp-major-narrow-max */
@media all and (max-width: 670px) {

    .trust-1 {
        grid-column-start: 2;
        grid-column-end: 8;
        grid-row-start: 2;
        grid-row-end: 3;
        min-height: 160px;
    }

    .trust-2 {
        grid-column-start: 2;
        grid-column-end: 8;
        grid-row-start: 3;
        grid-row-end: 4;
        margin-top: 1em;
    }
}

/* bp-major-wide-min */
@media all and (min-width: 1024px) {
}

