/*
Theme Name: USTR
Author: PuprleCode
Description: Dedicated theme.
Version: 1.0.0
*/

@import url(https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,700,700italic,900,500&subset=latin,latin-ext);

html,
body {
  width: 100%;
  margin: 0;
}

*,
*:hover,
*:focus {
  outline: 0 !important;
}

body,
select,
textarea {
  color: #2a2a2a;
  font-family: 'Roboto', Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 21px;
}

a {
  color: #071726;
  text-decoration: none;
  outline: none;
}

#blog_single a,
.pages_default a {
  color: #507bb1;
}

p {
  margin: 20px 0;
}

#apply_form_box input[type='text'],
#apply_form_box input[type='email'],
#apply_form_box input[type='tel'],
#apply_form_box textarea {
  border: 1px solid #e9e9e9;
  padding: 15px 20px;
  background: none;
  line-height: normal;
  color: #2a2a2a;
  width: 100%;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

#contact_form_box input[type='text'],
#contact_form_box input[type='email'],
#contact_form_box input[type='tel'],
#contact_form_box textarea {
  font-size: 13px;
  padding: 0;
  line-height: 40px;
  border: none;
  background: url(img/css/input_bg.png) 0 bottom;
  color: #bbbbbb;
  width: 100%;
  margin-bottom: 20px;
}

#contact_form_box textarea {
  box-sizing: border-box;
  height: 160px;
  display: block;
}

#contact_form_box input::placeholder,
#contact_form_box textarea::placeholder {
  color: #bbbbbb;
}

input[type='checkbox'] {
  position: relative;
  top: 2px;
  margin-left: 0;
}

.wpcf7-list-item {
  display: inline-block;
  margin: 0;
}

label {
  cursor: pointer;
}

.main_h2 {
  color: #071726;
  font-size: 40px;
  font-weight: 300;
  padding-bottom: 80px;
  line-height: normal;
  text-align: center;
  margin: 0;
}

.wrapper,
.wrapper_narrow,
.wrapper_wide,
.wrapper_gallery {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.wrapper {
  max-width: 1360px;
  margin: 0 auto;
  position: relative;
  padding: 0 40px;
  width: 100%;
}

.wrapper_narrow {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 40px;
  width: 100%;
}

.wrapper_wide {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 40px;
  width: 100%;
}

.wrapper_gallery {
  max-width: 1250px;
  margin: 0 auto;
  padding: 0 30px;
  width: 100%;
}

.button_a {
  min-height: 40px;
  display: inline-block;
  line-height: 38px;
  background: #ffeb00;
  padding: 0 30px;
  color: #071726 !important;
  font-weight: bold;
  font-size: 14px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  border-radius: 20px;
  margin: 20px 0 25px 0;
  border: none;
}

.button_a:hover {
  background: #fcf483;
}

.button_d {
  display: inline-block;
  color: #ffffff !important;
  background: #152c49;
  line-height: 16px;
  font-size: 14px;
  padding: 12px 35px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  border-radius: 20px;
  font-weight: bold;
  text-align: center;
}

.button_d:hover {
  background: #2c5281;
}

.grid_img {
  display: grid;
  gap: 2px;
}

[data-showstep] {
  opacity: 0;
}

.show-animation {
  animation: forwards 0.5s show-step-menu ease-out;
}

@keyframes show-step-menu {
  0% {
    opacity: 0;
    transform: translateY(-5rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0rem);
  }
}

/* ---------- HEADER ---------- */

#main_header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 999;
  background: #ffffff;
  border-bottom: 1px solid transparent;
}

.header-collapsed #main_header {
  border-color: #cccccc;
}

.header-collapsed .top-logo {
  width: 170px;
  height: 68px;
  margin-top: 8px;
}

.header-collapsed #header_wrapper {
  padding-bottom: 15px;
  padding-top: 15px;
}

.header-collapsed #main_nav {
  padding: 10px 0 0 0;
}

#header_wrapper {
  max-width: 1280px;
  margin: 0 auto;
  padding: 32px 40px 32px 40px;
  display: grid;
  grid-template-columns: min-content 1fr;
  gap: 10px;
  align-items: flex-end;
  transition: 0.15s ease-out;
  -moz-transition: 0.15s ease-out;
  -webkit-transition: 0.15s ease-out;
  transition-property: padding;
  -moz-transition-property: padding;
  -webkit-transition-property: padding;
}

#menu_button {
  display: none;
}

#showmenu {
  background: url(img/css/responsive_button.png) center 0px no-repeat;
  width: 49px;
  height: 38px;
  cursor: pointer;
  z-index: 1001;
  display: block;
  position: relative;
}

.active_menu {
  left: 0 !important;
  opacity: 1 !important;
}

#showmenu.active {
  background: url(img/css/responsive_button.png) center -38px no-repeat;
}

.top-logo {
  display: block;
  width: 195px;
  height: 79px;
  background: url(img/css/logo_ustr.svg) 0px 0px no-repeat;
  margin-top: 23px;
  background-size: contain;
  transition: 0.15s ease-out;
  -moz-transition: 0.15s ease-out;
  -webkit-transition: 0.15s ease-out;
  transition-property: width, height, margin;
  -moz-transition-property: width, height, margin;
  -webkit-transition-property: width, height, margin;
}

#tools_menu {
  text-align: right;
  font-size: 16px;
  line-height: 34px;
  padding-right: 15px;
}

.lang-select {
  display: inline-block;
}

.lang-select ul {
  margin: 0;
  padding: 0;
}

.lang-select ul li {
  display: inline-block;
  list-style: none;
  border-left: 1px solid #e1dddd;
}

.lang-select ul li:first-child {
  border-left: none;
}

.lang-select ul li a {
  display: block;
  text-transform: uppercase;
  padding: 0 10px;
  color: #b2b7bb;
  font-weight: bold;
}

.lang-select ul li a:hover,
.de_lang .deutsch a,
.pl_lang .polski a {
  color: #071826;
}

#contact_top {
  font-weight: bold;
  margin-left: 50px;
  color: #071826;
  display: inline-block;
}

#contact_top .phone {
  display: inline-block;
  padding-left: 40px;
  background: url(img/css/header_phone.png) 0 center no-repeat;
  margin-left: 25px;
}

#contact_top .mail {
	display: inline-block;
    background-image: url(https://www.ustr.eu/wp-content/uploads/2023/02/mail.png);
    width: 30px;
    height: 30px;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0 20px 0 30px;
}

#main_nav {
  padding: 25px 0 0 0;
  text-align: right;
  transition: 0.15s ease-out;
  -moz-transition: 0.15s ease-out;
  -webkit-transition: 0.15s ease-out;
  transition-property: padding;
  -moz-transition-property: padding;
  -webkit-transition-property: padding;
}

#main_nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#main_nav li {
  display: inline-block;
  margin-left: 5px;
}

#main_nav li a {
  display: block;
  text-decoration: none;
  color: #071826;
  height: 32px;
  line-height: 30px;
  padding: 0 15px;
  font-size: 16px;
  font-weight: 400;
  border: 1px solid transparent;
  border-radius: 25px;
  -moz-border-radius: 25px;
  -webkit-border-radius: 25px;
}

#main_nav li a:hover,
#main_nav li a.active,
#main_nav .current-menu-item a {
  border-color: #8ba3b7;
}

/* ---------- BANNER ---------- */

#main_page {
  margin-top: 167px;
}

#banner_top {
  height: 598px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  background: #010918;
  border-top: 3px solid #071826;
}

.slide {
  height: 100%;
  position: relative;
  text-align: center;
}

.desc_slide {
  z-index: 2;
  position: relative;
}

.triangle_bg {
  position: absolute;
  left: 50%;
  margin-left: -482px;
  width: 965px;
  height: 482px;
  z-index: 0;
  top: 0;
  text-align: center;
  background: url(img/css/slideshow_triangle.png) center 0 no-repeat;
  line-height: normal;
}

.slide h1 {
  color: #ffffff;
  font-size: 44px;
  font-weight: 900;
  padding: 60px 30px 5px 30px;
  margin: 0;
  line-height: normal;
}

.desc_slide p {
  font-size: 18px;
  color: #5e86ab;
  font-weight: 300;
  margin: 0;
}

#scroll_down {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  color: #ffeb00;
  padding-bottom: 40px;
  background: url(img/css/slideshow_link.png) center bottom no-repeat;
  position: absolute;
  top: 42%;
  left: 50%;
  transform: translateX(-50%);
}

.prize_box {
  position: absolute;
  bottom: 15px;
  right: 40px;
  background-color: #fff;
  width: 200px;
}

.prize_box .prize-text {
  padding: 30px 25px;
  font-size: 15px;
  color: #ffffff;
  background: #06121b;
}

.prize-logo {
  text-align: center;
}

.prize-text p {
  margin: 0;
}

/* ---------- ABOUT MAIN ---------- */

.padding_section {
  padding: 80px 0;
}

#about_main {
  background: #fcfcfc;
}

.grid_1_2 {
  display: grid;
  grid-template-columns: 30% 1fr;
  align-items: start;
  gap: 80px;
}

.title_grid {
  font-size: 26px;
  color: #071726;
  line-height: 1.2;
  position: relative;
  padding-top: 30px;
  margin: 0 0 12px 0;
  padding-bottom: 35px;
}

.title_grid::before {
  width: 65px;
  height: 3px;
  background: #f9ea08;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
}

.right_txt_grid {
  padding-top: 10px;
}

/* ---------- SERVICES MAIN ---------- */

#services_main {
  background: url(img/css/our_service_bg.png) center calc(50% + 120px) no-repeat;
}

#services_main .grid_img {
  grid-auto-columns: 1fr;
  grid-template-columns: repeat(3, 1fr);
}

.block_img {
  position: relative;
}

.hover_div {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgb(13 45 67 / 70%);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  z-index: 3;
}

.hover_div:hover {
  opacity: 1;
}

#services_main .grid_img {
  grid-template-columns: repeat(3, 1fr);
}

.margin_wrap {
  margin: 0 0 80px 0;
}

.margin_wrap_2 {
  margin: 80px 0 0 0;
}

.desc_blocks {
  left: 50px;
  right: 50px;
  bottom: 35px;
  position: absolute;
  padding-top: 25px;
  color: #ffffff;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 500;
}

.desc_blocks::before {
  width: 65px;
  height: 3px;
  background: #f9ea08;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
}

#services_main .block_img {
  max-height: 392px;
  min-height: 260px;
  height: 27vw;
}

/* ---------- SHOWROOM MAIN ---------- */

#showroom_main .parralax_box .wrapper {
  display: flex;
  align-items: center;
  justify-content: end;
  padding: 40px;
}

.show_list {
  max-width: 360px;
}

.pl_margin_p {
  margin: 220px 0;
}

.show_list h3 {
  padding: 50px 35px 25px 35px;
  background: #ffeb00;
  color: #152c49;
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
  position: relative;
}

.show_list h3:before {
  width: 65px;
  height: 3px;
  background: #152c49;
  content: '';
  position: absolute;
  top: 25px;
  left: 35px;
}

.show_list ul {
  margin: 0;
  padding: 15px 35px;
  list-style: none;
  background: #152c49;
  color: #ffffff;
  font-size: 16px;
  font-weight: bold;
}

.show_list ul li {
  padding: 15px 20px;
  border-top: 1px solid #f9ea08;
}

.show_list ul li:first-child {
  border: none;
}

/* ---------- MORE SERVICES MAIN ---------- */

#more_service_main .grid_img {
  grid-auto-columns: 1fr;
  grid-template-columns: repeat(2, 1fr);
}

#more_service_main .block_img {
  max-height: 428px;
  min-height: 260px;
  height: 30vw;
}

/* ---------- PLANS MAIN ---------- */

#plans_main {
  background-color: #fcfcfc;
}

#steps_main {
  display: grid;
  grid-auto-columns: max-content;
  grid-auto-flow: column;
  gap: 30px;
  justify-content: space-between;
  margin-top: 80px;
  position: relative;
  overflow: hidden;
}

#steps_main .button_d {
  display: block;
}

.round_box {
  margin: 35px auto 0 auto;
  display: block;
  width: 26px;
  border-left: 20px solid #fcfcfc;
  border-right: 20px solid #fcfcfc;
  position: relative;
  z-index: 2;
}

.round_s {
  content: '';
  display: block;
  box-sizing: border-box;
  width: 26px;
  height: 26px;
  border: 4px solid #eaeaea;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background-color: #fcfcfc;
}

.line_steps {
  position: absolute;
  left: 0%;
  bottom: 10px;
  right: 0%;
  height: 4px;
  background: #eaeaea;
}

/* ---------- FEATURES MAIN ---------- */

#features_main {
  color: #fff;
  padding: 250px 0 100px 0;
}

#features_main .wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8%;
  align-items: baseline;
}

#features_main h2 {
  font-size: 26px;
  line-height: 1.2;
  position: relative;
  padding-top: 30px;
  margin: 0;
  padding-bottom: 30px;
}

#features_main h2:before {
  width: 65px;
  height: 3px;
  background: #f9ea08;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
}

.narrow_text {
  max-width: 420px;
}

.narrow_text .button_a {
  margin-top: 60px;
}

#feature_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 70px;
}

.feature_block {
  padding: 20px 0 20px 45px;
  font-weight: bold;
  font-size: 16px;
  border-bottom: 1px solid #f9ea08;
  background: url(img/css/company_features_list.png) 0 23px no-repeat;
}

/* ---------- REVIEWS MAIN ---------- */

#reviews_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 80px;
  font-size: 13px;
}

.review_block {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 20px;
}

.avatar_box {
  width: 50px;
  float: left;
  height: 100%;
}

.avatar {
  width: 50px;
  height: 50px;
  border-radius: 50px;
}

.name_a h4 {
  margin: 0;
  font-size: 15px;
  color: #417fee;
  padding-bottom: 2px;
}

.date_a {
  color: #999999;
  padding-bottom: 5px;
}

.stars_a {
  display: inline-block;
  width: 100px;
  height: 15px;
  background: url(img/css/reference_stars.png) 0 -15px repeat-x;
}

.center_box {
  text-align: center;
}

#reviews_main .center_box {
  margin: 80px 0 0 0;
}

#home_desc {
  padding: 70px 0;
}

#home_desc h1 {
  line-height: 1.2;
  font-size: 26px;
  margin: 0 0 15px 0;
  text-align: center;
}

#home_desc h2 {
  font-size: 20px;
  margin: 35px 0;
}

.pages_default h2 {
  font-size: 40px;
  margin-bottom: 35px;
  margin: 0 0 30px 0px;
  color: #071726;
  font-weight: 300;
  line-height: 1.2;
}

.step_trigger {
  position: absolute;
  top: -200px;
}

#hide_txt {
  display: none;
}

.active_txt {
  display: initial !important;
}

.disable_txt {
  display: none !important;
}

#less_l,
.active_txt #more_l {
  display: none;
}

.active_txt #less_l {
  display: initial;
}

/* ---------- FOOTER ---------- */

#main_footer {
  background: #071726;
  font-size: 14px;
  color: #bababa;
}

.footer_grid {
  display: grid;
  grid-template-columns: max-content max-content;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.first_f_grid .to-top {
  position: absolute;
  left: 50%;
  bottom: -21px;
  margin-left: -21px;
  width: 42px;
  height: 42px;
  background: url(img/css/to_top_arrow.png) center no-repeat #ffeb00;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  cursor: pointer;
  display: block;
  z-index: 2;
}

#top_page {
  position: absolute;
  top: 0;
  left: 0;
}

.first_f_grid .to-top:hover {
  background-color: #fcf483;
}

.first_f_grid {
  border-bottom: 1px solid #163a5c;
}

.first_f_grid .footer_grid {
  padding: 40px 0;
}

#main_footer nav ul {
  list-style: none;
  margin: 0;
  padding: 0 0 5px 0;
}

#main_footer nav ul li {
  display: inline-block;
  padding-right: 30px;
}

#main_footer nav ul li a {
  color: #ffffff;
}

#main_footer nav ul li a:hover {
  color: #ffeb00;
}

.social_icons {
  text-align: right;
}

.social_icons a {
  margin: 0 0 0 40px;
}

.ico_f {
  width: 36px;
  height: 36px;
  display: inline-block;
}

.ico_f:hover {
  opacity: 0.8;
}

.facebook_ico {
  background: url(img/css/footer_social_media.png) 0 0 no-repeat;
}

.youtube_ico {
  background: url(img/css/footer_social_media.png) 0 -36px no-repeat;
}

.google_ico {
  background: url(img/css/footer_social_media.png) 0 -72px no-repeat;
}

.instagram_ico {
  background: url(img/css/footer_social_media.png) 0 -108px no-repeat;
}

.second_f_grid .footer_grid {
  padding: 20px 0;
}

.second_f_grid a {
  color: #bababa;
}

.cookie-bar {
  background: #fafafa;
  border-top: 1px solid #d5d5d5;
  padding: 0 30px;
  left: 0;
  text-align: center;
  z-index: 999999;
}

.cookie-bar p {
  display: inline-block;
}

.cookie-bar p a {
  text-decoration: underline;
}

.cookie-bar span {
  background-image: url(img/css/close-cookiebar.png);
  background-position: 0 0;
  background-repeat: no-repeat;
  cursor: pointer;
  display: inline-block;
  height: 18px;
  margin-left: 10px;
  width: 18px;
  top: 5px;
  position: relative;
  opacity: 0.5;
}

/* -------------------- SUB PAGES -------------------- */

#sub_page {
  margin-top: 167px;
}

.sub_page_padding {
  padding: 30px 0 80px 0;
}

.page_title {
  background: #eaeaea;
  border-top: 3px solid #071826;
  display: flex;
  align-items: center;
  height: 180px;
}

.page_title_margin {
  margin: 0 0 30px 0;
}

.page_title h3 {
  font-size: 40px;
  margin: 0;
  color: #071726;
  font-weight: 300;
  line-height: normal;
  padding: 0;
}

/* ---------- ABOUT ---------- */

#about_block_1 {
  height: 620px;
  margin-top: 10px;
}

#about_block_2 {
  background: #fcfcfc;
}

#about_block_4 {
  padding-top: 40px;
}

#about_block_4 h2 {
  padding-bottom: 40px;
}

#about_block_4 .parallax {
  height: 580px;
}

#about_block_5 {
  background: #fcfcfc;
}

#about_block_5 h2 {
  font-size: 26px;
  color: #071726;
  line-height: 1.2;
  position: relative;
  padding-top: 30px;
  margin: 0;
  padding-bottom: 35px;
}

#about_block_5 h2:before {
  width: 65px;
  height: 3px;
  background: #f9ea08;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
}

#about_block_5 iframe {
  margin: 20px 0 0 0;
  width: 100%;
  height: 60vw;
  max-height: 795px;
  min-height: 300px;
}

.familly {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.worker_box {
  padding: 6px;
  border: 1px solid #e4e4e4;
  margin-left: -1px;
  margin-top: -1px;
}

.familly img {
  width: 100%;
  height: auto;
  border: 1px solid #e4e4e4;
}

.worker_box .position_box {
  font-size: 11px;
  color: #b1b1b1;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 1.2;
  padding-bottom: 5px;
}

.desc_w_box {
  padding: 25px 30px 20px 30px;
  display: grid;
  grid-auto-flow: row;
  grid-template-rows: 30px 20px;
}

.name_box {
  font-size: 20px;
  color: #071726;
  line-height: 1.2;
}

/* ---------- SERVICES ---------- */

.services_title {
  text-align: center;
  padding: 35px 30px;
  background: #eaeaea;
  font-size: 26px;
  color: #071726;
  line-height: 1.2;
  position: relative;
  margin: 10px 0;
  font-weight: bold;
}

.services_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  grid-template-areas: 'left-side right-side';
  border-bottom: 4px solid #fff;
}

.wrapper_wide .services_grid:last-of-type {
  border-bottom: none;
}

.s_title {
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 30px;
  padding-bottom: 25px;
  color: #ffec00;
  background: url(img/css/features_list_line_gray.png) 0 bottom no-repeat;
  display: block;
}

.services_txt {
  height: 450px;
  background: #111111;
  color: #ffffff;
  font-weight: 300;
  position: relative;
  overflow: hidden;
  padding: 50px 50px 50px 60px;
  grid-area: left-side;
}

.services_img {
  height: 100%;
  grid-area: right-side;
}

.right_txt {
  grid-area: right-side !important;
}

.left_img {
  grid-area: left-side !important;
}

/* ---------- PLANS ---------- */

.page_title_margin_2 {
  margin: 0 0 80px 0;
}

.plans_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 120px;
  grid-template-areas: 'p_txt_left p_empty_right';
  position: relative;
}

.plans_txt {
  grid-area: p_txt_left;
  text-align: right;
}

.plans_empty {
  grid-area: p_empty_right;
}

#steps_plans .wrapper .plans_grid:nth-child(even) .plans_txt {
  grid-area: p_empty_right;
  text-align: left;
}

#steps_plans .wrapper .plans_grid:nth-child(even) .plans_empty {
  grid-area: p_txt_left;
}

.p_title {
  display: inline-block;
  color: #ffffff;
  background: #152c49;
  line-height: 16px;
  font-size: 14px;
  padding: 12px 35px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  border-radius: 20px;
  font-weight: bold;
  margin-bottom: 15px;
}

.circle_plans {
  display: block;
  width: 26px;
  margin: 0 auto;
  background: #ffffff;
  position: absolute;
  left: 50%;
  margin-left: -13px;
  top: -8px;
  z-index: 1;
  padding: 15px 0;
}

.circle_plans span {
  display: block;
  box-sizing: border-box;
  width: 26px;
  height: 26px;
  border: 4px solid #eaeaea;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}

.plans_line {
  position: absolute;
  left: 50%;
  margin-left: -2px;
  width: 4px;
  background: #eaeaea;
  top: 10px;
  bottom: 0;
}

/* ---------- REFERENCES ---------- */

.fr-overlay-ui-fullclick .fr-overlay-background {
  background: #000 !important;
}

#ref_gallery {
  margin: 120px 0;
}

.wrapper_gallery {
  display: grid;
  gap: 30px 2px;
  grid-template-columns: repeat(3, 1fr);
}

.gallery_url {
  position: relative;
}

.gallery_url:hover .gallery_img::after {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  content: '';
  background: url(img/css/reference_tile_plus_white.png) center no-repeat rgba(0, 0, 0, 0.3);
}

.gallery_img {
  padding-bottom: 100%;
  display: block;
  position: relative;
}

.gallery_box {
  position: relative;
}

.desc_gallery {
  padding: 20px 30px;
  background: #eaeaea;
  font-weight: bold;
  height: 50px;
  display: block;
}

/* ---------- BLOG ---------- */

.blog_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 80px 20px;
  margin: 0 0 160px 0;
}

.article_box {
  padding-bottom: 100%;
  width: 100%;
  position: relative;
  display: block;
}

.article_box::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  background: url(img/css/news_box_gradient.png) 0 bottom repeat-x;
}

.news_info {
  position: absolute;
  bottom: 40px;
  left: 45px;
  right: 45px;
  color: #fff;
}

.news_title {
  font-size: 20px;
  display: block;
  font-weight: bold;
}

.date_box {
  font-size: 11px;
  padding-bottom: 30px;
  display: block;
  font-weight: bold;
}

.article_box:hover .more_link {
  background: #fcf483;
}

.more_link {
  position: absolute;
  right: 40px;
  bottom: -20px;
  height: 40px;
  line-height: 38px;
  background: #ffeb00;
  padding: 0 30px;
  color: #071726;
  font-weight: bold;
  font-size: 14px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  border-radius: 20px;
}

/* ---------- SINGLE BLOG ---------- */

.news_info_header {
  text-align: center;
}

.news_info_header .date_box {
  padding: 0;
}

.news_info_header h2 {
  font-size: 30px;
  color: #071726;
  line-height: 1.2;
  position: relative;
  padding-top: 20px;
  margin: 0;
  padding-bottom: 60px;
  font-weight: bold;
}

.top_img {
  padding-bottom: 50px;
  max-width: 100%;
}

.go_back_button {
  margin: 50px 0 80px 0;
}

/* ---------- CAREER ---------- */

#career_page {
  margin: 0 0 80px 0;
}

.career_box {
  position: relative;
}

#career_page .wrapper_narrow .career_box:nth-child(1) .career_title,
.c_info {
  border-top: 1px solid #afafaf;
}

.career_title {
  border-bottom: 1px solid #afafaf;
  padding: 30px 130px 30px 20px;
  position: relative;
}

.career_title span {
  font-size: 24px;
  line-height: 30px;
  color: #071726;
  font-weight: bold;
  text-transform: uppercase;
  padding-top: 5px;
  padding-bottom: 5px;
}

.career_txt {
  border-bottom: 1px solid #afafaf;
  padding: 40px 20px;
  display: none;
}

.c_info {
  margin: 40px 0 0 0;
  padding: 20px 0 0 0;
}

.job_more {
  position: absolute;
  right: 20px;
  top: 26px;
  display: inline-block;
  height: 40px;
  line-height: 38px;
  background: #ffeb00;
  padding: 0 30px;
  color: #071726;
  font-weight: bold;
  font-size: 14px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  border-radius: 20px;
}

#apply_form_box {
  padding: 0 20px;
  display: none;
}

.header_form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 30px;
  margin: 50px 0 0 0;
}

.text_form,
.file_import {
  margin: 20px 0;
}

.file_import input[type='file'] {
  border: 1px solid #e9e9e9;
  padding: 10px;
  margin: 10px 0;
  border-radius: 0;
  -webkit-appearence: none;
  appearance: none;
}

.file_import input[type='file']::file-selector-button {
  display: inline-block;
  height: 38px;
  line-height: 38px;
  padding: 0 25px;
  font-weight: 500;
  font-size: 13px;
  color: #ffffff;
  background: #071726;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  border-radius: 20px;
  border: none;
  -webkit-appearence: none;
  appearance: none;
  margin: 0 10px 0 0;
}

.send_form {
  text-align: right;
  position: relative;
}

.wpcf7-spinner {
  position: absolute;
  top: 30px;
  left: -20px;
}

.your-name,
.tel-633,
.your-email,
.your-message {
  position: relative;
  display: block;
}

/* .your-name::after,
.tel-633::after,
.your-email::after,
.your-message::after {
  display: block;
  content: '';
  position: absolute;
  display: block;
  right: 0;
  top: 8px;
  width: 20px;
  height: 20px;
}

.your-name::after {
  background: url(img/css/input_name.png) right 0 no-repeat;
}

.tel-633::after {
  background: url(img/css/input_phone.png) right 0 no-repeat;
}

.your-email::after {
  background: url(img/css/input_email.png) right 0 no-repeat;
}

.your-message::after {
  background: url(img/css/input_message.png) right 0 no-repeat;
} */

.send_form input {
  margin: 0;
  border: none;
  outline: none;
  -webkit-appearance: none;
  background: url(img/css/more_yellow.png) right center no-repeat #ffeb00;
  padding: 0 30px 0 20px;
  height: 35px;
  color: #071726;
  font-size: 12px;
  border-radius: 15px;
  -moz-border-radius: 15px;
  -webkit-border-radius: 15px;
  font-weight: bold;
  cursor: pointer;
}

.send_form input:hover {
  opacity: 0.8;
}

.wpcf7 form .wpcf7-response-output {
  padding: 10px;
  border-width: 1px;
}

.wpcf7-not-valid-tip,
.wpcf7 form .wpcf7-response-output {
  margin: 20px 0 0 0;
}

.all_need {
  position: absolute;
  top: 0;
  left: 0;
}

/* ---------- CONTACT ---------- */

#map_box {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.top_border {
  border-top: 3px solid #071826;
  position: relative;
}

#contact_box {
  padding: 110px 0 150px 0;
  position: relative;
  z-index: 2;
}

#contact_info {
  background-color: #fff;
  padding: 45px 50px;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
  line-height: 25px;
  background: #ffffff;
  margin-bottom: 5px;
  border-top: 4px solid #071826;
}

#contact_info h3,
#contact_form_box h3 {
  font-size: 22px;
  font-weight: 700;
  color: #071726;
  margin: 0;
  padding-bottom: 25px;
  background: url(img/css/features_list_line.png) 0 bottom no-repeat;
  margin-bottom: 45px;
}

.contact_info_box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.contact_info_box div {
  padding-left: 50px;
  position: relative;
}

.contact_info_box div::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

.address_box::before {
  background: url(img/map.png) no-repeat center center;
  background-size: cover;
  width: 25px;
  height: 35px;
}

.phone_box::before {
  background: url(img/phone.png) no-repeat center center;
  background-size: cover;
  width: 30px;
  height: 30px;
}

.email_box::before {
  background: url(img/email.png) no-repeat center center;
  background-size: cover;
  width: 29px;
  height: 27px;
}

.contact_info_box h4 {
  font-size: 18px;
  margin: 0 0 20px 0;
}

#social_box {
  padding: 20px 50px;
  background-color: #f8f8f8;
}

#social_box a {
  margin-right: 20%;
}

#social_box h4 {
  font-size: 14px;
  margin: 0;
  padding: 0 0 20px 0;
}

#contact_form_box {
  color: #ffffff;
  background: #071826;
  position: relative;
  margin-top: 5px;
  font-size: 13px;
  padding: 45px 50px;
}

#contact_form_box h3 {
  color: #fff;
}

#contact_form_form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}

.agreement {
  margin: 0 0 30px 0;
}

#contact_form_box .wpcf7-not-valid-tip {
  margin: 0;
}

#contact_form_box label {
  margin: 20px 0;
  display: block;
}

/* ---------- PAGES DEFAULT ---------- */

.pages_default {
  padding: 80px 0;
}

.pages_default h1 {
  font-size: 40px;
  margin-bottom: 35px;
  padding: 0px 0px 0px;
  margin: 0 0 50px 0px;
  color: #071726;
  font-weight: 300;
  line-height: 1.2;
}

.pages_default .contact_info_box {
  display: block;
}

/* ---------- GALLERY PAGE ---------- */

#gallery_page {
  margin: 0 0 80px 0;
}

/* ---------- GALLERY SINGLE ---------- */

#gallery_single iframe {
  width: 100%;
  height: 60vw;
  max-height: 795px;
  margin: 0 0 50px 0;
  min-height: 300px;
}

.gallery_show {
  margin: 80px 0;
}

.gallery_show .wrapper_wide {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px;
}

.gallery_show .wrapper_wide a {
  display: block;
  width: 100%;
  padding-bottom: 75%;
}

/* ---------- CAROUSEL ---------- */

.carousel_box {
  padding: 60px 0;
  overflow: hidden;
}

.carousel_box .wrapper_wide {
  position: relative;
}

.owl_box {
  border-right: 1px solid #fff;
  display: block;
}

.owl_box:hover .more_link_c {
  opacity: 1;
}

.nav_owl,
.nav_owl_2 {
  position: absolute;
  top: 10px;
  right: 100px;
}

.owl_cont .gallery_img {
  padding-bottom: 90%;
}

.nav_owl button,
.nav_owl_2 button {
  float: left;
  width: 36px;
  height: 36px;
  background: url(img/css/references_nav.png) 0 0 no-repeat;
  cursor: pointer;
  border: none;
}

.nav_owl button:hover,
.nav_owl_2 button:hover {
  opacity: 0.7;
}

.nav_owl .owl-next,
.nav_owl_2 .owl-next {
  margin-left: 20px;
  background-position: 0 -36px;
}

.more_link_c {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  left: 0;
  right: 1px;
  top: 0;
  bottom: 0;
  background: rgba(13, 45, 67, 0.75);
  opacity: 0;
  -moz-transition: 0.15s ease-out;
  -webkit-transition: 0.15s ease-out;
  transition: 0.15s ease-out;
  transition-property: opacity;
  -moz-transition-property: opacity;
  -webkit-transition-property: opacity;
}

.more_link_c span {
  display: inline-block;
  background: #ffeb00;
  padding: 0 30px;
  line-height: 35px;
  color: #071726;
  font-size: 12px;
  border-radius: 15px;
  -moz-border-radius: 15px;
  -webkit-border-radius: 15px;
  font-weight: bold;
}

.grey_bg {
  background-color: #f8f8f8;
}

.footer_title {
  color: #071726;
  font-size: 40px;
  font-weight: 300;
  padding: 0;
  padding-bottom: 60px;
  line-height: normal;
  text-align: center;
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  display: block;
}

.desc_owl {
  position: absolute;
  bottom: 50px;
  left: 30px;
  right: 30px;
}

.desc_owl h3 {
  font-size: 20px;
  font-weight: bold;
  color: #ffffff;
  text-transform: uppercase;
  margin: 0;
  line-height: 1.1;
}

/* ---------- CONTACT INFO BOX ---------- */

.contact_info_f {
  margin: 30px 0 80px 0;
}

.contact_info_f .wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  align-items: end;
}

.contact_title {
  font-size: 26px;
  color: #071726;
  font-weight: 300;
  padding-left: 0 !important;
}

.contact_info_f p {
  margin: 0;
}

.contact_info_f .contact_info_box div::before {
  top: initial;
  bottom: 0;
}

/* ---------- PARTNERS BOX ---------- */

.partners_f {
  padding-top: 60px;
  padding-bottom: 40px;
}

.partner_box {
  height: 60px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.partner_logotype {
  filter: saturate(0);
  cursor: pointer;
  max-width: 100%;
  max-height: 100%;
  width: initial !important;
  display: inline-block !important;
}

.partners_logo {
  background-color: #fff;
  border-top: 1px solid #e1e1e1;
  border-bottom: 1px solid #e1e1e1;
  padding: 30px;
  overflow: hidden;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

.partner_logotype:hover {
  filter: saturate(1);
}

/* ---------- SIDE PANEL ---------- */

#side_panel {
  position: fixed;
  right: 0;
  top: 50%;
  margin-top: -120px;
  z-index: 990;
}

#side_panel ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.facebook_s {
  background: url(img/css/float_buttons.png?20201203) center -108px no-repeat #4267b2;
}

.contact_s {
  background: url(img/css/float_buttons.png?20201203) center -54px no-repeat #303030;
}

.phone_s {
  background: url(img/css/float_buttons.png?20201203) center 0 no-repeat #29a71a;
}

.phone_s:hover {
  background-color: #54b948;
}

.instagram_s:hover {
  background-color: #ce3379;
}

.instagram_s {
  background: url(img/css/float_buttons.png?20201203) center -162px no-repeat #c20057;
}

.contact_s:hover {
  background-color: #525252;
}

.facebook_s:hover {
  background-color: #6885c1;
}

#side_panel a {
  display: block;
  width: 54px;
  height: 54px;
  font-size: 0;
}

/* -------------------- MEDIA QUERIES -------------------- */

/* ---------- 1280px ---------- */

@media screen and (max-width: 1280px) {
  #header_wrapper {
    padding: 32px 30px 32px 30px;
  }

  .wrapper,
  .wrapper_narrow,
  .wrapper_wide {
    padding: 0 30px;
  }

  .top-logo {
    width: 170px;
    height: 68px;
    margin-top: 0;
  }

  .social_icons a {
    margin: 0 0 0 20px;
  }

  .desc_w_box {
    grid-template-rows: max-content max-content;
  }
}

/* ---------- 1080px ---------- */

@media screen and (max-width: 1080px) {
  #main_nav .current-menu-item a {
    border-color: #38434d;
    color: #ffec00;
  }

  #header_wrapper {
    padding-bottom: 15px;
    padding-top: 15px;
    align-items: center;
    grid-template-columns: min-content 1fr min-content;
  }

  #main_page,
  #sub_page {
    margin-top: 99px;
  }

  .sub_page_padding {
    padding: 0 0 80px 0;
  }

  .top-logo {
    width: 150px;
    height: 61px;
  }

  #menu_button {
    display: block;
  }

  #contact_top,
  .prize_box {
    display: none;
  }

  .header-collapsed #main_nav {
    padding: 99px 0 0 0;
  }

  #main_nav {
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    z-index: 1000;
    background-color: #071726;
    padding: 99px 0 0 0;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    text-align: left;
    opacity: 0;
    transition: all 0.2s ease-in;
    overflow: hidden;
  }

  #main_nav div {
    width: 100%;
    height: 100%;
    border-top: 1px solid #38434d;
    overflow-y: auto;
  }

  #main_nav div ul li {
    display: block;
    margin: 0;
  }

  #main_nav li a {
    color: #ffffff;
    padding: 5px 78px 5px 30px;
    display: block;
    font-size: 15px;
    font-weight: bold;
    text-decoration: none;
    border: none;
    border-bottom: 1px solid #38434d;
    border-radius: 0;
  }

  #main_nav li a:hover {
    border: none;
    border-bottom: 1px solid #38434d;
    color: #e6e6e6;
  }

  #steps_main {
    grid-auto-columns: 1fr;
    grid-auto-flow: row;
  }

  #steps_main .step_block:nth-child(odd) .button_d {
    display: inline-block;
    transform: translateX(calc(-50% - 60px));
  }

  #steps_main .step_block:nth-child(even) .button_d {
    display: inline-block;
    transform: translateX(calc(50% + 60px));
  }

  .step_block {
    text-align: center;
  }

  .round_box {
    margin: 0 auto 0 auto;
    transform: translateY(-53px);
    border-top: 20px solid #fcfcfc;
    border-bottom: 20px solid #fcfcfc;
  }

  .line_steps {
    left: calc(50% - 2px);
    bottom: 0;
    width: 4px;
    top: 0;
    right: unset;
    height: unset;
  }

  #features_main .wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    align-items: baseline;
  }

  #reviews_grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .first_f_grid {
    display: none;
  }

  .contact_info_f .wrapper {
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 0;
    align-items: start;
  }

  .contact_info_f .contact_info_box div::before {
    top: 0;
    bottom: initial;
  }

  #features_main {
    padding: 80px 0;
  }

  #about_block_1 {
    height: auto;
    padding-bottom: 56.25%;
    background-size: cover;
  }

  .blog_grid {
    grid-template-columns: repeat(2, 1fr);
  }

  #social_box a {
    margin: 0 10px 10px 0;
  }
}

@media screen and (max-width: 800px) {
  .slide h1 {
    font-size: 45px;
  }

  .familly {
    grid-template-columns: repeat(2, 1fr);
  }

  .grid_1_2 {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 0;
  }

  .title_grid {
    margin: 0;
  }

  #about_main .button_a {
    margin: 20px 0 0 0;
  }

  .main_h2 {
    font-size: 32px;
    line-height: 1.1;
    padding-bottom: 50px;
  }

  #services_main .grid_img {
    grid-template-columns: 1fr 1fr;
  }

  #services_main .block_img {
    height: 40vw;
  }

  #showroom_main .parralax_box .wrapper {
    justify-content: center;
  }

  .round_box {
    margin: 0;
    border-left: none;
    transform: none;
    position: absolute;
    top: -13px;
  }

  #steps_main {
    gap: 55px;
  }

  .line_steps {
    left: 11px;
  }

  .step_block {
    text-align: left;
    position: relative;
  }

  #steps_main .step_block:nth-child(odd) .button_d {
    display: inline-block;
    transform: unset;
    margin: 0 0 0 50px;
  }

  #steps_main .step_block:nth-child(even) .button_d {
    display: inline-block;
    transform: unset;
    margin: 0 0 0 50px;
  }

  .second_f_grid .footer_grid {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer_title {
    padding-bottom: 15px;
  }

  .nav_owl,
  .nav_owl_2 {
    position: initial;
    text-align: center;
    margin-bottom: 50px;
  }

  .nav_owl button,
  .nav_owl_2 button {
    float: unset;
  }

  .partners_logo {
    margin: 45px 0 0 0;
  }

  .page_title h3 {
    font-size: 32px;
    line-height: 1.1;
  }

  .services_grid {
    grid-template-columns: 1fr;
    grid-template-areas: 'left-side' 'right-side';
  }

  .services_txt {
    height: unset;
    grid-area: left-side !important;
    padding: 30px 30px 30px 40px;
  }

  .left_img {
    grid-area: right-side !important;
  }

  .services_img {
    height: 50vw;
  }

  .footer_title {
    font-size: 32px;
    line-height: 1.1;
  }

  .wrapper_gallery {
    grid-template-columns: repeat(2, 1fr);
  }

  .contact_info_box {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

@media screen and (max-width: 640px) {
  .slide h1 {
    font-size: 45px;
  }

  #services_main .grid_img {
    grid-template-columns: 1fr;
  }

  #services_main .block_img {
    height: 70vw;
  }

  #feature_grid {
    grid-template-columns: 1fr;
  }

  #reviews_grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  #more_service_main .block_img {
    height: 60vw;
  }

  #more_service_main .grid_img {
    grid-auto-columns: 1fr;
    grid-template-columns: 1fr;
  }

  .contact_info_f .wrapper {
    grid-template-columns: 1fr;
    gap: 50px 0;
  }

  .plans_grid {
    grid-template-columns: 1fr;
    gap: 0;
    grid-template-areas: unset;
    margin: 0 0 10px 0;
  }

  .circle_plans {
    left: 0;
    margin-left: 0;
  }

  .plans_line {
    left: 11px;
    margin-left: 0;
  }

  .plans_txt {
    grid-area: unset;
    text-align: left;
    padding-left: 60px;
  }

  .plans_empty {
    grid-area: unset;
    display: none;
  }

  .wrapper_gallery {
    grid-template-columns: 1fr;
  }

  .blog_grid {
    grid-template-columns: 1fr;
    gap: 50px 20px;
  }

  .career_title span {
    font-size: 16px;
    line-height: 25px;
    word-break: break-all;
  }

  .career_title {
    border-bottom: 1px solid #afafaf;
    padding: 30px 130px 30px 0;
    position: relative;
  }

  .career_txt {
    padding: 20px 0;
  }

  #apply_form_box {
    padding: 0;
  }

  .header_form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px 30px;
    margin: 50px 0 0 0;
  }

  #contact_info,
  #contact_form_box,
  #social_box {
    padding: 30px;
    border-top: none;
  }

  .page_contact #contact_box .wrapper_narrow,
  .page_contact #contact_box {
    padding: 0;
  }

  #contact_form_form {
    grid-template-columns: 1fr;
    gap: 0px;
  }

  #map_box {
    position: relative;
    height: 400px;
  }
}

@media screen and (max-width: 480px) {
  #tools_menu {
    font-size: 13px;
    padding-right: 5px;
  }

  .lang-select ul li {
    border-left: none;
  }

  .familly {
    grid-template-columns: 1fr;
  }
}
