/*
FONTS:

Dancing Script
Lato

*/
/*
COLOR PALLETE

office wall color: #99b4ff
slighty darker variation: #88a0e2

*/

/* global styles */
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script&family=Lato&display=swap&Raleway');

body {
    position: relative;
}

/* nav styles */
nav.navbar {
    min-height: 91px;
    border-bottom: 1px solid #99b4ff;
}

/* makes navbar smaller once scrolling starts (with jQuery) */
nav.navbar-scroll {
    min-height: 71px;
    padding: 15px 25px !important;
}

/* glassmorphic navbar backdrop for Safari & Chrome */
@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
    nav.navbar {
        transition: all 0.5s ease-in-out;
        padding-top: 15px;
        padding-bottom: 15px;
        background-color: rgba(255, 255, 255, 0.2);
        backdrop-filter: blur(20px) saturate(160%) contrast(45%) brightness(140%);
        -webkit-backdrop-filter: blur(20px) saturate(160%) contrast(45%) brightness(140%);
    }
}

/* slightly transparent fallback for Firefox (not supporting backdrop-filter) */
@supports not ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {
    nav.navbar {
        background-color: rgba(255, 255, 255, .9);
    }
}

a.navbar-brand, a.nav-link {
    font-family: Lato, serif;
}

button.navbar-toggler {
    border: none;
    font-size: 24px;
}

li.nav-item {
    margin: 0 2px;
}

a.nav-link, a.nav-link:focus {
    font-size: 19px;
    width: inherit;
    height: inherit;
    padding: 5px;
    border-radius: 12px;
    color: rgba(0,0,0,.5) !important;
}

a.nav-link:hover, a.nav-link.active {
    transition: 200ms ease-in-out;
    background: #88a0e2;
    color: #ffffff !important;
}

/* global section styles */

section {
    background: #ffffff;
    min-height: calc(100vh - 71px);
    padding: 10px 20px 25px;
}

/*
    insures that sections are pushed down
    so that navbar isn't covering section
 */
div.section-wrapper::before {
    display: block;
    content: " ";
    margin-top: -71px;
    height: 71px;
    visibility: hidden;
    pointer-events: none;
}

h1.section-header {
    padding: 10px 0 15px 0;
    font-family: "Dancing Script", serif;
    font-size: 58px;
    color: #88a0e2;
}

/* first home card - cover styles */
section.home {
    background: linear-gradient(
            rgba(0, 0, 0, 0.3),
            rgba(0, 0, 0, 0.3)
    ),
    url("../assets/home-cover.jpg") center center no-repeat scroll;
    background-size: cover;
    height: 100vh;
    width: 100%;
    display: flex;
    flex-flow: column;
    align-content: center;
    justify-content: center;
}

h1.home-header {
    font-family: Lato, serif;
    font-size: 4.5em;
    padding: 0 10px;
    margin-bottom: 0;
    color: #ffffff;
    text-shadow: 0px 2px 0px #393939;
}

h2.home-subheader {
    font-family: "Times New Roman", serif;
    font-style: italic;
    font-size: 2.5em;
    color: #ffffff;
    text-shadow: 0px 2px 0px #393939;
    margin-bottom: 0;
}

/* services card styles */
section.services {
    background-color: #6a93cb;
    background-image: linear-gradient(315deg, #6a93cb 0%, #a4bfef 74%);
}

div.services-wrapper {
    justify-content: center;
}

h1.services-header {
    color: #ffffff;
}

/* col div */
div.services-wrapper div.col-lg-3 {
    margin: 5px;
    padding: 0;
}

section.services .card {
    border-radius: 12px;
    min-width: 250px;
    margin-right: 0;
    margin-left: 0;
}

section.services .card-header {
    text-align: center;
    font-family: Lato, serif;
}

/* contact card styles */
section.contact {
    /*background-color: #58427c;x*/
    /*background-image: linear-gradient(316deg, #58427c 0%, #746cc0 74%);*/
    background-color: #2a2a72;
    background-image: linear-gradient(315deg, #2a2a72 0%, #009ffd 74%);
}

h1.contact-header {
    color: #ffffff;
}


section.contact div.card {
    border-radius: 12px;
    min-width: 300px;
    margin-bottom: 10px;
}

section.contact .card-header {
    text-align: center;
    font-family: Raleway, serif;
}

section.contact h4 {
    font-family: Raleway, serif;
    font-size: 1.8em;
    margin-bottom: 0;
}

section.contact li.phone-number {
    font-size: 19px;
    border: none;
}

section.contact li.phone-number a {
    text-decoration: none;
}

section.contact i.fas {
    font-size: 19px;
    display: inline-block;
    color: #3366ff;
}

section.contact div.fax-number h4 {
    color: #ffffff;
    margin-top: 20px;
    font-family: Arial, serif;
    font-size: 22px;
}

iframe.google-maps {
    border-radius: 12px;
}

/* about section styles */
section.about {
    background: linear-gradient(
            rgba(0, 0, 0, 0.2),
            rgba(0, 0, 0, 0.2)
    ), url("../assets/about-cover.jpg") center center no-repeat;
    background-size: cover;
    /*background-color: #2a2a72;*/
    /*background-image: linear-gradient(315deg, #2a2a72 0%, #009ffd 74%);*/
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
}

h1.about-header {
    color: #ffffff;
}

p.lead.about-info {
    padding: 15px;
    text-align: justify;
    color: #000000;
    border-radius: 12px;
    max-width: 70%;
    margin-right: auto;
    margin-left: auto;
    background-color: rgba(153,180,255,0.9);
}

div.diploma-images div {
    margin-bottom: 25px;
}

img.diploma {
    max-height: 300px;
    margin-right: auto;
    margin-left: auto;
    border-radius: 12px;
}


/* footer/copyright styles */
footer.card-footer {
    background-color: #8989bb;
    background-image: linear-gradient(315deg, #8989bb 0%, #a5a4cb 74%);
    color: #ffffff;
}



/* media queries */

@media (max-width: 1055px) {
    div.services-wrapper div.col-lg-3 {
        margin: 10px;
    }
}

/* mobile menu shows up */
@media (max-width: 991px) {
    a.nav-link {
        text-align: center;
        margin: 2px 0;
    }

    section.contact div.col-lg-6:first-child {
        margin-bottom: 20px;
    }

    section.contact li.phone-number {
        padding-left: 0;
    }

    section.contact li.phone-number a {
        border: 1px solid #3366ff;
        padding: 12px 20px;
        border-radius: 12px;
    }


    p.lead.about-info {
        max-width: 100%;
    }
}

@media (max-width: 770px) {
    h1.home-header {
        font-size: 3.2em;
    }
    h2.home-subheader {
        font-size: 1.8em;
    }
}

@media (max-width: 552px) {
    h1.home-header {
        font-size: 2.8em;
    }
    h2.home-subheader {
        font-size: 1.4em;
    }

    footer.card-footer {
        font-size: 11px;
        padding: 5px;
    }
}

@media (max-width: 356px) {
    h1.home-header {
        font-size: 2.4em;
    }
    h2.home-subheader {
        font-size: 1.1em;
    }
}