@import"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&amp;family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&amp;display=swap";
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth
}

div:not(.sc-carousel__carousel-container *),
body:not(.sc-carousel__carousel-container *),
html:not(.sc-carousel__carousel-container *) {
    overflow-x: hidden
}

*::-webkit-scrollbar {
    width: 3px
}

*::-webkit-scrollbar-track {
    background: var(--bg300)
}

*::-webkit-scrollbar-thumb {
    background: var(--accent)
}

*::-webkit-scrollbar-thumb:active {
    background: var(--accent)
}

:root {
    --bg100: #070707;
    --bg200: #111111;
    --bg300: #1d1d1d;
    --bg400: #1d1d1d;
    --bg500: #1a1a1a;
    --accent: #ff808b;
    --accent10: #c2303010;
    --accent20: #c2303020;
    --accent50: #633135;
    --accent80: #854248;
    --accent200: #b3565e;
    --text100: #fff;
    --text200: #a8a8a8
}

a {
    text-decoration: none;
    color: inherit
}

input:focus,
button:focus {
    outline: none
}

body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100vw;
    background: var(--bg100);
    color: var(--text100);
    font-family: Roboto, sans-serif
}

header {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 3rem 10vw;
    width: 100%;
    gap: 1rem;
    font-family: Montserrat, sans-serif;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 1.1rem
}

header .logo {
    font-size: 2.8rem;
    max-height: 54.55px;
    font-weight: 800;
    letter-spacing: -2px;
    margin-right: auto;
    transition: all .3s ease-in-out
}

header .logo:hover {
    transform: scale(1.1)
}

header i {
    color: var(--accent)
}

header .link,
header .colored-button,
header .button {
    letter-spacing: 0px
}

.button,
.colored-button {
    text-align: center;
    cursor: pointer
}

header .colored-button,
header .button {
    font-size: 1rem;
    padding: 8px 16px;
    border-radius: 4px
}

.colored-button {
    background: var(--accent)
}

.button {
    border: 1px solid var(--accent)
}

.link {
    color: var(--text200);
    transition: all .3s ease-in-out
}

.link:hover {
    color: var(--text100)
}

.colored-button,
.button {
    font-family: Montserrat, sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 16px;
    border-radius: 8px;
    transition: all 0.3s ease-in-out;
    background-color: var(--accent); /* Optional: matches your accent color */
    color: var(--text100); /* Optional: sets text color */


}


.button:hover {
    background: var(--accent80)
}

.colored-button:hover {
    background: var(--text100);
    color: var(--bg100)
}

.button-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 1rem
}

.button-group a {
    flex: 1
}

main {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 10vw 2rem;
    background-image: linear-gradient(to bottom, var(--bg100), transparent, var(--bg100)), url(../../../pattern.svg);
    background-size: 100%
}

main h1 {
    font-size: 7rem;
    line-height: 7rem;
    font-family: Montserrat, sans-serif;
    text-align: center
}

main h1 b {
    color: var(--accent);
    letter-spacing: -2px;
    font-weight: 900
}

main h3,
main h2 {
    font-family: Roboto, sans-serif;
    font-weight: 300;
    margin: 1rem 0;
    color: var(--text200);
    font-size: 1.6rem
}

main .button-group {
    margin-top: 4rem;
    width: 50%
}

main .button-group .button,
main .button-group .colored-button {
    flex-grow: 1;
    text-align: center;
    font-family: Montserrat, sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px
}

main .button-group .colored-button,
main .button-group .button {
    min-width: fit-content
}

.visible {
    opacity: 1 !important
}

.invis {
    transition-duration: .5s !important
}

.menu-teaser {
    width: 100%;
    padding: 3rem 10vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: fit-content;
    position: relative
}

.menu-teaser img {
    position: relative;
    border-radius: 8px 8px 0 0;
    display: flex
}

.menu-teaser:after {
    content: "";
    top: 0;
    left: 0;
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, var(--bg100) 10%, transparent)
}

.text-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center
}

.section-title {
    font-family: Montserrat, sans-serif;
    font-size: 2.6rem;
    font-weight: 400
}

.section-title b {
    font-weight: 700
}

.text-group h2 {
    font-weight: 300;
    font-size: 1.2rem;
    margin-top: 2rem;
    color: var(--text200)
}

.text-group .button,
.text-group .colored-button {
    margin-top: 2rem
}

.choose {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 6rem 10vw;
    padding-top: 2rem;
    width: 100%;
    padding-bottom: 0
}

.choose .text-group {
    text-align: center;
    align-items: center
}

.cards {
    display: flex;
    flex-direction: row;
    width: 100%;
    gap: 3rem;
    align-items: stretch;
    justify-content: center;
    margin-top: 3rem;
    flex-wrap: wrap
}

.glow-effect {
    position: absolute;
    box-shadow: 0 0 110px 100px #ffffff1a;
    pointer-events: none;
    transition: transform .1s, opacity .5s;
    z-index: 999
}

.card {
    padding: 2rem;
    min-width: 20rem;
    background: var(--accent10);
    border: 1px solid var(--accent50);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    max-width: 50%;
    transition: all .2s ease-in-out
}

.card i {
    width: 3rem;
    height: 3rem;
    margin-bottom: 2rem;
    background: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px
}

.card h2 {
    margin-bottom: auto;
    font-size: 2rem;
    font-family: Montserrat, sans-serif;
    -webkit-user-select: none;
    user-select: none
}

.card p {
    margin-top: 1.5rem;
    margin-bottom: auto;
    color: var(--text300);
    font-weight: 300;
    font-size: 1.1rem;
    line-height: 1.6rem;
    transition: all .3s ease-in-out;
    -webkit-user-select: none;
    user-select: none
}

.card:hover {
    filter: brightness(1.5)
}

.choose .button-group {
    margin-top: 4rem
}

.products {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 5vw;
    padding-top: 6rem;
    gap: 3rem
}

.products .text-group {
    align-items: center;
    text-align: center
}

.product-list {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: 3rem;
    width: 100%;
    flex-wrap: wrap
}

.product {
    background: var(--bg200);
    padding: 2rem;
    border-radius: 16px;
    flex-grow: 1;
    width: min(25rem, 95vw);
    display: flex;
    flex-direction: column
}

.product img {
    width: 100%;
    height: 200px;
    border-radius: 8px;
    object-fit: cover
}

.product-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 1.8rem 0 .8rem
}

.product-row h3 {
    max-width: 100%;
    font-family: Montserrat, sans-serif;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 1px;
    font-size: 1.1rem;
    text-align: center;
    color: var(--text200)
}

.product-row h2 {
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 1.2rem
}

.product-row h2 i {
    background: var(--accent50);
    padding: .6rem;
    border-radius: 4px;
    color: var(--text100)
}

.product h5 {
    width: 100%;
    color: var(--text200);
    text-align: center;
    margin-bottom: 1rem;
    font-weight: 400;
    font-size: 1rem
}

.product h5 i {
    color: var(--text100)
}

.product h4 {
    margin: .8rem 0;
    color: var(--text200);
    font-weight: 300
}

.product .button-group {
    margin-top: auto
}

.product .button-group .colored-button {
    flex-grow: 1;
    text-align: center
}

footer {
    display: flex;
    width: 100%;
    margin-top: 4rem;
    border-top: 3px solid var(--bg400);
    background-color: var(--bg200);
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    padding: 2rem 1vw;
    flex-direction: row;
    gap: 3rem;
    align-items: center
}

.f-text {
    margin-right: auto
}

footer i {
    height: 1rem;
    font-size: 1rem
}

footer img {
    transition: all .3s ease-in-out
}

footer .links {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding-right: 4rem
}

footer .links div {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 1rem
}

.f-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    transition: all .3s ease-in-out;
    font-weight: 500;
    padding: 4px 8px;
    border-radius: 6px;
    background-color: transparent;
    min-width: fit-content
}

.f-link:hover {
    color: var(--bg100);
    background: #fff
}

.f-link:hover img {
    filter: brightness(0)
}

.product-page-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 4rem
}

.product-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    flex-grow: 1;
    background: var(--bg200);
    padding: 3rem;
    border-radius: 16px;
    max-width: 40rem
}

.product-prices {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2rem;
    align-items: stretch;
    justify-content: center;
    width: 100%;
    margin: 2rem 0;
    overflow: visible !important;
    position: relative
}

.product-column .colored-button {
    width: 100%;
    font-size: 1.2rem;
    text-align: center;
    padding: 1.2rem 0
}

.price {
    background: var(--bg300);
    padding: 1rem;
    border-radius: 8px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    width: calc(50% - 1rem);
    transition: all .3s ease;
    text-align: center;
    -webkit-user-select: none;
    user-select: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: relative;
    overflow: visible !important;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid transparent
}

.price:hover {
    cursor: pointer;
    background: var(--bg400);
    border: 1px solid var(--accent50)
}

.special {
    border: 1px solid var(--accent) !important
}

.price h3 {
    text-align: center;
    margin-top: 0 !important;
    margin: .4rem 0;
    font-size: 1.4rem;
    color: var(--text100)
}

.price span {
    background: var(--accent50);
    padding: 8px;
    border-radius: 4px;
    color: var(--text);
    text-align: left
}

.product-column h1 {
    text-align: left;
    font-size: 3rem;
    line-height: normal
}

.priceoff {
    position: absolute;
    color: var(--accent);
    text-shadow: 0 0 4px var(--accent);
    top: 0;
    transform: translateY(-50%);
    transition: .3s ease
}

.special .priceoff {
    color: var(--text100);
    text-shadow: 0 0 8px var(--text100);
    transform: translateY(-120%)
}

.price h3 span {
    justify-content: center;
    padding: 0;
    color: var(--text200);
    border-radius: 0;
    background: transparent;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: .4rem
}

.price h3 {
    margin-top: .6rem;
    margin-bottom: 0;
    font-size: 1.4rem;
    color: var(--text100)
}

.price h3 i {
    color: var(--text200);
    min-height: 1em
}

.product-column h2 {
    margin-top: 1rem;
    font-size: 1.2rem
}

.price h3 {
    font-size: 1.4rem;
    color: var(--text100)
}

.price h3 span {
    padding: 0;
    color: var(--text200);
    border-radius: 0;
    background: transparent;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: .4rem
}

.price h3 span i {
    margin-top: 8px;
    font-size: 1.8rem;
    color: var(--text100)
}

.price h4 {
    background: var(--accent20);
    padding: 8px 16px;
    border-radius: 4px;
    color: var(--text100);
    font-weight: 300;
    gap: .3rem;
    display: flex;
    align-items: center;
    justify-content: center
}

.sc-carousel__carousel-container {
    overflow-y: hidden
}

.sc-carousel__carousel-container,
.sc-carousel__carousel-container img,
.sc-carousel__carousel-container iframe {
    border-radius: 16px;
    width: 40vw !important;
    height: 100% !important
}

.requirements {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 6rem 10vw
}

.req {
    width: 30vw;
    text-align: center
}

.list {
    display: flex;
    width: 100%;
    gap: 1rem;
    flex-direction: row;
    align-items: stretch;
    margin-top: 2rem;
    flex-wrap: wrap
}

.item {
    display: flex;
    flex-direction: row;
    align-items: center;
    background: var(--bg200);
    padding: 1rem;
    border-radius: 8px;
    color: var(--text200);
    gap: .6rem;
    flex-grow: 1;
    transition: .3s ease-in-out;
    cursor: default;
    border: 1px solid var(--bg300)
}

.item i {
    background: var(--accent);
    padding: .8rem;
    border-radius: 4px;
    color: var(--text100);
    transition: .6s
}

.item:hover {
    border: 1px solid var(--accent)
}

.section-title a {
    border: 1px solid var(--accent);
    padding: .6rem;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 4px;
    transition: all .3s ease-in-out;
    margin-right: .8rem
}

.section-title:has(a) {
    flex-wrap: wrap
}

.section-title a:hover {
    background: var(--accent50)
}

.section-title {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .6rem;
    justify-content: center;
    width: fit-content;
    height: fit-content;
    font-size: 2rem
}

.product h2 {
    text-align: right;
    background: var(--accent20);
    padding: .6rem 1rem;
    border-radius: 4px;
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: .6rem
}

.product h2 i {
    font-size: 1rem;
    background: var(--accent80);
    padding: .4rem;
    border-radius: 4px;
    margin: 0 .4rem
}

.stats {
    overflow: hidden;
    margin: 6rem 2rem;
    margin-bottom: 0;
    padding: 2rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-evenly;
    gap: 2rem;
    width: min(90vw, 60rem);
    min-height: 15vh;
    background-color: var(--accent10);
    flex-wrap: wrap;
    border: 1px solid var(--accent80);
    border-radius: .5rem;
    transition: all .3s ease-in-out
}

.stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    flex: 1;
    text-align: center;
    min-width: fit-content;
    -webkit-user-select: none;
    user-select: none;
    transition: all .2s ease-in-out
}

.stat:hover {
    color: var(--accent)
}

.stat h2 {
    font-weight: 300
}

.reviews {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 6rem 5vw;
    flex-wrap: wrap;
    gap: 4rem
}

.reviewsub {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    flex-wrap: wrap
}

.reviewaverage {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: .5rem
}

.review {
    flex: 1 0 15%;
    min-width: 15rem;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    background-color: var(--bg100);
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, .1);
    padding: 1.5rem 1rem;
    gap: 1rem
}

.review h2 {
    font-size: 1em;
    font-weight: 300;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    height: fit-content;
    color: var(--text200)
}

.review p {
    text-wrap: wrap
}

.review a {
    margin-top: auto;
    color: var(--accent)
}

.review a i {
    margin-right: .5rem
}

@media only screen and (max-width: 1000px) {
    .reviewsub {
        margin-top: 2rem
    }
    .sc-carousel__carousel-container,
    .sc-carousel__carousel-container img,
    .sc-carousel__carousel-container iframe {
        width: 80vw !important
    }
    footer .links {
        width: 100%;
        flex-direction: column-reverse;
        padding: 0;
        align-items: stretch;
        padding: 0 10vw
    }
    .req {
        width: 50vw;
        text-align: left
    }
    .price {
        width: 100%;
        max-width: 100%
    }
    .section-title:has(a) a {
        flex-grow: 1;
        width: 100% !important;
        margin-bottom: .8rem;
        text-align: center
    }
    .section-title {
        flex-wrap: wrap;
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: .6rem;
        justify-content: center;
        width: fit-content;
        height: fit-content
    }
    .product-page-row {
        flex-direction: column-reverse !important
    }
    .product-column h1 {
        font-size: 1.6rem;
        text-align: center
    }
    .product-column h2 {
        font-size: 1rem !important;
        margin-top: 1rem;
        font-size: 1.2rem
    }
    .product-column h2 {
        margin-bottom: 0 !important;
        font-size: 1rem !important;
        margin-top: 1rem;
        font-size: 1.2rem
    }
    .multi-image img {
        width: 100%;
        max-width: 100%
    }
    .guide-image {
        height: unset !important;
        width: 100% !important
    }
    .product-list {
        flex-direction: column
    }
    .product {
        max-width: 100%
    }
    .product .button-group {
        flex-direction: column
    }
    header .logo {
        margin: 0 auto
    }
    header .button-group {
        width: 100%;
        flex-wrap: wrap
    }
    header .colored-button {
        flex-grow: 1;
        text-align: center
    }
    main h1 {
        font-size: 4rem;
        line-height: 2rem
    }
    main h3,
    main h2 {
        text-align: center
    }
    main .button-group {
        flex-wrap: wrap;
        width: 100%
    }
    .menu-teaser img {
        width: 100%
    }
    .text-group {
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center
    }
    .card {
        max-width: 100%
    }
    .product .button-group .button,
    .product .button-group .colored-button,
    .product .button-group {
        flex-grow: 1;
        width: 100%;
        text-align: center
    }
    .product-row {
        flex-wrap: wrap
    }
    .product h5 {
        margin-bottom: 2rem
    }
    footer a {
        text-align: center;
        width: 100%
    }
    footer {
        gap: 2rem 1rem;
        flex-wrap: wrap
    }
    .product-page-row,
    .product-prices {
        flex-direction: column
    }
    .product-column {
        padding: 1.6rem;
        max-width: 35rem
    }
    .product-column h1 {
        text-align: center;
        width: 100%
    }
    .price {
        background: var(--bg300);
        padding: 1rem;
        border-radius: 8px;
        flex-grow: 1;
        display: flex;
        flex-direction: column;
        gap: .8rem;
        max-width: 100%
    }
}

.textcontainer {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    width: 100%
}

.textcontainer footer {
    margin-top: auto
}

.textdata {
    text-align: center;
    padding: 0 10vw;
    margin-bottom: 10vh;
    flex: 1;
    gap: 2rem;
    display: flex;
    flex-direction: column
}

.textdata h1 {
    font-size: 4rem
}

.textdata p {
    font-size: 1.2rem;
    font-weight: 300
}

.spinner {
    border: 2px solid var(--bg300);
    border-top: 4px solid var(--accent);
    border-radius: 50%;
    width: 1.215em;
    height: 1.215em;
    animation: spin 2s linear infinite
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }
    to {
        transform: rotate(360deg)
    }
}