html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }

:root {
    --link-color: #189CF0;
    --link-underline-color: #189CF0;
}


.fa-badge-check { color: #00c951; }
.fa-shield-check { color: #189CF0; }
.fa-check { color: #00c951; }
.fa-star { color: goldenrod; }
.fa-youtube { color: #c00; }

a {
    color: var(--link-color);
    text-decoration: none;
    transition: color 0.2s ease;
    border-bottom: 1px solid var(--link-underline-color);
}

a:hover {
    color: #fff;
    transition: color 0.2s ease;
    border-bottom-color: #fff;
}

.button {
    display: inline-block;
    background: linear-gradient(10deg, #189CF0 0%, #0F7AC1 100%);
    color: #fff;
    padding: 0.6rem 1.2rem;
    border-radius: 10px;
    text-decoration: none;
    border:#0F7AC1 1px solid;
    font-size: 1rem;
    font-family: "Noto Sans", sans-serif;
}

.button:hover {
    background: linear-gradient(50deg, #0F7AC1 1%, #0F7AC1 100%);
    border:#0F7AC1 1px solid;
}

.conquer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;

    @media (max-width: 800px) {
        grid-template-columns: 1fr;
        gap:0;

        .youtube:first-of-type {
            margin-bottom: 1rem;
        }
    }
}

.youtube {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
}

.statcounter {display:none;}

.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
}

body {
    background: linear-gradient(170deg, #184066 0%, #0A0D30 40%, #051629 70%, #2F1230 100%);
    min-height: 100vh;
    color: #fff;
    font-family: "Noto Sans", sans-serif;
    line-height: 1.8;
    font-size: 1.1rem;
    padding:20px;
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.45;
    text-shadow:2px 3px 2px #446;
}

h1, h2, h3, h4, h5, h6, p {
    margin-top: 2rem;
}

strong {
    font-weight: bold;
}

header, main, nav, footer {
    max-width: 1024px;
    width: 100%;
    margin: auto;
    box-sizing: border-box;
}

header {
    padding-bottom: 2rem;
}

header nav strong a {
    font-size: 1.7rem;
    color:#fff;
    border:0;
    display: block;
    margin-bottom: 0.2rem;

    span {
        font-size: 0.7rem;
        font-weight: normal;
    }
}

header nav ul li {
    display:inline-block;
    margin-right: 0.6rem;

    @media screen and (max-width: 520px) {
        margin-right: 0.3rem;

        &&:first-of-type {
            display: none;
        }
    }
}

header nav ul li a {
    border:none;
}

header nav ul li a.active {
    color:#fff;
}

section {
    padding-bottom: 3rem;
}

section h1 {
    font-size: 2rem;
}

section h2 {
    font-size: 1.4rem;
    padding-bottom: 0.5rem;
}

section ul li i {margin-left:2px; margin-right:0.3rem;}

section.hero {

    div {
        max-width: 500px;
        margin-bottom: 2rem;
    }

    h1 small {
        display: block;
        font-size: 1.2rem;
    }

    p.explanation {
        color: #ccc;
        font-size: 0.9rem;
        line-height: 1.7;
    }
}

section.hero.video {
    display:grid;
    grid-template-columns: 10fr 8fr;

    div:nth-of-type(2) {margin-top: 2rem;}

    @media (max-width: 1000px) {
        grid-template-columns: 1fr;
    }
}

section.events ul li span
{
    color:#ccc;
    margin-left:10px;

    @media screen and (max-width: 520px) {
        margin-left: 1.7rem;
        display: block;
    }
}

section.me {

    background-image: url("./img/mvp.png");
    background-repeat: no-repeat;
    background-size: 30%;
    background-position: 100% 50px;

    @media (max-width: 950px) {
        background-image: none;
    }

    p {
        margin-top:0;
    }

    div {
        max-width: 650px;
    }

    div div.photo {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: flex-start;
        gap: 1.5rem;
        margin-top: 3rem;

        @media only screen and (max-width: 520px) {
            grid-template-columns: 1fr;
        }
    }

    div div.photo img {
        width: 140px;
        height: 140px;
        object-fit: cover;
        border-radius: 50%;
        margin-right: 10px;

        @media only screen and (max-width: 520px) {
            display: none;
        }
    }

    div div.photo div span {
        display: block;
        margin-top: 1rem;
        font-weight: bold;
    }

    div div.photo div span a {
        margin-right: 1rem;
    }
}

section.reference
{
    max-width:700px;

    div {

        margin-bottom:2rem;

        p {
            margin-top:0;
        }

        span {
            color:goldenrod;
            font-size:0.8rem;

            i:nth-child(5) { margin-right:10px; }
        }
    }

}

section.partners {
    img {
        height: 30px;
        margin-right:1rem;
        display: inline-block;
        vertical-align: top;
        opacity: 0.4;
        transition: opacity 0.3s ease;
    }

    img:hover {
        opacity: 1;
        transition: opacity 0.3s ease;
    }
}

section.features {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2rem;

    h3 {margin:0; font-size:1.2rem;}
    h3 span {
        background:#184066;
        width:40px;
        height:40px;
        display:inline-block;
        text-align:center;
        line-height:40px;
        border-radius:40px;
        font-weight:bold;
        margin-right: 0.6rem;
    }
    p {margin-top:1rem; font-size:0.95rem;}

    div {
        background: rgba(255, 255, 255, 0.05);
        padding: 1rem;
        border-radius: 10px;
        box-shadow: 2px 3px 5px rgba(0,0,0,0.2);
    }

    @media (max-width: 800px) {
        grid-template-columns: 1fr;
    }
}

section.contact {

    max-width: 600px;

    div.photo {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 1.5rem;
        margin-top: 3rem;
        align-items: flex-start;

        @media only screen and (max-width: 520px) {
            grid-template-columns: 1fr;
        }
    }

    div.photo img {
        width: 140px;
        height: 140px;
        object-fit: cover;
        border-radius: 50%;
        margin-right: 10px;

        @media only screen and (max-width: 520px) {
            width:100px;
            height:100px;
        }
    }

    div.photo h3 {
        margin-top:0;
        font-size:1.8rem;
        font-weight:bold;
    }

    div.photo p {
        margin-top:1rem;
        margin-bottom: 1rem;
    }

    div.photo p a {
        display: inline-block;
        clear: both;
        font-size:1.5rem;
        font-weight: bold;
        margin-bottom: 0.1rem;
        color:darkorchid;
        border:0;
        line-height: 1.5;

        @media only screen and (max-width: 520px) {
            font-size:1.2rem;
        }
    }

    div.photo p a:hover {
        color:orchid;
    }

}

section.freetext {
    max-width: 700px;

    @media (max-width: 700px) {
        max-width: 100%;
    }

    h1 {margin-bottom: 1rem;}
    h2,h3 {margin:1rem 0 0.5rem 0; padding:0}
    h3 {font-weight: bold; font-size:1.2rem;}
    p {margin: 0 0 2rem 0;}
    ul {
        margin-left:2rem;
        margin-bottom:2rem;

        @media (max-width: 520px) {
            margin-left:0;
        }
    }

    .gallery {
        display: grid;
        gap: 10px;
        grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
        margin-bottom: 2rem;

        img { width:100%; border-radius: 10px; }
    }
}

section.form {
    background: rgba(255, 255, 255, 0.05);
    padding: 2rem 1.5rem;
    border-radius: 10px;
    box-shadow: 2px 3px 5px rgba(0,0,0,0.2);
    display: grid;
    grid-template-columns: 3fr 2fr;
    margin-top:3rem;
    margin-bottom: 6rem;

    @media (max-width: 950px) {
        grid-template-columns: 1fr;
    }


    form div {
        display: inline-block;
        position: relative;
        margin-right: 1rem;

        .validation-message {
            font-size: 11px;
            position: absolute;
            right: 0;
            color: palevioletred;
            top: 20px;
        }

        .validation-message+label+input,
        .validation-message+label+textarea
        { border:#543749 1px solid;}
    }

    form label {
        display: block;
        font-size:0.9rem;
        padding: 0 0 2px 5px;
        margin-top:1rem;
        color:#ccc
    }

    form label.required::after
    {
        content: " *";
        color: palevioletred;
    }

    form input, form textarea, form select {
        display: block;
        background:#071424;
        color:#fff;
        border:#243749 1px solid;
        padding:15px 15px;
        border-radius: 10px;
        width:100%;
        box-sizing: border-box;
        font-family: "Noto Sans", sans-serif;
    }

    form input[type=checkbox] {
        display: inline;
        width: auto;
        margin-right: 0rem;
        padding:0;
    }

    form input[type=checkbox]+label {
        display: inline;
        margin-top:0;
    }

    form input:focus, form textarea:focus, form select:focus {
        border:#576474 1px solid;
        background:#0b1929;
        outline:none;
    }

    form button {
        background: linear-gradient(10deg, #189CF0 0%, #0F7AC1 100%);
        padding: 0.8rem 1.5rem;
        border-radius: 10px;
        border:#0F7AC1 1px solid;
        cursor: pointer;
        margin-top: 1rem;
    }

    form h2 {
        margin-top: 0;
    }

    div.info {
        padding-left: 1.5rem;
        border-left: #1E2D46 3px solid;

        i {margin-right: 0.3rem;}

        @media (max-width: 950px) {
            margin-top:2rem;
        }

        .day {
            margin: 0 0 1rem 0;
            font-weight: bold;
        }

        .price {
            margin-left:1.8rem;
            color:#FFC000;
            font-size:2rem;
            line-height: 0.9;

            span {
                font-size:1rem;
                color:#aaa;
                padding:0;
                margin:0;
            }

            .pay {
                margin-left: -15px;
                margin-top: 20px;
                max-width: 100%;
            }
        }
    }
}

footer {
    margin-top:3rem;
    font-size: 0.9rem;

    text-align: center;

    a {
        opacity: 0.3;
        margin-right: 1rem;
        color:white;
        border:0;
    }

    a:hover {
        color: violet;
    }

    span {
        color:#666;
    }

    img {
        margin-top: 10px;
        width:300px;
    }
}

@media only screen and (max-width: 520px) {
    body {
        font-size:0.9rem;
    }

    h1 {font-size:1.2rem !important;}
    h2,h3  {font-size:1.1rem !important;}

    .button {
        font-size: 0.9rem;
        padding: 0.5rem 1rem;
    }

    header{
        padding-bottom: 1rem;
    }

    section {
        padding-bottom: 1rem;
    }
}