@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@300;400&family=Roboto:wght@300;400&display=swap');
:root {
    --clr-primary: #94C11E;
    --clr-primary-dark: #4a610f;
    --clr-accent: #54565A;
    --clr-accent-dark: #404246;
    --clr-light: #dddddd;
    --clr-gray: #838383;
    --clr-dark: #2c2c2c;
    --clr-black: #222222;
    --ff-serif: "Roboto Slab", serif;
    --ff-title: "Roboto", sans-serif;
    --zi-btn-scroll-to-top: 99;
    --size-footer-1: 543px !important;
    --size-footer-2: 299px !important;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

html {
    scroll-behavior: smooth;
    box-sizing: border-box;
    font-family: var(--ff-serif);
    color: var(--clr-light);
}

img {
    display: block;
    max-width: 100%;
}

body {
    margin: 0;
    background-color: var(--clr-dark);
    background: url(img/background.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    background-attachment: fixed;
}

#main {
    position: relative;
    min-height: 100vh;
    padding-bottom: var(--size-footer-1);
}

section {
    padding: 3em 1em;
    border-top: 5px solid var(--clr-primary);
}

.container {
    margin: 0 auto;
    width: min(90%, 70.5rem);
}

#nav {
    margin-bottom: 13vh;
}

#nav>ul {
    display: flex;
    flex-direction: column;
    text-align: center;
    padding: 0;
}

#nav>ul>li {
    margin: 0;
    color: var(--clr-gray);
}

#header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2vh 1em 15vh 1em;
}

.policy {
    background: var(--clr-dark);
    overflow-wrap: break-word;
}

.policy hr {
    margin: 2em 0;
}

.policy p,
.policy ul {
    margin-bottom: 1em;
    list-style: '─ ';
    font-weight: lighter;
}

.policy__section+.policy__section {
    margin-top: 2em;
}

.policy h1 {
    font-size: 2rem;
    margin: 0 0 0 0 !important;
    color: var(--clr-light);
}

.policy h2,
.policy h3,
.policy h4 {
    color: var(--clr-primary);
    font-weight: 400;
    margin-bottom: .5em;
}

#footer {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: var(--clr-black);
    padding: 3em 1em;
    border-top: 5px solid var(--clr-primary);
    box-shadow: inset 0 1em 1em -1em #0007;
}

.footer__body {
    width: min(90%, 70.5rem);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.footer__section {
    width: min(100%, 20rem);
}

.footer__section+.footer__section {
    margin-top: 3em;
}

.footer-info {
    color: var(--clr-gray);
    margin-left: .5em;
}

footer hr {
    margin: 1em 0;
    border: none;
    height: 1px;
    background: linear-gradient(90deg, var(--clr-primary) 3em, var(--clr-accent-dark) 3em);
}

.scroll-to-top {
    z-index: var(--zi-btn-scroll-to-top);
    cursor: pointer;
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    bottom: 0;
    right: 0;
    width: 2.5rem;
    height: 2.5rem;
    padding: .5em 0 0 .5em;
    background-color: var(--clr-accent);
    border-radius: 100% 0% 0%;
    transition: background-color .1s ease-out, color .1s ease-out;
}

.scroll-to-top:active {
    color: var(--clr-primary);
    background-color: var(--clr-accent-dark);
}

h1,
h2,
h3,
h4,
p,
ul,
li,
a {
    margin: 0;
}

a {
    text-decoration: none;
}

ul {
    list-style: none;
}

li {
    margin-bottom: .5em;
}

li>i {
    width: 20px;
    text-align: center;
}

li:last-child {
    margin-bottom: 0;
}

h1,
h2,
h3,
h4 {
    font-family: var(--ff-title);
    line-height: 1.2;
    font-weight: 300;
}

p {
    margin-bottom: .85em;
}

p:last-child {
    margin-bottom: 0;
}

#header .header-title {
    text-align: center;
    margin-bottom: 1em;
}

.section-title {
    margin-bottom: 1em;
}

.text-center {
    text-align: center;
}

#header .logo {
    width: 8em;
    min-width: 8em;
    height: 8em;
    min-height: 8em;
    margin-bottom: 2em;
    padding: .5em;
    border: 1px solid #fff;
}

a.link {
    color: var(--clr-gray);
    transition: all .1s ease-out;
}

a.link:hover,
a.link:focus {
    color: var(--clr-primary);
    text-decoration: underline;
}

a.link:hover,
a.link:focus {
    color: var(--clr-primary);
}

a.nav-link {
    padding: .25em .5em;
    position: relative;
    color: var(--clr-light);
    transition: all .1s ease-out;
}

a.nav-link::after {
    pointer-events: none;
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10px;
    height: 2px;
    background: var(--clr-primary);
    opacity: 0;
    transition: all .1s ease-out;
}

a.nav-link:hover::after,
a.nav-link:focus::after {
    bottom: 0;
    opacity: 1;
}

.btn {
    display: inline-block;
    padding: .5em 1.5em;
    color: var(--clr-light);
    border: 1px solid #fff;
    transition: color .1s ease-out, background-color .1s ease-out;
}

.btn:hover,
.btn:focus {
    color: var(--clr-dark);
    background-color: #fff;
}

.register-p {
    text-align: center;
    margin-top: 2em;
    font-size: .75rem;
    color: var(--clr-gray);
}

i+a {
    margin-left: .5em;
}

@media only screen and (min-width: 900px) {
    #main {
        padding-bottom: var(--size-footer-2);
    }
    #nav>ul,
    .footer__body {
        flex-direction: row;
        align-items: flex-start;
    }
    .footer__section+.footer__section {
        margin-top: 0;
    }
}