@charset "utf-8";

@font-face {
    font-display: swap;
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/nunito-sans-v15-latin-regular.eot');
    src: url('../fonts/nunito-sans-v15-latin-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/nunito-sans-v15-latin-regular.woff2') format('woff2'), url('../fonts/nunito-sans-v15-latin-regular.woff') format('woff'), url('../fonts/nunito-sans-v15-latin-regular.ttf') format('truetype'), url('../fonts/nunito-sans-v15-latin-regular.svg#NunitoSans') format('svg');
}

@font-face {
    font-display: swap;
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/nunito-sans-v15-latin-600.eot');
    src: url('../fonts/nunito-sans-v15-latin-600.eot?#iefix') format('embedded-opentype'), url('../fonts/nunito-sans-v15-latin-600.woff2') format('woff2'), url('../fonts/nunito-sans-v15-latin-600.woff') format('woff'), url('../fonts/nunito-sans-v15-latin-600.ttf') format('truetype'), url('../fonts/nunito-sans-v15-latin-600.svg#NunitoSans') format('svg');
}

@font-face {
    font-display: swap;
    font-family: 'Nunito Sans';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/nunito-sans-v15-latin-900.eot');
    src: url('../fonts/nunito-sans-v15-latin-900.eot?#iefix') format('embedded-opentype'), url('../fonts/nunito-sans-v15-latin-900.woff2') format('woff2'), url('../fonts/nunito-sans-v15-latin-900.woff') format('woff'), url('../fonts/nunito-sans-v15-latin-900.ttf') format('truetype'), url('../fonts/nunito-sans-v15-latin-900.svg#NunitoSans') format('svg');
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    color: #005e68;
    font: 400 1rem/1.5em 'Nunito Sans', Arial, sans-serif;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

#wrapper {
    position: relative;
    max-width: 59.375rem;
    margin: 1.5rem auto;
    background: #fff;
}

header {
    display: flex;
    justify-content: center;
}

article {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2rem;
}

article section {
    width: 72%;
}

article aside {
    width: 28%;
    margin-top: -12rem;
}

article .round-btn {
    display: flex;
    justify-content: flex-start;
    gap: 1rem;
}

ul li strong {
    color: #8cd000;
}

.list {
    margin-top: 0;
}

article a.rnd-btn {
    padding: .2rem 1.062rem;
    border-radius: 2.437rem;
    text-transform: uppercase;
    text-align: center;
    font-weight: 600;
    font-size: .812rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
}

article a.rosa {
    background: #e88200;
    color: #fff;
}

article a.hellgruen {
    background: #b0ce7a;
    color: #fff;
}

article a.gruen {
    background: #8cd000;
    color: #fff;
}

:is(article, footer) p {
    margin: 1rem 0;
}

article h1 {
    color: #002f55;
    font-size: 4buttonpx;
    margin: 2rem 0 1.5rem;
    font-weight: 900;
    line-height: 120%;
}

article .infos {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    margin: 1rem 0 2rem;
}

article .infos p {
    margin: .3rem 0;
}

article .infos span {
    float: left;
    width: 100px;
}

:is(a:link, a:visited, a:hover, a:active) {
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

article h2 {
    font-size: 1.1rem;
    hyphens: auto;
}

article h3,
footer h3 {
    font-size: 1.062rem;
    color: #002f55;
    font-weight: 900;
}

article ul {
    margin: 1.25rem 0 2rem 1.7rem;
    list-style: none;
}

article ul li:before {
    content: "\2022";
    color: #8cd000;
    font-size: 1.4375rem;
    float: left;
    margin: -2px 0 0 -25px;
    line-height: 1.2;
}

article aside .details {
    background: #005e68;
    padding: 1.5rem 1.5rem 2rem;
}

article aside .details img {
    margin: 0 auto;
}

article h4 {
    color: #fff;
    line-height: 1.3;
    font-weight: 900;
    font-size: 23px;
    margin: 2rem 0 2.5rem;
    hyphens: auto;
}

article aside .details div.items {
    margin: 2rem 0 0;
}

article aside .details div.items > p {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    color: #fff;
}

article aside .details div.items p span {
    float: left;
    display: flow-root;
    width: 30px;
}

article aside .details div.items p span.nowrap {
    width: 100%;
}

article aside .details div.items a:hover {
    color: #f36;
    text-shadow: none;
    transition: color .2s ease-out;
}

.iframe-wrapper {
    width: 100%;
    position: relative;
    padding-bottom: 50%;
    padding-top: 1.875rem;
    height: 0;
    overflow: hidden;
}

.iframe-wrapper iframe {
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

article .apply {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
}

article .apply a.button {
    background: #8cd000;
    font-weight: 900;
    font-size: 15px;
    color: #fff;
    padding: .7rem 2rem;
    width: 100%;
    text-align: center;
}

article h5 {
    font-size: 1.1rem;
    color: #002f55;
    line-height: 120%;
    margin: 3rem 0 1rem;
}

footer {
    width: 70%;
}

footer span {
    color: #8cd000;
}

.nowrap {
    white-space: nowrap;
    color: inherit;
}

footer a.mail {
    color: #323a45;
}

footer a.mail:hover {
    color: #8ABD31;
}

.flex {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.flex:first-of-type {
    margin: 90px 0 30px;
}

.flex img {
    border-radius: .25rem;
}

.width {
    width: 75%
}

@media only screen and (max-width: 59.313rem) {
    #wrapper {
        border: none;
        margin: 1rem 1.5rem;
    }

    :is(article, footer) :is(p, ul, h1) {
        hyphens: auto;
    }

    article h1 {
        font-size: 1.7rem;
    }
}

@media only screen and (max-width: 800px) {
    article {
        flex-direction: column;
        gap: 0;
    }

    article section,
    footer {
        width: 100%;
    }

    article aside {
        width: 100%;
        margin-top: 0;
    }

    article aside .details .col-2 {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 1rem;
    }

    article aside .details div.items p span.nowrap {
        white-space: nowrap;
    }

    article h4 {
        margin: 1rem 0;
        width: 75%;
    }

    article aside .details div.items {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
        gap: 1rem;
    }

    article aside .details div.items p {
        margin: 0;
    }

    footer {
        padding: 40px 0 0;
    }
}

@media only screen and (max-width: 640px) {
    article aside .details .col-2 {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        align-items: center;
    }

    article h4 {
        text-align: center;
        width: 100%;
    }

    .flex {
        flex-direction: column;
        align-items: center;
    }

    .flex:first-of-type {
        margin: 50px 0;
    }

    .flex p,
    .flex h3:last-of-type,
    footer {
        text-align: center
    }

    .width {
        width: 100%
    }

    article aside .details div.items {
        grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    }
}

@media only screen and (max-width: 30rem) {
    #wrapper {
        margin: 1rem;
    }

    article ul {
        padding: 0;
    }

    article aside .details div.items {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}
