body {
    font-family: Nunito-black;
    font-weight: 400;
    margin: auto;
    box-sizing: border-box;
    position: relative;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    max-width: 1440px;
}
a {
    color: inherit;
    text-decoration: inherit;
}
.header-container{
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    margin: 0 1rem 1.75rem 1rem;
    border-radius: 0 0 25px 25px;
}
.header {
    padding: 1rem;
}
.header-phone {
    font-size: 24px;
}
.header-menu a {
    color:black;
    text-decoration: none;
    padding-top: 0.5rem;
}
.link {
    position: relative;
}
.link::after {
    display: block;
    position: absolute;
    content: '';
    bottom: 0;
    display: block;
    width: 0;
    height: 2px;
    background: #282c34;
    transition: .3s;
}
.link.center:after {
    left: 50%;
    transform: translate(-50%);
}
.link:hover:after {
    width: 100%;
}
.logo-font {
    font-size: calc((100vw - 40px)/(1440 - 480) * (12 - 4) + 18px);
}
.logo-font-footer {
    color: white;
    font-size: calc((100vw - 40px)/(1440 - 480) * (24 - 4) + 4px);
}
.banner {
    position: relative; /* Устанавливаем относительно позиционирование для контейнера */
    display: inline-block; /* Делаем контейнер блочно-строчным элементом, чтобы он обтекался содержимым */
}
.banner img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}
.banner .text {
    position: absolute; /* Абсолютное позиционирование для текста */
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    color: white; /* Цвет текста */
    padding: 10px; /* Отступы вокруг */
}
.banner .title {
    font-size: calc( (100vw - 40px)/(1440 - 480) * (48 - 16) + 18px);
}
.banner .form {
    padding-top: 0.75rem;
}
.main-container{
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    margin: 0 20px 20px 20px;
}
.main-block {
    padding: 2.75rem 0.75rem 2.75rem 1.5rem;
}
.card {
    border: none;
    border-radius: 25px 25px 25px 25px;
}
.main-card-button {
    position: absolute;
    bottom: 0;
    padding: 0 0 1.75rem 2rem;  
}
.card-footer {
    background-color: transparent;
    border: none;
}
.footer-container{
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    margin: 25px 20px 0 20px;
}
.footer-text {
    color:#fff;
    margin-top: 0;
    margin-bottom: 1rem;
}
.footer-big-link {
    font-size:calc(12px + 8 * (100vw - 320px) / 880);
    font-weight: 400;
    color: #fff;
    transition-duration: .3s;
}
.footer-small-link {
    font-size:calc(12px + 8 * (100vw - 320px) / 880);
    font-weight: 400;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
    transition-duration: .3s;
}
.footer-text {
    font-size:calc(12px + 8 * (100vw - 320px) / 880);
    font-weight: 400;
    color: white; 
}
.font-normal {
    color:#fff;
}
.footer-soc-button {
    display: inline-block;
}
.footer-svg {
    -webkit-filter: invert(.75);
            filter: invert(.75);
}
.accordionHeading {
    display: flex;
    width: 100%;
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
    column-gap: 1rem;
    border-top-left-radius: .75rem;
    border-top-right-radius: .75rem;
    text-align: left;
    font-size: 1.5rem !important;
    line-height: 2rem !important;
    font-weight: 400;
}
.accordionBody {
    max-height: 0px;
    overflow-y: hidden;
    font-size: 1.2rem;
    transition-duration: .5s;
}
.w-3 {
    width: .75rem;
}
.h-3 {
    height: .75rem;
}
/* Стили для текстового поля с кнопкой "Далее" */
.text-bootom-block {
	overflow: hidden;
	position: relative;    
}
.text-bootom-block.hide {
	height: 150px;
}
.text-bootom-block.hide:after{
	content: "";
	display: block;
	height: 100px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: linear-gradient(to bottom, rgba(248, 249, 250, 0), #fff 90%);
    border-bottom-left-radius: 1.5rem;
    border-bottom-right-radius: 1.5rem;
}
/*Хлебные крошки*/
.breadcrumbs-block {
    padding: 0.75rem 0rem 0rem 0.75rem;
}
.breadcrumbs-active {
    font-family: Nunito-Regular;
    font-weight: 400;
}
ul.breadcrumb li {
    display: inline-block;
    line-height: 10px;
    margin: 0 5px 0 -10px;
    padding: 0 20px;
    position: relative;
    font-size: 13px;
    font-family: Nunito-Regular;  
    font-weight: 400;   
    text-decoration: none; 
}
ul.breadcrumb li:before,
ul.breadcrumb li:after {
    border-right: 2px solid #000;
    content: '';
    display: block;
    height: 50%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: -1;
    transform: skewX(45deg);   
}
ul.breadcrumb li:after {
    bottom: 0;
    top: auto;
    transform: skewX(-45deg);
}
ul.breadcrumb li:last-of-type:before, 
ul.breadcrumb li:last-of-type:after { 
    display: none; 
}
/*Страница О нас*/
.about-block {
    padding: 0.25rem 0.75rem 2.75rem 0.75rem;
}
.about-header {
    padding: 0.25rem 0.75rem 0.75rem 0.75rem;
}
.about-title {
    padding: 2rem 0 0.75rem 2rem;
}
.about-list {
    padding: 0.75rem 0 2rem 0.5rem;    
}
.about-list li {
    line-height: 2rem;
    border: 1px solid #dee2e6;
    border-radius: 1.5rem;
    padding: 0.5rem;
    margin-bottom: 0.5rem;
}
.about-text {
    font-size: 18px;
    font-family: Nunito-Regular; 
    font-weight: 500; 
    padding: 0.5rem 0 0 0.75rem;
}
/*Контакты*/
.ya-map-container {
    border-radius: 1.5rem;
}
.map-block{
    -moz-border-radius: 14px 14px 14px 14px; /* Firefox */
    -webkit-border-radius: 14px 14px 14px 14px; /* Safari, Chrome */
    -khtml-border-radius: 14px 14px 14px 14px; /* KHTML */
    border-radius: 45px 45px 45px 45px; /* CSS3 */
    overflow: hidden;
    position: relative;
}
.contact-card-body {
    padding: 0.75rem 0 0.75rem 0.75rem;
}
.contact-card {
    width: 45%;
    margin: 0 2px;
    padding: 0.75rem 0 0 1.5rem;
}
/*Страница ошибки*/
.error-text {
    margin-top: 2rem;
}
.error-list {
    padding: 0.75rem 0 2rem 3rem;    
}
.error-list li {
    line-height: 2rem;
}
/*Информационные страницы*/
.info-block {
    padding: 0.25rem 0.75rem 0.75rem 0.75rem;    
}
.info-header {
    font-size: calc( (100vw - 40px)/(1440 - 480) * (48 - 16) + 18px);
    color: black;
    padding: 0.75rem 0.75rem 0.75rem 1.5rem;
}
.info-title {
    padding: 0.75rem 0.75rem 0 0.5rem;    
}
.info-list {
    padding: 0.75rem 0 2rem 3rem;    
}
.info-list li {
    line-height: 2rem;
}
.info-text {
    font-size: 18px;
    font-family: Nunito-Regular; 
    font-weight: 500; 
    padding: 0.5rem 0 0 0.75rem;
}
.info-content {
    font-size: 18px;
    font-family: Nunito-Regular; 
    font-weight: 500; 
    padding: 0.5rem 0 0 0.75rem;
}
.info-sidebar {
	top: 10px;
}
.card-text {
    font-size: 16px;
    font-family: Nunito-Regular; 
    font-weight: 400; 
    padding: 0.5rem 0 0 0.75rem;
}