*,
*::before,
*::after {
    box-sizing: border-box;
}

ul,
ol {
    padding: 0;
    list-style-type: none;
}

body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
    margin: 0;
}

a {
    text-decoration: none;
    color: inherit;
    -webkit-tap-highlight-color: transparent;
}

:root {
    --bg-color: #0f172a;
    --grey-color: #6c757d;
    --green-color:  #42cd70;
    --white-color: #ffffff;
    --light-blue: #787cba;
    --secondary-primary: 237, 32%, 60%;
    --dark: 199 81% 6%;
    --main-tertiary: 140 76% 38%;
}

ul[class], ol[class] {
    padding: 0;
    list-style-type: none;
}

img {
    max-width: 100%;
}
* {
    padding: 0px;
    margin: 0px;
    border: 0px;
    -webkit-box-sizing: border-box;
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
    background: transparent;
}
  
::-webkit-scrollbar-track {
    background: var(--white-color);
    border-radius: 10px;
}
  
::-webkit-scrollbar-thumb {
    background-color: var(--text-color);
    border-radius: 10px;
    border: 3px solid var(--text-color); /* Оформление границ бегунка */
}

.main-content {
    padding: 50rem 0 25rem;
}

.main-content__inner.container {
    padding: 0 15rem;
}

.main-content__inner h1 {
    font-size: 30rem;
    font-weight: 900;
    color: var(--white-color);
    margin: 0 0 20rem;
}

.main-content__inner h2 {
    font-size: 26rem;
    font-weight: 700;
    color: var(--white-color);
    margin: 30rem 0 20rem;
}

.main-content__inner h3 {
    font-size: 22rem;
    font-weight: 700;
    color: var(--white-color);
    margin: 30rem 0 20rem;
}

.main-content__inner h4 {
    font-size: 20rem;
    font-weight: 700;
    color: var(--white-color);
    margin: 10rem 0 5rem;
}

.main-content__inner p {
    color: var(--white-color);
}

.main-content__inner ul {
    padding: 0 0 0 30rem;
    list-style-type: disc;
}

.main-content__inner ul li {
    color: var(--white-color);
}

.main-content .table-wrap {
    max-width: 100%;
    overflow-x: scroll;
}

.main-content table {
    width: 100%;
    min-width: 600px;
    margin: 20rem 0;
    border-collapse: separate;
}

.main-content thead td {
    background-color: var(--bg-color);
    padding: 5rem;
    color: var(--white-color);
    font-weight: 700;
}

.main-content tbody {
    border: 2rem solid var(--white-color);
}

.main-content td {
    padding: 5rem;
    background-color: #19191b;
    color: var(--white-color);
    border: 2px solid var(--white-color);
}


html {
    min-width: 320px;
    font-size: 1px;
    margin: 0;
}

body {
    font-family: 'Cagliostro', 'Arial', sans-serif;
    /*
    background: var(--bg-color);
    */
    background-image: radial-gradient(50% 50% at 50% 50%, #526f7b 0, #03141c 100%);
    color: var(--white-color);
    position: relative;
    font-size: 16rem;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    font-weight: 400;
}

nav.navbar {
    background-color: #030707;
    padding: 20rem 15rem;
    -webkit-box-shadow: 0px 0px 16px 0px rgba(66, 68, 90, 1);
    -moz-box-shadow: 0px 0px 16px 0px rgba(66, 68, 90, 1);
    box-shadow: 0px 0px 16px 0px rgba(66, 68, 90, 1);
}

nav.navbar .container-fluid {
    justify-content: flex-start;
    gap: 20rem;
}

nav.navbar .sidebar-toggle {
    display: flex;
    align-items: center;
    gap: 10rem;
    padding: 4rem 6rem;
    border-radius: 10rem;
    font-weight: bold;
}

nav.navbar .sidebar-toggle svg {
    width: 28rem;
    height: auto;
}

nav.navbar .sidebar-toggle span {
    font-size: 16rem;
}

nav.navbar .container-fluid ul {
    gap: 10rem;
}

nav.navbar .container-fluid ul a {
    font-weight: bold;
}

nav.navbar .container-fluid .header-buttons {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 0 0 0 auto;
}

.header-search {
    display: flex;
    align-items: center;
    background-color: #565e64;
    gap: 15rem;
    padding: 10rem 18rem;
    border-radius: 15rem;
    font-weight: bold;
}

body .btn {
    font-size: 16rem;
    padding: 8rem 18rem;
    border-radius: 15rem;
    font-weight: bold;
}

.banner {
    padding: 70rem 0 0;
}

.swiper-banner {
    position: relative;
    width: calc(100% - 30rem);
    margin: 0 15rem;
    box-sizing: border-box;
    border-radius: 15px;
    box-shadow: 5px 5px 15px 5px #787cba;
}

.swiper-slide {
    position: relative;
    display: flex;
    /*
    width: 102%;
    height: 102%;
    */
    padding: 50rem;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    aspect-ratio: 3.3 / 1;
    border-radius: 15px;
}

.swiper-slide img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
    z-index: 3;
}

.swiper-slide.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {
    position: absolute;
    left: 0;
    bottom: 40rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
}

.swiper-slide.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
    width: 12rem;
    height: 12rem;
    background: #ffff;
}

.swiper-slide.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 26rem;
    border-radius: 3rem;
    background-color: var(--green-color)
}

.tag {
    position: relative;
    display: inline-block;
    gap: 3rem;
    padding: 2rem 5rem;
    border-radius: 15rem;
    margin: 0 auto 20rem 0;
}

.tag svg {
    position: relative;
    width: 12rem;
    margin: -2rem 3rem 0 0;
}

.tag span {
    font-size: 12rem;
}

.tag.tag-green {
    border: 2rem solid var(--green-color);
}

.tag.tag-green span {
    color: var(--green-color);
}

.tag.tag-green svg path {
    fill: var(--green-color);
}

.tag.tag-blue {
    border: 2rem solid #6600ff;
}

.tag.tag-blue span {
    color: #6600ff;
}

.tag.tag-blue svg path {
    fill: #6600ff;
}

.tag.tag-orange {
    border: 2rem solid #ff9900;
}

.tag.tag-orange span {
    color: #ff9900;
}

.tag.tag-orange svg path {
    fill: #ff9900;
}

.banner-content {
    position: relative;
    margin: auto 0 auto 0;
    z-index: 4;
}

.banner-content .text-small {
    margin: 0 0 15rem;
}

.banner-content .text-large {
    font-size: 50rem;
    font-weight: bold;
    margin: 0 0 25rem;
}

.banner-items {
    padding: 100rem 0 0;
}

.banner-items__single {
    position: relative;
    width: calc(100% - 30rem);
    margin: 0 15rem;
    padding: 20rem 30rem;
    border: 2rem solid rgba(255, 255, 255, .2);
    border-radius: 10rem;
}

.banner-items__single .single-image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 86rem;
    height: 86rem;
    margin: -50rem auto 0;
    border-radius: 10rem;
}

.banner-items__single.green-color {
    background-image: radial-gradient(57.34% 77.34% at 50% 100%, var(--green-color) 0, var(--bg-color) 100%);
}

.banner-items__single.dark-color {
    background-image: radial-gradient(57.34% 77.34% at 50% 100%, var(--light-blue) 0, var(--bg-color) 100%);
}

.banner-items__single.green-color .single-image {
    background-color: var(--green-color);
}

.banner-items__single.dark-color .single-image {
    background-color: var(--light-blue);
}

.banner-items__single .single-image svg {
    width: 40rem;
    height: auto;
}

.banner-items__single .single-title {
    text-align: center;
    font-size: 22rem;
    font-weight: bold;;
    margin: 25rem 0 0;
}

.top {
    padding: 75rem 0 25rem;
}

.section-title {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: calc(100% - 30rem);
    margin: 0 15rem;
}

.section-title .title-text {
    font-size: 24rem;
    font-weight: bold;
}

.section-title .title-link {
    font-size: 16rem;
    font-weight: bold;
}

.top .single {
    background-image: url(../img/events/bg.jpg);
    background-size: cover;
    background-position: center;
    width: calc((100% - 90rem) / 3);
    margin: 25rem 15rem 0;
    padding: 10rem;
    border: 2rem solid rgba(255, 255, 255, .2);
    border-radius: 10rem;
}

.top .single .single-top {
    display: flex;
    align-items: center;
    gap: 4rem;
    margin: 0 0 15rem;
}

.top .single .single-top img, .top .single .single-top svg {
    height: 16rem;
}

.top .single .single-top span {
    font-size: 12rem;
}

.top .single .single-top span.dark {
    opacity: .7;
}

.top .single .single-center {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4rem;
    margin: 0 0 15rem;
}

.top .single .single-center img, .top .single .single-center svg {
    height: 18rem;
}

.top .single .single-center p {
    font-weight: bold;
}

.top .single .single-center span {
    padding: 2rem;
    border: 1rem solid #ffff;
    border-radius: 3rem;
    margin: 0 3rem;
}

.top .single .single-bottom {
    display: flex;
    gap: 10rem;
}

.top .single .single-bottom .single-bottom__item {
    display: flex;
    justify-content: space-between;
    background-color: var(--light-blue);
    width: calc((100% - 20rem) / 3);
    border-radius: 5rem;
    padding: 10rem;
    border: 2rem solid rgba(255, 255, 255, .2);
}

.top .single .single-bottom .single-bottom__item span {
    color: #ff9900;
    font-weight: bold;
}

.games {
    padding: 50rem 0 25rem;
}

.games .single {
    width: calc((100% - 240rem) / 8);
    margin: 25rem 15rem 0;
}

.games .single .single-images {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 10rem;
    border: 2rem solid rgba(255, 255, 255, .2);
    overflow: hidden;
}

.games .single .single-images img {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    object-fit: cover;
    object-position: center;
    z-index: 2;
}

.games .single .single-images .single-hover {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, .85);
    transform: translateY(-150%);
    transition: .3s;
    z-index: 2;
}

.games .single .single-images:hover .single-hover {
    transform: translateY(0);
}

.games .single .single-images .single-hover span {
    position: relative;
    font-weight: bold;
    margin: 10rem auto 0;
}

.games .single .single-text__title {
    font-weight: bold;
    margin: 10rem 0 0;
    overflow: hidden;
    text-wrap: nowrap;
}

.games .single .single-text__description {
    font-size: 12rem;
    margin: 5rem 0 0;
    overflow: hidden;
    text-wrap: nowrap;
}

.promo {
    padding: 50rem 0 25rem;
    /*
    background-image: radial-gradient(50% 50% at 50% 50%, #526f7b 0, #03141c 100%);
    */
}

.promo .promo-item {
    position: relative;
    display: flex;
    margin: 25rem 15rem 0;
    padding: 20rem;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    border-radius: 10rem;
    border: 2rem solid rgba(255, 255, 255, .6);
    overflow: hidden;
}

.promo .promo-item:before {
    content: "";
    display: block;
    position: absolute;
    background-color: rgba(0, 0, 0, .4);
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 2;
}

.promo .promo-item .tag, .promo .promo-item .promo-content {
    z-index: 3;
}

.promo .promo-item.promo-item__large {
    background-image: url(../img/promo/1.jpg);
    background-position: 83% center;
    background-size: cover;
    width: calc(50% - 30rem);
    aspect-ratio: 1 / .7;
}

.promo .promo-item.promo-item__small {
    width: calc(25% - 30rem);
}

.promo .promo-item.promo-item__small.promo-item__small--1 {
    background-image: url(../img/promo/2.jpg);
    background-position: 83% center;
    background-size: cover;
}

.promo .promo-item.promo-item__small.promo-item__small--2 {
    background-image: url(../img/promo/3.jpg);
    background-position: 83% center;
    background-size: cover;
}

.promo .promo-item .promo-content__title {
    font-size: 26rem;
    font-weight: bold;
    margin: 0 0 20rem;
}

.promo .promo-item .promo-content__text {
    font-size: 18rem;
    font-weight: bold;
    margin: 0 0 15rem;
}

.promo .promo-item .btn.btn-link {
    font-weight: bold;
    color: #fff;
    text-decoration: none;
}

.faq {
    padding: 50rem 0 150rem;
}

.faq .section-title {
    justify-content: center;
}

.faq .accordion {
    width: calc(100% - 30rem);
    margin: 25rem 15rem 0;
}

.faq .accordion .accordion-item {
    background-color: #565e64 !important;
    color: var(--white-color);
    border-radius: 20rem;
    padding: 20rem;
}

.faq .accordion .accordion-item .accordion-button {
    font-size: 20rem;
    background-color: #565e64 !important;
    color: var(--white-color);
    font-weight: bold;
    box-shadow: none;
}

.faq .accordion .accordion-item .accordion-button:hover {
    color: var(--green-color);
}

.faq .accordion .accordion-item .accordion-collapse.collapse.show {
    padding: 30rem 0 0;
}

.faq .accordion .accordion-item + .accordion-item {
    margin-top: 30rem;
}

.faq .accordion .accordion-item .accordion-button::after {
    display: block;
    position: absolute; 
    top: 10rem;
    right: 10rem;
}

.faq .accordion .accordion-item ul {
    padding: 0 0 0 30rem;
    list-style-type: circle;
    margin: 15rem 0;
}

.faq .accordion .accordion-item ul li + li {
    margin-top: 10rem;
}

footer {
    background-color: #121212;
    padding: 50rem 0;
}

footer .row {
    align-items: flex-start;
}

footer .footer-links {
    width: 200rem;
    margin: 0 15rem 15rem;
}

footer .footer-links p {
    font-size: 16rem;
    color: var(--green-color);
    margin: 0 0 10rem;
    font-weight: bold;
    text-transform: uppercase;
}

footer .footer-links a {
    font-size: 16rem;
    color: var(--white-color);
}

footer .footer-links a:hover {
    color: var(--green-color);
}

footer .footer-links li + li {
    margin-top: 10rem;
}
footer .btn-secondary {
    width: 300rem;
    max-width: 100%;
    margin: 0 0 0 auto;
}

footer .border {
    width: 100%;
    height: 2rem;
    background-color: var(--white-color);
    margin: 50rem 0;
}

footer .row-brands {
    justify-content: center;
    gap: 20rem;
}

footer .row-brands .single-brand {
    background-color: #6c757d;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96rem;
    height: 56rem;
    border-radius: 15rem;
}

footer .row-brands .single-brand img {
    max-width: 90%;
    max-height: 90%;
}

footer .footer-bottom {
    justify-content: center;
}

footer .footer-bottom p {
    width: calc(100% - 30rem);
    text-align: center;
    margin: 0 15rem 15rem;
}

footer .footer-bottom a {
    display: contents;
    margin: 0 15rem;
}

.sidebar {
    width: 300rem;
    max-width: 100%;
    height: 100vh;
    background-color: var(--bg-color);
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    padding: 20rem;
    z-index: 10;
    border-right: 2rem solid rgba(255, 255, 255, .2);
    transform: translateX(-1000%);
    transition: .3s;
}

.sidebar.open {
    transform: translateX(0);
}

.sidebar .sidebar-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20rem;
    padding: 0 0 30rem;
}

.sidebar .sidebar-header .close-sidebar {
    width: 45rem;
    height: 45rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #565e64;
    border-radius: 15rem;
    cursor: pointer;
}

.sidebar .sidebar-header .close-sidebar .fa {
    color: var(--white-color);
}

.sidebar .sidebar-header .close-sidebar:hover .fa {
    color: var(--green-color);
}

.sidebar .sidebar-header .header-search {
    width: 100%;
}

.sidebar .sidebar-list {
    padding: 30rem 0;
    border-top: 2rem solid rgba(255, 255, 255, .2);
}

.sidebar .sidebar-list__bottom {
    margin: auto 0 0 0;
}

.sidebar .sidebar-list li {
    width: 100%;
}

.sidebar .sidebar-list li + li {
    margin-top: 20rem;
}

.sidebar .sidebar-list li svg {
    height: 16rem;
    margin: 0 10rem 0 0;
}

.sidebar .sidebar-list li:hover svg path {
    fill: var(--green-color);
}

.sidebar .sidebar-list li span {
    font-weight: bold;
}

.sidebar .sidebar-list li:hover span {
    color: var(--green-color);
}

@media (min-width: 1800px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1720px;
    }
}

@media (min-width: 1600px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1520px;
    }
}

@media screen and (max-width: 1300px) {
    html {
        font-size: .8px;
    }
}

@media screen and (max-width: 1200px) {
    nav.navbar .container-fluid .header-buttons .header-search {
        display: none;
    }
}

@media screen and (max-width: 992px) {
    .swiper-slide {
        aspect-ratio: 2.3 / 1;
    }
    nav.navbar .container-fluid ul {
        display: none !important;
    }
    .banner-items__single {
        margin: 30rem 15rem;
    }
    .top .single {
        width: calc(50% - 30rem);
    }
    .games .single {
        width: calc((100% - 120rem) / 4);
    }
    .promo .promo-item.promo-item__small {
        width: calc(50% - 30rem);
    }
}

@media screen and (max-width: 768px) {
    .swiper-slide {
        padding: 20rem;
        aspect-ratio: 2 / 1;
    }
    .banner-content .text-large {
        font-size: 30rem;
    }
    .promo .promo-item.promo-item__large, .promo .promo-item.promo-item__small {
        width: calc(100% - 30rem);
        aspect-ratio: auto;
    }
    footer .footer-links {
        width: calc(50% - 30rem);
    }
    footer .btn-secondary {
        margin: 30rem auto 0;
    }
}

@media screen and (max-width: 576px) {
    .top .single {
        width: calc(100% - 30rem);
    }
}

@media screen and (max-width: 414px) {
    nav.navbar .container-fluid .header-buttons .btn-secondary {
        display: none;
    }
    .swiper-slide {
        padding: 10rem;
        aspect-ratio: 1.6 / 1;
    }
    .banner-content .text-large {
        font-size: 22rem;
    }
    .swiper-slide.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {
        width: 40%;
        left: auto;
        right: 10rem;
    }
    .games .single {
        width: calc(50% - 30rem);
    }
}