/*=================================================================================*/
/* ЗАГРУЗКА ШРИФТОВ ИЗ ФАЙЛА */

@font-face{
    font-family: "Cuprum";
    src: url("../fonts/Cuprum-VariableFont_wght.ttf");
    font-display: swap;
}

@font-face{
    font-family: "Cuprum-Italic";
    src: url("../fonts/Cuprum-Italic-VariableFont_wght.ttf");
    font-display: swap;
}

/*=================================================================================*/
/* СТИЛИ ДЛЯ ШАПКИ САЙТА */

body{
    margin: 0;
    padding: 0;
}

header{
    display: flex;
    justify-content: center;
    flex-direction: column;
    background: linear-gradient(#fff, dimgray);
}

.header{
    display: flex;
}

.header-img-text{
    display: flex;
    position: relative;
    flex-basis: 70%;
}

.header-img{
    /*display: flex;*/
    width: 100%;
    image-rendering: pixelated;
    border-radius: 10px;
}

h1{
    font-family: "Cuprum", sans-serif;
    text-align: center;
    color: rgba(0, 0, 0, 0.9);
    margin: 30px 0;
    font-size: 26px;
    padding: 0 10px;
}

.logo-text{
    font-family: "Cuprum-Italic", sans-serif;
    font-size: 2vw;
    font-weight: bold;
    position: absolute;
    left: 20%;
    top: 13%;
    text-decoration: none;
    text-shadow: 1px 1px 3px dimgray;
    color: rgba(0, 0, 0, 0.9);
}

/*=======================================================================================*/
/* СТИЛИ ДЛЯ МЕССЕНДЖЕРОВ В ШАПКЕ */

.header-messengers{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 1.2vw;
    flex-basis: 15%;
    font-family: sans-serif;
}

.header-messengers > span{
    margin-bottom: 0.3vw;
}

.messenger{
    width: 80%;
    margin-top: 8px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: linear-gradient(gray, dimgray);
    border-radius: 0.3vw;
    padding: 0.145vw;
}

.messenger > img{
    width: 1.7vw;
}

.messenger > a{
    text-decoration: none;
    color: whitesmoke;
    padding: 0.4vw 0;
    font-family: "Cuprum", sans-serif;
    flex-basis: 70%;
    font-size: 1vw;
}

.messenger > a:hover{
    color: black;
}

/*==================================================================================*/
/* СТИЛИ ДЛЯ ТЕЛЕФОНОВ В ШАПКЕ */

.header-address{
    flex-basis: 15%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 1.4vw;
    font-style: normal;
    font-family: sans-serif;
}

.header-address > span{
    font-size: 1.25vw;
    margin-bottom: 0.3vw;
    text-align: center;
}

.header-phone{
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 80%;
    margin-top: 8px;
    background: linear-gradient(gray, dimgray);
    border-radius: 0.3vw;
    padding: 0.3vw;
}

.header-phone > img{
    width: 1.7vw;
}

.header-phone > a{
    all: unset;
    cursor: pointer;
    color: whitesmoke;
}

.header-phone > a:hover{
    color: black;
}

.header-phone-mini{
    display: none;
}

/*====================================================================================*/
/* СТИЛИ ДЛЯ МЕНЮ САЙТА */

.main-menu{
    border-bottom: 1px rgba(0, 0, 0, 0.9) solid;
}

.menu{
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 0;
}

.menu-item{
    list-style: none;
    font-size: 1.3vw;
    font-family: "Cuprum", sans-serif;
}

.menu-item > a{
    text-decoration: none;
    color: white;
}

/* Для подчеркивания выбранного пункта меню */
.active > a{
    color: rgba(0, 0, 0, 0.9);
    text-shadow: 0 0 1px black;
}

/*==============================================================================*/
/* СТИЛИ ДЛЯ РАЗДЕЛА ОПИСАНИЯ САЙТА */

.site-description{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: radial-gradient(circle, rgba(164,164,164,1) 0%, rgba(237,237,237,1) 0%, rgba(164,164,164,1) 100%);
    border-bottom: 1px rgba(0, 0, 0, 0.9) solid;
}

.site-description > h2{
    margin-bottom: 0;
    margin-top: 2vw;
    font-family: "Cuprum", sans-serif;
    color: rgba(0, 0, 0, 0.9);
    font-size: 1.1vw;
    width: 90%;
    text-align: center;
}

.site-description > p{
    font-size: 1.3vw;
    width: 50%;
    font-family: "Cuprum", sans-serif;
    text-align: justify;
    color: rgba(0, 0, 0, 0.9);
}

/*==============================================================================*/
/* СТИЛИ ДЛЯ РАЗДЕЛА УСЛУГ С ФОТОГРАФИЯМИ ГЛАВНОЙ СТРАНИЦЫ */

.main-services-section{
    display: flex;
    flex-direction: column;
    background: linear-gradient(dimgray, #fff);
}

.main-services{
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    padding-top: 2vw;
    border-bottom: 1px solid rgba(0, 0, 0, 0.9);
}

.service{
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 500px;
    min-width: 200px;
    margin: 0 1.5vw 1.5vw 1.5vw;
}

.service > img{
    max-width: 100%;
    height: 375px;
    object-fit: cover;
    box-shadow: 0 0 5px black;
}

.service > h3{
    color: rgba(0, 0, 0, 0.9);
    font-family: Cuprum, sans-serif;
}

/*========================================================================*/
/* СТИЛИ ДЛЯ БЛОКА ПРЕИМУЩЕСТВА */

.service-advantages{
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 500px;
    min-width: 200px;
    margin: 0 1.5vw 1.5vw 1.5vw;
}

.service-advantages > img{
    display: flex;
    justify-content: center;
    width: 50%;
    height: auto;
    box-shadow: 0 0 5px black;
}

.advantages-h2{
    margin-top: 0 !important;
    text-align: center;
    padding: 2vw 2vw 0 2vw;
    color: rgba(0, 0, 0, 0.9);
    font-family: "Cuprum", sans-serif;
    font-size: 1.1vw;
}

hr{
    width: 23%;
    text-align: center;
    border-radius: 100%;
    border: 1px solid rgba(0, 0, 0, 0.9);
}

.advantage-img{
    width: 60%;
    padding: 2vw;
    border-radius: 2vw;
    background-color: ghostwhite;
}

.service-advantages > span{
    margin-bottom: 2vw;
    font-size: 18px;
    font-family: Cuprum-Italic, sans-serif;
    width: 55%;
    text-align: center;
    overflow-wrap: break-word;
}

.service-advantages > h3{
    font-size: 18px;
}

/*==================================================================================*/
/* СТИЛИ ДЛЯ БЛОКА КАРУСЕЛИ */

.carousel{
    background: linear-gradient(dimgray, #fff);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.carousel > .carousel-image{
    margin-top: 2vw;
    display: flex;
    justify-content: center;
}

.carousel-image{
    width: 800px;
    text-align: center;
    height: 500px;
    object-fit: cover;
    border-radius: 1vw;
    box-shadow: 0 0 5px black;
}

.arrows{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2vw;
}

.arrow-left{
    transform: scale(-1,-1);
    width: 3vw;
    margin-right: 40px;
}

.arrow-right{
    width: 3vw;
    margin-left: 40px;
}

.arrow-left:hover,
.arrow-right:hover{
    box-shadow: 0 0 10px gray;
    border-radius: 10%;
}

.arrow-left:active,
.arrow-right:active {
    border-radius: 10%;
    box-shadow: 0 0 10px black;
}

/*=================================================================================*/
/* СТИЛИ ДЛЯ ПОДВАЛА САЙТА */

footer{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 120px;
    background: linear-gradient(#cccccc, dimgray);
    font-size: 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.9);
}

footer > address{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.number-footer{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px 0;
}

.number-footer > img{
    width: 24px;
    margin-right: 4px;
}

.number-footer > a{
    margin-left: 4px;
    text-decoration: none;
    color: black;
}

/*=================================================================================*/
/* СТИЛИ ДЛЯ РАЗДЕЛА ЦЕНЫ */

.prices{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 10px 25px 10px;
    background: linear-gradient(90deg,rgba(145, 145, 145, 1) 0%, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 1) 80%, rgba(145, 145, 145, 1) 100%);
}

thead{
    color: rgba(0, 0, 0, 0.9);
}

table{
    display: inline-block;
    font-family: sans-serif;
    background: #b3855b;
    border-radius: 20px;
    border-spacing: 8px;
    padding: 10px;
    margin: 0 10px;
    border: 1px solid #525252;
    box-shadow: inset 0 0 5px #525252;
}

tr > td:first-child{
    text-align: left;
}

th{
    font-size: 16px;
    padding: 10px;

}

td{
    border-radius: 5px;
    background: #fffaf0;
    padding: 10px;
    text-align: center;
    font-family: Cuprum, sans-serif;
}

/*=================================================================================*/
/* СТИЛИ ДЛЯ РАЗДЕЛА КОНТАКТЫ */

.contacts{
    font-family: sans-serif;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px;
    background: linear-gradient(90deg,rgba(145, 145, 145, 1) 0%, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 1) 80%, rgba(145, 145, 145, 1) 100%);
}

.contacts > span {
    font-family: Cuprum, sans-serif;
    font-size: 18px;
    width: 70%;
}

.messengers > span {
    font-size: 18px;
    font-family: Cuprum, sans-serif;
}

.phones, .messengers{
    display: flex;
    flex-direction: column;
    font-style: normal;
    font-family: sans-serif;
}

.phone{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    background: linear-gradient(gray, dimgray);
    margin-top: 20px;
    border-radius: 5px;
    padding: 5px;
    box-shadow: 0 0 5px whitesmoke;
    border: 1px solid rgba(0, 0, 0, 0.9);
}

.contact-messenger{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 240px;
    background: linear-gradient(gray, dimgray);
    margin-top: 20px;
    border-radius: 5px;
    padding: 5px;
    box-shadow: 0 0 5px whitesmoke;
    border: 1px solid rgba(0, 0, 0, 0.9);
}

.phone > a, .contact-messenger > a{
    all: unset;
    cursor: pointer;
    font-size: 26px;
    margin-left: 5px;
    color: whitesmoke;
}

.phone > img, .contact-messenger > img{
    width: 35px;
    margin-right: 5px;
}

.phone > a:hover, .contact-messenger > a:hover{
    color: black;
    margin-left: 5px;
}

.messengers{
    margin: 30px 0;
}

/*=================================================================================*/
/* СТИЛИ ДЛЯ РАЗДЕЛА УСЛУГИ */

.uslugi{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: linear-gradient(90deg,rgba(145, 145, 145, 1) 0%, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 1) 80%, rgba(145, 145, 145, 1) 100%);
}

.usluga > img{
    width: 100%;
    object-fit: cover;
    border-radius: 1vw;
    box-shadow: 0 0 5px black;
    justify-content: center;
    margin-bottom: 20px;
    height: 500px;
}

.usluga > a{
    text-decoration: none;
    color: rgba(0, 0, 0, 0.9);
    padding: 0 10px;
    width: 70%;
}

.usluga > a > h2{
    font-size: 20px;
    font-family: "Cuprum", sans-serif;
    color: rgba(0, 0, 0, 0.9);
}

.usluga > a > h2:hover{
    color: whitesmoke;
}

.usluga{
    text-align: center;
    border-radius: 10px;
    background: linear-gradient(90deg, rgba(105,105,105,1) 0%, rgba(255,250,240,1) 100%);
    padding: 20px;
    box-shadow: 0 0 5px black;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 5px 50px 5px;
    border: 1px solid rgba(0, 0, 0, 0.9);
    width: 800px;
}

/*=================================================================================*/
/* СТИЛИ ДЛЯ РАЗДЕЛА УСЛУГА ПОЛНАЯ */

.uslugi-photos{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 100%;
}

.uslugi-photos > img{
    width: 100%;
    max-width: 700px;
    height: 525px;

}

.usluga-photo{
    border-radius: 10px;
    margin-top: 40px;
    width: 100%;
    object-fit: cover;
    box-shadow: 0 0 5px black;
}

.usluga-full > p{
    width: 60%;
    font-size: 22px;
    font-family: Cuprum-Italic, sans-serif;
}

.usluga-cena{
    margin-top: 40px;
    margin-bottom: 10px;
    font-family: Cuprum, sans-serif;
    font-size: 24px;
    font-weight: 500;
}

.uslugi-full{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: linear-gradient(90deg,rgba(145, 145, 145, 1) 0%, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 1) 80%, rgba(145, 145, 145, 1) 100%);
}

.usluga-full{
    width: 85%;
    text-align: center;
    border-radius: 10px;
    background: linear-gradient(90deg, rgba(105,105,105,1) 0%, rgba(255,250,240,1) 100%);
    padding: 20px;
    box-shadow: 0 0 5px black;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 5px 50px 5px;
    border: 1px solid rgba(0, 0, 0, 0.9);
}

/*=================================================================================*/
/* СТИЛИ ДЛЯ РАЗДЕЛА ПОРТФОЛИО*/

.portfolio{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: linear-gradient(90deg,rgba(145, 145, 145, 1) 0%, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 1) 80%, rgba(145, 145, 145, 1) 100%);
}

.portfolio-zakaz{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 10px;
    background: linear-gradient(dimgray, #fff);
    padding: 50px;
    box-shadow: 0 0 5px black;
    margin: 0 5px 50px 5px;
    border: 1px solid rgba(0, 0, 0, 0.9);
    width: 50%;
}

.portfolio-zakaz > h2{
    font-family: sans-serif;
    font-size: 1.5em;
    font-weight: 500;
    margin-top: 0;
}

.portfolio-zakaz > p{
    font-size: 20px;
    font-family: Cuprum, sans-serif;
    margin-top: 0;
    width: 85%;
    overflow-wrap: break-word;
    text-align: center;
}

.carousel-images > img{
    max-width: 100%;
    width: 800px;
    height: 500px;
    border-radius: 1vw;
    object-fit: cover;
    box-shadow: 0 0 5px black;
}

/*=================================================================================*/
/*=================================================================================*/
/*=================================================================================*/
/*=================================================================================*/
/*=================================================================================*/
/*=================================================================================*/
/*=================================================================================*/
/*=================================================================================*/
/*=================================================================================*/
/*=================================================================================*/
/*=================================================================================*/
/*=================================================================================*/
/*=================================================================================*/
/*=================================================================================*/
/*=================================================================================*/
/*=================================================================================*/
/* СТИЛИ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ */

@media screen and (max-width: 1500px){
    .messenger > a{
        font-size: 1.3vw;
    }

    .service > h3{
        font-size: 1.2vw;
    }

    .service > span{
        margin-bottom: 1.4vw;
    }
}

@media screen and (max-width: 1300px){
    .site-description > h2, .advantages-h2{
        font-size: 1.3vw;
    }

    .site-description > p{
        font-size: 1.4vw;
    }

    .menu-item{
        font-size: 1.5vw;
    }

    .logo-text{
        font-size: 2.3vw;
    }

    h1.logo-text{
        font-size: 2.3vw !important;
    }

    hr{
        width: 27%;
    }

    .service > span{
        margin-bottom: 1.6vw;
    }
}

@media screen and (max-width: 1200px){
    .site-description > h2, .advantages-h2{
        font-size: 1.5vw;
    }

    .site-description > p{
        font-size: 1.6vw;
    }
    
    .carousel-image{
        width: 70%;
    }

    .service > h3{
        font-size: 1.4vw;
    }

    .menu-item{
        font-size: 1.7vw;
    }

    .logo-text{
        font-size: 2.4vw;
    }

    h1.logo-text{
        font-size: 2.4vw !important;
    }

    .messenger > a{
        font-size: 1.4vw;
    }

    hr{
        width: 30%;
    }

    .service > span{
        margin-bottom: 1.7vw;
    }

    .arrow-left, .arrow-right{
        width: 3.6vw;
    }
    
    .portfolio-zakaz{
        width: 70%;
    }
}

@media screen and (max-width: 1000px){
    .site-description > h2, .advantages-h2{
        font-size: 1.7vw;
    }

    .site-description > p{
        font-size: 1.8vw;
        width: 80%;
    }

    .service > h3{
        font-size: 1.6vw;
    }

    .menu-item{
        font-size: 1.8vw;
    }

    .logo-text{
        font-size: 2.6vw;
    }

    h1.logo-text{
        font-size: 2.6vw !important;
    }

    .header-messengers{
        font-size: 1.5vw;
    }

    .header-address{
        font-size: 1.5vw;
    }

    .header-address > span{
        font-size: 1.5vw;
    }

    hr{
        width: 33%;
    }

    .service > span{
        margin-bottom: 2.2vw;
    }

    .arrow-left, .arrow-right{
        width: 5vw;
    }

    .usluga{
        width: 90%;
    }
    
    .portfolio-zakaz{
        width: 80%;
    }
}

@media screen and (max-width: 850px) {
    .header-address {
        display: none;
    }
    
    .carousel-image{
        width: 80%;
    }

    .header-messengers {
        display: none;
    }

    .header-img {
        border-radius: 0;
    }

    .header-img-text {
        flex-basis: 100%;
    }

    .header-phone-mini {
        display: inline;
    }

    .header-phone-mini > a {
        text-decoration: none;
        font-size: 2.6vw;
        position: absolute;
        margin: 0;
        top: 82%;
        left: 81%;
        color: black;
        background-color: whitesmoke;
        padding: 2px 5px;
        border-radius: 3px;
        box-shadow: inset 0 0 3px black;
        border: 1px solid black;
    }

    .site-description > h2{
        font-size: 2.4vw;
        margin-top: 16px;
    }

    .advantages-h2{
        font-size: 2.4vw;
        padding-top: 5vw;
    }

    .site-description > p{
        font-size: 2.5vw;
    }

    .service > h3{
        font-size: 2.6vw;
    }

    .menu-item{
        font-size: 3vw;
    }

    hr{
        width: 44%;
    }

    .service > span{
        margin-bottom: 3vw;
    }

    .arrow-left, .arrow-right{
        width: 5.6vw;
        padding: 3vw;
    }

    footer{
        height: 100px;
        font-size: 16px;
    }

    .number-footer{
        padding: 6px 0;
    }

    .number-footer > img{
        width: 20px;
    }

    .logo-text{
        font-size: 4vw;
    }

    h1.logo-text{
        font-size: 4vw !important;
    }
}

@media screen and (max-width: 600px){

    .header-phone-mini > a{
        font-size: 4vw;
        top: 80%;
        left: 70%;
    }

    .logo-text{
        top: 10%;
        left: 16%;
        font-size: 4.4vw;
    }
    
    .service-advantages > h3{
        font-size: 15px;
    }

    h1.logo-text{
        font-size: 4.4vw !important;
    }

    .site-description > h2{
        font-size: 3.6vw;
        margin-top: 20px;
    }

    .advantages-h2{
        font-size: 3.6vw;
        padding-top: 6vw;
        padding-bottom: 10px;
    }

    .service-advantages > span{
        margin-bottom: 6vw;
    }

    .site-description > p{
        font-size: 3.6vw;
    }

    .service > h3{
        font-size: 18px;
        padding-bottom: 10px;
    }

    .menu-item{
        font-size: 3.6vw;
    }

    .main-menu{
        border-top: 1px solid rgba(0, 0, 0, 0.9);
    }

    hr{
        width: 62%;
        margin-bottom: 15px;
    }

    .service > span{
        margin-bottom: 8vw;
    }

    .arrow-left, .arrow-right{
        width: 8vw;
        padding: 3vw;
    }

    .carousel-image{
        width: 98%;
        height: 400px;
        object-fit: cover;
    }

    .carousel-images > img{
        height: 300px;
        object-fit: cover;
    }

    h1{
        font-size: 22px;
    }

    .usluga{
        padding: 20px 5px;
        width: 95%;
    }

    .usluga > img{
        height: 350px;
    }

    .usluga > a > h2{
        font-size: 18px;
    }

    .uslugi-photos > img{
        height: 300px;
    }

    .usluga-full{
        width: 95%;
        padding: 5px;
    }

    .usluga-cena{
        font-size: 1.4em;
        padding: 0 5px;
    }

    .usluga-full > p{
        width: 85%;
    }

    .portfolio-zakaz{
        width: 92%;
        padding: 20px 10px 10px 10px;
    }

    .portfolio-zakaz > h2, .portfolio-zakaz > p{
        padding: 0 15px;
    }
}