/* Media Queries */
@media (max-width: 1200px) {
    .substract {
        bottom: -250px;
    }
}

@media (max-width: 992px) {
    .nav-list {
        gap: 20px;
        margin-right: 10px;
    }

    .banner-titles {
        gap: 15px;
    }

    .banner-titles h1 {
        font-size: 40px;
    }

    .banner-titles span {
        font-size: 20px;
    }

    .history-overlay {
        height: unset;
    }

    .news-cards {
        padding: 0 20px;
        grid-template-columns: repeat(2, minmax(250px, 1fr));
        justify-content: center;
    }

    .news-cards .news-card:last-child {
        grid-column: 1 / -1;
        max-width: 358px;
        margin: 0 auto;
    }

    .hotels h1,
    .hotels h3 {
        width: auto;
        padding: 0 20px;
    }

    .footer {
        padding-bottom: 80px;
    }

    .footer-logo-text {
        font-size: 14px;
    }

    .footer-logo-text strong {
        font-size: 18px;
    }

    .footer-sponsors {
        gap: 20px;
    }

    .footer-nav ul {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }

    /* Register page */
    .input-group {
        flex-wrap: wrap;
    }

    .register-personal-top h1 {
        font-size: 20px;
        line-height: 130%;
    }

    .register-logo-text {
        display: none !important;
    }

    /* Hotels page */
    .hotel-images {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .banner {
        height: 550px;
        overflow: hidden;
        padding-top: 90px;
    }

    .substract {
        bottom: -225px;
    }

    .nav {
        padding: 20px;
    }

    .banner-titles div {
        font-size: 16px;
        line-height: 130%;
    }

    .history-title {
        font-size: 30px;
    }

    .register-form {
        padding: 50px 0;
    }

    .sponsor {
        padding: 30px;
    }

    .news {
        padding: 60px 0;
    }

    .hotels {
        padding: 40px 0;
    }

    .footer {
        padding: 20px;
    }

    .footer-sponsors {
        gap: 40px;
    }

    .nav-list {
        display: none;
    }

    .menu-btn {
        display: block;
    }

    .mobile-menu {
        display: block;
    }

    .mobile-menu.active {
        right: 0;
    }

    .mobile-menu .nav-list {
        display: flex;
    }

    .menu-btn.active span {
        background-color: #fff;
    }

    .menu-btn.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .menu-btn.active span:nth-child(2) {
        opacity: 0;
    }

    .menu-btn.active span:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -6px);
    }

    .banner-img {
        max-height: 500px;
        top: 0;
        transform: translate(0, 50%);
    }

    body.menu-open {
        overflow: hidden;
    }

    .history {
        min-height: 400px;
    }

    .sponsor .container {
        padding: 0 15px;
    }

    /* Hotel type Images */

    .hotel-type-images {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Participant page */
    .passport-block-content {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 50px;
    }

    .passport-block-content-acc {
        grid-template-columns: repeat(3, 1fr);
    }

    .history .container {
        padding-top: 140px;
    }

    /* Hotels page */
    .hotels-services {
        grid-template-columns: repeat(2, 1fr);
    }

    .nav-list .lang-selector {
        display: none;
    }

    .group-additional .input-group {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .group-additional .input-group {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .form-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}

@media (max-width: 548px) {
    .banner {
        overflow: hidden;
        padding: 30px;
    }

    .history-img {
        width: unset;
        bottom: -50px;
    }

    .substract {
        bottom: 0px;
        height: 180px;
        display: none;
    }

    .banner-titles {
        gap: 8px;
    }

    .info-block__content {
        font-size: 15px;
    }

    .banner-img {
        max-height: 430px;
    }

    .history-content {
        padding: 0 10px;
    }

    .history-title,
    .banner-titles h1,
    .register-form h2,
    .news h1,
    .hotels h1 {
        font-size: 20px;
    }

    .news h1 {
        margin-bottom: 40px;
    }

    .news-cards {
        grid-template-columns: repeat(1, 1fr);
    }

    .news-card {
        min-height: unset;
    }

    .news-cards .news-card:last-child,
    .news-card {
        max-width: none;
    }

    .news-card img {
        height: 180px;
    }

    .news-card__content {
        gap: 5px;
    }

    .news-card__content span {
        line-height: normal;
    }

    .news-card__date {
        margin-top: 5px;
    }

    .news-card__content h3 {
        min-height: 36px;
    }

    .register-form div {
        font-size: 14px;
    }

    .register-form form {
        display: flex;
        flex-direction: column;
        gap: 10px;
        align-items: center;
    }

    .register-section {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .register-form form input {
        margin-right: 0;
    }

    .register-form form input,
    .register-form form .btn {
        width: 300px;
    }

    .history-text {
        line-height: normal;
        font-size: 14px;
    }

    .history {
        height: 500px;
    }

    .history .container {
        padding-top: 80px;
    }

    .history::before {
        background-position: bottom;
    }

    .hotels {
        padding: 20px 0;
    }

    .hotels h1,
    .hotels h3 {
        padding: 0 10px;
    }

    .hotel-card {
        flex-direction: column;
    }

    .hotel-card img {
        width: 100%;
        height: 120px;
    }

    .hotel-info p,
    .news-card__text-hotel {
        -webkit-line-clamp: 3 !important;
        line-height: 16px;
    }

    .hotels h3 {
        line-height: normal;
    }

    .hotel-info h4 {
        font-size: 16px;
    }

    .hotel-info p {
        font-size: 14px;
    }

    .hotels-slider__buttons {
        padding-top: 20px;
        padding-right: 20px;
    }

    .footer-top {
        flex-direction: column;
        align-items: center;
    }

    .footer-logo-text strong {
        font-size: 14px;
    }

    .footer .container {
        gap: 30px;
    }

    .footer-nav ul {
        gap: 10px;
        grid-template-columns: repeat(2, 1fr);
        justify-content: center;
        align-items: center;
    }

    .footer-nav ul a {
        font-size: 14px;
        line-height: normal;
    }

    .footer-sponsors img {
        max-width: 80px;
        height: 50px;
    }

    .footer-copy {
        font-size: 12px;
        line-height: normal;
    }

    /* Register page */
    .register-personal-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .input-group {
        flex-direction: column;
        gap: 10px;
    }

    .input-group input {
        width: 100%;
    }

    .input-section1,
    .input-section2,
    .input-section3 {
        gap: 20px;
        padding-bottom: 30px;
    }

    /* Participant page */
    .passport-block-content,
    .passport-block-content-acc {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 20px;
    }

    .participant-block,
    .participant-block-info {
        flex-direction: column;
        align-items: center;
    }

    .participant-block-content,
    .participant-block-info {
        gap: 20px;
        text-align: center;
    }

    .participant-block-title {
        text-align: center;
    }

    /* Hotels page */
    .hotel-images {
        grid-template-columns: repeat(1, 1fr);
    }

    .hotel-images img {
        max-width: 100%;
    }

    .hotels-slider {
        height: 370px;
    }

    .hotels-slider .swiper-slide {
        width: 100% !important;
        height: 300px !important;
    }

    .group-additional .input-group {
        grid-template-columns: repeat(1, 1fr) !important;
    }

    .group-additional .input-group {
        grid-template-columns: repeat(1, 1fr) !important;
    }

    .input-groupGrid {
        grid-template-columns: repeat(1, 1fr) !important;
    }

    .form-btn {
        margin-bottom: 10px;
    }

    .forms-div {
        gap: 0;
    }

    .tooltip {
        top: -15px;
        left: -20px;
        width: 220px;
    }

    .fide-btn {
        border-bottom-left-radius: 8px !important;
        border-top-left-radius: 8px !important;
        width: 100% !important;
        margin-left: 0 !important;
    }

    .fide-input {
        border-bottom-right-radius: 8px !important;
        border-top-right-radius: 8px !important;
    }

    .fide-btn.btn::before {
        border-top-left-radius: 8px !important;
        border-bottom-left-radius: 8px !important;
    }

    .register-form {
        gap: 0;
    }

    .tournament-btns {
        flex-direction: column;
        gap: 10px;
    }

    .tournament-btn {
        width: 100%;
        display: block;
        max-width: 100% !important;
    }
    .issuing-authority {
        position: relative;
    }
    .tooltip {
        top: 0;
        width: 100%;
        left: -10px;
        transform: translateY(calc(-100% - 15px));
    }
    .tooltip-wrapper {
        flex-direction: column-reverse;
        align-items: flex-start;
        row-gap: 24px;
    }

    .tooltip-container {
        position: unset;
    }
    .tooltip-content {
        width: 100%;
        max-width: 100%;
    }
}
