/*https://coolors.co/192838/palettes*/
:root {
    --color-main: #192838; /* blue */
    --color-dark: #171717; /* black */
    --color-grey: #2a3935; /* grey/green */
    --color-light: #fff8f0; /* ivoire */
    --color-red: #f83e2d; /* Red */
    --border-radius: 20px; /* Red */
    --section-width: min(1200px, 100%);
}

body {
    background-image: url("../img/clubvelo2max/bg.jpg"),
    linear-gradient(rgba(255, 255, 255, 0.9) 50%, rgba(0, 0, 0, 1) 95%);
    background-color: #888;
    /*background-color: #550044;*/
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom center;
    background-attachment: fixed;
    background-blend-mode: multiply;

    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;

    color: var(--color-light);
    /*border-left: 5px solid var(--color-red);*/
    /*border-right: 5px solid var(--color-red);*/
    margin: 0;
}

.nav {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: var(--color-main);
    padding: 15px;
    opacity: .8;
    text-transform: uppercase;
}

.nav > div {
    margin: auto;
    min-width: min(1200px, 90%);
    display: flex;
    justify-content: space-between;
}

.bar {
    display: flex;
    justify-content: flex-end;
    gap: 0px;
}

.nav-link, .nav-link:visited {
    text-transform: uppercase;
    font-weight: 500;
    text-decoration: none;
    color: var(--color-light);
}

.nav-link:hover {
    color: var(--color-red);
}


h1 {
    font-size: 2rem;
    display: inline-block;
    font-weight: 800;
    border-bottom: 3px solid var(--color-red);
    text-transform: uppercase;
    margin-bottom: 30px;
}

h1.center {
    margin: auto;
    text-align: center;

}

h2 {
    font-size: 1.8rem;
    font-weight: 700;
    display: inline-block;
    border-bottom: 3px solid var(--color-red);
    text-transform: uppercase;
    margin-bottom: 20px;
}

h3 {
    font-size: 1.6rem;
    font-weight: 600;
}

h4 {
    font-size: 1.4rem;
    font-weight: 500;
}

a {
    text-decoration: none;
}

p {
    margin:20px auto;
    text-align: justify;
}

.center {
    text-align: center;
}
.crop {
    max-width: 600px;
}

.header-title {
    color: white;
    text-align: center;
    font-weight: 800;
    font-size: 40px;
    text-transform: uppercase;
    line-height: 40px;
}


a.page-link, a.page-link:visited, a.page-link:active {
    color:inherit;
    display:block;
    text-decoration: underline;
    font-weight: 600;
    padding:5px 0;
}


a.page-link:hover {
    color:rgba(255,255,255,.4);
    display:block;
    text-decoration: none;
}

btn {

}

.btn-main {
    font-weight: 600;
    background-color: var(--color-main);
    color: var(--color-light);
    border: 1px solid var(--color-main);
}

.btn-main:hover {
    background-color: transparent;
    color: var(--color-main);
    border: 1px solid var(--color-main);
}

.btn-inv {
    font-weight: 600;
    background-color: transparent;
    color: var(--color-red);
    border: 1px solid var(--color-red);
}

.btn-inv:hover {
    background-color: var(--color-light);
    color: var(--color-main);
    border: 1px solid var(--color-light);
}


.btn-light:hover {
    background-color: var(--color-main);
    color: var(--color-light);
}

.btn-light {
    font-weight: 600;
    background-color: var(--color-light);
    color: var(--color-main);
}

.btn-light:hover {
    background-color: var(--color-main);
    color: var(--color-light);
}

.btn-red {
    font-weight: 600;
    color: var(--color-light);
    background-color: var(--color-red);
    border: 1px solid var(--color-red);
}

.btn-red:hover {
    border: 1px solid var(--color-red);
    color: var(--color-red);
    background-color: transparent;
}


.poster-container {
    display: flex;
    justify-content: center;
}

.poster {
    width: var(--section-width);
    height: 45vw;
    background-color: var(--color-dark);
    border-radius: var(--border-radius);
    background-image: url("/img/clubvelo2max/poster.jpg?v={{Config::get('release.version')}}");
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: flex-start;
}


.poster-header-logo {
    width: 20vw;
    height: 10vw;

    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}


.inside {
    margin: auto;
    background-color: #19283866;
    min-height: calc(100vh - 50px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.inside > div {
    margin: auto;
    width: min(1200px, 90vw);
}

.display {
    width: 100%;
    padding: 30px;
    display: inline-block;
    border-radius: var(--border-radius);
    background-color: var(--color-main);
}

.display-mobile {
    display: flex;
    flex-direction: column;
    justify-content: center;
    /*padding: var(--border-radius);*/
}

.display-mobile > div {
    color: var(--color-main);
    background-color: var(--color-light);
}

.vignette {
    height: 300px;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 15px;
}

.image-contain {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.image-cover {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.display >.grid {
    display: grid;
    align-items: center;
    grid-template-columns: repeat(auto-fill, minmax(min(550px,100%), 1fr));
    gap: 25px;
}

.grid-inv {
    direction: rtl;
}


.poster-display-lg > div {
    position: absolute;
    bottom: 0;
    margin: 30px;

}

.section {
    max-width: min(1200px, 95vw);
    margin: 25px auto;
    width: var(--section-width);
}


.tab {
    border-radius: var(--border-radius);
    background-color: var(--color-main);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    padding: 10vh var(--border-radius);
}

.tab-right {
    background-color: var(--color-red);
    display: flex;
    justify-content: flex-end;
}

.fade-move-up {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-move-up.visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-move-left {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-move-left.visible {
    opacity: 1;
    transform: translateX(0);
}

#menu {
    display: none;
    background-color: var(--color-main);
    color: var(--color-light);
    min-width: 100vw;
    min-height: 100vh;
    position: fixed;
    z-index: 9000;
}

#menu a {
    color: var(--color-light);
}

.menu {
    margin: 50px auto;
    display: flex;
    justify-content: center;
    flex-direction: row;
    gap: 15px;
    max-width: var(--section-width);
    color: var(--color-light);
}


.menu-col {
    display: flex;
    justify-content: center;
    flex-direction: column;
    max-width: var(--section-width);
    color: var(--color-light);
}

a.menu-link {
    color: var(--color-light);
}

a.menu-link:hover {
    color: var(--color-red);
}

.contact input, .contact label {
    color:var(--color-dark) !important;
}

.contact button, .contact a {
    color:white !important;
    border-color: white !important;
}

.contact button:hover, .contact a:hover {
    color:var(--color-dark) !important;
    background-color: white !important;
}


footer {
    background-color: transparent;
}

footer, footer a {
    color: white !important;
}

footer a:hover {
    color: var(--color-red) !important;
}

.footer-logo > svg {
    fill: white;
}

.footer-logo svg:hover {
    fill: var(--color-red);
}
