body {
    position: relative;
    background: #ececec;
    font-family: 'Arial';
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #0E0C0C80;
    text-align: left;
    word-break: break-word;
    overflow-x:hidden
}
p {
    font-family: 'Arial';
    font-weight: 400;
    font-size: 23px;
    line-height: 24px;
    color: #0E0C0C80;
    text-align: left;
    text-transform: uppercase;
    opacity: 0.5;
}

ul {
    display: block;
    position: relative;
    width: 100%;
    text-align: left;
    list-style: none;
    padding-inline-start: 0;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding: 0px;
}
img {
    max-width: 100%;
    max-height: 100%;
}
a {
    display: inline-block;
    position: relative;
    font-family: 'Arial';
    font-weight: 400;
    text-align: inherit;
    text-decoration: none;
    color: #fff;
    padding: 0px;
    margin: 0px;
    font-size: 16px;
    line-height: 24px;
    transition: all 0.5s;
}
.content {
    position: relative;
    height: 100%;
    width: 100%;
    max-width: 940px;
    text-align: center;
    margin: 0px auto;
    padding: 30px 15px;
}

.semi-content__wrap {
    width: calc(100% + 25px);
    margin-right: -25px;
}

.semi-content {
    flex: 1 50%;
    width: 100%;
    padding-right: 25px;
}

.semi-content.smallest {
    padding-top: 50px;
    padding-bottom: 50px;
}

.third-wrap-content {
    display: block;
    position: relative;
    width: calc(100% + 25px);
    text-align: center;
    margin-left: -25px;
    margin-bottom: 25px;
}

.third-content {
    display: inline-block;
    width: 32.9%;
    margin-bottom: 25px;
}

.third-content:nth-child(n) {
    padding-left: 25px;
}

.flex-block {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
}

h1,
h2,
h3,
h4,
.title {
    display: block;
    position: relative;
    width: 100%;
    font-family: 'Arial';
    text-align: left;
    }

h1,
.title.general {
    font-weight: 800;
    font-size: 48px;
    line-height:55px;
    color: #fff;
}

h2,
.title.high {
    font-weight: 400;
    font-size: 55px;
    line-height: 65px;
    color: rgba(30,45,59);
}

h3,
.title.middle {
    font-weight: 500;
    font-size: 24px;
    line-height: 32px;
    text-align:left;
}

h4,
.title.lower {
    font-weight: 400;
    font-size: 24px;
    line-height: 28px;
    text-align: left;
}
.light {
    color: rgba(255,255,255,1) !important;
}
.button {
    position: relative;
    display: block;
    font-family: 'Arial';
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.5s;
    background: #C51D1D;
    color: #fff;
    font-size: 14px;
    line-height: 47px;
    width: auto;
    min-width: 120px;
    max-height: 50px;
    height: 100%;
    padding: 0px 20px;
    margin-top: 25px;
    border: 2px solid #C51D1D;
    box-sizing: border-box;
    border-radius: 10px;
    text-transform: uppercase;
}
.button:hover {
    background: none;
    color: #C51D1D;
    text-decoration: none;
}
.header-mobile__button{width: 40px;height: 30px;display:none;}
.header-mobile__button svg{color: #fff;}
.header{position: fixed;top: 0;left: 0;width: 100vw;background: rgb(30,45,59);z-index: 100;}
.header__left a{display: block;background: rgb(237,205,31);width: 330px;color: #FF4040;font-size: 33px;height: 130px;display: flex;align-items: center;flex-direction: column;justify-content: center;}
.header{align-items: center;}
.header__right,
.header__left{max-width: 400px;width: 100%;}
.header-menu__list a{text-transform: uppercase;font-size: 14px;}
.header-menu__list{margin-right: 15px;}
.header-menu__list li{margin-right: 20px;}
.header__center .header-center__left{display: flex;justify-content: flex-start;flex-wrap: nowrap;align-items: center;margin-right: 20px;}
.header__center .header-center__left a{font-size: 25px;font-weight: 700;font-style:italic;color: rgb(237,205,31);margin-left: 8px;}
.header__center .header-center__right p{opacity: 1;font-size: 20px;font-style: italic;text-transform:capitalize;color: rgb(237,205,31)}
.header__center .header-center__right p:not(:first-child){margin-top: 20px;}
.header__center{align-items: center;}
.header-menu__list a:hover{color: rgb(237,205,31)}
.main{width: 100vw;height: 100vh;overflow: hidden;position: relative;z-index: 0;}
.main video {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
z-index: 1;
pointer-events: none;
}
.main__info{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 820px;z-index: 10;}
.main__title.title{color: rgb(237,205,31);letter-spacing: 3px;text-shadow: #c8c8c8 1px 1px 0px, #b4b4b4 0px 2px 0px, #a0a0a0 0px 3px 0px, rgba(140, 140, 140, 0.498039) 0px 4px 0px, #787878 0px 0px 0px, rgba(0, 0, 0, 0.498039) 0px 5px 10px;font-size: 60px;line-height: 66px;font-weight: bold;text-align: center;}
.main__info p:first-of-type{text-transform: capitalize;font-size: 30px;line-height: 46px;text-align: center;text-shadow: rgba(0, 0, 0, 0.4) 0px 4px 5px;font-weight: 400;letter-spacing: 4px;color: rgb(237,205,31);opacity: 1;}
.main__info p:last-of-type{text-transform:full-size-kana;opacity: 1;color: rgb(237,205,31);font-size: 28px;text-align: center;margin-top: 15px;line-height: 60px;letter-spacing: 3px;}
.main__bottom{position: absolute;bottom: 40px;left: 50%;transform: translateX(-50%);max-width: 50px;z-index: 1;}
.services__title.title{text-align: center;position: relative;}
.about__title.title:after,
.contacts__title.title:after,
.services__title.title:after{content: '';position: absolute;left: 50%;transform: translateX(-50%);bottom: -20px;height: 10px;width: 110px;background: rgb(237,205,31)}
.services__content{padding-top: 50px;padding-bottom: 50px;}
.services{background-image: url(../images/services-bg.jpg);background-size: cover;background-repeat: no-repeat;background-position: center;}
.services__item p{text-align: center;color: rgb(61,89,117);text-transform: unset;font-size: 22px;line-height: 24px;}
.services__item{max-width: calc(100% / 3 - 20px);width: 100%;margin-top: 70px;}
.services__item img{display: block;margin: 0 auto;margin-top: 20px;}
.about__content.content{max-width: 1240px}
.about__left{max-width: 50%;padding-right: 30px;padding-top: 50px;padding-bottom: 50px;}
.about__left p{z-index:2;position: relative;color: rgb(59,58,58);opacity: 1;font-style: italic;text-transform: unset;font-size: 23px;line-height: 30px;}
.about__title.title{z-index:2;color: rgb(237,205,31);font-style: italic;position: relative;margin-bottom:50px;}
.about__title.title:after{left: 0px;transform: translateX(0);}
.about-title__double.title{z-index:2;color: rgb(237,205,31);font-style: italic;font-size: 40px;margin-top: 30px;margin-bottom: 20px;}
.about{position: relative;background-image: url(../images/about-bg.jpg);background-size: cover;background-position: center;background-attachment: fixed;}
.about:after{content:'';position: absolute;background: rgba(255,255,255,1);top: 0;left: 0;width: 50%;height: 100%;border: 1px solid #000;border-radius: 5px;z-index: 0}
.contacts{background: rgb(249,238,177);}
.contacts__title.title{text-align: center;position: relative;margin-bottom: 50px;font-style: italic;}
.contacts__content{padding-top: 50px;padding-bottom: 50px;}
.contacts-top__left,
.contacts-top__right{max-width: calc(100% / 2 - 20px);width: 100%;}
.contacts-top__right p,
.contacts-top__left p{font-size: 17px;font-weight: 700;opacity:1;text-transform: unset;font-style: italic;color: rgb(59,58,58)}
.contacts-top__right .title{font-size: 33px;font-style: italic;font-family: 'AmaticSC';font-weight: bold;opacity: 1;color:rgb(59,58,58) ;}
.contacts-top__right p{margin-top: 15px;}
.contacts__bottom{margin-top: 50px;align-items: center;}
.contacts-bottom__left,
.contacts-bottom__right{max-width: calc(100% / 2 - 20px);text-align: left;width: 100%;}
.contacts-bottom__left textarea,
.contacts-bottom__left input{width: 100%;height: 30px;border: none;outline: none;margin-top: 5px;background: rgb(255,222,95);font-weight: bold;color: rgb(82,38,98);padding:0px 10px}
.contacts-bottom__left span{display: inline-block;font-weight: bold;opacity: 1;color: rgb(82,38,98);font-size: 14px;margin-top: 5px;}
.contacts-bottom__left textarea{resize: none;height: 75px;}
.contacts-bottom__left .button{height: 35px;line-height: 35px;border-radius: 0px;background: rgb(82,38,98);border: none;text-transform: unset;font-weight: normal;margin-top: 10px;float: right}
.contacts-bottom__right .title.lower{font-style: italic;font-size: 25px;color: rgb(30,45,59);line-height: 32px;}
.contacts-bottom__right p{font-size: 17px;text-transform: unset;opacity: 1;color: rgb(59,58,58);margin-top: 20px;font-style: italic;}
.contacts-bottom__right .contacts-bottom__cont{font-size: 25px;font-style: normal;position: relative;margin-top: 50px;}
.contacts-bottom__right .contacts-bottom__cont:after{content: '';position: absolute;top: -20px;height: 10px;width: 130px;left: 0px;background: rgb(237,205,31)}
.contacts-bottom__right .contacts-bottom__link{margin-top:20px;;display: flex;align-items: center;font-weight:bold;color:#B45AD4;font-size:25px;font-style:italic;}
.contacts-bottom__right .contacts-bottom__link img{margin-right: 10px;}
@media only screen and (max-width : 1350px) {
    .header__left a{width: 200px;font-size: 28px}
    .header-menu__list{position: absolute;top: 80px;transition: all 0.5s;padding: 20px 20px;max-width: 300px;right: -110%;flex-direction: column;background: rgb(30,45,59);}
    .header-menu__list li:not(:first-child){margin-top: 10px;}
    .header-menu__list.active{right: -20px;}
    .header-mobile__button{display: block;margin-right: 15px;}
    .header__left,
    .header__right{width: auto;}
    .header__center .header-center__right p:not(:first-child){margin-top: 5px;}
    .header__center .header-center__left a{font-size: 20px;}
    .header__center .header-center__right p{font-size: 14px;}
}
@media only screen and (max-width : 820px) {
    .main__title.title{font-size: 32px;line-height: 38px;}
    .main__info p:first-of-type{font-size: 36px;line-height: 42px;}
    .main__info p:last-of-type{font-size:30px;line-height:34px;margin-top:10px;}
    .about__left{max-width: none;width: 100%;}
    .about:after{display: none;}
    .about{background-image: none;}
}
@media only screen and (max-width : 720px) {
    .header__center{flex-direction: column;align-items:flex-start;}
    .header__center .header-center__left a{font-size: 15px;margin-left: 3px;margin-bottom: 3px;}
    .header__center .header-center__left img{width:15px;}
    .header__center .header-center__right p{font-size: 12px;line-height:14px;}
    .header__center .header-center__right p:not(:first-child){margin-top: 3px;}
    .header__left a{width: 100px;font-size: 16px;}
h2,
.title.high{font-size: 34px;line-height: 40px;}
.services__item{max-width: calc(100% / 2 - 20px)}
.about-title__double.title{font-size: 24px;line-height: 30px;}
.contacts-bottom__left,
.contacts-bottom__right,
.contacts-top__left,
.contacts-top__right{max-width: none;}
.contacts-bottom__left,
.contacts-top__right{margin-top: 20px;}
.contacts__bottom{flex-direction: column-reverse;}
.header__logo-img {
    width: 29px;     /* ширина логотипа */
    height: 31px;    /* высота логотипа */
    object-fit: contain;
}
}
@media only screen and (max-width : 520px) {
    .main__title.title{font-size: 45px;line-height: 24px;}
    .main__info p:first-of-type{font-size: 24px;line-height: 80px;}
    .main__info p:last-of-type{font-size:18px;line-height:24px;margin-top:10px;}
    .about__left p{font-size: 18px;}
.header__logo-img {
    width: 29px;     /* ширина логотипа */
    height: 31px;    /* высота логотипа */
    object-fit: contain;
}
}
@media only screen and (max-width : 480px) {
.services__item{max-width: none;}
.header__logo-img {
    width: 29px;     /* ширина логотипа */
    height: 31px;    /* высота логотипа */
    object-fit: contain;
}
}

/*Стили формы*/
.form-notify {
    margin-top: 15px;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    display: none;
}

.form-notify.success {
    background: #e6fffa;
    color: #00ff45;
    border: 1px solid #34d399;
}

.form-notify.error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #f87171;
}

.errorField {
    
}
/*стили кнопки телефона большой*/
.main__info {
    position: relative;
    z-index: 2;
    margin-top: 40px;
}

.call-button {
    margin-top: 20px;
    width: 285px;
    height: 71px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    background: #EDCD1F;
    border-radius: 50px;
    text-decoration: none;

    font-family: lobster, cursive;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.25em;
    text-transform: uppercase;

    color: #3B3A3A;
    /*text-shadow:
        1px 0 #fff,
       -1px 0 #fff,
        0 1px #fff,
        0 -1px #fff;*/

    transition: all 0.2s ease;
    position: relative;
    z-index: 10;
    cursor: pointer;
}

.call-button:hover {
    background: #c36;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.call-button__icon {
    width: 37px;
    height: 37px;
    transform: rotate(17deg);
}

.call-button:hover .call-button__icon svg {
    fill: #fff;
}

.main__buttons {
    display: flex;
    flex-direction: column; /* кнопки одна под другой */
    align-items: center;    /* центрируем по горизонтали */
    gap: 15px;              /* расстояние между кнопками */
    margin-top: 20px;
}

.button--inst {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: all 0.2s ease;
}

.inst__icon {
    margin-top: 30px;
}

.header__logo-link {
    display: flex;
    align-items: center; /* выравнивание по вертикали */
    gap: 10px;           /* расстояние между картинкой и текстом */
    text-decoration: none;
    color: inherit;
}

.header__logo-img {
    /* width: 49px;     ширина логотипа */
    /*height: 51px;     высота логотипа */
    object-fit: contain;
}

.contacts__wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 30px;
}

.contacts__info {
    flex: 1;
    min-width: 300px;
}

.contacts__map {
    flex: 2;
    min-width: 300px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

@media (max-width: 768px) {
    .contacts__wrapper {
        flex-direction: column;
    }
}

.red-link {
    color: red;        /* основной цвет */
    text-decoration: none; /* если не нужна подчеркивание */
}

.red-link:hover {
    color: darkred;    /* цвет при наведении */
}

.spacer {
    border: none;        /* убираем стандартную линию */
    height: 20px;        /* нужная толщина */
    margin: 0;           /* если не нужны отступы */
}
a[href^="tel:"],
a[href^="mailto:"] {
    text-shadow:
        rgba(255, 255, 255, 0.6) 1px 1px 1px,
        rgba(0, 0, 0, 0.6) -1px -1px 1px;
}