/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: A plain-vanilla &amp; lightweight theme for Elementor page builder
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 2.7.1.1700911838
Updated: 2023-11-25 11:30:38

*/

/* KWINS REQUIRED STYLES */

.elementor-field-type-recaptcha_v3 .grecaptcha-badge {
    z-index: 1;
    visibility: hidden !important;
}

body > .elementor {
    overflow-x: clip;
}

html {
    scroll-behavior: smooth;
}

.elementor-widget-image a {
    display: flex !important;
    justify-content: center;
    width: 100%;
}

/* DELETING FOCUS-VISIBLE BORDER */

a:active,
a:focus,
input,
textarea,
input:active,
textarea:active,
:focus {
    outline: none;
}

textarea {
    resize: none;
}

textarea {
    resize: vertical;
}

textarea {
    resize: horizontal;
}

.elementor-1277 .elementor-element.elementor-element-2d4d3298,
.elementor-1291 .elementor-element.elementor-element-c9da923 > .elementor-widget-container {
    max-width: 80px !important;
    height: 80px !important;
    width: 100% !important;
}

.elementor-1291 .elementor-element.elementor-element-c9da923 > .elementor-widget-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    border-radius: 50% !important;
}

.elementor-1277 .elementor-element.elementor-element-2d4d3298 img,
.elementor-1291 .elementor-element.elementor-element-c9da923 > .elementor-widget-container img {
    object-fit: contain;
}

.elementor-1277 .elementor-element.elementor-element-2d4d3298:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-1277 .elementor-element.elementor-element-2d4d3298 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    align-items: center;
    justify-content: center;
}

.services-card-container > div {
    gap: 20px !important;
    align-items: center !important;
}

.loop-section .dce-post-block,
.loop-section .dce-post-block > div,
.loop-section .dce-post-block > div > section,
.loop-section .dce-post-block > div > section > div {
    height: 100% !important;
}
.price-table > div {
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.header-fix {
    display: none;
}

/* ============================================================================
 * OPTIMIZED REVIEWS BLOCK (REMOVING DUPLICATION & FIXING CARD / BUTTON LAYOUT)
 * ============================================================================ */

/* Hide the "Load More" button everywhere in reviews section to prevent post duplication */
.reviews-blue .dce-posts-load-more,
.reviews-blue .dce-load-more,
.reviews-blue .dce-pagination,
.reviews-blue button.dce-button-load-more,
.loop-section .dce-posts-load-more,
.loop-section .dce-load-more,
.loop-section .dce-pagination,
.loop-section button.dce-button-load-more,
.dce-posts-load-more,
.dce-load-more {
    display: none !important;
}

/* Ensure equal height and smooth flex layout for review grid containers */
.loop-section .dce-post-block,
.loop-section .dce-post-block > div,
.loop-section .dce-post-block > div > section,
.loop-section .dce-post-block > div > section > div,
.reviews-blue .dce-post-block,
.reviews-blue article {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Uniform dark background for ALL review cards (removing uneven nth-child transparency) */
.elementor-1222 .elementor-element.elementor-element-1fc3f2f7:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap,
.elementor-1222 .elementor-element.elementor-element-1fc3f2f7 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer,
article .elementor-1222 .elementor-element.elementor-element-1fc3f2f7:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap {
    background-color: rgba(11, 11, 11, 0.42) !important;
    border-radius: 8px !important;
    transition: transform 0.25s ease, background-color 0.25s ease !important;
}

/* On hover, subtle elevation effect for review tiles */
article:hover .elementor-1222 .elementor-element.elementor-element-1fc3f2f7:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap {
    background-color: rgba(11, 11, 11, 0.55) !important;
    transform: translateY(-2px) !important;
}

/* Make inner widget wrap stretch vertically and align bottom metadata */
.elementor-1222 .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

.reviews-blue p {
    color: #ffffff !important;
    line-height: 1.5 !important;
}

.reviews-blue .elementor-divider span {
    border-top: 1px solid rgba(255, 255, 255, 0.3) !important;
}

.elementor-element-58cd1dfb p,
.elementor-element-70fc4644 p {
    color: rgba(255, 255, 255, 0.6) !important;
}

/* Center and align action buttons container under the reviews grid */
.reviews-blue .elementor-button-wrapper,
.loop-section ~ div .elementor-button-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px !important;
    margin-top: 25px !important;
    flex-wrap: wrap !important;
}

/* Hide 'See all reviews' on /reviews/ page since user is already on reviews page */
body.page-id-847 .reviews-blue a[href*="/reviews/"]:not(.elementor-item),
body.page-reviews .reviews-blue a[href*="/reviews/"]:not(.elementor-item),
body[class*="reviews"] .reviews-blue a[href*="/reviews/"]:not(.elementor-item) {
    display: none !important;
}


.transportation-block {
  display: flex;
  flex-wrap: wrap;
}

.elementor-element-e05a8c8 {
  width: 49% !important;
}

.elementor-element-e05a8c8 > .elementor-widget-wrap.elementor-element-populated {
  margin: 0 !important;
}

.elementor-element-e05a8c8:not(:nth-child(2n)) {
  margin-right: 25px;
}

.elementor-element-e05a8c8:not(:nth-child(-n+2)) {
  margin-top: 25px;
}

.transportation-cities {
  flex-wrap: wrap;
}

.city-link {
  width: 50%;
  color: #000000;
  font-family: "Inter Tight", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6em;
}

.city-text {
  color: #AAAAAA !important;
  font-size: 14px !important;
}

.city-link:hover {
  color: #AAAAAA;
  text-decoration: underline 1px #000;
}

.city-price th {
  width: 33.33%;
  text-align: left;
  background: transparent !important;
  color: var(--e-global-color-text);
  font-family: "Inter Tight", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.3em;
  border-color: #DFDFDF;
  border-top: 2px solid #DFDFDF !important;
}

.city-price td {
  background: transparent !important;
  color: var(--e-global-color-text);
  font-family: "Inter Tight", Sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6em;
  border-color: #DFDFDF;
}

.city-price td,
.city-price th {
  padding: 10px 10px 10px 20px;
}

.city-price {
  background-color: #FFFFFF;
  border-collapse: unset;
  border-radius: 4px;
  border-color: #DFDFDF;
  border-left: 1px solid #DFDFDF;
  border-bottom: 1px solid #DFDFDF;
  border-right: 1px solid #DFDFDF;
}

.city-search {
  display: none;
  width: 235px;
  position: relative;
  margin-bottom: 30px;
}

.search-input {
  position: relative;
}

.transportation-background {
  align-content: baseline !important;
  background-image: none !important;
}

.city-search-suggestions {
  position: absolute;
  width: 100%;
  z-index: 2;
}

.search-input i {
  position: absolute;
  top: 15px;
  right: 25px;
  font-size: 14px;
  color: #ACACAC;
  transition: color .3s ease;
}

.search-input i:before {
  content: "\f054";
}

.search-input:hover .city-search-input::placeholder {
  color: #0B0B0B;
}

.search-input:hover i {
  color: #0B0B0B;
}

.city-search-input {
  padding: 10px 28px !important;
  border-color: #ACACAC !important;
  border-radius: 4px !important;
  font-family: "Inter Tight", Sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6em;
  color: #ACACAC;
}

.city-search-input::placeholder {
  font-family: "Inter Tight", Sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6em;
  color: #ACACAC;
  transition: color .3s ease;
}

.autocomplete-suggestion {
  font-family: "Inter Tight", Sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6em;
  color: #ACACAC;
  padding: 10px 10px 10px 29px;
  cursor: pointer;
  width: 100%;
  background: #fff;
  z-index: 5;
  border: 1px solid #1E97D042;
  border-top: 0;
  transition: color .3s ease;
}

.autocomplete-suggestion:hover {
  color: #0B0B0B;
}

.cities-shell {
  opacity: 0;
  transition: opacity .5s ease;
  padding: 0px 0px 0px 0px !important;
}
@media (max-width: 768px) {
  .cities-shell {
    padding: 30px 0px 0px 0px !important;
  }
}
.transportation-paragraph {
  width: 95% !important;
}

.transportation-photo img {
  border-radius: 50% !important;
  height: 150px !important;
  width: 198px !important;
  object-fit: cover !important;
}

.elementor-element-b80579f {
  width: 100% !important;
  max-width: 100% !important;
}

.elementor-element-1d04245 {
  width: 90% !important;
  max-width: 100% !important;
}

.scroll-table {
  width: 100%;
  border-collapse: collapse;
}

.scroll-table th, .scroll-table td {
  border: 1px solid #ddd;
  padding: 8px;
}

.scroll-table thead {
  display: table-header-group;
}

.scroll-table tbody {
  display: block;
  max-height: 440px;
  overflow-y: auto;
}

.scroll-table tr {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.scroll-table-div {
  max-height: 530px;
  overflow-y: auto;
}
@media (max-width: 768px) {
    .elementor-column.elementor-col-50.elementor-top-column.elementor-element.elementor-element-27cd155 {
        width: 30% !important;
    }
    .elementor-467 .elementor-element.elementor-element-b631e7c {
        width: 70% !important;
    }

    .city-link {
      width: 100%;
    }

    .city-price th {
      font-size: 14px;
    }

    .city-price td {
      font-size: 14px;
    }

    .transportation-photo {
      display: none;
    }
}
@media (max-width: 450px) {
    .elementor-column.elementor-col-50.elementor-top-column.elementor-element.elementor-element-27cd155 {
        width: 30% !important;
    }
    .elementor-467 .elementor-element.elementor-element-b631e7c {
        width: 70% !important;
    }
}

@media (max-width: 1024px) {
  .elementor-element-e05a8c8 {
    width: 100% !important;
  }

  .elementor-element-e05a8c8:not(:nth-child(2n)) {
    margin-right: 0;
  }

  .elementor-element-e05a8c8:not(:nth-child(-n+2)) {
    margin-top: 25px;
  }

  .elementor-element-e05a8c8:not(:first-child) {
    margin-top: 20px;
  }

  .transportation-photo img {
    width: 180px !important;
  }
}

/*******************************************************************************
 * УМНАЯ ДИНАМИЧЕСКАЯ ПЕРЕЛИНКОВКА (АНТИГРАВИТИ)
 ******************************************************************************/

/* --- ПРАВКИ ШАПКИ САЙТА (Кнопки и Гослог) --- */

/* Корректировка ширины колонок в шапке на десктопе для предотвращения наложения логотипа и значка Гослог */
@media (min-width: 1025px) {
    /* Главная страница (шапка ID 467) */
    .elementor-element.elementor-element-213d5ec {
        width: 24% !important;
    }
    .elementor-element.elementor-element-a83e2f8 {
        width: 61% !important;
    }
    .elementor-element.elementor-element-15eefc4 {
        width: 15% !important;
    }

    /* Внутренние страницы (шапка ID 471) */
    .elementor-element.elementor-element-e76dfa7 {
        width: 24% !important;
    }
    .elementor-element.elementor-element-97b1b9b {
        width: 61% !important;
    }
    .elementor-element.elementor-element-46d194d {
        width: 15% !important;
    }
}

/* Выравнивание ширины кнопок в шапке (десктопная и мобильная версии) */
.elementor-element-2edd934 .elementor-button,
.elementor-element-ae3c938 .elementor-button,
.elementor-element-6c8d9d2 .elementor-button,
.elementor-element-ff5313a .elementor-button,
.elementor-element-9fec5e4 .elementor-button,
.elementor-element-4e086b7 .elementor-button {
    width: 165px !important;
    padding: 6px 15px !important;
    text-align: center !important;
    justify-content: center !important;
}

/* Предотвращение переноса контактов во вторую строку и ограничение размера значка Гослог */
.elementor-element.elementor-element-c28a189,
.elementor-element.elementor-element-cd8e181 {
    width: 35px !important;
    max-width: 35px !important;
}
.elementor-element.elementor-element-9f859cf,
.elementor-element.elementor-element-bfe0b70 {
    margin-left: auto !important;
    width: auto !important;
    max-width: none !important;
}

/* Отступ между значком Гослог и контактами */
.elementor-element.elementor-element-c28a189,
.elementor-element.elementor-element-cd8e181 {
    margin-right: 20px !important;
}




/* Убираем верхний отступ у секции шапки на главной, чтобы убрать белую полосу */
.elementor-element.elementor-element-6f0e9bd {
    margin-top: 0px !important;
}


/* Fix header & menu dropdown overlap with calculator */
.elementor-location-header {
    position: relative !important;
    z-index: 9999 !important;
}

/* Force Elementor column 3eeba18 and all its parent elements/wrappers to be transparent with ultra high specificity */
html body .elementor-426 .elementor-element.elementor-element-3eeba18,
html body .elementor-426 .elementor-element.elementor-element-3eeba18 *,
html body .elementor-426 .elementor-element.elementor-element-3eeba18 *::before,
html body .elementor-426 .elementor-element.elementor-element-3eeba18 *::after {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Ограничение ширины контейнеров на главной странице и в шапке для восстановления боковых полей */
@media (min-width: 1025px) {
    .elementor-426 .elementor-section-boxed > .elementor-container,
    .elementor-467 .elementor-section-boxed > .elementor-container {
        max-width: 1200px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }
}


