* {
    margin: 0;
    padding: 0;
    outline: 0;
    box-sizing: border-box;
}

@font-face {
    font-family: Tavolga-free;
    src: url("../fonts/tavolga-free.ttf");
}

@font-face {
    font-family: Gilroy-regular;
    src: url("../fonts/gilroy-regular.ttf");
}

@font-face {
    font-family: Gilroy-medium;
    src: url("../fonts/gilroy-medium.ttf");
}

@font-face {
    font-family: Gilroy-bold;
    src: url("../fonts/gilroy-bold.ttf");
}

@font-face {
    font-family: Gilroy-extrabold;
    src: url("../fonts/gilroy-extrabold.ttf");
}

.header {
    padding: 36px 0 25px 0;
    background-color: #eba8b1;
}

.container {
    max-width: 1140px;
    margin: 0 auto;
}

.header__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    cursor: pointer;
}

.menu-list {
    display: flex;
    list-style: none;
    gap: 40px;
    margin-left: 233px;
    margin-right: 328px;
}

.menu-link {
    font-family: Gilroy-medium, sans-serif;
    font-size: 14px;
    color: #770b1d;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    padding-bottom: 3px;
    transition: all .5s ease;
}

.menu-link:hover {
    border-bottom: 2px solid #770b1d;
    margin-bottom: 3px;
    transition-duration: 0.3s;
}

.tel {
    font-family: Gilroy-bold, sans-serif;
    font-size: 16px;
    color: #fff;
    cursor: pointer;
}

.section {
    background-color: #eba8b1;
    overflow: hidden;
}

.container__section {
    padding: 126px 21px 108px 0;
    display: flex;
    justify-content: space-between;
}

.section-text {
    max-width: 585px;
    font-family: Tavolga-free, sans-serif;
}

.section-title {
    padding-left: 2px;
    font-family: Tavolga-free, sans-serif;
    font-size: 55px;
    color: rgb(255, 255, 255);
    line-height: 1.091;
    margin-bottom: 60px;
}

.section-desc {
    font-family: Tavolga-free, sans-serif;
    font-size: 18px;
    color: rgb(255, 255, 255);
    line-height: 1.389;
    margin-bottom: 80px;
    max-width: 360px;
}

.button {
    background-image: -moz-linear-gradient(90deg, rgb(113, 8, 30) 0%, rgb(215, 72, 92) 100%);
    background-image: -webkit-linear-gradient(90deg, rgb(113, 8, 30) 0%, rgb(215, 72, 92) 100%);
    background-image: -ms-linear-gradient(90deg, rgb(113, 8, 30) 0%, rgb(215, 72, 92) 100%);
    border: 0;
    box-sizing: border-box;
    cursor: pointer;
}

.button-section {
    border-radius: 30px;
    width: 240px;
    height: 60px;
}

.button-link {
    text-decoration: 0;
    font-size: 18px;
    font-family: Gilroy-bold,sans-serif;
    color: #fff;
}

.button-section:hover {
    background-image: -moz-linear-gradient(90deg, rgb(113, 8, 30) 0%, rgb(215, 72, 92) 100%);
    background-image: -webkit-linear-gradient(90deg, rgb(113, 8, 30) 0%, rgb(215, 72, 92) 100%);
    background-image: -ms-linear-gradient(90deg, rgb(113, 8, 30) 0%, rgb(215, 72, 92) 100%);
    box-shadow: 0 5px 9px 1px rgba(130, 19, 40, 0.5);
}

.section-image {
    position: relative;
    z-index: 1;
    max-width: 100%;
}

.section-image-img {
    position: relative;
    z-index: 3;
    max-width: 100%;
}

.section-image:before {
    content: ' ';
    width: 200px;
    height: 200px;
    border-radius: 50%;
    border: 1px solid #821328;
    animation: pulsing 2.6s linear infinite;
    animation-delay: 0.5s;
    right: 29%;
    top: 29%;
    position: absolute;
    z-index: 2;
    max-width: 100%;
}

.section-image:after {
    content: ' ';
    width: 200px;
    height: 200px;
    border-radius: 50%;
    border: 1px solid #821328;
    animation: pulsing 2.6s linear infinite;
    display: block;
    right: 29%;
    bottom: 25%;
    position: absolute;
    z-index: 2;
    max-width: 100%;
}


@keyframes pulsing {
    0% {
        transform: scale(1.5);
        opacity: 100%;
    }

    50% {
        transform: scale(2.5);
        opacity: 50%;
    }

    100% {
        transform: scale(3.2);
        opacity: 5%;
    }
}

.aside-item:hover .aside-item-image {
    transform: scale(1.1);
}

.main {
    background-color: #ffefef;

}

.container__main {
    padding: 120px 0 120px 0;
}

.main-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: flex-end;
}

.main-text {
    max-width: 475px;
}

.main-title {
    font-size: 45px;
    font-family: Tavolga-free, sans-serif;
    color: rgb(51, 25, 7);
    line-height: 1.222;
}

.main-desc {
    font-size: 18px;
    font-family: Gilroy-regular, sans-serif;
    line-height: 1.556;
    color: rgb(51, 25, 7);
    margin-top: 60px;
    max-width: 405px;
}

.main-items {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    box-sizing: border-box;
    cursor: pointer;
    position: relative;
    margin-top: 50px;
}

.main-item {
    width: 226px;
    margin-top: 83px;
    position: relative;
}

.main-item-wrapper {
    width: 85px;
    height: 85px;
}

.main-item-number {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-color: #821328;
    position: absolute;
    top: -38%;
}

.main-item:hover .main-item-number {
    background-color: #eba8b1;
    transition-duration: 0.5s;
}

.item-number {
    font-size: 60px;
    font-family: Gilroy-extrabold, sans-serif;
    color: rgb(255, 255, 255);
    position: absolute;
    left: 19px;
    bottom: -24%;
    z-index: 1;
}

.item-number-first {
    left: 23px;
}

.main-item:hover .item-number {
    color: #821328;
    transition-duration: 0.3s;
}

.main-item-title {
    font-size: 20px;
    font-family: Gilroy-extrabold,sans-serif;
    color: rgb(51, 25, 7);
    margin-top: 15px;
    margin-bottom: 20px;
}

.main-item-desc {
    font-size: 15px;
    font-family: Gilroy-medium, sans-serif;
    color: rgb(51, 25, 7);
    line-height: 1.333;
}

.aside {
    background-color: #eba8b1;
}

.container__aside {
    padding-top: 120px;
    padding-bottom: 120px;
}

.aside-title {
    text-align: center;
    font-size: 45px;
    font-family: Tavolga-free, sans-serif;
    color: rgb(255, 255, 255);
    line-height: 1.222;
    margin-bottom: 143px;
}

.aside-items {
    display: grid;
    grid-template-columns: repeat(4, 263px);
    box-sizing: border-box;
    gap: 29px;
}

.aside-item {
    border: 2px solid #fff;
    border-radius: 20px;
    text-align: center;
    padding: 0 21px 27px 21px;
}

.aside-item:hover .aside-item-image {
    transform: scale(1.1);
}

.aside-item-image {
    margin-top: -60px;
    transition: all .5s ease;
}

.aside-item-title {
    margin-top: 47px;
    margin-bottom: 26px;
    font-size: 18px;
    font-family: Tavolga-free, sans-serif;
    color: rgb(255, 255, 255);
}

.aside-item-price {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.aside-item-text {
    display: grid;
    grid-template-columns: 1fr;
    width: 60px;
    font-size: 15px;
    font-family: Gilroy-regular, sans-serif;
    color: rgb(255, 255, 255);
    text-align: left;
}

.button-aside-item {
    width: 130px;
    height: 50px;
    border-radius: 25px;
}

.button-aside-item:hover {
    background-image: -moz-linear-gradient(90deg, rgb(113, 8, 30) 0%, rgb(215, 72, 92) 100%);
    background-image: -webkit-linear-gradient(90deg, rgb(113, 8, 30) 0%, rgb(215, 72, 92) 100%);
    background-image: -ms-linear-gradient(90deg, rgb(113, 8, 30) 0%, rgb(215, 72, 92) 100%);
    box-shadow: 0 5px 9px 1px rgba(130, 19, 40, 0.5);
}

.aside-item-link {
    font-size: 16px;
    font-family: Gilroy-bold, sans-serif;
    color: rgb(255, 255, 255);
    text-decoration: 0;
}

.contacts {
    background-color: #ffefef;
}

.wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 98px 154px 120px 0;
    position: relative;
}

.contacts-form {

}

.contacts-form-title {
    max-width: 410px;
    margin-bottom: 48px;
}

.contacts-form-text {
    font-size: 45px;
    font-family: Tavolga-free, sans-serif;
    color: rgb(51, 25, 7);
    margin-bottom: 41px;
}

.contacts-form-desc {
    font-size: 18px;
    font-family: Gilroy-regular, sans-serif;
    color: rgb(51, 25, 7);
}

.contacts-form-textarea {
    display: flex;
    flex-direction: column;
    margin-bottom: 40px;
}

.form-textarea-title {
    font-size: 18px;
    font-family: Gilroy-bold, sans-serif;
    color: rgb(18, 10, 6);
    margin-bottom: 20px;
}

.contacts-form-description {
    resize: none;
    outline: 1px solid #821328;
    border-radius: 30px;
    width: 294px;
    height: 60px;
    border: 0;
    box-sizing: border-box;
    background-color: #ffefef;
}

.contacts-form-description::placeholder {
    font-size: 15px;
    font-family: Gilroy-bold, sans-serif;
    color: rgb(118, 12, 34);
    padding-top: 20px;
    padding-left: 25px;
}

.contacts-form-description-last {
    margin: 15px 0 15px 0;
}

.button-contact-form {
    width: 294px;
    height: 60px;
    border-radius: 30px;
}

.button-contact-form:hover {
    background-image: -moz-linear-gradient(90deg, rgb(113, 8, 30) 0%, rgb(215, 72, 92) 100%);
    background-image: -webkit-linear-gradient(90deg, rgb(113, 8, 30) 0%, rgb(215, 72, 92) 100%);
    background-image: -ms-linear-gradient(90deg, rgb(113, 8, 30) 0%, rgb(215, 72, 92) 100%);
    box-shadow: 0 5px 9px 1px rgba(130, 19, 40, 0.5);
}

.contacts-animation-first {
    position: absolute;
    left: -3%;
    top: 10%;
    animation: contacts-animation-first-animation 1.5s linear infinite;
    animation-direction: alternate;
}

@keyframes contacts-animation-first-animation {
    0% {
        top: 10%;
    }

    50% {
        top: 11%;
    }

    100% {
        top: 12%;
    }
}

.contacts-animation {
    position: absolute;
    right: 7%;
    top: 67%;
    animation: contacts-animation-animation 1.5s linear infinite;
    animation-direction: alternate;
    animation-delay: 0.5s;
}

@keyframes contacts-animation-animation {
    0% {
        top: 67%;
    }

    50% {
        top: 68%;
    }

    100% {
        top: 69%;
    }
}

.footer {
    background-color: #c0707c;
}

.container__footer {
    padding: 73px 18px 62px 18px;
}


.footer-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-desc {
    margin-top: 19px;
    font-size: 12px;
    font-family: Gilroy-regular, sans-serif;
    color: rgb(227, 172, 180);
}


.footer-social {
    text-align: center;
}

.social-text {
    font-size: 16px;
    font-family: Gilroy-bold, sans-serif;
    color: rgb(255, 255, 255);
    margin-top: 15px;
}



.present-animation-image {
    display: flex;
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background-image: radial-gradient(#740A1F, #B13045);
    padding: 20px 18px 18px 19px;
    box-sizing: border-box;
    cursor: pointer;
    z-index: 99;
}

.present-animation-image:hover {
    box-shadow: 0 0 12.6px 2.4px rgba(130, 19, 40, 0.5);
}

.present-animation-image:hover .present-info {
    opacity: 100%;
    translate: -215px -10px;
    transition-duration: 0.5s;
    animation-name: present-animation;
}

@keyframes present-animation {
    from {
        opacity: 0;
    }

    50% {
        opacity: 50%;
    }

    to {
        opacity: 100%;
    }
}

.desc {
    display: none;
    font-size: 12px;
    font-family: Gilroy-regular, sans-serif;
    color: rgb(227, 172, 180);
}

.present-info {
    translate: -215px 100px;
    position: absolute;
    opacity: 0;
    animation-name: present-info-animation;
}

.rectangle {
    width: 172px;
    height: 64px;
    border: 2px solid #780B1E;
    background-color: #feefee;
    box-sizing: border-box;
    position: absolute;
    border-radius: 10px;
}

.rectangle-text {
    font-size: 15px;
    font-family: Gilroy-medium, sans-serif;
    color: rgb(119, 10, 29);
    padding: 12px 10px 14px 10px;
}

.rectangle-text::after {
    content: '';
    position: absolute;
    right: -30px;
    top: 20px;
    border: 10px solid transparent;
    border-left: 20px solid rgb(119, 10, 29);
}

.triangle-white {
    border: 10px solid transparent;
    border-left: 20px solid #feefee;
    position: absolute;
    right: -27px;
    top: 20px;
}

.burger {
    display: none;
}























