@charset "UTF-8";

/* #### Variables #### */ 

    @font-face {
        font-display: block;
        font-weight: normal;
        font-family: LeagueSpartan;
        src: url(../fonts/LeagueSpartan-Bold.woff);
    }

    @font-face {
        font-display: block;
        font-family: Gravity;
        src: url(../fonts/Gravity-Book.woff);
        font-weight: normal;
        font-style: normal;
    }

    @font-face {
        font-display: block;
        font-family: Gravity;
        src: url(../fonts/Gravity-Italic.woff);
        font-weight: normal;
        font-style: italic;
    }

    @font-face {
        font-display: block;
        font-family: Gravity;
        src: url(../fonts/Gravity-Bold.woff);
        font-weight: 700;
        font-style: normal;
    }

    @font-face {
        font-display: block;
        font-family: Gravity;
        src: url(../fonts/Gravity-BoldItalic.woff);
        font-weight: 700;
        font-style: italic;
    }

    @font-face {
        font-display: block;
        font-family: Gravity;
        src: url(../fonts/Gravity-Light.woff);
        font-weight: 400;
        font-style: normal;
    }

    @font-face {
        font-display: block;
        font-family: Gravity;
        src: url(../fonts/Gravity-LightItalic.woff);
        font-weight: 400;
        font-style: italic;
    }

    :root {
        --dark-blue:  #3560ad;
        --light-blue: #79a3d6;
        --gold:       #efba21;
        --dark-gray:  #595757;
        --light-gray: #807a79;
        --xlight-gray: #e6e6e6;
        --step--5: clamp(0.53rem, calc(0.51rem + 0.07vw), 0.57rem);
        --step--4: clamp(0.63rem, calc(0.61rem + 0.12vw), 0.72rem);
        --step--3: clamp(0.76rem, calc(0.72rem + 0.20vw), 0.90rem);
        --step--2: clamp(0.91rem, calc(0.85rem + 0.31vw), 1.12rem);
        --step--1: clamp(1.09rem, calc(1.00rem + 0.45vw), 1.40rem);
        --step-0: clamp(1.31rem, calc(1.18rem + 0.65vw), 1.75rem);
        --step-1: clamp(1.58rem, calc(1.39rem + 0.91vw), 2.19rem);
        --step-2: clamp(1.89rem, calc(1.64rem + 1.25vw), 2.73rem);
        --step-3: clamp(2.27rem, calc(1.93rem + 1.70vw), 3.42rem);
        --step-4: clamp(2.72rem, calc(2.26rem + 2.30vw), 4.27rem);
        --step-5: clamp(3.27rem, calc(2.65rem + 3.07vw), 5.34rem);
    }

    /* ### Background ### */

    .bg-layer0 {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    background-color: #ececec;
    /* background-image: url(./images/pattern3.png); */
    /* background-repeat: repeat; */
    /* background-size: 200px 100px; */
    box-shadow: inset 0px 0px 50vw #d5d5d5;
    /* animation: slide 24s linear infinite; */
    pointer-events: none; 
    }


    /* #### Style #### */

    body {
        color: #1e1e1e;
        background-color: #ececec;
        color: #101010;
        font-family: Arial, Helvetica, sans-serif;
        font-size: var(--step--3);
        line-height: var(--step--1);
        font-weight: 400;
        font-style: normal;
        margin: 0;
        padding: 0;
    }

    h1, h2, h3, h4 {
        font-family: LeagueSpartan, sans-serif;
        color: var(--dark-blue);
        font-weight: 600;
        font-style: normal;
        margin-top: 0;
        margin-bottom: 0;
    }

    h1 {
        text-transform: uppercase;
        font-size: var(--step-2);
        line-height: var(--step-3);
    }

    h2 {
        text-transform: uppercase;
        font-size: var(--step-1);
        line-height: var(--step-2);
    }

    h3 {
        font-size: var(--step-0);
        line-height: var(--step-1);
        margin-bottom: var(--step--4);
    }

    h4 {
        font-size: var(--step--2);
        line-height: var(--step--1);
    }

    #logo {
        width: 40vw;
        max-width: 700px;
        object-fit: cover;
        margin-top: var(--step-1);
        margin-bottom: var(--step-1);
    }

    @media only screen and (max-width: 600px) {
        #logo {
            width: 60vw;
        }
    }

    a {
        color: var(--dark-blue);
        font-weight: bold;
        text-decoration: none;
        transition: 0.3s;
    }

    a:hover {
        color: var(--gold);
    }

    p {
        margin-top: 0;
        margin-bottom: var(--step--2);
    }

    .bold {
        font-weight: bold;
    }

    .italic {
        font-style: italic;
    }

    main {
        margin-left: 10%;
        margin-right: 10%;
    }

    @media only screen and (max-width: 1600px) {
        main {
            margin-left: var(--step-2);
            margin-right: var(--step-2);
        }
    }

    @media only screen and (max-width: 600px) {
        main {
            margin-left: 0.8rem;
            margin-right: 0.8rem;
        }
    }

    header, footer {
        text-align: center;
        margin-left: 10%;
        margin-right: 10%;
    }

    header {
        padding-bottom: 4rem;
    }

    footer {
        padding-top: 4rem;
    }

    footer p, footer a {

    }

    article {
        padding-bottom: 4rem;
    }

    .art-header {
        margin-top: var(--step-2);
        margin-bottom: var(--step-1);
    }

    .info-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(24rem, 100%), 1fr));
        gap: var(--step-2);
    }

    .info-grid > div {
        min-width: 24rem;
        background-color: #ffffff4d;
        border-radius: 1rem;
    }

    @media only screen and (max-width: 600px) {
        .info-grid > div {
            min-width: 0;
        }
    }  

    .info-grid > div > div {
        padding: var(--step-0);
    }

    .phone-directory {
        max-width: 28rem;
    }

    .phone-directory > div {
        padding-left: var(--step-0);
    }

    .resource-list > div > div {
        margin-bottom: var(--step-0);
        margin-left: var(--step-0);
    }

    .resource-list a {
        font-family: LeagueSpartan, sans-serif;
    }

    .office-info > div {
        padding-left: var(--step-0);
    }

    .dirflex{
        display: flex;
        flex-direction: column;
        padding-left: 1rem;
    }

    .dirlist {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        width: 100%;
    }

    .dirlist .column p {
        margin: 0rem;
        font-size: var(--step--3);
        line-height: var(--step-0);
    }

    .dirlist .column:first-of-type {
        flex: 4;
    }

    .dirlist .column:nth-of-type(2) {
        flex: 0.6;
    }

    .dirlist .column:nth-of-type(2) p {
        text-align: center;
    }

    .top-pad {
        padding-top: var(--step-0);
    }

