@media (max-width: 1024px) {
    .container {
        max-width: 950px;

    }

    /*.invite-name {*/
    /*    font-size: 80px;*/
    /*}*/
    /*.main .container {*/
    /*    max-width: 750px;*/
    /*}*/
    /*.side {*/
    /*    width: 200px;*/
    /*    height: 200px;*/
    /*    object-fit: cover;*/
    /*}*/
    /*.center-card img {*/
    /*    width: 300px;*/
    /*    height: 320px;*/
    /*    object-fit: cover;*/
    /*}*/
}

@media (max-width: 768px) {
    .container {
        max-width: 600px;
    }
    .icon-name {
        left: 48%;
    }

    .his-name {
        top: -60px;
        left: -33px;
    }

    .her-name {
        top: -8px;
        right: -64px;
    }

    .invite-name {
        font-size: 90px;
        top: 50%;
        left: 87px;
        transform: translateY(-50%);
    }

    .invite-text {
        font-size: 300px;
    }

    .main-title, .main-date, .location-title, .program-title, .dresscode-title, .details-title, .presence-title, .timout-title {
        font-family: "Novelist", sans-serif;
        font-size: 74px;
        margin-bottom: 30px;
    }

    .timout-title {
        font-size: 40px;
    }

    .main .container {
        max-width: 620px;
    }


    .main-your {
        right: -155px;
    }

    .program-day {
        right: 60px;
    }


    /*.center-card img {*/
    /*    width: 300px;*/
    /*    height: 320px;*/
    /*    object-fit: cover;*/
    /*}*/

}

@media (max-width: 625px) {
    .container {
        max-width: 500px;
    }

    .his-name {
        top: -47px;
        left: -46px;
    }
    .icon-name {
        left: 44%;
    }
    .his-name, .her-name {
        font-size: 80px;
    }

    .her-name {
        top: 4px;
        right: -51px;
    }

    .main-title, .main-date, .location-title, .program-title, .dresscode-title, .details-title, .presence-title, .timout-title {
        font-size: 60px;
    }

    .main .container {
        max-width: 500px;
    }

    .main-title, .main-date {
        font-size: 72px;
    }

    .invite .container {
        max-width: 620px;
    }

    .wishes-day {
        right: 11px;
    }

    .attention .container {
        padding: 130px 0;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        text-align: right;
        gap: 50px;
    }

    .attention-info {
        order: 1;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        text-align: left;
        max-width: 400px;

    }

    .attention .container img {
        order: 2;
        align-self: flex-start;
    }

    .attention-title {
        font-size: 62px;
    }

    .attention-we {
        top: -65px;
        left: -81px;
    }

    .attention-text {
        font-size: 23px;
    }

    .attention img {
        width: 300px;
    }

    .date-container {
        position: absolute;
        display: flex;
        justify-content: center;
        font-size: 60px;
        background-color: white;
        padding: 0;
        gap: 10px;
        left: 50%;
        transform: translate(-50%, 315px);

    }

    .calendar {
        margin-bottom: 0;
        padding-bottom: 50px;

    }

    .main-your {
        right: -110px;
        top: 18px;
        z-index: -1;
    }


    .main .container::after {
        display: none;
    }

    .location .container {
        text-align: center;
    }


    .program-day1-title, .dresscode-title, .wishes-title {
        font-size: 72px;
    }

    .photo-grid {
        .wide {
            grid-column: span 2;
            object-fit: cover;
            object-position: 0px -27px;
        }
    }

    .presence-title {
        font-size: 72px;
        margin-bottom: 30px;
    }

    .program {
        padding-top: 0;
    }

    .presence-day {
        right: 60px;
    }

    .timout-title {
        font-size: 46px;
    }

    .dresscode-info-blocks {
        display: flex;

        align-items: center; /* Выравнивание по центру */
        gap: 10px; /* Расстояние между блоками */
    }


}

@media (max-width: 561px) {
    .wedding-form {
        button {
            width: 101%;
        }
    }

}

@media (max-width: 525px) {

    .his-name, .her-name {
        font-size: 90px;
    }

    .his-name {
        top: -30px;
        left: 18px;
    }

    .her-name {
        top: 20px;
        right: 7px;
    }

    .wedding-form {
        button {
            width: 102%;
        }
    }

    .invite-name {
        left: 39px;
    }

    .timout-title {
        font-size: 35px;
    }

    .program-day1-text {
        font-size: 30px;
    }

    .program-day1-title, .dresscode-title, .wishes-title {
        font-size: 60px;
        margin-bottom: 30px;
    }

    .banket-title span {
        font-size: 37px;
    }

    .calendar {
        margin-bottom: 0;
        padding-bottom: 0px;
    }

    .wishes-text {
        font-size: 28px;
    }

    .wide1 {
        object-fit: cover;
        object-position: 0px -40px;
    }

    .center-card img {
        width: 340px;
        height: 340px;
    }

    .program {
        padding-bottom: 50px;
    }

    .invite-date {
        font-size: 30px;
        margin-bottom: -50px;
    }

    .main-your {
        right: -71px;
        top: 30px;
    }

    .wishes-day {
        top: 41px;
        right: 33px;
    }

    .wishes {
        padding-bottom: 0;
    }

    .dresscode-info-block {
        width: 50px;
        height: 50px;
        border-radius: 50%;
    }

}

@media (max-width: 507px) {
    .container {
        max-width: 430px;
    }

    .main .container {
        max-width: 460px;
    }


    .location {
        padding-top: 100px;
        padding-bottom: 50px;
    }


    .attention-we {
        top: -75px;
        left: -30px;
    }

    .main {
        padding-top: 50px;
        padding-bottom: 0;
    }

    .main-text b {
        font-size: 30px;
    }


    .program {
        padding: 50px 0;
    }

    .wishes {
        padding: 50px 0;
    }

    .organizer-day {
        right: -20px;
    }

    .organizer {
        padding: 50px 0;
    }

    .presence {
        padding: 50px 0;
    }

    .timout {
        padding: 30px 0 30px 0;
    }


    .banket-title span {
        font-size: 32px;
    }

    .banket-title .banket-span {
        font-size: 30px;
    }

    .calendar {

    }

    .timeline::before {
        left: 30%;
    }

    .presence-title {
        margin-bottom: 50px;
    }

    .main-title, .main-date, .location-title, .program-title, .dresscode-title, .details-title, .presence-title, .timout-title {
        font-size: 50px;
    }

    .timout-title {
        font-size: 36px;

    }

    .main-text span {
        font-size: 30px;
        margin-bottom: 20px;
    }
}

@media (max-width: 479px) {
    .container {
        max-width: 380px;
    }
    .dresscode-info {
        font-size: 26px;
    }
    .invite-name {
        left: 21px;
    }

    .main-text {
        font-size: 27px;
    }

    .invite-date {
        margin-bottom: -30px;
    }


    .attention-we {
        left: -38px;
    }

    .timeline::before {
        left: 35%;
    }


    .program-day1-text {
        font-size: 26px;
    }

    .banket-title span {
        font-size: 29px;
    }

    .banket-date {
        padding-bottom: 0px;
    }

    .dresscode-info-text {
        font-size: 24px;
    }

    .wishes-text {
        font-size: 21px;
    }

    .program-day {
        font-size: 140px;
    }


    .main-your {
        font-size: 140px;
    }

    .wishes-day {
        font-size: 140px;
    }

    .photo-grid {
        img {
            width: 100%;
            height: 185px;
        }
    }

    .wide1 {
        object-position: 0px -32px;
    }

    .photo-grid {
        .wide {
            object-position: 0px -27px;
        }
    }

    .details-text {
        text-align: center;
        font-size: 26px;
    }

    .details-text.shtarf {
        font-size: 22px;
    }

    .details-tg {
        text-align: center;
        font-size: 19px;
    }

    .presence-text {
        text-align: center;
        font-size: 19px;
    }

    .organizer-day {
        font-size: 140px;
    }

    .organizer-text {
        font-size: 26px;
    }

    .organizer-name, .organizer-phone {
        font-size: 26px;
    }

    .organizer a {
        font-size: 26px;
    }

    .presence-day {
        font-family: "Caravan", sans-serif;
        font-size: 140px;
    }

    .presence-text {
        text-align: center;
        font-size: 26px;
        margin-bottom: 20px;
    }

    .wedding-form {
        font-size: 26px;
    }

    .calendar {
        width: 350px;
        padding-bottom: 25px;
        padding-top: 30px;
    }

    .days {
        font-size: 25px;
    }

    .day {
        padding: 5px;
    }

    .heart {
        right: -23px;
    }

    .main-your {
        right: -50px;
    }

    .main .container::before {
        top: 591px;
    }

    .date-container {
        transform: translate(-50%, 285px);
    }

    .main-title, .main-date, .location-title, .program-title, .dresscode-title, .details-title, .presence-title, .timout-title {
        font-size: 46px;
    }

    .timout-title {
        font-size: 36px;
    }
    .his-name {
        top: -30px;
        left: -14px;
    }
    .her-name {
        top: 20px;
        right: -18px;
    }

}

@media (max-width: 435px) {
    #swipe-area {
        width: 350px;
        margin: 0 auto;
    }

    #arrow {
        margin-left: -9px;
        visibility: hidden;
    }
    #arrow::before {
        content: "••••••••••••••••••••••••••";
        visibility: visible;
    }

    .gallery p {
        font-size: 23px;
    }

    .date-container {
        transform: translate(-50%, 285px);
    }

    .his-name {
        top: -24px;
        left: -16px;
    }

    .her-name {
        top: 20px;
        right: -27px;
    }

    .main-date {
        margin-bottom: 0;
    }

    .side {
        width: 180px;
        height: 180px;
        object-fit: cover;
    }

    .invite-text {
        font-size: 280px;
    }

    .invite-name {
        font-size: 80px;
        left: 30px;
    }

    .main .container {
        max-width: 400px;
    }

    .main-text {
        font-size: 23px;
    }

    .main-text b {
        font-size: 26px;
    }

    .timout-title {
        font-size: 30px;
    }

    .time-box {
        width: 35px;
        height: 35px;
    }

    .time-box span {
        font-size: 19px;
    }

    .time-box p {
        font-size: 12px;
    }

    .wishes-text {
        font-size: 19px;
    }

    .wishes-block {
        padding: 10px;
    }

    .wishes-title {
        margin-bottom: 15px;
    }

    .presence-title {
        font-size: 45px;
    }

    .presence-text {
        text-align: center;
        font-size: 19px;
    }

}

@media (max-width: 423px) {
    .container {
        max-width: 300px;
    }
    .dresscode-info {
        font-size: 23px;
    }

    .attention-we {
        font-size: 140px;
    }

    .attention-text {
        font-size: 13px;
    }

    .attention .container {
        padding-bottom: 50px;
    }


    .calendar {
        width: 300px;
        padding-bottom: 10px;
    }

    .main .container::before {
        top: 567px;
    }

    .date-container {
        transform: translate(-50%, 273px);
    }


    .gallery {
        gap: 3px;
    }

    .invite-name {
        font-size: 80px;
        left: 21px;
    }

    .center-card img {
        width: 300px;
        height: 300px;
    }


    .location {
        padding: 50px 0 50px 0;
    }

    .program-day1-text {
        font-size: 23px;
    }


    .timeline::before {
        left: 43%;
    }

    .dresscode-title {
        font-size: 54px;
    }

    .dresscode-info-text {
        font-size: 22px;
    }


    .details-text {
        text-align: center;
        font-size: 21px;
    }

    .presence-text {
        text-align: center;
        font-size: 21px;
    }


    .organizer-day, .presence-day {
        font-size: 120px;
    }

    .wishes-day {
        font-size: 120px;
    }

    .program-day {
        font-size: 120px;
    }

    .organizer-text {
        font-size: 22px;
    }

    .organizer-name, .organizer-phone {
        font-size: 22px;
    }

    .organizer a {
        font-size: 22px;
    }

    .presence-text {
        text-align: center;
        font-size: 22px;
    }

    .presence .container {
        max-width: 370px;
    }

    .wedding-form {
        button {
            width: 102%;
        }
    }

    .main-title, .main-date, .location-title, .program-title, .dresscode-title, .details-title, .presence-title, .timout-title {
        font-size: 37px;
    }

    .timout-title {
        font-size: 28px;
    }

    .time-box span {
        font-size: 28px;
    }

    .dresscode-info-block {
        width: 40px;
        height: 40px;
        border-radius: 50%;
    }
}

@media (max-width: 407px) {

    .invite-name {
        font-size: 60px;
        left: 69px;
    }

    .invite-text {
        font-size: 190px;
    }


}

@media (max-width: 375px) {
    .container {
        max-width: 300px;

    }

    .his-name {

        left: -52px;
    }

    .her-name {
        top: 20px;
        right: -47px;
    }

    .invite-name {
        left: 44px;
    }

    .main .container {
        max-width: 300px;
    }

    .main-title {
        font-size: 40px;
    }

    .attention-title {
        font-size: 40px;
    }

    .attention-we {
        font-size: 130px;
    }

    .wedding-form {
        button {
            width: 103%;
        }
    }

    .main-text {
        font-size: 20px;
    }

    .calendar-date .month, .calendar-date .year {
        font-size: 40px;
    }

    .day {
        width: 35px;
        height: 35px;
    }

    .heart {
        bottom: -24px;
    }

    .main {
        padding-bottom: 0;
    }

    .heart svg {
        width: 95px;
        height: 95px;
    }

    .center-card img {
        width: 270px;
        height: 270px;
    }


}

@media (max-width: 363px) {
    .container {
        max-width: 280px;
    }

    .invite-name {

    }

    .invite-text {

    }


    .invite-date {
        font-size: 25px;
    }

    .dresscode-title {
        font-size: 50px;
    }


    .heart svg {
        width: 80px;
        height: 80px;
    }

    .heart {
        right: -23px;
        bottom: -21px;
    }

    .wishes-text, .organizer-text, .presence-text {
        font-size: 20px;
    }

    .organizer-name, .organizer-phone {
        font-size: 20px;
    }

    .side {
        width: 150px;
        height: 150px;
    }

    /*.center-card img {*/
    /*    width: 285px;*/
    /*    height: 310px;*/
    /*}*/
    .calendar {
        width: 270px;
        padding: 10px;
    }

    .days {
        font-size: 20px;
    }

    .day {
        padding: 0px;
    }


    .main .container::before {
        top: 494px;
    }

    .date-container {
        transform: translate(-50%, 238px);
    }

}

@media (max-width: 363px) {
    .main-your {
        right: -25px;
    }
}