:root {
    --header-color: rgb(0, 52, 107);
    --blue-tint: rgb(214, 226, 240);
    --green-tint: rgb(189, 209, 156);
}

body,
html {
	font-size: 62.5%;
	width:100vw;
	overflow-x: hidden;
}

body {
	box-sizing: border-box;
	display:grid;
	grid-template-rows: max-content auto max-content;
	min-height:100dvh;
}

body * {box-sizing: border-box;}

* {
    font-family: 'Merriweather Sans', sans-serif;
}

a {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	font-style: inherit;
}

strong {
	font: inherit;
	font-size: inherit;
	font-weight: 600;
}

img {max-width:100%;}

* {font-weight:300; font-size: 1.6rem;line-height: 1.4; color: rgb(50,50,50);}

@media screen and (min-width: 1000px) {
	* {font-size: 1.8rem; line-height:1.4;}
}

h1,
h2,
h3,
h4 {line-height: 1.4; color: var(--header-color); text-align:center; padding-bottom:25px;font-weight: 600;}

h1 {font-size: 3rem;margin-bottom: 1.75rem;}
h2 {font-size: 2rem;margin-bottom: 1.75rem;}
h3 {font-size: 1.8rem;margin-bottom: 1.5rem;}
h4 {font-size: 1.4rem;margin-bottom: 1rem;}

@media screen and (min-width: 720px) {
	h1 {font-size: 3.4rem;margin-bottom: 1.5rem;}
	h2 {font-size: 2rem;margin-bottom: 1.2rem;}
	h3 {font-size: 1.8rem;margin-bottom: 1rem;}
	h4 {font-size: 1.4rem;margin-bottom: 0.75rem;}
}

@media screen and (min-width: 1200px) {
	h1 {font-size: 4.8rem;margin-bottom: 1.5rem;}
	h2 {font-size: 2rem;margin-bottom: 1.2rem;}
	h3 {font-size: 1.8rem;margin-bottom: 1rem;}
	h4 {font-size: 1.4rem;margin-bottom: 0.75rem;}
}

header {
    box-shadow: 0 0 8px black;
    position: relative;
    z-index:10;
}

nav {
    padding:10px 0;
}
nav .desktop-menu ul {
    margin:0;
    padding:0;
    display:flex;
    list-style: none;
    li {
        flex-grow: 1;
        text-align: center;
        a {
            transition: background-color 0.5s;
            font-weight:400;
            padding:15px 15px 10px;
            display:inline-block;
            width:auto;
            height:100%;
            text-decoration: none;
        }
    }
    li:hover a {
        background-color:var(--blue-tint);
    }
}
.mobile-menu {
    text-align:center;
    ul {
        display:none;
        background-color: rgb(245,245,245);
        list-style: none;
        margin:0;
        padding:0;
        li {
            a {
                font-weight:400;
                padding:15px 5px;
                display:block;
                width:100%;
                height:100%;
                text-decoration: none;
            }
        }
        li:hover {background-color: var(--green-tint);}
    }
}

.content-section {
    margin: 0 auto;
}

main .content-section, footer .content-section {padding-inline:30px;}

.mobile-menu {display:block;}
.desktop-menu {display:none;}

@media (min-width:1140px){
    .desktop-menu {display:block;}
    .mobile-menu {display:none;}
    .content-section {
        padding-block:0;
        max-width:1100px;
        margin: 0 auto;
        position: relative;
    }
}


.hero {
    width:100vw;
    height:80dvh;
    background-size:cover;
    background-position: center bottom;
    .title {
        padding-top:30px;
    }
    h1 {
        text-align:center;
        margin:0; padding:0;
    }
}


.home-icon-sections {
    display:flex;
    text-decoration: none;
    gap:20px;
    flex-wrap:wrap;
    justify-content: center;
    .icon-button {
        background-color: var(--blue-tint);
        flex:1;
        max-width:360px;
        min-width:200px;
        flex-basis:32%;
        text-align:center;
        padding:30px;
        text-decoration: none;
        transition: background-color 0.5s;
        div {
            padding-top:15px;
            color: inherit;
            font-weight:bold;
        }
    }
    .icon-button:hover {
        background-color: var(--green-tint);
    }
}


footer {
    background-color: var(--green-tint);
    padding:10px 0;
}

.footer-grid {
    text-align: center;
}
@media (min-width:1140px){
    .footer-grid {
        display:grid;
        grid-template-columns: auto max-content;
        gap:20px;
        div {text-align: left; font-size:90%}
    }
}

@media (min-width:760px){
    .columns {
        display:grid;
        grid-template-columns: auto 33%;
        gap:40px;
        img {
            max-width:100%;
        }
        div {align-content: center;}
    }
    .columns-50 {grid-template-columns: 1fr 1fr;}
}

.spacer {
    height:30px;
}

a>img {
    transition: box-shadow 0.5s;
}
a>img:hover {
    box-shadow:0 0 10px var(--green-tint);
}

body img {border-radius:10px;}

.lightbox3-close {background:white !important;}

.scheme-benefit {
    background-color: var(--blue-tint);
    padding:30px 40px;
    text-align:center;
    border-radius:10px;
}

/* Forms */
::-webkit-resizer {
  display: none;
}

form {
    background-color:var(--blue-tint);
    padding:20px;
    border-radius:10px;

    & > label {
        width:100%;
        display:block;
        font-weight:400;
    }
    input[type='text'],
    input[type='email']
    {
        width:100%;
        padding:10px 10px;
        border-radius: 5px;
        border:1px solid var(--blue-tint);
        margin-block:5px 25px;
    }
    textarea {
        width:100%;
        height:100px;
        padding:10px 10px;
        border-radius: 5px;
        border:1px solid var(--blue-tint);
        margin-block:5px 25px;
    }

    .radio {
        display:grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
        gap:10px;
        margin-block:5px 30px;
    }

    .checkbox {
        display:grid;
        grid-template-columns: max-content 1fr;
        gap:10px;
        margin-block:5px 30px;
    }

    input[type='submit']{
        background-color: var(--header-color);
        color:white;
        border:none;
        padding:15px 25px;
        border-radius:10px;
        transition: background-color 0.5s, color 0.5s;
        cursor: pointer;
        &:hover {
            background-color: var(--green-tint);
            color: rgb(50,50,50);
        }
    }

}

.form-notice {
    padding:20px;
    margin-block:25px;
}

.form-error {
    background-color:rgb(255,0,0,.2);
}
.form-notice {
    background-color: var(--green-tint);
}

@media (min-width:1300px){
    video {
        width: 70vw;
        position: relative;
        left: calc(-35vw + 50%);
    }
}