* {
    margin: 0;
    padding: 0;
}
a {
    text-decoration: none;
}
html {
    background-color:  #051313;
}
body {
    font-family: "Jost", sans-serif;
}
header {
    border-bottom: 1px solid #004139;
    background: #05221E;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.firstScreen {
    background: url('img/bg-desk.jpg') no-repeat right;
    background-size: cover;
    background-color:  #051313;
    min-height: 600px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
h1 {
    font-size: 32px;
    font-weight: 600;
    color: #FFF;
    max-width: 400px;
    text-align: center;
}
.text {
    font-size: 18px;
    font-weight: 600;
    color: #FFD480;
}
.number {
    background: linear-gradient(180deg, #F4E38B -24.36%, #F4DD62 23.01%, #B27F2A 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
.frame {
    border-radius: 16px;
    border: 1px solid  #F4E38B;
    background: rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(5px);
    padding: 8px 12px;
    text-align: center;
    margin-bottom: 20px;
    margin-top: 32px;
}
h2 {
    font-size: 38px;
    font-weight: 700;
}
.small-text {
    font-size: 18px;
    font-weight: 400;
    color: #FFF;
}
.button {
    border-radius: 40px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: linear-gradient(180deg, #F4E38B -24.36%, #F4DD62 23.01%, #B27F2A 100%);
    height: 44px;
    padding: 12px 24px;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    color: #000605;
    text-decoration: none;
    text-transform: uppercase;
    border: none;
    height: 20px;
    cursor: pointer;
}
.firstScreen .button {
    padding: 12px 16px;
}
.button:hover {
    background: linear-gradient(180deg, #e7e3ce -24.36%, #e3d585 23.01%, #d8a54d 100%);
}
.text-block {
    background: #051413;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 24px 0 32px;
}
.text-block .small-text {
    text-align: center;
    padding-top: 20px;
}
h3 {
    font-size: 24px;
    font-weight: 500;
    color: #FFF;
}
h4 {
    font-weight: 600;
}
.gold {
    color: #FFD480;
}
.prizes {
    background: #05221E;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 24px 0;
}
.prize-block {
    display: flex;
    justify-content: center;
    align-items: end;
    gap: 16px;
    padding: 24px 0;
}
.terms {
    color: #24A15E;
    text-decoration: underline;
}

.prize-block .number {
    font-size: 24px;
    font-weight: 700;
}
.prize1 {
    background: url(img/place1-desk.png) no-repeat;
    border-radius: 16px;
}
.prize1 img {
    width: 180px;
}
.prize2 {
    background: url(img/place2-desk.png) no-repeat;
    border-radius: 16px;
}
.prize2 img, .prize3 img {
    width: 140px;
}
.prize3 {
    background: url(img/place3-desk.png) no-repeat;
    border-radius: 16px;
}
.prize1, .prize2, .prize3 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
     width: 200px;

}

.timer-block {
    border-radius: 16px;
    background:  #00302A;
    backdrop-filter: blur(5px);
    margin-top: 24px;
    padding: 16px 24px;
    text-align: center;
    margin-bottom: 24px;
}
.timer {
    border-radius: 8px;
    border: 1px solid  #2D5954;
    background: rgba(1, 21, 18, 0.7);
    backdrop-filter: blur(5px);
    display: flex;
    align-items: end;
    gap: 5px;
    padding: 2px 25px;
}

.time-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 45px;
}
.timer-block .small-text {
    padding-bottom: 8px;
}

.label {
    font-size: 12px;
    color: #ccc;
    margin-bottom: 4px;
}

.value {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}

.separator {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}
.prizes > .button {
    width: 300px;
    text-align: center;
}

.slider {
    display: flex;
    justify-content: center;
}

.slide1 {
    background: url(img/promotions1-desk.jpg);
}
.slide2 {
    background: url(img/promotions2-desk.jpg);
}
.dropdown {
    width: 100%;
    padding-top: 20px;
    padding-bottom: 24px;
}
.dropdown.open > .dropdown-header{
    background: #004139;
    z-index: 2;
    position: relative;
}

.dropdown-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    user-select: none;
    padding: 16px;
}

.icon-arrow {
    width: 16px;
    height: 16px;
    transition: transform 0.3s ease;
}

.dropdown-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
}


.dropdown.open .dropdown-content {
    max-height: 500px; 
    border-radius:0 0 14px 14px;
    border: 1px solid #004139;
    background: #05221E;
    color: #bebaba;
    margin-top: -10px;
    padding: 22px 16px 16px;
    font-size: 16px;
}

.dropdown.open .icon-arrow {
    transform: rotate(180deg);
}
.dropdown li {
    padding-bottom: 15px;
    padding-left: 10px;
    list-style-position: inside;
}
.leaderboard {
    background: #051413;
    text-align: center;
    padding-top: 55px;
}

.search {
    border-radius: 40px;
    border: 1px solid  #004E44;
    background: #00302A;
    padding: 12px;
    flex: 2;
    font-size: 16px;
    font-family: "Jost", sans-serif;
}
input::placeholder {
    color: #bbb7b7;
}
.button-search {
    border-radius: 40px;
    border: 1px solid  #004E44;
    background: #00302A;
    font-size: 16px;
    font-weight: 600;
    color: #FFF;
    padding: 6px 12px;
    cursor: pointer;
}
.wrap {
    width: 90%;
    margin: auto;
}
.leaderboard-table {
    width: 100%;
    border-collapse: collapse;
    font-family: inherit;
    color: #fff;
}
.search-block {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
    margin-top: 24px;
}
input {
    color: #FFF;
}
.input-wrap {
    position: relative;
    display: inline-block;
    width: 100%;
}

.input-wrap .search {
    width: 100%;
    padding: 12px 14px 12px 38px; 
}

.input-wrap .icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    pointer-events: none; 
    opacity: 0.7;
}


.row {
    display: grid;
    grid-template-columns: 0.2fr 1fr 1fr 1fr;
    margin-bottom: 6px;
    column-gap: 4px;
}
.col {
    font-size: 14px;
    padding: 14px 20px;
    height: 25px;
}
.col.place {
    border-radius: 14px 0 0 14px;
    justify-content: center;
}
.col.prize {
    border-radius:  0 14px 14px 0;
}

.row.header {
    font-weight: 400;
    font-size: 14px;
}
.row.header .col {
    background: rgb(31, 68, 60);
}

.col.player {
    background: #082521;
}
.col.place {
    background: #082521;
}
.col.points{
    background: #082521;
}
.col.prize{
    background: #082521;
}

.place-1 .col { 
    background: #2e3721; 
    gap: 4px;
}
.place-2 .col { 
    background: #1e2f38; 
}
.place-3 .col { 
    background: #2e2424; 
}

.col {
    display: flex;
    align-items: center;
}

.col.place img {
    width: 28px;
    height: 28px;
}

.left-side {
    border-radius: 14px 0 0 14px;
    background: #004E44;
    padding: 6px 12px;
}
.show-more {
    border-radius: 40px;
    border: 1px solid #004E44;
    background: #00302A;
    font-size: 16px;
    font-weight: 600;
    color: #FFF;
    text-transform: uppercase;
    padding: 12px 16px;
    width: 200px;
    margin: 15px auto 0;
    display: flex;
    justify-content: center;
    gap: 6px;
}
.show-more .arrow {
  width: 16px;
  transition: transform .25s;
}

.show-more.expanded .arrow {
  transform: rotate(180deg);
}
.banners {
    background: #051413;
    text-align: center;
    padding-top: 80px;
}
.block {
    display: flex;
    justify-content: center;
    gap: 16px;
    padding-top: 24px;
}
.banner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px;
    border-radius: 20px;
    width: 330px;
    color: #FFF;
}
.banner .number {
    font-size: 32px;
    font-weight: 700;
    width: 70%;
    margin: auto;
}
.banner1 {
    background: url("img/banner1.jpg");
}
.banner2 {
    background: url("img/banner2.jpg");
}
.banner2 > .number {
    color: #FFF;
    background: #FFF;
    background-clip: text;
}
.banner1 > .promo {
    border-radius: 8px;
    border: 1px solid  #24A15E;
    background: rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(5px);
    font-size: 16px;
    text-align: center;
    width: 90px;
    margin: auto;
    padding: 12px 16px;
    margin-top: 12px;
    font-weight: 600;
}
.banner2 > .promo {
    border-radius:  8px;
    border: 1px solid #FFD480;
    background: rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(5px);
    font-size: 16px;
    text-align: center;
    width: 90px;
    margin: auto;
    padding: 12px 16px;
    margin-top: 12px;
    font-weight: 600;
}
.slider-block {
    padding: 0 40px;
    text-align: center;
    color: #FFF;
    padding-top: 80px;
}
.slider {
    gap: 16px;
    text-align: left;
    padding: 24px 0 32px 0;
}
.slide {
    width: 50%;
    padding: 20px;
    border-radius: 20px;
    
}
.slide1 {
    background: url("img/promotions1-desk.jpg"); 
    background-size: cover;
}
.slide2 {
    background: url("img/promotions2-desk.jpg");
    background-size: cover;
}
.slide-title {
    font-size: 32px;
    font-weight: 700;
    line-height: 44px;
    color: #FFF;
    max-width: 50%;
    text-align: left;
    padding: 10px 0 100px 0;
}
.games {
    background: #051413;
    color: #FFF;
}
.dropdown-header {
    border-radius: 14px;
    border: 1px solid #004139;
    background: #05221E;
    font-size: 16px;
    font-weight: 500;
    color: #FFF;
}
.banners {
    padding-top: 80px;
}
.games {
    background: #051413;
    padding: 0 40px;
}
.games-block {
    border-radius: 20px;
    border: 1px solid #004139;
    background: #05221E;
    padding: 16px;
}
.games-block h4 {
    font-size: 20px;
}
.game-img {
    width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
  object-fit: cover;
}
.games-icons {
  display: grid;
  gap: 14px;                     
  width: 100%;
  grid-template-columns: repeat(7, 1fr); 
  align-items: start;
  padding-top: 16px;
}
.games-icons a {
  display: block;
  text-decoration: none;
}
.img-hidden {
    display: none;
}
footer {
    text-align: center;
    background: #000E0D;
    color: #FFF;
    border-top: 1px solid#004139;
    padding: 24px 0;
}
.row.data-row {
  overflow: hidden; /* требуется для анимации max-height */
  transition: max-height 320ms cubic-bezier(.2,.9,.2,1), 
              opacity 260ms ease,
              padding 260ms ease;
  opacity: 1;
}

.row.data-row.hidden {
  max-height: 0;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin: 0;
}
.hidden { display: none; }

@media (max-width: 1200px) {
    .slide1, .slide2 {
        background-position: right;
    }
}
@media (max-width: 1100px) {
  .games-icons { 
        grid-template-columns: repeat(5, 1fr); 
    }
    .img-hidden {
        display: block;
    }
}

@media (max-width: 1024px) {
    .firstScreen {
        justify-content: end;
        padding-bottom: 20px;
    }
    .slide1, .slide2 {
        background-position: right;
    }
}


@media (max-width: 768px) {
  .games-icons { 
        grid-template-columns: repeat(3, 1fr); 
    }
    .firstScreen {
        background: url('img/bg-mob.jpg') no-repeat center;
        background-size: cover;
    }
    .prize1, .prize2, .prize3 {
        width: auto;
    }
    
    .row {
            grid-template-columns: 0.3fr 1fr 1fr 1.7fr;
    }
    .slider {
        overflow: scroll;
    }
    .block {
        flex-direction: column;
    }
    .firstScreen {
        justify-content: start;
        padding-bottom: 0;
    }
    h1 {
        padding-top: 20px;
    }
    .frame {
        margin-top: 200px;
    }
    .place {
        min-width: 30px;
    }
    .block {
        align-items: center;
    }
    .slide1 {
        background: url('img/promotions1-mob.png');
        background-size: cover;
        background-repeat: no-repeat;
    }
    .slide2 {
        background: url('img/promotions2-mob.png');
        background-size: cover;
        background-repeat: no-repeat;
    }
    .slide-title {
        padding: 10px 0 50px 0;
        font-size: 30px;
        line-height: 36px;
        max-width: 90%;
    }
}

@media (max-width: 580px) {
    h1 {
        font-size: 24px;
        margin-bottom: 20px;
    }
    .prize1 img {
        width: 80px;
    }
    .prize2 img, .prize3 img {
        width: 50px;
    }
    .frame {
        margin-top: 300px;
    }
    h2 {
        font-size: 32px;
    }
    .button {
        width: 80%;
        text-align: center;
    }
    h3 {
        font-size: 20px;
        padding: 0 14px;
        text-align: center;
    }
    .small-text {
        font-size: 14px;
    }
    .prize1, .prize2, .prize3 {
        width: 105px;
    }
    .prize-block {
        gap: 8px;
    }
    .prizes .small-text {
        font-size: 16px;
        text-align: center;
    }
    .prize1 {
        height: 160px;
    }
    .prize3, .prize2 {
        height: 140px;
    }
    .prize-block .number {
        font-size: 16px;
    }
    .place {
        min-width: 30px;
    }

    .col {
        height: 32px;
        padding: 12px 14px;
    }
    .text-block {
        padding: 24px 14px 32px;
    }
    .prizes {
        padding: 24px 14px;
    }
    .prize1 .small-text, .prize2 .small-text, .prize3 .small-text {
        padding-top: 20px;
    }
    .block {
        padding: 24px 14px 40px;
    }
    .banner {
        width: 88%;
    }
    .slider-block {
        padding: 0;
    }
    .slider {
        justify-content: initial;
        padding: 24px 0 32px 14px;
        gap: 4px;
    }
    .slide {
        min-width: 300px;
        box-sizing: border-box;
    }
    .slide-title {
        font-size: 22px;
        line-height: 33px;
        padding: 10px 0 30px 0;
    }
    .games {
        background: #05221E;
        padding: 0 16px;
    }
    .games-block {
        border: none;
                padding: 16px 0 0 0;
    }
    .games-icons {
        gap: 10px;
    }
   .banner h4 {
    padding-bottom: 10px;
    }
}
@media (max-width: 420px) {
    .firstScreen {
        background-size: contain;
        background-position: center top;
        min-height: auto;
    }
    .firstScreen .button {
        margin-bottom: 24px;
    }
    .prizes > .button {
        width: 250px;
    }
    .text {
        font-size: 16px;
    }
    h1 {
        padding-top: 15px;
        margin-bottom: 5px;
    }
    .frame {
        margin-top: 180px;
    }
}