@charset "UTF-8";
/*
Theme Name: BigBossRu
Text Domain: bigbossru
Author: RaketaSolutions
Version: 1.0
*/
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;700;800&display=swap');
*{
	margin: 0;
	padding: 0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary{
	display: block;
}
html{
	height: 100%;
}
body{
	height: 100%;
	font-family: "Manrope", serif;
  font-weight: 300;
  font-style: normal;
	font-size: 16px;
	line-height: 28px;
	color: #111;
}
.header{
    padding: 0 10px;
    margin-bottom: 24px;
    background: #fff4b3;
}
.home .header{
    margin-bottom: 0;
}
.header-wrapper{
    max-width: 1180px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.header-logo{
    line-height: 0; 
    margin-right: 24px;
}
.header-logo a{
    display: inline-block;
    line-height: 0;
}
.header-left{
    display: flex;
    align-items: center;
}
.language-switch ul{
    display: flex;
    font-size: 15px;
}
.language-switch ul li{
    list-style: none;
    margin-left: 20px;
}
.language-switch ul li a{
    color: #354251;
}
.language-switch ul li a:hover{
    text-decoration: none;
}

.main-slider{
    height: 600px;
    background: url(images/slider.jpg) top center no-repeat;
    background-size: cover;
    margin-bottom: 44px;
}
.main-slider-wrapper{
    max-width: 1180px;
    margin: auto;
    padding-top: 58px;
}
.main-slider-wrapper h1{
    font-size: 48px;
    color: #fff;
    text-align: center;
    line-height: 68px;
}
.main-slider-wrapper h1 span{
    font-size: 64px;
    display: block;
}
.content{
    max-width: 1180px;
    margin: auto;
    padding: 0 10px;
    margin-bottom: 44px;
}
.city-first-level-categories{
    margin-bottom: 32px;
}
.city-first-level-categories ul{
    display: flex;
    justify-content: space-between;
    list-style: none;
    flex-wrap: wrap;
}
.city-first-level-categories ul li{
    width: 24%;
    margin-bottom: 24px;
}
.city-first-level-categories ul li a{
    display: block;
    padding: 12px 10px 12px 72px;
    box-shadow: 0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);
    color: #616161;
    text-decoration: none;
    font-weight: 500;
}
.city-first-level-categories ul li a:hover{
    color: #dc3c44;
    box-shadow: 0 -1px 3px rgba(0,0,0,.12), 0 -1px 2px rgba(0,0,0,.24);
}
.category-title{
    margin-bottom: 8px;
    font-size: 24px;
    line-height: 28px;
    color: #616161;
    font-weight: 500;
}
.breadcrumbs-wrapper{
    margin-bottom: 32px;
}
.breadcrumbs-wrapper nav{
    font-size: 15px;
    color: #616162;
}
.breadcrumbs-wrapper nav a{
    color: #962a30;
}
.breadcrumbs-wrapper nav a:hover{
    text-decoration: none;
}
.category-page{
    display: flex;
    flex-direction: column;
}
.category-header{
    order: 1;
}
.category-content{
    order: 2;
}
.category-description{
    order: 3;
}
.category-description{
    font-size: 15px;
    line-height: 22px;
}
.category-description ol{
    list-style: none;
    margin-left: 24px;
    padding: 10px 0;
}
.category-description ol li{
    margin-bottom: 10px;
}
.category-description h2, .category-description h3{
    margin-bottom: 24px;
    font-size: 22px;
    line-height: 26px;
    color: #616161;
    font-weight: 500;
}
.category-description p{
    margin-bottom: 12px;
}
.subcategory-list{
    margin-bottom: 32px;
}
.subcategory-list ul{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
}
.subcategory-list ul li{
    margin-bottom: 10px;
    margin-right: 10px;
}
.subcategory-list ul li a{
    display: block;
    background: #eeeef0;
    padding: 0 10px 1px 10px;
    color: #616161;
    font-size: 14px;
    border-radius: 4px;
    text-decoration: none;
}
.subcategory-list ul li a:hover{
    color: #3c3c3c;
    background: #d8d8da;
}

.companies-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.companies-list li{
    width: 23%;
    margin-bottom: 32px;
    list-style: none;
}
.companies-list li article{
    display: flex;
    flex-direction: column-reverse;
}
.companies-list figure img{
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
}
.companies-list figure{
    margin-bottom: 8px;
}
.companies-list figure img:hover{
    opacity: .8;
}
.companies-list h3{
    font-size: 17px;
    font-weight: 500;
    line-height: 21px;
    text-align: center;
}
.companies-list h3 a{
    text-decoration: none;
    color: #616161;
}
.companies-list h3 a:hover{
    color: #dc3c44;
}
.top-list{
    order: 2;
}
.header-company{
    margin-bottom: 32px;
    overflow: hidden;
}
.header-company-wrapper{
    max-width: 1180px;
    position: relative;
    margin: auto;
    padding: 0 10px;
}
.header-company-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 600px;
    display: flex;
    flex-direction: column;
    justify-content: center;

}
.header-company figure img{
    display: block;
    width: 100%;
    height: auto;
}
.header-company-content-inner{
    margin-top: -52px;
    background: rgba(0, 0, 0, 0.3);
    padding: 20px 20px 30px 20px;
    border-radius: 10px;
}
.company-title{
    margin-bottom: 12px;
    font-size: 40px;
    line-height: 52px;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
}
.company-contacts{
    margin-bottom: 24px;
}
.company-contacts ul{
    list-style: none;
    display: flex;
}
.company-contacts ul li{
    margin-right: 20px;
}
.company-contacts ul li a{
    color: #fff;
    font-weight: 800;
    font-size: 24px;
    text-decoration: none;
}
.company-contacts ul li a:hover{
    color: #d3d3d3;
}
.company-slogan{
    color: #fff;
    font-weight: 700;
    font-size: 21px;
}

.content-company{
    max-width: 1180px;
    padding: 0 10px;
    margin: auto;
}
.first-address{
    border: 1px solid #0073aa;
    margin-left: 20px;
    padding: 6px 10px 6px 10px;
    border-radius: 8px;
}
.company-subheader{
    margin-bottom: 12px;
}
.company-subheader h2{
    font-size: 22px;
    padding-left: 36px;
    line-height: 28px;
    font-weight: 500;
    color: #dc3c44;
    background: url(images/head-ico.png) left 0px no-repeat;
}
.company-content h2{
    font-size: 22px;
    padding-left: 36px;
    line-height: 28px;
    font-weight: 500;
    color: #dc3c44;
    background: url(images/head-ico1.png) left center no-repeat;
}
.company-content{
    margin-bottom: 32px;
}
.company-content p{
    margin-bottom: 14px;
}
.company-content h3{
    font-size: 20px;
    line-height: 24px;
    font-weight: 500;
    padding: 3px 0 3px 36px;
    color: #dc3c44;  
    margin-bottom: 14px;
    margin-top: 24px;
    background: url(images/head-ico2.png) left center no-repeat; 
}
.company-content ul{
    margin-bottom: 24px;
    margin-left: 36px;
}
.company-content ul li{
    list-style: none;
    margin-bottom: 8px;
    padding-left: 22px;
    background: url(images/arr.png) left 10px no-repeat; 
}
.company-website{
    margin-left: 24px;
}
.company-website a{
    padding-left: 24px;
    color: #3e5e82;
    background: url(images/link.png) left center no-repeat; 
}
.company-website a:hover{
    text-decoration: none;
}
.messengers{
    display: flex;
    margin-left: 12px;
}
.messengers li{
    margin-left: 8px;
    list-style: none;
    text-indent: -200px;
    overflow: hidden;
}
.messengers li a:hover{
    opacity: .7;
}
.telegram{
    width: 42px;
    height: 42px;
    display: block;
    background: url(images/telegram.png) top center no-repeat;    
}
.whatsapp{
    width: 42px;
    height: 42px;
    display: block;
    background: url(images/whatsapp.png) top center no-repeat;    
}
.viber{
    width: 42px;
    height: 42px;
    display: block;
    background: url(images/viber.png) top center no-repeat;    
}
.social{
    display: flex;
    margin-left: 24px; 
}
.social li{
    margin-left: 8px;
    list-style: none;
    text-indent: -200px;
    overflow: hidden;
}
.social li a:hover{
    opacity: .7;
}
.facebook{
    width: 42px;
    height: 42px;
    display: block;
    background: url(images/facebook.png) top center no-repeat;    
}
.instagram{
    width: 42px;
    height: 42px;
    display: block;
    background: url(images/instagram.png) top center no-repeat;    
}
.tiktok{
    width: 42px;
    height: 42px;
    display: block;
    background: url(images/tiktok.png) top center no-repeat;    
}
.page-content h1{
    margin-bottom: 8px;
    font-size: 24px;
    line-height: 28px;
    color: #616161;
    font-weight: 500;
}
.footer{
    border-top: 2px solid #ccc;
    padding-top: 24px;
    padding-bottom: 18px;
}
.footer-logo a{
    line-height: 20px;
}
.footer-inner{
    max-width: 1180px;
    margin: auto;
    padding: 0 10px;
    display: flex;
}
.footer-nav{
    margin-left: 44px;
}
.footer-nav ul{
    list-style: none;
    margin-top: 2px;
    display: flex;
}
.footer-nav ul li{
    margin-left: 18px;
}
.footer-nav ul li a{
    font-size: 15px;
    color: #3c3c3c;
}
.footer-nav ul li a:hover{
    text-decoration: none;
}
.copywrite{
    font-size: 14px;
}
.map-container{
    margin-bottom: 32px;
}

 /* Обертка для стилизации */


.#city-selector-form{
    position: relative;
}
.select-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 300px;
}

.select-wrapper select {
    appearance: none; /* Убираем стандартный стиль */
    -webkit-appearance: none;
    -moz-appearance: none;
    
    width: 100%;
    padding: 12px 36px 12px 16px;
    font-size: 16px;
    color: #333;
    background-color: #fff;
    border: 2px solid #ccc;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.3s ease;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

.select-wrapper select:focus {
    border-color: #f9b800;
    outline: none;
    box-shadow: 0 0 0 3px rgba(249, 184, 0, 0.3);
}

/* Добавим стрелочку справа */
.select-wrapper::after {
    content: "▼";
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 12px;
    color: #666;
}

/* Контейнер формы */
#city-selector-form {
    margin: 20px 0;
}

/* Общая стилизация формы */
.form-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}













/* Стили для секции карты */
.map-section {
    margin: 20px 0;
    padding: 0;
}

.show-map-button {
    display: inline-block;
    width: 180px;
    padding: 12px 24px;
    background: #0073aa;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.show-map-button:hover {
    background: #005a87;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.show-map-button:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.google-map-container {
    margin-top: 20px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border: 1px solid #ddd;
}

#map-canvas {
    width: 100%;
    height: 400px;
    border: none;
}

/* Адаптивность */
@media (max-width: 768px) {
    #map-canvas {
        height: 300px;
    }
    .show-map-button{
        padding: 12px;
    }
}

@media (max-width: 480px) {
    #map-canvas {
        height: 250px;
    }
    
    .map-section {
        margin: 15px 0;
    }
}

/* Стили для информационных окон Google Maps */
.gm-ui-hover-effect {
    opacity: 0.6 !important;
}

/* Стили для контролов карты */
.gmnoprint a, .gmnoprint span, .gm-style-cc {
    font-size: 11px !important;
}

/* Анимация появления карты */
.google-map-container {
    animation: fadeInUp 0.5s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


.content-contacts{
    display: flex;
    align-items: center;
    margin-bottom: 32px;
}
.content-contacts-left{
    width: 50%;
    display: flex;
}
.content-contacts-right{
    width: 50%;
    display: flex;
    align-items: center;
}
@media screen and (max-width: 1160px){
    .header-company-content-inner{
        text-align: center;
    }
    .company-contacts ul{
        justify-content: center;
    }
    .header-company{
        margin-bottom: 0;
    }
    .company-slogan{
        display: none;
    }
    .company-contacts{
        margin-bottom: 0;
    }
    .content-contacts{
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 32px;
        background: #fff4b3;
        padding: 20px 10px;
        margin-left: -10px;
        margin-right: -10px;
    }
    .content-contacts-left{
        margin-bottom: 14px;
        width: 100%;
        justify-content: center;
    }
    .content-contacts-right{
        justify-content: center;
        width: 100%;
    }
        .messengers{
        margin-left: 0;
    }
    .messengers li {
      margin-left: 4px;
      margin-right: 4px;
    }
}
@media screen and (max-width: 1100px){
    .company-title{
        font-size: 28px;
    }
    .city-first-level-categories ul li{
        width: 33%;
    }
}
@media screen and (max-width: 1000px){
    .header-company-content{
        height: auto;
    }
    .header-company-content-inner{
        margin-top: 0;
    }
}
@media screen and (max-width: 900px){
    .city-first-level-categories ul li{
        width: 48%;
    }
}
@media screen and (max-width: 780px){
    .companies-list li{
        width: 47%;
    }
}
@media screen and (max-width: 600px){
        .companies-list li{
        width: 48%;
    }
    .company-title{
        font-size: 20px;
        line-height: 28px;
    }
    .company-contacts ul li a{
        font-size: 21px;
    }
    .company-slogan{
        font-size: 18px;
    }
    .company-contacts{
        margin-bottom: 4px;
    }
    .content-contacts-left{
        flex-direction: column;
        align-items: center;
    }
    .map_btn{
        margin-bottom: 14px;
    }
    .first-address{
        margin-left: 0;
        text-align: center;
    }
    .company-content ul{
        margin-left: 24px;
    }
    .footer-inner{
        flex-direction: column;
        align-items: center;
    }
    .footer-logo{
        text-align: center;
    }
    .footer-nav{
        margin-left: 0;
    }
    .footer-nav ul li{
        margin-left: 9px;
        margin-right: 9px;
    }
}
@media screen and (max-width: 550px){
    .city-first-level-categories ul li{
        width: 100%;
    }
}
@media screen and (max-width: 500px){
    .company-contacts ul li a{
        font-size: 19px;    
    }
    .company-website span{
        display: none;
    }
    .social{
        margin-left: 12px;
    }
 
}