/*
Theme Name: Topmetry
Author: Ruslan Ratych
Version: 1.0
*/

:root{
	--primary: #FF6633;
    --primary-hover: #ff4d13;
    --blue: #00235A;
    --text: #444;
    --dark-text: #111;
    --gray: #a6a6a6;
    --gray-bg: #e1e6e9;
    
    --cube-size : 4rem;
}

/* bootstrap 5 scroll fix */
@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: auto;
  }
}

@font-face {
  font-family: 'icomoon';
  src:
    url('assets/fonts/icomoon.ttf?mpsph4') format('truetype'),
    url('assets/fonts/icomoon.woff?mpsph4') format('woff'),
    url('assets/fonts/icomoon.svg?mpsph4#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="ico-"], [class*=" ico-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ico-email:before { content: "\e900";}
.ico-whatsapp:before { content: "\e901";}
.ico-viber:before { content: "\e902";}
.ico-author:before { content: "\e903";}
.ico-calendar:before { content: "\e904";}
.ico-check-bold:before { content: "\e905";}
.ico-arrow-diagonal-big:before { content: "\e906";}
.ico-check-small:before { content: "\e907";}
.ico-nav:before { content: "\e908";}
.ico-close:before { content: "\e909";}
.ico-arrow-down:before { content: "\e90a";}
.ico-youtube:before { content: "\e90b";}
.ico-linkedin:before { content: "\e90c";}
.ico-x:before { content: "\e90d";}
.ico-facebook:before { content: "\e90e";}
.ico-location:before { content: "\e90f";}
.ico-telephone:before { content: "\e910";}
.ico-envelope:before { content: "\e911";}
.ico-check:before { content: "\e912";}
.ico-upload:before { content: "\e913";}
.ico-detail:before { content: "\e914";}
.ico-company:before { content: "\e915";}
.ico-phone:before { content: "\e916";}
.ico-user:before { content: "\e917";}
.ico-check-thin:before { content: "\e918";}
.ico-arrow-long:before { content: "\e919";}
.ico-arrow:before { content: "\e91a";}
.ico-star:before { content: "\e91b";}
.ico-arrow-diagonal:before { content: "\e91c";}
.ico-quotes:before { content: "\e91d";}

.ico-rotate, .ico-rotate-180 { display: inline-block; transform:rotate(180deg);}
.ico-rotate-90 { display: inline-block; transform:rotate(90deg);}
.ico-rotate-270 { display: inline-block; transform:rotate(270deg);}

html { font-size:1.041666vw;}
@media (max-width: 1280px) {
    html { font-size:1.388888vw;}
}
body{ font-size:0.9rem; line-height:1.45; font-family:'Manrope', Arial, sans-serif; color:var(--text); background: var(--gray-bg)}
a { color:inherit; text-decoration:none; transition: all .2s ease;}
a:hover {text-decoration:none; color:inherit;}
a:focus {outline: none;}
img { max-width:100%; height:auto;}
#wrapper { width:100%; min-width:320px; position:relative;}
.clearfix:after { display:table; content:''; clear:both;}
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0;}
input[type=number] { -moz-appearance: textfield;}
#wpadminbar { position: fixed;}
b, strong { font-weight: 600;}
.thumb img, .icon img { width: 100%;}
.item-thumb { display: block; position: relative; padding-bottom: 100%;}
.item-thumb img { display: block; position: absolute; top:0; left:0; width: 100%; height: 100%; object-fit: cover; object-position: center;}
.primary-color { color:var(--primary);}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { line-height: 1.1; font-weight: 600; color:var(--dark-text); margin-bottom:1.5rem;}
h1, .h1, .section-title { font-size: 2.75rem; font-weight: 700;}
h2, .h2 { font-size: 1.9rem;}
h3, .h3 { font-size: 1.5rem;}
h4, .h4 { font-size: 1.2rem; line-height: 1.3;}
h5, .h5 { font-size: 1rem; line-height: 1.45;}
h6, .h6 { font-size: 0.9rem; line-height: 1.45;}
.page-title { font-size:3.25rem;}
mark { padding: 0; background: none; color:var(--primary)}
hr { border-top:1px solid var(--gray-bg); opacity:1;}

.cube { display: block; position: absolute; width: var(--cube-size); height: var(--cube-size); z-index: 1;}
.cube.white { background: #fff;}
.cube.blue { background:var(--blue);}
.cube.gray { background:var(--gray-bg);}
.cube.bottom { bottom:0;}
.cube.bottom-1 { bottom:var(--cube-size);}
.cube.top { top:0;}
.cube.top-1 { top:var(--cube-size);}
.cube.left { left:0;}
.cube.left-1 { left:var(--cube-size);}
.cube.left-2 { left:calc(var(--cube-size) * 2);}
.cube.left-3 { left:calc(var(--cube-size) * 3);}
.cube.right { right:0;}
.cube.right-1 { right:var(--cube-size);}
.cube.right-2 { right:calc(var(--cube-size) * 2);}
.cube.right-3 { right:calc(var(--cube-size) * 3);}

.btn { position: relative; font-weight:600; padding:0.9rem 1.5rem; font-size:1rem; line-height:1.4rem; border:none; border-radius:0; transition: all .2s ease;}
.btn-primary { color:#fff; background: var(--primary);}
.btn-primary.disabled, .btn-primary:disabled { background: var(--primary);}
.btn-primary:hover, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle, .btn-primary:not(:disabled):not(.disabled).active:focus, .btn-primary:not(:disabled):not(.disabled):active:focus, .show>.btn-primary.dropdown-toggle:focus { background:var(--primary-hover); color:#fff;}
.btn-dark{ color:#fff; background:var(--blue);}
.btn-dark:hover, .btn-dark:not(:disabled):not(.disabled).active, .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active:focus, .btn-dark:not(:disabled):not(.disabled):active:focus { background: var(--primary); color:#fff; box-shadow: none;}
.btn-underline{ display: inline-flex; align-items: center; color:var(--primary); background:none; border:none; border-bottom:0.1rem solid var(--primary); padding: 0 0 0.5rem;}
.btn-underline:hover, .btn-underline:not(:disabled):not(.disabled).active, .btn-underline:not(:disabled):not(.disabled):active, .btn-underline:not(:disabled):not(.disabled).active:focus, .btn-underline:not(:disabled):not(.disabled):active:focus { background:none; color:var(--primary-hover); border-color:var(--primary-hover); box-shadow: none;}
.btn .ico { font-size: 1.1rem; position: relative; top:0.1rem; margin-left: 0.5rem;}
.btn-underline .ico { font-size: 1.2rem; top:0;}
.arrow-link { font-size: 1rem; font-weight: 600; color:var(--primary);}
.arrow-link .ico { display: inline-block; position: relative; top:0.1em; margin-left: 0.5rem;}
.arrow-link:hover { color:var(--primary-hover);}

.owl-carousel .owl-stage { display: flex;}
.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev { display: block; position: absolute; top:50%; transform:translateY(-50%);}
.owl-carousel .owl-nav button.owl-prev { left:-6rem;}
.owl-carousel .owl-nav button.owl-next { right:-6rem;}
.owl-carousel .owl-nav span { display: flex; justify-content: center; align-items: center; width: 2.6rem; height: 2.6rem; color:var(--blue);}
.owl-carousel .owl-nav span:hover { background: var(--blue); color:#fff;}
.owl-carousel .owl-dots { display: flex; justify-content: center; margin-top: 2rem;}
.owl-carousel .owl-dot { margin: 0 0.2rem;}
.owl-carousel .owl-dot span { padding: 0.2rem; display: block; cursor: pointer;}
.owl-carousel .owl-dot span:before { content:''; display: block; width: 0.5rem; height: 0.5rem; background: #ABAFB5; border-radius: 50%;}
.owl-carousel .owl-dot.active span:before, .owl-carousel .owl-dot:hover span:before { background: var(--primary); transform:scale(1.2);}

.container, .container-lg, .container-md, .container-sm, .container-xl { max-width: 71.5rem;}

/* header */
#wrapper { padding-top: 4.5rem;}
.page-header { background: #fff; position: fixed; top:0; left:0; width: 100%; z-index: 150; padding:0;}
.page-header .header-inner { width: 100%; height: 4.5rem; padding: 0 4rem;}
.admin-bar .page-header { top:32px;}
.navbar-brand { padding: 0; margin:0; width: 12.3rem;}
.page-navi { padding-right: 12.3rem;}
.navi-inner { width: 100%; padding: 0 1rem;}
.main-menu li { position: relative;}
.main-menu li a { display: block; position: relative; font-size: 1rem; padding:1.65rem 2rem 1.5rem; font-weight: 600; color:var(--dark-text);}
.main-menu li.current-menu-item>a, .main-menu li.current-menu-ancestor>a, .main-menu li a:hover, .main-menu>li:hover>a { color:var(--primary);}
.main-menu>li>a:before { content:''; display: block; position: absolute; bottom:0.15rem; left:2rem; width:0; height: 0.1rem; background:var(--primary); transition:all 0.2s ease;}
.main-menu>li.current-menu-item>a:before, .main-menu>li.current-menu-ancestor>a:before, .main-menu>li:hover>a:before { width: calc(100% - 4rem);}
.main-menu .sub-menu { list-style: none; border-radius:0;}
.main-menu>li>.sub-menu { display:block; visibility:hidden; opacity:0; position: absolute; top:100%; margin-top: 1rem; left:0; background:#fff; padding: 1.6rem 0; box-shadow: 0px 4px 30px 0px rgba(19, 28, 35, 0.2); transition: all 0.2s ease;}
.main-menu>li:hover>.sub-menu { visibility:visible; opacity:1; margin-top: -0.1rem;}
.main-menu .sub-menu li a { display: block; font-size: 0.9rem; font-weight:400; padding: 0.375rem 2rem; white-space: nowrap;}
.main-menu .sub-menu li.current-menu-item>a:before { content:"\e91c"; font-family:'icomoon'; float:left; transform:rotate(90deg); margin-right: 0.5rem;}
.main-menu .services-menu-item>.sub-menu { display: flex; flex-wrap:wrap; width: 30.5rem; padding:1rem;}
.main-menu .services-menu-item>.sub-menu>li { width: 50%; padding:0.75rem 1rem;}
.main-menu .services-menu-item>.sub-menu>li>a { font-size: 1rem; font-weight:600; color:#B0B3B6; padding: 0.25rem 0; cursor: default; pointer-events: none;}
.main-menu .services-menu-item>.sub-menu>li>a:before { display: none !important;}
.main-menu .services-menu-item>.sub-menu .sub-menu { margin: 0.25rem 0 0; padding: 0;}
.main-menu .services-menu-item>.sub-menu li a { white-space: normal;}
.main-menu .sub-menu .sub-menu li a { padding: 0.25rem 0;}
.navbar-toggler { width: 2rem; height: 2rem; padding:0.45rem; font-size:1.1rem; line-height: 1; color:var(--blue); margin:0; border:0; border-radius: 0; box-shadow:none !important;}
.navbar-toggler .ico:before { content:'\e909';}
.navbar-toggler.collapsed .ico:before { content:'\e908';}
.header-button { position: absolute; right:0; top:0; background: #fff; width: 17rem; padding-left: 2.75rem;}
.header-button .btn-header-quote { width: 100%; padding: 1.9rem 2.5rem;}

/* hero section */
.hero-section { position: relative; background: var(--blue); color:#fff; height:30.5rem;}
.hero-section .hero-overlay { display: block; position: absolute; left:0; top:0; width: 100%; height: 100%;}
.hero-section.hero-with-bg { background-position: center; background-repeat: no-repeat; background-size: cover;}
.hero-section.hero-with-bg:before { content:''; display: block; position: absolute; width:var(--cube-size); height: 100%; top:0; left:0; background: #fff; z-index: 2;}
.hero-section.hero-gradient .hero-overlay { background: linear-gradient(90deg, #00235A 32.24%, rgba(0, 35, 90, 0) 68%);}
.hero-section .container { position: relative; display: flex; flex-direction: column; height: 100%; z-index: 1;}
.hero-section .hero-entry { display: flex; flex:1 1 100%; flex-direction: column; justify-content: center; padding-top: 1rem; max-width: 31rem;}
.hero-section .page-title { color:#fff; margin: 0;}
.hero-section .page-subtitle { color:rgba(255,255,255,0.7); margin-top:1.5rem;}
.breadcrumbs { font-size:1rem; font-weight: 600; margin-bottom: 2.6rem;}
.breadcrumbs .breadcrumb_last, .breadcrumbs a:hover { color:var(--primary);}
.breadcrumbs .sep { font-style: normal; margin: 0 0.5rem;}
.home-hero-section { height: 38.25rem;}
.home-hero-section .hero-entry { padding-bottom: 9.6rem; max-width: 40rem; margin-left: auto; margin-right: auto; text-align: center;}
.home-hero-section .page-subtitle { max-width: 36rem; margin-left: auto; margin-right: auto;}

/* home benefits */
.home-benefits-section { position: relative; background: #fff; height:var(--cube-size); padding: 2rem 0 2rem var(--cube-size); z-index: 1;}
.home-benefits { position: relative; max-width:52.5rem; margin-left: auto; margin-right: auto; height: 0;}
.benefits-list { position: absolute; bottom:0; left:0; width: 100%;}
.benefit-item { display: block; background: #fff; position: relative; padding-bottom: 100%; box-shadow: 0px 4px 30px 0px rgba(19, 28, 35, 0.2);} 
.benefit-item .item-inner { position: absolute; left:0; top:0; width: 100%; height: 100%; padding: 1.5rem; border-bottom:0.1rem solid var(--blue);}
.benefit-item .icon { display: block; width: 3rem; height: 3rem; margin-bottom: 0.5rem;}
.benefit-item .caption { font-size: 1rem; line-height: 1.35;}
.benefit-item-4 { background: var(--primary); text-align: center;}
.benefit-item-4 .item-inner { display: flex; flex-direction: column; justify-content: center; align-items: center; border:none;}
.benefit-item-4 .caption { color:#fff;}
a.benefit-item-4:hover { background: var(--primary-hover)}

/* layout */
.section { position: relative; padding:6rem 0;}
.gray-section { background-color: var(--gray-bg);}
.white-section { background-color:#fff;}
.blue-light-section { background-color:#d2dde6;}
.section-title { font-size: 2.75rem; margin-bottom: 2.5rem;}
.section-head { margin-bottom: 2.5rem;}
.section-head .section-title { margin: 0;}
.section-subtitle { margin-top: 1rem;}
.section-subtitle.st-border .subtitle-inner { border-left:0.2rem solid var(--primary); height: 3rem; display: table-cell; vertical-align: middle; padding:0.2rem 0 0.2rem 1.5rem;}
.section-head .section-subtitle.subtitle-big { font-size: 1.2rem; line-height: 1.3; font-weight: 500;}
.section-head-column { max-width: 41rem;}
.section-head-row { display: flex; align-items: center; justify-content: space-between;}
.section-head-row .section-title { width: 45%;}
.section-head-row .section-subtitle { width: 50%; margin-top: 0;}
.section-head-row .section-subtitle.st-border .subtitle-inner { height: 5rem;}
.section-head.text-end { margin-left: auto;}
.section-head.text-end .section-subtitle.st-border .subtitle-inner { border-left:none; padding-left: 0; border-right:0.2rem solid var(--primary); padding-right: 1.5rem;}
.section-head.text-center { max-width: 52rem; margin-left: auto; margin-right: auto;}
.section-head.text-center .section-subtitle.st-border .subtitle-inner { border-left:none; padding-left: 0;}
.section-col .section-head { margin-bottom: 1.5rem;}
.small-title { font-size: 1.2rem; line-height: 1.3; margin-bottom: 0.5rem; color:var(--primary);}
.caption { font-size: 1.5rem; line-height: 1.1; font-weight: 600; color:var(--dark-text);}
.list-wrapper { margin-bottom: -1.5rem;}
.third-box { position: relative; height: calc(100% - 1.5rem); margin-bottom: 1.5rem;}
.third-box .item-thumb { display: block; padding-bottom: 142.8%; min-height: 100%;}
.third-box .item-entry { display: block; position: absolute; top:0; left:0; width: 100%; padding: 2rem; z-index: 1;}
.third-box .item-title { font-size: 2.1rem; color:var(--dark-text); line-height:1.1; font-weight: 700; margin-bottom: 1rem;}
.block-mt { margin-top: 3rem;}

/* single */
.section.single-section { padding-top: 3rem;}
.single-section .breadcrumbs { margin-bottom: 3.5rem;}
.content-block, .white-block, .gray-block { position: relative; padding: 2rem; margin-bottom: 1.5rem;}
.white-block, .gray-section .content-block { background: #fff;}
.gray-block, .white-section .content-block { background: rgba(225, 230, 233, 0.4);}
.white-block.single-content { padding-top:4rem;}
.single-image img { width: 100%;}
.single-date { display: flex; position: absolute; left:2rem; top:0; color:#fff; font-size: 0.8rem;}
.single-date .d-day { background: var(--primary); padding: 0.675rem 1.2rem;}
.single-date .d-month { display: block; background: var(--blue); width: 6rem; text-align: center; padding: 0.675rem;}
.single-date.date-image .d-day { position: absolute; left:0; bottom:100%; width: 100%; font-size: 1.9rem; line-height: 2.1rem; font-weight: 600; padding: 1.95rem 1rem; text-align: center;}
.single-meta { margin-bottom: 0.5rem;}
.item-author { display: flex; align-items: center; color:var(--dark-text); font-size: 1rem; font-weight: 600; margin-bottom: 1rem;}
.item-author .ico { font-size: 1.2rem; color:var(--primary); margin-right: 0.35rem;}
.item-cats { border-left:0.15rem solid var(--gray); padding: 0.3rem 0 0.3rem 0.9rem; font-size: 1rem; font-weight: 600; color:var(--gray); margin-bottom: 1rem;}
.item-cats .item-tag:hover { color:var(--primary);}
.single-content .item-cats { border-left-color:var(--primary); color:var(--dark-text);}
.single-head { padding-bottom: 1.5rem; margin-bottom: 1.5rem; border-bottom:1px solid var(--text);}
.single-head .single-title { margin-bottom: 0;}
.single-head .item-excerpt { margin-top: 0.5rem;}
.entry-content h2 { margin-top: 2rem;}
.entry-content h2:first-child { margin-top:0;}
.entry-content p, .entry-content ul, .entry-content ol { margin-bottom:1.5rem;}
.entry-content ul, .entry-content ol, .text ul, .text ol { list-style: none; padding: 0;}
.entry-content ul li, .entry-content ol li, .text ul li, .text ol li { position: relative; color:var(--dark-text); margin-bottom: 0.5rem;}
.entry-content ul li:last-child, .entry-content ol li:last-child, .text ul li:last-child, .text ol li:last-child { margin-bottom: 0;}
.entry-content ul li, .text ul li { padding-left:2rem;}
.entry-content ul li:before, .text ul li:before { content: "\e907"; font-family: 'icomoon'; display: block; position: absolute; left:0.2rem; top:0.05rem; font-size: 0.9rem; line-height: 1.45; color:var(--primary);}
.entry-content ol, .text ol { counter-reset: point;}
.entry-content ol li, .text ol li { padding-left:1.5rem;}
.entry-content ol li:before, .text ol li:before { content: counter(point)'.'; counter-increment: point 1; display: block; position: absolute; left:0; top:0; color: var(--primary); font-size: 1rem; font-weight: 600;}
.entry-content li ul, .entry-content li ol { margin-top: 0.5rem; margin-bottom: 0;}
.entry-content blockquote, .text blockquote { padding:0 0 0 4.4rem; position: relative; min-height:3rem; margin-bottom:1.5rem;}
.entry-content blockquote:before, .text blockquote:before { content: "\e91d"; font-family:'icomoon'; display: block; position: absolute; top:-0.2rem; left:0; font-size: 2.9rem; color:var(--primary);}
.entry-content img { border-radius: 0; margin-bottom: 1.5rem;}
p, text p, .text ul, .text ol, .text img, .text blockquote, .text h3, .text h4, .text h5, .text h6 { margin-bottom:0.5rem;}
.alignleft { float:left; margin: 0 1.5rem 1.5rem 0;}
.alignright { float:right; margin: 0 0 1.5rem 1.5rem;}
.aligncenter { display: block; margin: 0 auto 1.5rem;}
.wp-caption img, .entry-content .wp-caption img { margin: 0;}
.wp-caption-text, .wp-caption .wp-caption-text { margin:0.25rem 0 0; list-style: italic; text-align: center;}
.entry-content a { color:var(--primary);}
.entry-content a:hover { text-decoration: underline;}
.entry-content > :last-child, .text > :last-child, .entry-content blockquote > :last-child { margin-bottom: 0;}
.entry-content .gallery { display: flex; margin:0 -0.75rem 1.5rem !important;}
.gallery .gallery-item { margin-top:0 !important; margin-bottom: 1.5rem; width: 50% !important; padding:0 0.75rem;}
.gallery .gallery-item .gallery-icon { position: relative; padding-bottom: 100%;}
.gallery .gallery-item img { border:none !important;}
.gallery .gallery-item .gallery-icon img { display: block; position: absolute; left:0; top:0; width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 0;}
table { width: 100%; margin-bottom: 1.5rem;}
table th { border:none; border-bottom:1px solid var(--text); padding: 0 0.75rem 0.6rem;}
table td { border:1px solid var(--text); padding: 0.6rem 0.75rem; vertical-align: top;}
.entry-content table th:first-child, .entry-content table td:first-child { border-left:none; padding-left: 0;}
.entry-content table th:last-child, .entry-content table td:last-child { border-right:none; padding-right: 0;}
table th > :last-child, table td > :last-child { margin-bottom: 0;}
.scroll-y { height: auto; overflow-y: auto; width: 100%; margin-bottom:1.5rem;}
.scroll-y table { margin-bottom:0 !important;}
.share-block { margin-top: 1.5rem; padding-top: 1.5rem; border-top:1px solid var(--text);}
.share-block .addtoany_list { display: flex; flex-wrap:wrap; margin-bottom: -0.5rem;}
.share-block .addtoany_list.a2a_kit a { display: flex; font-size: 22px; padding: 0; margin-right: 0.5rem; margin-bottom: 0.5rem; color:#fff;}
.share-block .addtoany_list.a2a_kit a .a2a_svg { background:none !important; border-radius: 0 !important; text-align: center;}
.share-block .addtoany_list.a2a_kit a span svg { display: none;}
.share-block .addtoany_list.a2a_kit a.a2a_button_facebook { background: #0B84EE;}
.share-block .addtoany_list.a2a_kit a.a2a_button_x { background: #292929;}
.share-block .addtoany_list.a2a_kit a.a2a_button_viber { background: #7C509A;}
.share-block .addtoany_list.a2a_kit a.a2a_button_whatsapp { background: #48C95F;}
.share-block .addtoany_list.a2a_kit a .a2a_svg:before { content:''; display: block; font-family: 'icomoon'; line-height: 40px;}
.share-block .addtoany_list.a2a_kit a.a2a_button_x .a2a_svg:before { content: "\e90d";}
.share-block .addtoany_list.a2a_kit a.a2a_button_facebook .a2a_svg:before { content: "\e90e";}
.share-block .addtoany_list.a2a_kit a.a2a_button_viber .a2a_svg:before { content: "\e902";}
.share-block .addtoany_list.a2a_kit a.a2a_button_whatsapp .a2a_svg:before { content: "\e901";}
.share-block .addtoany_list .a2a_label { position: relative !important; overflow: visible; width: auto; height: auto; clip-path:none; -webkit-clip-path:none; font-size: 0; line-height: 0; border-left:1px solid rgba(0,0,0,0.15); padding: 0.35rem 0.8rem 0.35rem 0.6rem;}
.share-block .addtoany_list .a2a_label:before { content:'Share'; font-size: 0.9rem; line-height: 1.3rem; text-transform: uppercase;}
.share-block .addtoany_list.a2a_kit a:hover span { opacity:0.9;}

/* widgets */
.sidebar-sticky { position: sticky; top:6rem; margin-bottom: 1.5rem;}
.admin-bar .sidebar-sticky { top:calc(6rem + 32px);}
.widget { background: #fff; padding: 2rem; margin-bottom: 1.5rem;}
.widget-title { padding-bottom: 1.5rem; border-bottom:1px solid var(--text); margin-bottom: 1.5rem; font-size: 1.5rem; line-height: 1.1; font-weight: 600; color:var(--dark-text);}
.widget-title:after { content: "\e91c"; font-family:'icomoon'; color:var(--primary); font-size: 1.2rem; line-height: 1.65rem; float:right; transform:rotate(90deg);}
.widget_categories ul { margin: 0; list-style: none; padding: 0;}
.widget_categories ul li { margin-bottom: 1.5rem;}
.widget_categories ul li:last-child { margin-bottom: 0;}
.widget_categories ul li a { display: block; padding: 0 1rem; font-size: 1rem; font-weight: 600;}
.widget_categories ul li a:hover { color:var(--primary);}
.widget_recent_entries .more-link { color:var(--gray);}

/* blog */
.blog-heading { padding-bottom: 1.5rem; border-bottom:1px solid var(--text); margin-bottom: 1.5rem;}
.blog-heading h2 { margin: 0;}
.blog-heading .cats-select { width: 21.3rem;}
.cats-select select { width: 100%; height: 3rem; font-size: 1rem; font-weight: 600; padding-right: 2rem; padding-left:0.9rem; border:none; background: none; border-left:0.15rem solid var(--primary); border-radius: 0; box-shadow: none; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; background: url(assets/img/select-arrow.svg) no-repeat right center; background-size:1.2rem;}
.cats-select select::-ms-expand { display: none;}
.cats-select select option { color:var(--text); font-size: 0.9rem; padding: 1rem;}
.cats-select select option:hover { background: var(--blue); color:#fff;}
.post-item { display: flex; flex-direction: column; margin-bottom: 1.5rem;}
.posts-grid .post-item { height: calc(100% - 1.5rem);}
.post-item .item-thumb { padding-bottom:58.2%;}
.post-item .item-entry { background: #fff; padding: 2rem; flex: 1 1 100%;}
.post-item .item-title { font-size: 1.2rem; line-height: 1.3; font-weight:500; color:var(--dark-text); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
.post-item .item-excerpt { margin-top: 0.5rem; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;}
.post-item .item-meta { font-size: 1rem; font-weight: 600; color:var(--gray); margin-top: 1rem;}
.post-item .item-date { display: flex; align-items: center; margin-right: 0.5rem;}
.post-item .item-date .ico { font-size: 1.2rem; margin-right: 0.5rem;}
.more-link { display: flex; align-items: center; font-size: 1rem; font-weight: 600; color:var(--primary);}
.more-link .ico { position: relative; font-size: 1.2rem; margin-left: 0.5rem; transition: all 0.2s ease;}
.more-link:hover { color:var(--primary-hover);}
.post-item .item-meta .more-link { margin-left: auto;}
.item-title a:hover { color:var(--primary);}
.post-item.post-item-main { background: linear-gradient(180deg, #242133 0%, rgba(36, 33, 51, 0) 100%); border-radius: 2rem; margin-bottom: 4rem;}
.post-item.post-item-main .item-thumb { padding: 0; height: 100%; margin: 0;}
.post-item.post-item-main .item-thumb img { border-radius: 0 2rem 2rem 0;}
.post-item.post-item-main .item-entry { padding: 4rem 2rem;}
.post-item.post-item-main .item-foot { margin-top: 4rem;}
.post-item.post-item-feature { background: linear-gradient(180deg, #242133 0%, rgba(36, 33, 51, 0) 100%); padding: 2rem; display: flex; border-radius: 2rem; margin-bottom: 1.25rem;}
.post-item.post-item-feature .col-thumb { width: 10.5rem; flex-shrink: 0; margin-right: 1.25rem;}
.post-item.post-item-feature .item-thumb { padding-bottom:100%; margin: 0;}
.post-item.post-item-feature-first { display: block;}
.post-item.post-item-feature-first .col-thumb { width: 100%; margin-right:0;}
.post-item.post-item-feature-first .item-thumb { padding-bottom:70.4%; margin-bottom: 2rem;}
.posts-featured { margin-bottom: 8rem;}
.posts-featured:last-child { margin-bottom:0;}
.featured-main { height: 100%; background: #fff;}
.featured-main .post-item { margin-bottom: 0;}
.featured-main .post-item .item-title { font-size: 1.9rem; line-height: 1.1; font-weight: 600;}
.featured-main .post-item .item-cats { margin-bottom: 1.5rem;}
.featured-main .post-item .item-meta { margin-top: 1.5rem;}
.featured-white { background: #fff; height: 100%; padding: 2rem;}
.posts-list .post-item { margin: 0; border-bottom:1px solid var(--text);}
.posts-list .post-item .item-entry { padding: 1.4rem 1rem;}
.posts-list .post-item:first-child .item-entry { padding-top: 0;}
.posts-list .post-item .item-cats { margin-bottom: 0.75rem;}
.posts-list .post-item .item-meta { margin-top: 0.75rem;}
.related-section { margin-top: 5.5rem;}
.block-title { margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom:1px solid var(--text);}
h2.block-title { font-size: 2.75rem; margin: 0;}
.owl-posts .post-item { margin: 0; height: 100%;}
.wp-pagenavi { display: flex; flex-wrap:wrap; justify-content: center; margin-top: 1rem;}
div.wp-pagenavi a, div.wp-pagenavi span { display: block; width: 2.5rem; height: 2.5rem; border:none; background:none; border-radius:0; text-align: center; font-size:1rem; line-height: 2.5rem; font-weight: 600; margin: 0 0.25rem 0.5rem; padding: 0; transition: none;}
div.wp-pagenavi a:hover , div.wp-pagenavi span.current { color:#fff; background:var(--primary);}
.wp-pagenavi a.previouspostslink .ico, .wp-pagenavi a.nextpostslink .ico { font-size: 1.2rem; line-height: 2.5rem;}

.industry-item .item-entry { padding-top: 1.7rem;}
.industry-item .item-title { font-size: 1.5rem;}

/* contact */
.page-template-page-contact .hero-section .hero-entry { margin-left: auto; margin-right: auto;}
.page-template-page-contact .hero-section .page-title { text-align: center;}
.page-template-page-contact .hero-section .cube { display: none;}
.contacts-section .section-head { max-width: 27.5rem;}
.contacts-data { max-width: 19.2rem;}
.contact-item { font-weight: 500; color:var(--dark-text); margin-bottom: 1.5rem;}
.contact-item .item-title { margin-bottom: 0.75rem;}
.contact-item .item-entry { display: flex;}
.contact-item .item-entry .ico { display: block; width: 1.2rem; line-height: 1.35rem; text-align: center; font-size:1.2rem; color:var(--primary); margin-right: 0.5rem;}
.contact-item:last-child { margin-bottom: 0;}
.contacts-section .socials { margin-top: 1.5rem;}
.map-block iframe { width: 100%; display: block;}
.get-touch-block { display: flex; flex-direction: column; height: calc(100% - 1.5rem); color:var(--dark-text); padding: 3rem; margin-bottom: 1.5rem;}
.get-touch-block h2 { font-size: 2.75rem; margin-bottom: 1rem;}
.get-touch-block .entry-content { margin-bottom: 1.5rem;}
.get-touch-contacts { margin-top: auto;}
.get-touch-contacts dl { display: flex; justify-content: space-between; margin-bottom:2rem;}
.get-touch-contacts dl dt { font-weight: 400;}
.get-touch-contacts dl dd { margin-bottom: 0;}
.get-touch-contacts .btn-underline { font-weight: 400;}
.get-touch-block .entry-content:last-child, .get-touch-contacts dl:last-child { margin-bottom: 0;}

/* services */
.services-list { margin-bottom: -1.5rem;}
.service-item { display: flex; flex-direction: column; height:calc(100% - 1.5rem); margin-bottom: 1.5rem;}
.service-item .item-entry { background: #fff; padding: 2rem; flex:1 1 100%;}
.service-item .item-thumb { padding-bottom: 53.7%;}
.service-item .item-thumb img { transition:all 0.2s ease;}
.service-item .caption-flex { display: flex; align-items: center; min-height: 3.3rem;}
.service-item .caption-flex .ico { display: block; flex-shrink: 0; width: 2.6rem; height: 2.6rem; margin-left: auto; background: var(--gray-bg); color:var(--gray); text-align: center; font-size: 1.2rem; line-height: 2.6rem; transition:all 0.2s ease;}
.service-item .caption-flex .ico:before { display: block; transition:all 0.2s ease;}
.service-item .caption-flex .caption { margin-right: 0.5rem;}
.service-item .item-text { margin-top: 1rem;}
.service-item.item-type-1 .item-entry { padding-bottom: 1.7rem; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical;}
.service-item.item-type-1:hover .caption-flex .ico { background: var(--primary); color:#fff;}
.service-item.item-type-1:hover .caption-flex .ico:before { transform:rotate(90deg);}
.service-item.item-type-1:hover .item-thumb img { height: calc(100% - 0.5rem); border-bottom:0.5rem solid var(--primary);}
.service-item.item-type-2 .item-entry { padding-top: 1.7rem; display: flex; flex-direction: column;}
.service-item.item-type-2 .item-text { margin-bottom: 1.5rem;}
.service-item.item-type-2 .actions-flex { display: flex; justify-content: space-between; align-items:center; margin-top: auto;}
.service-item.item-type-2 .btn-primary { padding: 0.8rem 1rem;}
.service-item .btn-arrow { display: inline-flex; align-items: center; color:var(--gray); font-size:1rem; font-weight: 600; padding:0;}
.service-item .btn-arrow .ico { font-size: 1.1rem; margin-left: 0.5rem;}
.service-item .btn-arrow:hover { color:var(--primary);}

/* image + text */
.bg-grid { background-image:url(assets/img/gray-bg.png); background-repeat: no-repeat; background-position: bottom right; background-size: cover;}
.col-link { margin: 1.5rem 0 0;}
.image-text-section.section-type-4 .section-col-image .image-wrap, .image-text-section.section-type-5 .section-col-image .image-wrap, .faqs-section .section-col-image .image-wrap { max-width: 28.3rem;}
.image-wrap { display: block; position: relative; width: 100%;}
.image-wrap img { display: block; margin: 0; width: 100%;}
.image-wrap .image-caption { display:flex; align-items: center; position: absolute; right:0; bottom:0; background: var(--primary); color:#fff; font-weight:600; width: 11rem; min-height: 11rem; padding: 2rem; z-index: 1;}
.image-wrap .image-big-icon { display: block; position: absolute; right:0; bottom:0; background: #fff; width: 11rem; height: 11rem; padding: 1.3rem 0 0 1.3rem; font-size: 9.7rem; text-align: center; line-height: 9.7rem; color:var(--blue); z-index: 1;}
.section-image-right .section-col-image .image-wrap { float:right;}
.section-image-right .image-wrap .image-big-icon { right:auto; left:0; transform:rotate(90deg);}
.section-image-right .image-wrap .image-caption { right:auto; bottom:0;}
.image-text-section.section-type-5 .section-col-text, .image-text-section.section-with-quote .section-col-text { padding-bottom: 4rem;}
.image-text-section.section-type-5:before { content:''; display: block; position: absolute; bottom:0; height:var(--cube-size); width: 29.5rem; background: #fff; z-index: 1;}
.image-text-section.section-image-left.section-type-5:before { left:0;}
.image-text-section.section-image-right.section-type-5:before { right:0;}
.image-text-section.section-type-5 .image-wrap:before, .image-text-section.section-type-5 .image-wrap:after { content:''; display: block; position: absolute; top:var(--cube-size); width: var(--cube-size); height: var(--cube-size); z-index: 1;}
.image-text-section.section-type-5 .image-wrap:before { right:0; background: var(--gray-bg);}
.image-text-section.section-type-5 .image-wrap:after { left:100%; background: #fff;}
.image-text-section.section-image-left.section-type-5 .image-wrap:before { left:0; right:auto;}
.image-text-section.section-image-left.section-type-5 .image-wrap:after { right:100%; left:auto;}
.image-text-section.section-type-2 .section-col .section-head, .image-text-section.section-type-3 .section-col .section-head { margin-bottom: 1rem;}   
.image-text-section.section-type-2 .section-col .section-subtitle, .image-text-section.section-type-3 .section-col .section-subtitle { font-size: 1.5rem; font-weight: 600; line-height: 1.1;}
.image-text-section.section-image-shadow .image-wrap img { position: relative; z-index: 1;}
.image-text-section.section-image-shadow .image-wrap:before { content:''; display: block; position: absolute; width: 100%; height: 100%; background: var(--primary); right:-0.5rem; bottom:-0.5rem; z-index: 0;}
.image-text-section .num-step { display: block; font-size: 7rem; line-height: 5rem; font-weight: 700; color:#fff; text-shadow:-1px -1px 0 var(--primary), 1px -1px 0 var(--primary), -1px  1px 0 var(--primary), 1px  1px 0 var(--primary); margin-bottom: 1.5rem;}
.image-text-section.gray-section .num-step { color:var(--gray-bg);}
.cube-play { display: block; position: absolute; right:0; bottom:0; width: 5.5rem; height: 5.5rem; background: var(--primary); z-index: 1;}
.cube-play:before { content:''; display: block; position: absolute; left:50%; top:50%; transform:translate(-40%,-50%); border-left:0.9rem solid #fff; border-top:0.55rem solid transparent; border-bottom:0.55rem solid transparent;}
.block-quote { position:relative; background: rgba(255,255,255,0.4); padding: 3.6rem 2rem 3.6rem 6.4rem; color:var(--dark-text);}
.block-quote:before { content: "\e91d"; font-family:'icomoon'; display: block; position: absolute; top:3.2rem; left:2rem; font-size: 2.9rem; color:var(--primary);}
.block-quote .quote-author { text-align: right; color:var(--primary); text-transform: uppercase; margin-top: 0.5rem;}
.block-quote .quote-author:before { content:''; display: inline-block; margin-right: 0.75rem; margin-top: 0.65rem; width: 2.5rem; height: 1px; background: var(--primary); vertical-align: top;}
.text-digits { border-top:1px solid var(--gray-bg); padding-top: 2.5rem; margin-top: 2.5rem;}
.text-digits:first-child { margin-top: 0;}

/* multi section */
.multi-section-row + .multi-section-row { margin-top: 3.7rem;}
.multi-section-title { font-size: 1.9rem; margin-bottom: 1.5rem;}
@media (min-width: 992px) {
    .multi-section-row.section-image-left > .row { flex-direction: row-reverse;}
}

/* digits */
.digits-section .section-head { max-width: 38rem;}
.digit-item { position: relative; background: #fff; border:1px solid var(--gray-bg); padding: 2rem; height: calc(100% - 1.5rem); margin-bottom: 1.5rem;}
.digit-item:before { content:''; display: block; position: absolute; bottom:-1px; right:-1px; left:-1px; background: var(--primary); height: 0.25rem; opacity: 0;}
.digit-item:hover { background: rgba(225,230,233,0.25); border-color:transparent;}
.digit-item:hover:before { opacity: 1;}
.digit-item .icon, .digit-item-small .icon { display: block; width: 3rem; height: 3rem; margin-bottom: 3.4rem;}
.digit-item-small .icon { margin-bottom: 0.5rem;}
.digit-item .item-digit, .digit-item-small .item-digit { font-size: 2.75rem; line-height: 1.1; font-weight: 500; color:var(--dark-text);}
.digit-item .item-text, .digit-item-small .item-text { margin-top: 0.5rem;}
.digits-third-box .item-title { font-size:1.5rem; font-weight: 600;}
.digits-third-box .item-title mark { font-size: 2.75rem; font-weight: 700;}
.digits-third-box .item-text { max-width: 15rem;}

/* reviews */
.reviews-section { overflow: hidden;}
.owl-reviews .owl-dots { display: none;}
.review-item { background: #fff; border-bottom:0.1rem solid var(--blue); height: 100%;}
.review-item .item-inner { padding: 2rem;}
.review-item .review-author { margin-bottom: 1.5rem;}
.review-item .review-author .author-avatar { width: 3rem; height:3rem; flex-shrink:0; margin-right: 0.5rem;}
.review-item .review-author .author-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 50%;}
.review-item .author-entry { flex: 1 1 100%;}
.review-item .author-name { font-size: 1.2rem; line-height: 1.3; font-weight:500; color:var(--dark-text); margin-bottom: 0.25rem;}
.review-item .item-meta { align-items: center;}
.review-item .item-meta .item-stars { display: flex; color:var(--gray-bg); font-size:0.9rem;}
.review-item .item-meta .ico-star { margin-right: 0.15rem;}
.review-item .item-meta .ico-star.active { color:var(--primary);}
.review-item .item-meta .item-date { margin-left: auto; font-size: 0.8rem;}

/* clients */
.client-item .logo-inner { display: block; position: relative; padding-bottom: 58.2%;}
.client-item .logo-inner img { display: block; position: absolute; top:0; left:0; width: 100%; height: 100%; object-fit: contain; object-position: center; opacity: 0.6; filter:grayscale(100%); transition:all 0.2s ease;}
.client-item .logo-inner:hover img { opacity: 1; filter:grayscale(0);}

.boxes-item { display: flex; flex-direction: column; position: relative; background: #fff; border:1px solid var(--gray-bg); padding:2rem; height: calc(100% - 1.5rem); margin-bottom: 1.5rem;}
.boxes-item .caption + .item-text { margin-top:0.5rem;}
.boxes-item .icon { width: 3rem; margin-bottom: 5rem;}
.boxes-item .box-head .icon { margin-bottom: auto; margin-right: 0.5rem; flex-shrink: 0;}
.boxes-item .box-head .caption { line-height:1;}
.boxes-item.box-type-2 .box-head { padding-bottom: 0.5rem; border-bottom:1px solid var(--blue); margin-bottom: 2.5rem;}
.boxes-item.box-type-3 .box-head { flex-direction: row-reverse; justify-content: space-between; margin-bottom: 4.2rem;}
.boxes-item.box-type-3 .box-head .icon { margin-right: 0; margin-left: 0.5rem; color:var(--primary);}
.boxes-item.box-type-3 .icon .ico { font-size: 3rem; line-height: 1;}
.section-type-about .boxes-item.box-type-3 .box-head { margin-bottom: 0.5rem;}
.section-type-about .boxes-item .item-text { margin-bottom: 4.8rem;}
.section-type-about .boxes-item>.icon { width: auto; margin-bottom: 0; margin-top: auto; text-align: center;}
.section-type-about .boxes-item>.icon img { height: 8rem; width:auto;}
.boxes-item:after { content:''; display: block; position: absolute; left:0; bottom:0; width: 100%; height: 0.25rem; background: var(--primary); opacity: 0;}
.boxes-item:hover { background: rgba(225,230,233,0.25); border-color:transparent;}
.boxes-item:hover:after { opacity: 1;}
.boxes-item.box-type-3:hover .icon .ico:before { content:'\e905';}
.gray-section .boxes-item { border:none;}
.gray-section .boxes-item:hover { background: #fff;}

/* how it works */
.how-works-section.gray-section:before { content:''; display: block; position: absolute; top:0; right:0; height: 100%; width: var(--cube-size); background: #fff; z-index: 1;}
.how-works-item { display: flex; flex-direction: column; position: relative; background: #fff; padding:5.25rem 2rem 0.75rem; height: calc(100% - 1.5rem); margin-bottom: 1.5rem;}
.how-works-item .num { display: block; position: absolute; top:-2.5rem; left:2rem; font-family: 'Oswald', sans-serif; font-size: 5.5rem; font-weight: 700; color:#fff; text-shadow:-1px -1px 0 var(--primary), 1px -1px 0 var(--primary), -1px  1px 0 var(--primary), 1px  1px 0 var(--primary);}
.how-works-item:before { content: "\e919"; font-family: 'icomoon'; display:block; position: absolute; right:2rem; top:2rem; font-size: 3rem; color:var(--primary);}
.how-works-item.how-works-item-4:before { content: "\e918"; transform:none; font-size: 3rem; padding: 0;}
.how-works-item .caption { margin-bottom: 0.75rem;}
.how-works-item .item-text { margin-bottom: 1rem;}
.how-works-item .icon { margin-top: auto; text-align: center;}
.how-works-item .icon img { height: 8rem; width:auto;}
.how-works-item:after { content:''; display: block; position: absolute; left:0; bottom:0; width: 100%; height: 0.25rem; background: var(--primary); opacity: 0;}
.how-works-item:hover .num { color:var(--primary);}
.how-works-item:hover:after { opacity: 1;}

/* capabilities */
.capabilities-table { margin: 0;}
.capabilities-table th { padding: 0 0.75rem 1rem; font-weight: 600;}
.capabilities-table td { padding: 0.75rem; border-width: 1px 0;}
.capabilities-table th:first-child, .capabilities-table td:first-child { padding-left: 0.75rem;}
.capabilities-table th:last-child, .capabilities-table td:last-child { padding-right: 0.75rem;}
.capabilities-table .ico { position: relative; top:1px; margin-right: 0.35rem; color:var(--gray);}

/* photos carousel */
.photo-carousel-section { overflow: hidden;}
.photo-carousel-section .section-head .section-subtitle { max-width: 38.75rem;}
.owl-photos { display: flex; margin-left: -0.75rem; margin-right: -0.75rem;}
.owl-photos.owl-loaded { margin-left: 0; margin-right: 0;}
.owl-photos .owl-stage-outer { margin-right: calc(35rem - 50vw); padding-right: calc(50vw - 35rem);}
.owl-photos>.item { width: 33.33%; padding:0 0.75rem;}
.photo-item { padding-bottom: 80.5%; position: relative;}
.photo-item img { display: block; position: absolute; left:0; top:0; width: 100%; height: 100%; object-fit: cover; object-position: center;} 
.photo-item.sert-item { padding: 0;}
.photo-item.sert-item img { position: relative; height: auto; left:auto; top:auto;}
.owl-photos .owl-nav { display: flex; position: absolute; right:0; top:-5.3rem;}
.owl-photos.owl-carousel .owl-nav button.owl-next, .owl-photos.owl-carousel .owl-nav button.owl-prev { position:relative; top:auto; left:auto; right:auto; transform:none; margin-left: 2rem;}

/* team */
.team-item { margin-bottom: 1.5rem;}
.team-item.item-thumb { padding-bottom: 128%;}
.team-info { display: flex; flex-direction: column; justify-content: center; height: calc(100% - 1.5rem); padding: 0 10%; margin-bottom: 1.5rem;}
.team-info .team-num {display: block; font-size: 7rem; line-height: 5rem; font-weight: 700; color:#fff; text-shadow:-1px -1px 0 var(--primary), 1px -1px 0 var(--primary), -1px  1px 0 var(--primary), 1px  1px 0 var(--primary);}
.gray-section .team-info .team-num { color:var(--gray-bg);}
.team-info .team-num-caption { font-size: 1.2rem; line-height: 1.1; margin-top: 0.75rem; color:var(--primary)}
.team-info .team-text { margin-top: 1.5rem; color:var(--dark-text);}

/* faqs */
.side-tabs { border:none; display: block;}
.side-tabs li+li { margin-top: 0.2rem;}
.side-tabs .nav-link { display: flex; position: relative; padding: 1.075rem 3rem 1.075rem 1.5rem; font-size: 1rem; line-height: 1.35; font-weight:600; background: #fff; color:var(--dark-text); border:none; border-radius: 0; cursor: pointer;}
.side-tabs .nav-link .icon { display: block; width: 1.35rem; height: 1.35rem; margin-right: 0.5rem;} 
.side-tabs .nav-link .icon .icon-hover { display: none;}
.side-tabs .nav-link:after { content:'\e91c'; font-family: 'icomoon'; display: block; position: absolute; right:1.5rem; top:50%; transform:translateY(-50%) rotate(90deg); color:#fff; font-size:1rem; opacity: 0; font-weight: 400;}
.side-tabs .nav-link:hover, .side-tabs .nav-link.active { background: var(--primary); color:#fff;}
.side-tabs .nav-link:hover .icon .icon-hover+img, .side-tabs .nav-link.active .icon .icon-hover+img { display: none;}
.side-tabs .nav-link:hover .icon .icon-hover, .side-tabs .nav-link.active .icon .icon-hover { display: block;}
.side-tabs .nav-link.active:after { opacity:1;}

.accordion-wrap { border-top:1px solid var(--text);}
.acc-item { border-bottom:1px solid var(--text);}
.acc-item .acc-title { display: flex; align-items: center; justify-content:space-between; padding: 0.6rem 0; min-height: 3.8rem; font-size: 1.2rem; line-height: 1.3; font-weight: 500; color:var(--text);}
.acc-item .acc-toggler { display: block; flex-shrink: 0; width: 2.6rem; height: 2.6rem; margin-left: 0.5rem; text-align: center; line-height: 2.6rem; color:var(--primary); transition:all 0.2s ease;}
.acc-item .acc-title.collapsed .acc-toggler { color:var(--gray); transform:rotate(90deg);}
.acc-item .acc-body { padding-right: 1rem; padding-bottom: 1.6rem;}

/* materials */
.groups-list { list-style: none; padding: 0; margin-bottom: 2rem;}
.groups-list li a { display: flex; align-items: center; background: #fff; color:var(--dark-text); font-size:1rem; font-weight: 600; padding: 1rem 1.5rem; margin-bottom: 0.2rem;}
.groups-list li a .ico { font-size: 0.9rem; margin-right: 0.75rem; opacity: 0; transition:all 0.2s ease;}
.groups-list li a:hover { background: var(--primary); color:#fff;}
.groups-list li a:hover .ico { opacity: 1;}
.materials-block { margin-bottom: 7rem;}
.materials-block h2 { font-size:2.75rem; margin-bottom: 2.5rem;}
.materials-block .materials-table { margin-bottom: 2.5rem;}
.materials-block:last-child, .materials-block > :last-child { margin-bottom:0;}
.materials-table th, .materials-table td { border-left:none; border-right: none;}
.materials-table td { vertical-align: middle;}
.materials-table .item-thumb:before { content:''; display: block; position: absolute; left:0; top:0; width: 0.15rem; height: 100%; background: var(--primary); z-index:1;}
.cell-flex { display: flex; align-items: center; gap:1rem;}
.materials-table .item-thumb { width: 6rem; height: 6rem; padding: 0; flex-shrink: 0;}
.materials-table .cell-caption, .materials-table .cell-price { font-weight: 600;}
.materials-table .cell-price { text-align: right;}
.materials-table tr:hover td { background: #fff;}
.offers-table-section table { margin-bottom: 0;}

/* quote section */
.quote-section { background-image: url(assets/img/quote-bg.jpg); background-repeat: no-repeat; background-position: center; background-size: cover;}
.quote-section.blue-light-section { background-image: url(assets/img/quote-blue-bg.jpg);}
.consult-block .section-head { margin-bottom: 1.5rem;}
.consult-block .item-text { max-width: 21rem;}
.consult-block .block-actions { display: flex; flex-wrap:wrap; margin-top:2.5rem;}

/* form */
.form-block { background: rgba(225, 230, 233, 0.4); padding: 2rem; margin-bottom:1.5rem;}
.gray-section .form-block { background: #fff;}
.form-block h2 { font-size: 2.75rem;}
.form-section .form-block { height: calc(100% - 1.5rem);}
.form-group { position: relative; margin-bottom: 1.5rem;}
.form-control { background: #fff; color:var(--text); border:1px solid #ededed; font-size: 0.9rem; line-height: 1.2rem; font-weight: 400; padding: 1rem; height:calc(3.2rem + 2px); border-radius: 0.5rem; transition:all 0.2s ease;}
.form-control:focus { border-color:var(--primary); outline: none; box-shadow: none;}
.form-control:disabled,.form-control[readonly]{background-color:#fff;color:rgba(68,68,68,0.5);}
.gray-section .form-block .form-control { background:#f4f6f8;}
textarea.form-control { height:7.25rem;}
.form-group.group-with-icon .form-control { padding-left: 2.3rem;}
.form-group .ico { display: block; position: absolute; left:1rem; top:1.15rem; font-size: 1rem; line-height: 1rem; width: 1rem; text-align: center; color:#999; z-index: 1;}
.file-upload { display:block; position:relative; cursor:pointer; height:3.5rem; line-height:1.5rem; width:100%; background:var(--gray-bg); vertical-align:top; border-radius: 0.5rem;}
.file-upload .button, .file-upload .mark { display:block; cursor:pointer}
.file-upload .button { content: "\e913"; position: absolute; width: 1.5rem; height: 1.5rem; left:1rem; top:50%; transform:translateY(-50%); background: var(--primary); color:#fff; border-radius: 50%; font-size: 0.7rem; text-align: center;}
.file-upload .button:before { content: "\e913"; font-family: 'icomoon';}
.file-upload .mark { padding:1rem 1rem 1rem 2.85rem; background:transparent; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; position:relative;}
.file-upload .mark.default { opacity:0.5;}
.file-upload .input-file { position:absolute; top:0; opacity:0; width:100%; height:100%; cursor:pointer; z-index: 1;}
.form-note { font-size: 1rem; margin-top: 0.5rem; color:#999;}
.submit-group { position: relative;}
.submit-group .btn-primary { width: 100%; line-height: 1.5rem; padding: 1rem 2rem;}
.submit-group .btn .ico-check { margin-right: 0.4rem;}
.submit-group-cubes { margin-top: 5rem;}
.submit-group-cubes:before, .submit-group-cubes:after { content:''; display: block; position: absolute; bottom:0; width:var(--cube-size); height: var(--cube-size);}
.submit-group-cubes:before { right:-2rem; background: #fff;}
.submit-group-cubes:after { left:calc(100% + 2rem); background: var(--blue);}
.gray-section .submit-group-cubes:before { background: var(--blue);}
.gray-section .submit-group-cubes:after { background: #fff;}
.submit-wrap { position: relative;}
.submit-wrap .wpcf7-spinner { position: absolute; left:1rem; top:50%; width: 1.5rem; height: 1.5rem; margin-top: -0.75rem;}
.form-control.wpcf7-not-valid { border-color:red;}
span.wpcf7-not-valid-tip { display: none !important;}
div.wpcf7 form .wpcf7-response-output { margin: 1.5rem 0 0; border-radius: 0;}
.cpt { display: none !important;}

/* 404 */
.section-404 { display: flex; align-items: center; background:#f3f5f6 url(assets/img/bg-404.png) no-repeat center; background-size: cover; height: 42.5rem;}
.content-404 { padding-top: 3.5rem; max-width: 35rem; margin-left: auto; margin-right: auto; text-align: center;}
.content-404 .actions-404 { margin-top: 1.4rem;}
.content-404 > :last-child { margin-bottom: 0;}

/* footer */
.page-footer { background: var(--blue); color:#fff; padding: 3rem 0 1rem; overflow: hidden;}
.page-footer a:hover { color:var(--primary)}
.footer-main { padding: 1rem 0;}
.footer-contacts { margin-top: 1.5rem; max-width: 16rem;}
.contact-row { display: flex; align-items: center; font-weight: 500; line-height: 1.3;}
.contact-row+.contact-row { margin-top: 1rem;}
.contact-row .ico { display: block; color:var(--primary); font-size: 1.2rem; line-height: 1.2rem; margin-right: 0.5rem; margin-bottom: auto;}
.socials { display: flex; flex-wrap:wrap; margin-bottom: -0.75rem;}
.socials a { display: flex; justify-content: center; align-items: center; width: 2.5rem; height: 2.5rem; border:1px solid var(--primary); color:var(--dark-text); text-align: center; font-size: 1.1rem; margin-right: 0.75rem; margin-bottom: 0.75rem;}
.socials a.social-x { font-size:0.9rem;}
.socials a.social-linkedin { font-size:0.8rem;}
.socials a:hover { color:var(--primary);}
.footer-left .socials { margin-top: 1.5rem;}
.footer-left .socials a { border-color:rgba(255,255,255,.2); color:#fff;}
.footer-left .socials a:hover { color:#fff; border-color:#fff;}
.footer-menu { margin: 0 -1rem;}
.footer-menu>li { width: 25%; padding: 0 1rem;}
.footer-menu>li>a { display: block; font-size: 1.5rem; line-height: 1.1; font-weight: 600; cursor:default; pointer-events: none;}
.footer-menu>li>.sub-menu { padding: 0; list-style: none; margin: 1.5rem 0 0;}
.footer-menu>li>.sub-menu li+li { margin-top: 0.5rem;}
.footer-menu>li>.sub-menu li a { display: block; color:rgba(255,255,255,0.7);}
.footer-menu>li>.sub-menu li a:hover { color:var(--primary);}
.footer-bottom { border-top:1px solid rgba(255,255,255,0.1); padding: 1rem 0; margin-top: 1rem;}
.legal-links li+li { margin-left: 0.3rem; padding-left:0.35rem; position: relative;}
.legal-links li+li:before { content:''; display: block; position: absolute; left:0; top:50%; transform:translateY(-50%); width: 1px; height: 0.7rem; background: rgba(255,255,255,0.1);}

.modal-backdrop { background:#000;}
.modal-backdrop.show { opacity: 0.65;}
.modal-content { border:none; background: #fff; color:var(--text); border-radius:0; transition:all .3s ease-out;}
.modal-body { padding: 2rem;}
.modal-head { text-align: center; margin-bottom: 2rem;}
.modal-title { font-size: 1.9rem; font-weight: 700; line-height: 1.3;}
.modal-subtitle { font-size: 1.2rem; line-height: 1.3; font-weight: 500; margin-top: 1rem;}
@media (min-width: 576px) {
    .modal .modal-dialog { max-width: 28.5rem;}
}

.to-top { position: fixed; cursor: pointer; transition: 0.5s; width: 3rem; height: 3rem; background: #fff; color:var(--text); font-size:1.8rem; text-align: center; z-index: 800; bottom:2.5rem; border-radius: 0; right: -5rem; animation-duration: 1s; animation-fill-mode: both; box-shadow: 0px 4px 30px 0px rgba(19, 28, 35, 0.2);}
.to-top .ico { display: block; line-height: 3rem; position: relative; left:-0.05em;}
.to-top:hover { background: var(--primary); color:#fff;}
.to-top.active { right: 2.5rem;}

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: none;
  }
}
.bounceInRight {
  animation-name: bounceInRight;
}

@media (min-width: 992px) {
    .row.gutter-60 { --bs-gutter-x:3rem;}
    .col-lg-20 { width:20%;}
    
    .section.pt-40 { padding-top: 2rem;}
    .section.pb-40 { padding-bottom: 2rem;}
    .section.pt-80 { padding-top: 4rem;}
    .section.pb-80 { padding-bottom: 4rem;}
    .section.pt-120 { padding-top: 6rem;}
    .section.pb-120 { padding-bottom: 6rem;}
    .section.pt-160 { padding-top: 8rem;}
    .section.pb-160 { padding-bottom: 8rem;}
    .section.image-text-section.section-type-5, .image-text-section.section-with-quote { padding-bottom: 0;}
    
    .form-block-big { padding: 3rem;}
}

@media (min-width: 1200px) {
    .form-block-big { padding: 4rem;}
}
@media (max-width: 1280px) {
    :root{
	   --cube-size : 2.5rem;
    }
    
    .container, .container-lg, .container-md, .container-sm, .container-xl { max-width: 62rem;}
    
    .owl-carousel .owl-nav button.owl-prev { left:-5rem;}
    .owl-carousel .owl-nav button.owl-next { right:-5rem;}
    
    .page-header .header-inner { padding: 0 3rem;}
    .main-menu li a { padding:1.65rem 1rem 1.5rem; }
    .main-menu>li>a:before { left:1rem;}
    .main-menu>li.current-menu-item>a:before, .main-menu>li.current-menu-ancestor>a:before, .main-menu>li:hover>a:before { width: calc(100% - 2rem);}
    .main-menu>li>.sub-menu { padding: 1.1rem 0;}
    .main-menu .sub-menu li a { padding: 0.375rem 1rem;}
    .main-menu .services-menu-item>.sub-menu { padding:0.5rem 0;}    

    .home-benefits-section { padding: 1.25rem 0 1.25rem var(--cube-size);}
    .image-text-section.section-type-5:before { width: 20rem;}
    .service-item.item-type-2 .btn-primary, .service-item.item-type-2 .btn-arrow { font-size: 0.8rem;}
    .service-item.item-type-2 .btn-primary { padding-left: 0.75rem; padding-right: 0.75rem;}
    .service-item.item-type-2 .btn-arrow .ico { font-size: 1rem;}
    
    .owl-photos .owl-stage-outer { margin-right: calc(30.5rem - 50vw); padding-right: calc(50vw - 30.5rem);}
    
    .featured-white, .widget { padding: 1.5rem 1rem;}
    
    .get-touch-block { padding: 2rem;}
    
    .section-404 { height: 35rem;}
    
    .footer-menu>li>a { font-size: 1.3rem;}
}

@media (min-width: 576px) and (max-width: 991px) {
    .container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {--bs-gutter-x:6vw;}
}

@media (max-width: 991px) {
    html { font-size:20px;}
    body { font-size: 0.7rem;}    
    h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { margin-bottom:1rem;}
    h1, .h1, .section-title, .form-block h2, .get-touch-block h2 { font-size: 1.7rem; font-weight: 700;}
    h2, .h2 { font-size: 1.5rem;}
    h3, .h3 { font-size: 1.2rem;}
    h4, .h4 { font-size: 1rem;}
    h5, .h5 { font-size: 0.9rem;}
    h6, .h6 { font-size: 0.8rem;}
    .page-title { font-size: 2rem;}
    
    .btn, .arrow-link { font-size:0.8rem; line-height:1rem;}
    .btn .ico { font-size: 1rem;}
    .btn-underline .ico { font-size: 1.1rem;}
    .cube { display: none;}
    
    .owl-carousel .owl-nav { display: none;}
    .owl-carousel .owl-dots { margin-top: 1.5rem;}
    
    #wrapper { padding-top: 3rem;}
    .page-header .header-inner { padding: 0 3vw; height: 3rem;}
    .navbar-brand { width: 8.2rem;}
    #navi { display: block !important; background:#fff; position: absolute; top:calc(100% - 0.1rem); left:0; width:100%; padding: 0; max-height:0; height: calc(100vh - 2.9rem); overflow: auto; transition:all 0.2s ease; z-index: 300;}    
    #navi.show { max-height: 100vh;}
    .admin-bar #navi { height: calc(100vh - 2.9rem - 32px);}
    .navi-inner { display: flex; flex-direction: column; min-height:100%; padding: 0 1rem 1.3rem;}
    .mobile-menu { list-style: none; position: relative;}
    .mobile-menu li a { display: block; position: relative;}
    .mobile-menu>li>a { font-size: 0.8rem; line-height:1.1rem; padding: 1rem 0; font-weight: 600; border-bottom:1px solid var(--gray-bg);}
    .mobile-menu li.current-menu-item a, .mobile-menu>li.menu-item-has-children.opened>a { color:var(--primary);}
    .mobile-menu>li.current-menu-item>a:before, .mobile-menu>li.menu-item-has-children.opened>a:before { content:''; display: block; position: absolute; width: 4.2rem; height:0.1rem; bottom:-1px; left:0; background: var(--primary);}
    .mobile-menu>li.menu-item-has-children>a:after { content:'\e90a'; font-family: 'icomoon'; display: block; position: absolute; right:0; top:50%; transform:translateY(-50%) rotate(0); font-size: 1.2rem; transition:all 0.2s ease;}
    .mobile-menu>li.menu-item-has-children.opened>a:after { transform:translateY(-50%) rotate(-180deg);}
    .mobile-menu .sub-menu { display: none; list-style: none; margin: 0; width: 78%; padding:0.7rem 0; border-bottom:1px solid var(--gray-bg);}
    .mobile-menu .sub-menu li a { font-size:0.7rem; line-height: 0.9rem; padding: 0.375rem 0;}
    .mobile-menu li.opened>.sub-menu { display: block;}
    .header-button { position: relative; right:auto; top:auto; background:none; width:auto; padding-left:0; margin-top: 1.5rem;}
    .header-button .btn-header-quote { padding:1rem 1.5rem;}
    
    .hero-section { min-height:15rem; height: auto;}
    .hero-section.hero-with-bg { min-height: 20rem;}
    .hero-section.hero-with-bg:before { display: none;}
    .hero-section.hero-gradient .hero-overlay { background: linear-gradient(90deg, #00235A 32.24%, rgba(0, 35, 90, 0.3) 100%);}
    .hero-section .hero-entry { padding-top:2rem; min-height: 14.5rem; padding-bottom: 2rem;}
    .hero-section.hero-with-bg .hero-entry { min-height: 17.5rem;}
    .hero-section .page-subtitle { margin-top:0.75rem;}
    .hero-section.home-hero-section { min-height: 23rem;}
    .home-hero-section .hero-entry { padding:4rem 0 8.1rem;}
    .breadcrumbs { font-size:0.8rem; margin-bottom:1.2rem;}
    .breadcrumbs .sep { margin: 0 0.3rem;}
        
    .home-benefits-section { height: 3.5rem; padding: 1.75rem 0;}
    .benefits-list .row {--bs-gutter-x: 0.5rem;}
    .benefit-item .item-inner { padding:0.75rem;}
    .benefit-item .icon { margin-bottom: 0.35rem;}
    .benefit-item .caption { font-size: 0.9rem;}
    
    .section { padding: 2.5rem 0;}
    .section-title { font-size: 1.7rem;}
    .section-subtitle { margin-top: 0.75rem;}
    .section-subtitle.st-border .subtitle-inner { border-left-width:0.15rem; padding-left: 1rem;}
    .section-head.text-end { margin-left: auto;}
    .section-head.text-end .section-subtitle.st-border .subtitle-inner { border-right-width:0.15rem; padding-right: 1rem;}
    .section-head .section-subtitle.subtitle-big { font-size: 1rem;}
    .section-head { margin-bottom: 1.5rem;}
    .section-head-row { display:block; margin-bottom: 1.5rem;}
    .section-head-row .section-title { width: auto;}
    .section-head-row .section-subtitle { width: auto; margin-top: 0.75rem;}
    .section-head-row .section-subtitle.st-border .subtitle-inner { height: 3rem;}
    .caption { font-size: 1.2rem;}
    .third-box { max-width: 25rem; margin-left: auto; margin-right: auto;}
    .block-mt { margin-top: 1.5rem;}
    
    .blog-heading { padding-bottom: 1rem;}
    .blog-heading .cats-select { width: 14rem;}
    .cats-select select { height:2rem; font-size: 0.9rem; padding-right:1.5rem; background-size:1.1rem;}
    .post-item .item-entry { padding: 1rem;}
    .post-item .item-title, .item-author { font-size: 1rem;}
    .item-cats { padding:0.2rem 0 0.2rem 0.7rem; font-size: 0.9rem;}
    .post-item .item-cats { margin-bottom: 0.75rem;}
    .post-item .item-meta { font-size:0.8rem; margin-top:0.75rem;}
    .post-item .item-date .ico, .more-link .ico, .item-author .ico { font-size: 1.1rem;}
    .industry-item .item-title { font-size: 1.2rem;}
    .more-link { font-size:0.8rem;}
    .posts-featured { margin-bottom:2rem;} 
    .featured-main, .featured-white { height: auto; margin-bottom: 1.5rem;}
    .featured-white, .widget { padding: 2rem;}
    .featured-main .post-item .item-entry { padding: 2rem;}
    div.wp-pagenavi a, div.wp-pagenavi span { width: 2.3rem; height: 2.3rem; font-size:0.9rem; line-height: 2.3rem; margin: 0 0.2rem 0.4rem;}
    .wp-pagenavi a.previouspostslink .ico, .wp-pagenavi a.nextpostslink .ico { font-size: 1.1rem; line-height: 2.3rem;}
    
    .single-post .hero-section.hero-gradient .hero-overlay { background: linear-gradient(90deg, #00235A 32.24%, rgba(0, 35, 90, 0) 68%);}
    .section.single-section { padding-top: 1.5rem;}
    .single-section .breadcrumbs { margin-bottom: 2rem;}
    .block-title { padding-bottom: 1rem;}
    h2.block-title { font-size: 1.7rem;}
    .single-head { margin-bottom: 1rem; padding-bottom: 1rem;}
    .single-date { font-size: 0.7rem;}    
    .single-date .d-month { width: 5rem;}
    .single-date.date-image .d-day { font-size: 1.5rem; line-height: 1.75rem; padding: 1.25rem 1rem;}
    .entry-content h2 { margin-top: 1.5rem;}
    .entry-content p, .entry-content ul, .entry-content ol { margin-bottom:1rem;}
    .entry-content ul li, .text ul li { padding-left: 1.5rem;}
    .entry-content ul li:before, .text ul li:before { font-size: 0.7rem;}
    .entry-content ol li, .text ol li  { padding-left: 1rem;}
    .entry-content ol li:before, .text ol li:before  { font-size:0.8rem;}
    .entry-content blockquote, .text blockquote { padding-left:3rem; min-height:2rem; margin-bottom:1rem;}
    .entry-content blockquote:before, .text blockquote:before { font-size: 2rem;}
    .entry-content img, .gallery .gallery-item { margin-bottom: 1rem;}
    .alignleft { margin: 0 1rem 1rem 0;}
    .alignright { margin: 0 0 1rem 1rem;}
    .aligncenter { margin: 0 auto 1rem;}
    .share-block { margin-top: 1rem; padding-top: 1rem;}
    
    .sidebar-sticky { position: relative; top:auto; margin-bottom: 0;}
    .admin-bar .sidebar-sticky { top:auto;}
    .related-section { margin-top: 2rem;}
    
    .widget-title { padding-bottom: 1rem; font-size: 1.2rem; line-height: 1.3;}
    .widget-title:after { font-size: 1.1rem; line-height: 1.56rem;}
    .widget_categories ul li { margin-bottom: 1rem;}
    
    .service-item .item-entry { padding:1rem 0.75rem;}
    .service-item.item-type-1 .item-entry { padding-bottom: 1rem;}
    .service-item.item-type-2 .item-entry { padding-top: 1rem;}
    .service-item .caption-flex { min-height: 2.6rem;}
    .service-item .caption-flex .ico { width: 2.3rem; height: 2.3rem; font-size: 1.1rem; line-height: 2.3rem;}
    .service-item .item-text { margin-top: 0.75rem;}
    .service-item.item-type-1:hover .item-thumb img { height:100%;}
    .service-item.item-type-2 .item-text { margin-bottom: 1rem;}
    .service-item.item-type-2 .actions-flex { flex-direction: column;}
    .service-item.item-type-2 .actions-flex .btn-primary { width: 100%;}
    .service-item.item-type-2 .actions-flex .btn-arrow { margin-top: 0.75rem;}
    
    .bg-grid { background-size: auto;}
    .section .col-last { margin-top: 1.5rem;}
    .section-col-image .image-wrap { margin-left: auto; margin-right: auto;}
    .col-link { margin-top: 1rem;}
    .section-image-right .section-col-image .image-wrap { float:none;}
    .image-text-section.section-type-5 .section-col-text, .image-text-section.section-with-quote .section-col-text { padding-bottom: 0;}
    .cube, .image-text-section.section-type-5 .image-wrap:before, .image-text-section.section-type-5 .image-wrap:after, .image-text-section.section-type-5:before { display: none;}
    .image-text-section.section-type-2 .section-col .section-subtitle, .image-text-section.section-type-3 .section-col .section-subtitle { font-size:1.2rem;}
    .image-text-section .num-step { font-size: 5.5rem; line-height: 4.5rem; margin-bottom: 1rem;}
    .block-quote { padding:2rem 2rem 2rem 5rem;}
    .block-quote:before { font-size: 2rem; top:1.8rem;}
    .text-digits { margin-top: 1.5rem; padding-top: 1.5rem;}
    .multi-section-row + .multi-section-row { margin-top: 2.5rem;}
    .multi-section-title { font-size: 1.5rem;}
    
    .owl-reviews .owl-dots { display: flex;}
    
    .how-works-section.gray-section:before { display: none;}
    .how-works-section .section-head { margin-bottom: 2rem;}
    
    .materials-block { margin-bottom: 4rem;}
    .materials-block h2 { font-size:1.7rem; margin-bottom: 1.5rem;}
    .materials-table { margin-bottom: 1.5rem;}
    
    .owl-photos { margin: 0;}
    .owl-photos .owl-stage-outer { margin-right: -3vw; padding-right: 3vw;}
    .owl-photos .item { width: 40vw; padding: 0;}
    .owl-photos>.item { margin-right:1.5rem;}
    
    .team-info { padding: 0;}
    .team-info .team-num { font-size: 5rem; line-height: 4rem;}
    .team-info .team-num-caption { font-size: 1rem; line-height: 1.3;}
    .team-info .team-text { margin-top:0.75rem;}
    
    .submit-group-cubes { margin-top:0;}
    .submit-group-cubes:before, .submit-group-cubes:after { display: none;}
    
    .contact-item .item-entry .ico { line-height: 1;}
    .map-block iframe { height: 18rem;}
    
    .section-404 { height: 24rem;}
    
    .page-footer { padding: 0;}
    .footer-main { padding:2rem 0;}
    .footer-contacts { font-size: 0.8rem; max-width:none;}
    .footer-menu>li { margin-top: 2rem;}
    .footer-menu>li>a { font-size: 1.2rem;}
    .footer-menu>li>.sub-menu { margin: 0.75rem 0 0;}
    .footer-menu>li>.sub-menu li a { line-height: 0.95rem;}
    .footer-bottom { margin-top:0;}
    
    .modal-title { font-size: 1.5rem;}
    .modal-subtitle { font-size: 1rem;}
    
    .to-top { bottom: 1.5rem; width:2rem; height:2rem; font-size: 1.3rem;}
    .to-top.active { right:1.5rem;}
    .to-top .ico { line-height: 2rem;}
}

@media (max-width: 782px) {
    .admin-bar .page-header { top:46px;}
}

@media (max-width: 767px) {
    .featured-main .post-item .item-title { font-size: 1.2rem; line-height: 1.3; font-weight: 500;}
    
    .section-head { margin-bottom: 1rem;}
    .small-title { font-size: 1rem;}
    
    .benefit-item .icon { width: 2rem; height: 2rem; margin-bottom: 0.35rem;}
    .benefit-item .caption { font-size: 0.7rem;}
    
    .service-item.item-type-2 .actions-flex { flex-direction: row;}
    .service-item.item-type-2 .actions-flex .btn-primary { width:auto;}
    .service-item.item-type-2 .actions-flex .btn-arrow { margin-top:0;}
    .section-col .section-head { margin-bottom: 1rem;}
    .image-text-section.section-type-2 .section-col .section-head, .image-text-section.section-type-3 .section-col .section-head { margin-bottom: 0.75rem;}
    .block-quote { padding:1.5rem 1rem 1.5rem 4rem;}
    .block-quote:before { left:1rem; top:1.3rem;}
    .multi-section-title { margin-bottom: 1rem;}
    
    .digit-item .icon { margin-bottom: 2.5rem;}
    .digit-item .item-digit, .digit-item-small .item-digit { font-size: 1.7rem;}
    
    .review-item .item-inner { padding: 1rem;}
    .review-item .review-author { margin-bottom: 0.75rem;}
    .review-item .review-author .author-avatar { width: 2.5rem; height:2.5rem;}
    .review-item .author-name { font-size: 1rem; font-weight:400;}
    .review-item .item-meta .item-stars { font-size:0.8rem;}
    .review-item .item-meta .item-date { font-size: 0.7rem;}
    
    .boxes-item { padding: 1rem;}
    .boxes-item .icon { margin-bottom: 2.5rem;}
    .boxes-item.box-type-2 .box-head, .boxes-item.box-type-3 .box-head { margin-bottom:1.25rem;}
    .section-type-about .boxes-item .item-text { margin-bottom: 1rem;}
    .section-type-about .boxes-item>.icon img { height:6rem;}
    
    .how-works-item { padding:4rem 0.75rem 0.75rem;}
    .how-works-item .num { top:-2rem; left:0.75rem; font-size: 4rem;}
    .how-works-item:before { content: "\e91c"; font-size: 1.3rem; padding: 0.85rem; right:0.75rem; top:0.75rem; transform:rotate(90deg);}
    .how-works-item .caption { margin-bottom:0.5rem;}
    .how-works-item .item-text { margin-bottom:0.75rem;}
    .how-works-item .icon img { height:6rem;}
    
    .team-info { padding: 0 10%;}
    
    .faqs-section .section-col .section-head { margin-bottom: 1.5rem;}
    .acc-item .acc-title { padding: 0.5rem 0; min-height: 3rem; font-size: 1rem;}
    .acc-item .acc-toggler { width: 2.4rem; height: 2.4rem; line-height: 2.4rem;}
    .acc-item .acc-body { padding-right: 0; padding-bottom: 1.2rem;}
    .side-tabs .nav-link { padding: 0.9rem 2.5rem 0.9rem 1.25rem; font-size: 0.9rem;}
    .side-tabs .nav-link .icon { width: 1.3rem; height: 1.3rem;} 
    .side-tabs .nav-link:after { right:1.25rem;}
    
    .form-block, .get-touch-block { padding:1rem;}
    .get-touch-contacts dl { margin-bottom: 1rem;}
    .form-section .form-block { height:auto;}
    .form-group { margin-bottom:0.75rem;}
    .form-control { font-size: 0.7rem; line-height: 1rem; padding:0.7rem 0.75rem; height:calc(2.4rem + 2px);}
    .form-group.group-with-icon .form-control { padding-left: 2rem;}
    .form-group .ico { left:0.75rem; top:0.8rem; font-size:0.9rem; line-height:0.9rem; width: 0.9rem;}
    .file-upload { height:3rem; line-height:1rem;}
    .file-upload .button { left:0.75rem;}
    .file-upload .mark { padding:1rem 0.75rem 1rem 2.6rem;}
    .form-note { font-size: 0.7rem; margin-top: 0.25rem;}
    .submit-group .btn-primary { line-height: 1.1rem; padding: 0.9rem 1.5rem;}
    
    .consult-block .block-actions { margin-top:1.5rem;}
    
    .footer-menu>li { width: 50%;}
    .legal-links { margin-top: 0.5rem;}
}
@media (max-width: 575px) {     
    .page-header .header-inner { padding: 0 0.75rem;}  
    
    .home-hero-section .hero-entry { padding:2.5rem 0 8.1rem;}
    .home-benefits { max-width: 20rem;}
    .benefits-list { bottom:auto; top:50%; transform:translateY(-50%);}
    .benefits-list .col-6:nth-child(n+3) .benefit-item { margin-top: 0.5rem;}
    .benefit-item .caption { font-size: 0.9rem;}
    
    .section-head-row { margin-bottom: 1rem;}
    .section-head .section-subtitle.subtitle-big { font-size: 0.9rem;}
    .content-block, .white-block, .gray-block { padding: 1rem;}
    .third-box { margin-bottom: 1rem;}    
    .third-box .item-entry { padding: 1rem;}
    .third-box .item-title { font-size:1.5rem; margin-bottom:0.75rem;}
    
    .blog-heading .cats-select { width: 100%; margin-top: 1rem;}
    .post-item { margin-bottom: 1rem;}
    .posts-grid .post-item { height: calc(100% - 1rem);}
    .featured-white, .featured-main .post-item .item-entry { padding: 1rem;}
    .featured-main .post-item .item-title { font-size: 1rem;}
    .featured-main .post-item .item-cats { margin-bottom: 0.75rem;}
    .featured-main .post-item .item-meta { margin-top: 0.75rem;}
    .posts-list .post-item .item-entry { padding-left:0.5rem; padding-right: 0.5rem;}
    
    .white-block.single-content { padding-top: 3rem;}
    .single-date { left:1rem;}
    .single-date .d-day { padding: 0.5rem 1rem;}
    .single-date .d-month { padding: 0.5rem;}
    .share-block .addtoany_list .a2a_label { display: none !important;}
    
    .widget { padding:1rem;}
    .widget_categories ul li a { padding: 0 .5rem; font-size: 0.9rem;}
    
    .responsive-table, .responsive-table tbody, .responsive-table tr, .responsive-table td { display: block;}
    .responsive-table thead { display: none;}
    .responsive-table tr { border-bottom:1px solid var(--text); padding: 0.75rem 0;}
    .responsive-table tr:first-child { border-top:1px solid var(--text);}
    .responsive-table td { display: flex; border:none; padding: 0.25rem 0.75rem;}
    .responsive-table td:before { content:attr(data-caption); font-weight: 600; color:var(--dark-text); width: 50%; flex-shrink: 0; padding-right: 0.75rem;}    
    .responsive-table td.cell-price { text-align: left;} 
    .cell-flex { flex-direction: column; align-items: flex-start; gap:0.5rem;}
    
    .home-benefits-section + .services-section { padding-top: 11rem;}
    .services-list { margin-bottom: -1rem;}
    .service-item { height:auto; margin-bottom: 1rem;}
    .cube-play { width: 4rem; height: 4rem;}
    
    .list-wrapper { margin-bottom: -1rem;}
    .digit-item, .digit-item-small { display: flex; align-items: center; margin-bottom: 1rem;}
    .digit-item .icon, .digit-item-small .icon { flex-shrink: 0; width: 2rem; height: 2rem; margin: 0 0.75rem 0 0;}
    .digit-item .item-text, .digit-item-small .item-text { margin-top: 0.25rem;}
    .digit-item { padding: 1rem 0.75rem; margin-bottom: 1rem;}    
    .digits-third-box .item-title { font-size: 1.2rem;}
    .digits-third-box .item-title mark { font-size: 1.7rem;}
    
    .boxes-item { height: auto; margin-bottom: 1rem;}
    .boxes-item .icon { width:2rem;}
    .boxes-item.box-type-3 .icon .ico { font-size: 2rem;}
    
    .capabilities-table th { padding-bottom: 0.75rem;}
    
    .team-list>.row { --bs-gutter-x:1rem;}
    .team-item { margin-bottom: 1rem;}
    .team-info { padding: 0 5%; height: auto; margin-bottom: 1rem;}  
    .map-block iframe { height: 16rem;}
    
    .owl-photos .owl-stage-outer { margin-right: -0.75rem; padding-right: 0.75rem;}
    .owl-photos .item { width: 75vw;}
    
    .get-touch-contacts dl { display: block;}
    .get-touch-contacts dl dt { margin-bottom: 0.5rem;}
    
    .form-block { margin-bottom: 1rem;}
    
    .modal-body { padding:1rem;}
    .modal-head { margin-bottom: 1rem;}
}
@media (max-width: 420px) {     
    html { font-size:5.333vw;}
    
    .benefit-item .caption { font-size: 0.7rem;}
    .home-benefits-section + .services-section { padding-top: 9rem;}
    
    .image-wrap .image-caption { width: 9.5rem; min-height:9.5rem; padding:1rem;}
}
@media (max-width: 360px) {     
    html { font-size:6.25vw;}
    .home-benefits-section + .services-section { padding-top: 8rem;}
    .service-item.item-type-2 .btn-primary, .service-item.item-type-2 .btn-arrow { font-size: 0.7rem;}
    .service-item.item-type-2 .btn-primary { padding-left: 0.6rem; padding-right: 0.6rem;}
    .service-item.item-type-2 .btn-arrow .ico { font-size:0.9rem;}
    .image-wrap .image-caption { width: 8rem; min-height:8rem;}
}