@font-face {
  font-family: 'BebasNeueBold';
  src: url('fonts/Bebas Neue Pro Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap; 
}

@font-face {
  font-family: 'SFProText';
  src: url('fonts/SFProText-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap; 
}
body{
    font-family: 'SFProText';
}
h1,h2,h3{
    font-family: 'BebasNeueBold', Tahoma; 
    text-transform: uppercase;
    font-size: 3rem;  
    color:#2C3130 
}
h1 span{
    color:#00A183;
}
h3{
    color:#00A183;
    font-size:2rem;
}
.mb-6 {
    margin-bottom: 6rem !important;
}
.bg-gray{background: #F7F7F7;}
.line {
    border-top: solid 1px rgb(44 49 48 / 10%);
    padding-top: 0.5rem;
}
/*******************/
header .top-line {
    border-bottom: solid 1px rgb(44 49 48 / 10%);
    margin-bottom: 0.5rem;
}
header .top-line .menu {
    margin: 0.5rem 0;
}
header .top-line .contacts {
    margin: 0.5rem 0;
}
header .top-line .menu a {
    color: #474747;
    text-decoration: none;
    font-size: 0.9rem;
    display: inline-block;
    margin-right: 1.3rem;
}
header .top-line .menu a:hover {
    text-decoration: underline;
}
header .top-line .contacts img{
    position: relative;
    left: 0.7rem;
}
header .top-line .contacts a {
    color: #2C3130;
    text-decoration: none;
    font-size: 1rem;
    display: inline-block;
    margin-left: 0.7rem;
}
header .top-line .contacts a:hover {
    text-decoration: underline;
}
header .main-line {
    margin-top: 1rem;
}
header .main-line .logo img{width:180px}
header .main-line .search input{
    padding: .625rem 1rem;
    border-radius: 26px 0 0 26px;
        border-right: none;
}
header .main-line .search a {
    margin-top: 0;
    border-color: #dee2e6;
    border-radius: 0 26px 26px 0;
}
header .main-line .search a:hover{
    background-color: #fff;
    cursor:pointer;
}
header .main-line .shopcart a{
    border: solid 1px #dee2e6;
    padding: 12.5px;
    border-radius: 23px;
    position: relative;

}
.shopcart {
    position: relative;
    display: inline-block;
}

.shopcart__link {
    position: relative;
    display: inline-block;
    line-height: 0; /* убираем лишние отступы у inline-block с img */
}

.shopcart__counter {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    
    background-color: #00A183;
    color: #ffffff;
    
    font-size: 12px;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
    
    border-radius: 50%;
    box-sizing: border-box;
    
    pointer-events: none; /* клик проходит сквозь счётчик к иконке */
    user-select: none;
}
header .main-line .catalog .main-button {
    margin-top: 0;
    border-radius: 23px;
    padding: 11px 22px;
}
.main-button.dropdown-toggle::after {
    display: none;
}
header .main-line .text a {
    color: #00A183;
    text-decoration: none;
}
/*******************/
.main-banner-1{
    background: url(images/main-banner.jpg) 50% 50% no-repeat;
    background-size: cover;
    padding-top:5rem;
    padding-bottom:5rem;
    font-family: 'SFProText', Tahoma;
}
.main-banner-1 .name1,
.main-banner-1 .name2{
    font-family: 'BebasNeueBold', Tahoma;
    font-size: 4rem;
    line-height:4.2rem;
    text-transform: uppercase;
    color:#fff;
}
.main-banner-1 .desc {
    color: #fff;
}
.main-banner-1 .data{
    color: #fff;
    padding: 1rem 2rem;
    border-radius: 16px;
    position: relative;
}
.main-banner-1 .data .plus {
    position: absolute;
    background: rgb(255 255 255 / 20%);
    width: 38px;
    height: 38px;
    top: 0;
    right: 0;
    border-radius: 0 16px 0 16px;
    font-size: 2rem;
    line-height: 2.1rem;
    text-align: center;
}
.main-banner-1  .data span {
    font-family: 'BebasNeueBold', Tahoma;
    font-size: 5rem;
    line-height: 5rem;
}
.main-banner-1 .data1 {
    background: rgb(0 161 131 / 80%);
}

.main-banner-1 .data2 {
    background: rgb(0 87 70 / 80%)
}
/*******************/
.main-facts > div {
    font-family: 'BebasNeueBold', Tahoma;
    font-size: 3.5rem;
    line-height: 3.7rem;
    padding-top: 1rem;
}
/*******************/
.catalog-items .item{text-decoration: none;color: #00A183;}
.catalog-items .item:hover{text-decoration: underline;}
.catalog-items .item span {
    background: #f7f7f7;
    background-image: url(images/icon-catalog-main.png);
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 158px;
    border-radius: 16px;
    padding: 25px 20px;
    font-family: 'BebasNeueBold', Tahoma;
    font-size: 1.5rem;
    display: block;
}
.catalog-items .item-wide {text-decoration: none;}
.catalog-items .item-wide:hover span.name{text-decoration: underline;}
.catalog-items .item-wide span.name{color: #FFA712;}
.catalog-items .item-wide span.text{
    color: #2C3130;
    font-family: 'SFProText';
    font-size:1rem;
    display: block;
}
.catalog-items .item-wide>span {
    background: #fbf4e8;
    background-image: url(images/icon-catalog-2-main.png);
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 41px;
    border-radius: 16px;
    padding: 25px 20px;
    font-family: 'BebasNeueBold', Tahoma;
    font-size: 1.5rem;
    display: block;
}
/*******************/
.main-banner-2{
    background: url(images/main-banner-2.jpg) 50% 50% no-repeat;
    background-size: cover;
    padding-top:5rem;
    font-family: 'SFProText', Tahoma;
}
.main-banner-2 form {
    background: #fff;
    display: block;
    padding: 1.5rem 2rem;    
    border-radius: 16px;
    margin-bottom:5rem;
}
.main-banner-2 form h2{
    font-size: 2rem;
}
/*******************/
.main-research .name {
    font-family: 'BebasNeueBold', Tahoma;
    font-size: 1.7rem;
    text-decoration: none;
    color: #00A183;
    text-transform: uppercase;
    display: block;
    margin: 0.5rem 0;
}
.main-research img {
    border-radius: 16px;
}
/*******************/
.services-main {
    background: #F7F7F7;
}
.services-main .item {
    background: #fff;
    padding: 2rem;
    text-align: center;
    margin-bottom: 1.5rem;
    border-radius: 16px;
}
.services-main .item a.name {
    font-family: 'BebasNeueBold', Tahoma;
    color: #00A183;
    font-size: 1.5rem;
    text-decoration: none;
}
.services-main .item:hover a.name {
    text-decoration: underline;
}
.services-main .item img {
    display: block;
    margin: 0 auto 0.5rem;
}
/*******************/
.future-main .item>div:nth-child(1) {
    font-family: 'BebasNeueBold', Tahoma;
    font-size: 6rem;
    line-height: 6rem;
    color: #00A183;
    margin-right: 20px;
    font-weight: bold;
}
.future-main .item>div:nth-child(2) {
    color: #2C3130;
    line-height: 1rem;
    font-size: 0.8rem;
}
.future-main .item>div:nth-child(2) > div {
    color: #00A183;
    font-weight: bold;
    line-height: 1.2rem;
    font-size: 1rem;
    margin-bottom: 0.5rem;
}
/*******************/
.main-banner-3{
    background: url(images/main-banner-3.jpg) 50% 50% no-repeat;
    background-size: cover;
    padding-top:5rem;
    padding-bottom:5rem;
    font-family: 'SFProText', Tahoma;
    border-radius: 16px;
    position: relative;
}
.main-banner-3 .text {
    color: #fff;
    position: absolute;
    bottom: 27%;
    left: 15%;
    font-size: 1.2rem;
}
/*******************/
.news-main a {
    color: #00A183;
    font-family: 'BebasNeueBold', Tahoma;
    font-size: 2rem;
    line-height: 2rem;
    display: block;
    margin: 0.5rem 0 1rem;
    text-decoration: none;
}
.news-main a:hover{
    text-decoration: underline;
}
/*******************/
footer {
    background: #F7F7F7;
}
footer a{
    color: #2C3130;
    text-decoration: none;
}
footer a:hover{
    text-decoration: underline;
}
footer .top-line{
    border-bottom:solid 1px rgb(44 49 48 / 10%)
}
footer .top-line > .menu > a:nth-child(1) {
    font-family: 'BebasNeueBold', Tahoma;
    font-size: 1.5rem;
    text-decoration: none;
    display: block;
    margin-bottom: 1.5rem;
    color: #2C3130;
}
footer .top-line > .menu >  a,
footer .text {
    font-family: 'SFProText', Tahoma;
    font-size: 0.9rem;
    text-decoration: none;
    display: block;
    margin-bottom: 0.8rem;
    color: #2C3130;
}
footer .bottom-line,
footer .bottom-line a{
    color: #2C3130;
    font-size: 0.9rem;
}
footer .top-line a:hover{
    text-decoration: underline;
}
footer .bottom-line a:hover{
    text-decoration: none;
}
footer .footer-logo{width:150px;}
/*******************/

.main-button{
    display: inline-block;
    margin-top: 1rem;
    background: #00A183;
    padding: 9px 18px;
    text-align: center;
    border-radius: 19px;
    text-decoration: none;
    color: #fff;
    border: none;
}
.main-button:hover{
    background: #027f68;
}
.main-button-outline{
    display: inline-block;
    margin-top: 1rem;
    border: solid 1px #00A183;
    padding: 9px 18px;
    text-align: center;
    border-radius: 19px;
    text-decoration: none;
    color: #00A183!important;
}
.main-button-outline:hover{
    background: #027f68;
    color: #fff!important;
    text-decoration: none!important;
}

.underform-text,
.underform-text a {
    color: rgba(var(--bs-body-color-rgb), .65);
    font-size: 0.7rem;
    margin-top: 0.5rem;
}
