.svg-b-1{
    width: 40rem;
    top: -20rem;
    left: -10rem;
    /* transform: translate(-10rem, -50%) rotate(45deg); */
    fill: #b3e4f960;
}
.svg-b-2{
    width: 80rem;
    top: 20rem;
    right: -40rem;
    /* transform: translate(-50%, -10%) rotate(0); */
    fill: #b3e4f960;
}
.svg-b-3{
    width: 80rem;
    top: 20rem;
    right: -40rem;
    /* transform: translate(-50%, -10%) rotate(0); */
    fill: #b3e4f960;
}
.svg-b-4{
    height: 20%;
    top: 20rem;
    left: -4rem;
    /* transform: translate(-50%, -10%) rotate(0); */
    fill: #b3e4f960;
}
.svg-b-5{
    height: 40%;
    bottom: 10%;
    left: -4rem;
    transform: translate(-30%) rotate(45deg);
    fill: #b3e4f960;
}

section.welcome .grid {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto;
    gap: 2.5rem;

}

section.welcome .grid .main-cell {
    grid-column: 1/3;
    grid-row: 1/3;
    height: 680px;
    background-image: linear-gradient(#0000007b, #0000007b), url(../images/main-cell-bg.webp);
    background-size: cover;
    color: var(--color-f);
    text-align: center;
    transition: .4s ease-out;
    stroke: #fff;
}

section.welcome .grid .main-cell a {
    margin-top: 2rem;
    gap: 1rem;
    font-size: 1.5rem;
}

section.welcome .grid .main-cell a svg {
    transform: rotate(-45deg);
    transition: .3s;
    height: 100%;
}

section.welcome .grid .main-cell a:hover svg {
    transform: rotate(0);
}

section.welcome .grid>* {
    border-radius: 2rem;
}

section.welcome .grid .main-cell h1 {
    font-weight: 700;
    letter-spacing: -1px;
}

section.welcome .grid .main-cell:hover {
    background-position-x: -2rem;
}

section.welcome .grid .secondary-cell {
    background-color: var(--color-primary-light);
    padding: 2.5rem;
    position: relative;
    overflow: hidden;
}

section.welcome .grid .secondary-cell .title {
    background-color: var(--color-primary);
    padding: 0.5rem 2rem;
    color: var(--color-f);
    border-radius: 1rem;
    width: fit-content;
    font-weight: 500;
}

section.welcome .grid .secondary-cell .desc h3 {
    font-weight: 700;
}

section.welcome .grid .secondary-cell .desc p {
    font-weight: 300;
}

section.welcome .grid .secondary-cell .absolute.arrow {
    transform: rotate(-45deg);
    height: 3rem;
    width: 3rem;
    fill: var(--color-primary);
    top: 2.5rem;
    right: 2.5rem;
    transition: .3s;
}

section.welcome .grid .secondary-cell:hover .absolute.arrow {
    transform: rotate(0);
}

section.welcome .grid .secondary-cell .absolute {
    position: absolute;
}

section.welcome .grid .secondary-cell svg:nth-child(1) {
    right: 0;
    bottom: 0;
    height: 100%;
    fill: var(--color-f);
    transform: scale(1);
    opacity: 0.2;
    z-index: 100;
}

section.welcome .grid .secondary-cell>*:not(.bg) {
    z-index: 101;
    stroke: #fff;
}




section.section-form .container h2 {
    text-align: center;
    font-weight: 700;
}

section.section-form .bg-light {
    background: linear-gradient(var(--color-f) 0% 40%, var(--color-primary-light) 40% 100%);
    padding-bottom: 5rem;
}

section.section-form .w40 svg {
    fill: var(--color-f);
    height: 2rem;
    width: 2rem;
    display: flex;
}

section.section-form .form {
    width: 100%;
}

section.section-form .form {
    background-color: var(--color-f);
    border-radius: 1.5rem;
    padding: 0.75rem;
    box-shadow: 0 0.25rem 1rem #0000004b;
}

section.section-form .form .w40 {
    background-color: #85CAFD;
    border-radius: 0.75rem;
    padding: 2.5rem;
    color: var(--color-f);
}

section.section-form .form .w40 h3 {
    margin-bottom: 1rem;
    font-weight: 600;
    letter-spacing: 1px;
}

section.section-form .form .w40>p {
    margin-bottom: 2.5rem;
    line-height: 200%;
}

section.section-form .form .contact-line {
    gap: 1rem;
    margin-bottom: 2.5rem;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 1px;
}

section.section-form .form .contact-line:last-child {
    margin-bottom: 0;
}

section.section-form .form .w60 {
    padding: 2.5rem 0;
}

section.section-form .form .w60 input,
section.section-form .form .w60 textarea {
    border: none;
    border-bottom: 2px solid var(--color-2);
    padding: 1rem 0;
    resize: none
}

section.section-form .form .w60 form {
    gap: 1.5rem;
}

section.section-form .form .w60 input::placeholder {
    color: #999;
}

section.section-form .form .w60 input {
    height: 2.5rem;
}

section.section-form .form .w60 input:focus,
section.section-form .form .w60 textarea:focus {
    border-color: var(--color-primary);
}

section.section-form .form .w60 textarea {
    height: 6rem;
}

section.section-form .form .w60 button {
    background-color: var(--color-primary);
    color: white;
    border-radius: 1.5rem;
    border: 0;
    align-self: flex-end;
    border: 2px solid #eee;
    gap: 0.5rem;
    font-weight: 500;
    transition: .3s ease-out;
    cursor: pointer;
    padding: 1rem;
}

section.section-form .form .w60 button:hover {
    background-color: var(--color-primary-dark);
}

section.section-form .form .w60 label {
    color: #555;
    font-weight: 500;
}

section.section-form .form .w60 button svg {
    fill: var(--color-f);
    height: 100%;
    transition: .3s ease-out;
    transform: scale(1.5);
}

section.section-form .form .w60 button:hover svg {
    transform: rotate(45deg) scale(1.5);
}

section.section-form h2 {
    padding: 5rem;
}

section.section-form h2.deep-blue {
    color: var(--color-primary-dark);
}

section.section-form .container-advantages .advantages {
    color: var(--color-2);
    text-align: center;
}

section.section-form .container-advantages .advantages .icon {
    margin-bottom: 1rem;
}

section.section-form .container-advantages .advantages h5 {
    font-weight: 400;
    font-size: 1rem;
}

section.section-form .container-advantages .advantages {
    gap: 1rem;
}

.section-map {
    overflow-y: hidden;
    height: 600px;
    padding-top: 2.5rem;
}

.section-map .map {
    width: 100%;
    height: 100%;
    border-radius: 0 2rem 2rem 0;
}

.section-map .img {
    border-radius: 2rem 0 0 2rem;
    background: linear-gradient(-45deg, #1d6195ba 0% 50%, #010932bd 50% 10%), url(../images/map.webp);
    background-size: cover;
    color: var(--color-f);
    padding: 1.5rem;
    font-weight: 700;
    gap: 1rem;
}

.section-map .img svg {
    fill: var(--color-f);
    width: 4rem;
}

.section-map .map iframe {
    width: 100%;
    height: 100%;
    border: none;
}

.swiper {
    width: 100%;
    height: 720px;
    padding: 2rem 0 !important;
}

.swiper-slide {
    background: #fff;
    border-radius: 18px;
    font-size: 22px;
    font-weight: bold;
    color: #000;
    position: relative;
    z-index: 1;
}

.swiper-slide {
    background-size: cover;
}

.swiper-slide.img-1 {
    background-image: url('../images/slider-1.webp');
}

.swiper-slide.img-2 {
    background-image: url('../images/slider-2.webp');
}

.swiper-slide.img-3 {
    background-image: url('../images/slider-3.webp');
}

.swiper-slide.img-4 {
    background-image: url('../images/slider-4.webp');
}

.swiper-slide.img-5 {
    background-image: url('../images/slider-5.webp');
}

section.about-news-timer .container {
    padding-top: 2.5rem;
}

section.about-news-timer .container-about p {
    margin-bottom: 2rem;
}

section.about-news-timer h2 {
    font-weight: 600;
    margin-bottom: 2rem;
}

section.about-news-timer p {
    font-size: 1.125rem;
    letter-spacing: 0.5px;
    line-height: 140%;
}

section.about-news-timer .container-seminar h4 {
    font-weight: 600;
    color: var(--color-primary-dark);
    margin-bottom: 1rem;
    text-align: center;
}
section.about-news-timer #days,
section.about-news-timer #hours,
section.about-news-timer #minutes{
    color: var(--color-f);
    margin: 0;
}
section.about-news-timer .container-seminar h4 span{
    font-weight: 500;
}

section.about-news-timer .container-seminar h5,
section.about-news-timer .container-seminar h4 {
    font-weight: 600;
}

section.about-news-timer .container-seminar .w100 {
    margin-top: 2rem;
}

section.about-news-timer .container-seminar .w100 {
    margin-top: 2rem;
    gap: 1rem;
}

section.about-news-timer .container-seminar .w100 .rect {
    width: 12rem;
    height: 12rem;
    border-radius: 1rem;
    background-color: var(--color-primary-dark);
    color: var(--color-f);
    gap: 0.5rem;
}

section.about-news-timer .container-seminar .w100 .rect h4 {
    font-size: 2rem;
}

section.about-news-timer .container-seminar .w100 .rect h5 {
    text-transform: uppercase;
}

section.about-news-timer .container-seminar .w75 {
    margin-top: 2rem;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 300;
}

section.about-news-timer .container-news {}

section.about-news-timer .container-news h2 {
    text-align: center;
    margin-bottom: 2.5rem;
}

section.about-news-timer .container-news p {
    margin-top: 1rem;
    color: #707070;
}

section.about-news-timer .container-news h5 {
    margin-top: 0.25rem;
    font-size: 1.25rem;
    font-weight: 600;
}

section.about-news-timer .container-news img {
    height: 300px;
    object-fit: cover;
    border-radius: 1rem;
}

section.about-news-timer .container-news .news {
    gap: 1rem;
}

section.about-news-timer .container-news .news .news-item {
    flex: 1;
    background-color: var(--color-f);
    border-radius: 1rem;
}

section.about-news-timer .container-news a.news-button,
section.gallery a.news-button{
    border: 2px solid #E8E8EB;
    padding: 12px;
    font-size: 1.5rem;
    gap: 1.5rem;
    border-radius: 100px;
    width: fit-content;
    font-weight: 600;
    color: var(--color-primary);
    margin-top: 2rem;
}

section.about-news-timer .container-news a.news-button svg,
section.gallery a.news-button svg{
    width: 2.5rem;
}
section.gallery h2 {
    padding: 2.5rem 0;
}
section.gallery .container{
    overflow-y: hidden;
}

section.gallery .album {

    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 200px;
    gap: 1.5rem;
    overflow-x: hidden;
}

section.gallery .album .album-item {
    overflow: hidden;
    background-color: #777;
    border-radius: 1.25rem;
}

section.gallery .album .album-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 12px;
    transition: .3s ease;
}

section.gallery .album .album-item:hover img {
    transform: scale(1.1);
}

/* Пример позиционирования крупных блоков */
section.gallery .album .album-item:nth-child(1) {
    grid-column: span 2;
    grid-row: span 1;
}

section.gallery .album .album-item:nth-child(2) {
    grid-column: 3/5;
    grid-row: 2;
}

section.gallery .album .album-item:nth-child(3) {
    grid-column: 2;
    grid-row: 2/4;
}


@media (max-width: 1240px) {
    section.welcome .grid .main-cell {
        height: 480px;
    }

    .section-map {
        height: 450px;
        padding-top: 2.5rem;
    }

    .swiper {
        height: 520px;
    }
}

@media (max-width: 960px) {

    section.section-form .form .w40,
    section.section-form .form .w60 {
        width: 50%;
    }

    .section-map {
        height: 350px;
        padding-top: 2.5rem;
    }

    .swiper {
        height: 420px;
    }

    section.about-news-timer .container-news img {
        height: 200px;

    }

    section.gallery .album {
        grid-auto-rows: 120px;
    }
}

@media (max-width: 740px) {
    section.welcome .grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 300px 150px;
        gap: 2.5rem;
    }

    section.welcome .grid .main-cell {
        height: 100%;
    }

    section.welcome .grid .main-cell {
        grid-column: 1 / 3;
        grid-row: 1 /2;
    }

    section.section-form .form {
        flex-wrap: wrap;
    }

    section.section-form .form br {
        display: none;
    }

    section.section-form .form .w40,
    section.section-form .form .w60 {
        width: 100%;
    }

    .section-map {
        height: 200px;
    }

    section.about-news-timer .container {
        flex-wrap: wrap;
        justify-content: center;
    }

    section.about-news-timer .container .w50 {
        width: 100%;
    }

    section.about-news-timer .container .w40 {
        width: 75%;
    }

    .swiper {
        height: 300px;
    }

    section.about-news-timer .container-news img {
        height: 100px;
    }
        section.gallery .album {
        grid-auto-rows: 90px;
    }
}
