

:root {
  --grey:#fafafa;
  --dark-grey:#666666;
}

body {
  font-family: 'Raleway', sans-serif;
  font-size: 16px;
}

a {color: var(--mcolor)}

h1, .h1, h2, .h2, h3, .h3 {
  font-family: 'Raleway', sans-serif;
  color: var(--scolor);
  font-weight: 700;
}

h1, .h1 {
  font-size: 26px;
  margin-bottom: 30px;
}

h2, .h2{
  font-size: 32px;
  margin-bottom: 30px;
}

h3, .h3 {
  font-size: 18px
}

section {
    overflow: hidden;
}
.home .col-12.swiper {
    padding-left: 45px;
    padding-right: 45px;
}

@media (min-width:890px) {
  h1, .h1 {
    font-size: 26px;
    margin-bottom: 40px;
  }
  h2, .h2 {
    font-size: 32px;
  }
  h3, .h3 {
    font-size: 24px
  }
  section {
      padding-left: 0px;
      padding-right: 0px;
  }
}

.navbar-toggler {
  border-radius: 50%;
  width: 45px;
  height: 45px;
  margin-right: 0;
  padding: 9px 10px 9px 0px;
  border: 0;
  z-index: 999;
}

button.navbar-toggler:focus {
  outline: none;
}

.navbar-toggler span {
  font-size: 2rem;
  float: left;
  line-height: 6rem;
  margin-right: 5px;
  color: #441C54;
  background-color: #ffffff;
}

.navbar-toggler .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
  background-color: var(--mcolor);
}

.navbar-toggler .icon-bar+.icon-bar {
  margin-top: 4px;
}

.navbar-toggler .icon-bar {}

.navbar-toggler:hover span.icon-bar {
  transition: 0.4s;
}

.navbar-toggler:hover span.first-bar {
  transform: rotate(-45deg);
  position: absolute;
  top: 22px;
}

.navbar-toggler:hover span.second-bar {
  transform: rotate(45deg);
  position: absolute;
  top: 18px;
}

.navbar-toggler:hover span.third-bar {
  opacity: 0;
  transition: 0.4s;
}

.navbar-toggler.collapsed:hover .icon-bar {
  transform: rotate(0deg);
  opacity: 1;
  position: relative;
  top: auto;
}
.dropdown-menu {margin: 0}
.btn-main {
  background-color: var(--mcolor);
  color: #fff;
  font-size: 16px;
  text-align: center;
  border-radius: 0px;
  display: flex;
  align-self: center;
  transition: all 0.5s;
  padding: 14px 30px;
  justify-content: center;
  border: 0;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.form-control:-webkit-input-placeholder {color:rgba(102,125,120,0.4);}
.form-control:-moz-placeholder {color:rgba(102,125,120,0.4);}
.form-control:-moz-placeholder {color:rgba(102,125,120,0.4);}
.form-control:-ms-input-placeholder {color:rgba(102,125,120,0.4); }
.form-control:placeholder {color:rgba(102,125,120,0.4);}

.form-control:focus:-webkit-input-placeholder {color: transparent}
.form-control:focus:-moz-placeholder {color: transparent}
.form-control:focus:-moz-placeholder {color: transparent}
.form-control:focus:-ms-input-placeholder {color: transparent}
.form-control:focus:placeholder {color: #fff !important}

.btn-main:hover, .woocommerce a.button:hover {
  background-color: var(--mcolor);
  box-shadow: 0 7px 10px rgba(0, 0, 0, 0.2);
  color: #fff;
}
.btn-main.transparent {
  background-color: transparent;
  border: 1px solid #fff;
  color: #fff;
}
.btn-main.transparent:hover {text-decoration: none;}
.slider-logo .btn-main.transparent {background-color: #fab900; border-color: #fab900}


.form-control::placeholder { color: #ccc}
.subscribe .wpcf7-form-control.wpcf7-text {border: 0;}
.wpcf7 p {margin-bottom: 0}
.wpcf7 .ajax-loader {display: none !important;}

/* HEADER */
header {
    transition: top 0.7s;
    position: absolute;
    z-index: 100;
    width: 100%;
}
header.scrolled {top:0}
header.scrolled > .container {display: none}

.header_top_row {
  background: var(--mcolor);
  color: #fff;
  padding: 10px 0;
}
.header_top_row > .container > .row {padding-left: 15px; padding-right: 15px}
.header_top_row .row {
    justify-content: flex-end;
}

.header_middle_row {padding-top: 25px; padding-bottom: 20px;}
.header_middle_row .logo img {height: 97px;}
.header_middle_row .logo svg {height: 70px; width: 70px;}
.header_middle_row-logo span {
  /* font-family: 'PT Serif';  */
  font-size: 16px;
  font-weight: 400;
  padding-left: 10px;
  display: block;
}
.header_middle_row-logo span:first-child {
  position: relative;
  font-weight: 700
}
.header_middle_row-logo span:first-child::after {
  content: "";
  background-color: #000;
  height: 1px;
  width: 100%;
  left: 0;
  position: absolute;
  bottom: -2px;
}
.header_middle_row-logo .logo {margin-right: 0; font-size: 20px; font-weight: 500; color: var(--scolor)}

.header_middle_row .logo.logo-text {font-size: 30px; font-weight: 500; color: #000}

.header_middle_row-logo {
    display: flex;
    flex: 1 1 10%;
}
.header_middle_row-wrapper {
    display: flex;
    flex: 1 1 85%;
    flex-direction: column;
    padding-left: 30px
}
.header_middle_row-contacts {
    display: flex;
    flex-direction: row;
    align-items: end;
    justify-content: space-between;
    flex: 1 1 100%;
}


.header_middle_row-address {display: flex; justify-content: center; flex: 1 1 100%}
.header_middle_row-contacts li {list-style: none;}

.header_middle_row-search, .header_middle_row-search form {display: flex; flex: 1 0 100%}
.header_middle_row-search form {position: relative;}
.header_middle_row-search form button {
    position: absolute;
    right: 10px;
    top: 10px;
    background-color: transparent;
    border: 0;
    background-image: url(../img/icons/lnr-magnifier.svg);
    background-repeat: no-repeat;
    background-position: center right;
    height: 30px;
    width: 30px;
    margin-right: 10px;
}

.header_middle_row-callback {
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row;
    display: flex;
}
header .mob-logo {margin-right: 0; height: 40px; width: 79px; padding-top: 0; padding-bottom: 0;}
.header_middle_row-phone, .header_middle_row-email {color: #000; text-decoration: underline; display: flex; align-items: center; font-size: 14px;}
.header_middle_row-phone:hover, .header_middle_row-email:hover {color: #000; text-decoration: none; transition: all 0.5s; opacity: 0.5}
.header_middle_row-phone-wrapper > a:first-of-type {margin-right: 20px;}
.header_middle_row-phone-wrapper > a:first-of-type::before {content: ""; background-image: url(../img/icons/lnr-phone-handset.svg); background-repeat: no-repeat; display: inline-block; margin-right: 10px; height: 16px; width: 16px; background-size: cover;}

.header_middle_row-email::before {content: ""; background-image: url(../img/icons/lnr-envelope.svg); background-repeat: no-repeat; display: inline-block; margin-right: 10px; height: 25px; width: 25px; background-size: cover;}

.header_bottom_row {
    display: flex;
    justify-content: space-between;
    flex: 1;
}

.mob-phone, .mob-email {color: #000; text-decoration: none; display: flex; align-items: center;justify-content: flex-end;}
.mob-phone:hover, .mob-email:hover {color: #000; text-decoration: underline;}
.mob-phone::before {content: ""; background-image: url(../img/icons/lnr-phone-handset.svg); background-repeat: no-repeat; display: inline-block; margin-right: 10px; height: 20px; width: 20px; background-size: cover;}

.mob-email::before {content: ""; background-image: url(../img/icons/lnr-envelope.svg); background-repeat: no-repeat; display: inline-block; margin-right: 10px; height: 20px; width: 20px; background-size: cover;}

.navbar-light .navbar-nav .nav-link {
    color: #000;
    border-radius: 30px;
    padding: 15px 10px;
    line-height: initial;
    margin-right: 5px;
    font-size: 18px;
    font-weight: 400;
    position: relative;
}
.header_bottom_row .navbar-light .navbar-nav .nav-link {
    font-size: 14px;
}
@media (min-width:1200px) {
  .header_bottom_row .navbar-light .navbar-nav .nav-link {
      font-size: 16px;
  }
  .navbar-light .navbar-nav .nav-link {font-size: 16px;margin-right: 10px;}
  .navbar-light .navbar-nav .nav-item:last-child .nav-link {margin-right:0px; padding-right: 0px;}
}
.navbar-light .navbar-nav .active>.nav-link {
  color: #000;
  /* text-decoration: underline; */
}



header .navbar-light .navbar-nav .nav-link {
  display: flex;
  /* justify-content: center; */
  align-items: center;
  padding-left: 5px;
  padding-right: 5px;
}

.navbar-light .navbar-nav .nav-link:hover, .dropdown-item:focus, .dropdown-item:hover {
  transition: all 0.5s;
  /* background-color: var(--mcolor); */
  /* text-decoration: underline; */
  background-color: transparent;
  /* box-shadow: 0 7px 10px rgba(0, 0, 0, 0.2); */
  color:  #000;
}
header .mobile_menu_row {
    width: 100%;
    z-index: 9;
    top: 0;
}
header .mobile_menu_row svg{
    width: 25px;
    height: 25px;
    margin-left: 10px;
}
header .mobile_menu_row .navbar .navbar-nav {
    display: flex;
    flex-direction: row;
    height: auto;
    min-height: calc( 100vh - 68px );
    justify-content: end;
    padding-top: 50px;
    flex-wrap: wrap;
    align-content: flex-start;
}
header .mobile_menu_row .navbar .navbar-nav li {
    flex: 1 1 100%;
    position: relative;
}
header .mobile_menu_row .navbar-light .navbar-nav .nav-link {
    color: #000;
}
.mobile_menu_row .col-4 {
    padding-left: 0;
    padding-right: 0;
}
.mobile_menu_row .navbar {
    padding-left: 0;
    padding-right: 0;
    width: 100%!important;
}
header .mobile_menu_row li {list-style: none;}
header .mobile_menu_row a.cart-qty {
    top: -7px;
}

header .header_bottom_row .menu-item-has-children:hover > ul.dropdown-menu {display: flex; flex-direction: column;}
.mobile_menu_row .dropdown-menu {border: 0 !important}
.mobile_menu_row .dropdown-menu .dropdown-item {white-space: normal;}
@media (min-width:890px) {
  header {border-bottom: 0; box-shadow: none; background: transparent}
  body:not(.home) header {background: #fff; box-shadow: 0px 5px 25px rgba(0, 0, 0, 0.1); position: relative;}
  .btn-main {
    /* text-transform: uppercase; */
    font-size: 1rem;
  }
  .header_top_row > .container > .row {padding-left: 0px; padding-right: 0px}
  .header_middle_row-phone, .header_middle_row-email {font-size: 16px; font-weight: 400; text-decoration: none;}

  header .navbar-light .navbar-nav .nav-link {justify-content: center;}
  header .navbar-light .navbar-nav .active>.nav-link::before {
      display: block;
      content: "";
      position: absolute;
      bottom: 10px;
      margin: 0 auto;
      height: 1px;
      width: 100%;
      background-color: #000;
      transition: 0.5s;
      animation-timing-function: ease-in-out;
  }
  header .navbar-light .navbar-nav>li>a::before {
      display: block;
      content: "";
      position: absolute;
      bottom: 10px;
      margin: 0 auto;
      height: 1px;
      width: 0%;
      background-color: #000;
      transition: 0.5s;
      animation-timing-function: ease-in-out;
  }

  header .navbar-light .navbar-nav>li>a:hover:before {
      width: 100%;
  }

}




@media all and (min-width: 992px) {
	header .navbar { padding-top: 0; padding-bottom: 0; }
	header .navbar #topmenu > ul {width: 100%;}
	header .navbar .has-megamenu {position:static!important;}
  header .navbar .megamenu {
    left: 0;
    right: 0;
    width: 100vw;
    padding: 40px calc( (100vw - 1140px)/2 );
    position: absolute !important;
    flex-direction: column;
    flex-wrap: wrap;
    top: 47px;
    border: 0;
  }
  .admin-bar header .navbar .megamenu {top:top: 47px;}
  header .dropdown-menu .dropdown-menu {
    height: auto;
    padding-left: 10px;
    padding-right: 0;
    padding-top: 0rem;
    padding-bottom: 1rem;
    margin-top: 0
  }
  ul.dropdown-menu.megamenu ul.dropdown-menu.megamenu {
    display: flex;
    position: relative !important;
    left: 0;
  }
  header .has-megamenu .dropdown-item {font-weight: 400}
  header .has-megamenu .has-megamenu .nav-link { font-weight: 400}
  header .has-megamenu .has-megamenu .dropdown-item{ font-weight: 300}
  header .has-megamenu .has-megamenu .dropdown-toggle::after {
      display: none;
  }
  header ul.dropdown-menu.megamenu .nav-link {padding: .25rem 1.5rem; justify-content: flex-start;}
	.navbar .nav-link{ padding-top:1rem; padding-bottom:1rem;  }
}
@media (max-width: 992px) {
    header .navbar-collapse {
        position: fixed;
        background-color: #fff;
        top: 0px; /* adjust to height of navbar */
        left: 0;
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 15px;
        width: 75%;
        height: 100%;
    }

    header .navbar-collapse.collapsing {
        left: -75%;
        transition: height 0s ease;
    }

    header .navbar-collapse.show {
        left: 0;
        transition: left 300ms ease-in-out;
        padding-top: 70px;
    }

    header .navbar-toggler.collapsed ~ .navbar-collapse {
        transition: left 500ms ease-in-out;
    }
}

/* SLIDER */
#slider {
  position: relative;

  width: 100%;
  overflow: hidden;
}


#slider .overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(89.85deg, rgba(255, 255, 255, 0.8) 0.15%, rgba(255, 254, 249, 0.8) 45.71%, rgba(255, 253, 247, 0.08) 94.22%);
  opacity: 1;
  z-index: 2;
  background-size: cover;
}
#slider .swiper-slide {
  width: 100%;
  height: 100vh;
  background-size: cover !important;
  background-position: center !important;
}
#slider, #slider .col-12 {height: 95vh; padding-top: 0; padding-bottom: 0; z-index: 99}
#slider .slider-exerpt {
  font-size: 20px;
  margin-bottom: 40px;
}
#slider .h1 {
  color: #000;
  font-weight: 700;
  font-size: 24px;
  margin-bottom: 16px;
}

#slider .swiper-pagination {
    bottom: 60px;
    left: 0;
    right: 0;
}
#slider .btn-main {
  align-self: auto;
}
#slider .swiper-pagination .swiper-pagination-bullet{
    height: 20px;
    width: 20px;
    border: 1px solid var(--mcolor);
    border-radius: 50%;
    background-color: transparent;
    opacity: 1
}
#slider .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
    background-color: var(--mcolor)
}
#slider .swiper-button-next, #slider .swiper-button-prev {
  color: var(--mcolor)
}
@media (min-width:890px) {
  #slider, #slider .col-12 {height: 100vh;}
  .page-template-template-services #slider .col-12, .page-template-template-services #slider, .single #slider .col-12, .single #slider {height: 45vh;}
  .page-template-template-services #slider h1 {
    margin-bottom: 0;
    font-size: 32px;
    font-weight: 900;
  }
  .page-template-template-projects #slider, .page-template-template-projects #slider .col-12 {height: calc( 70vh - 152px ); padding-top: 0; padding-bottom: 0}
  #slider .btn {align-self: flex-start;}
  #slider .h1 {
    font-size: 48px;
    line-height: 70px;
  }
  #slider .slider-exerpt {
    font-size: 20px;
    width: 50%;
    margin-bottom: 40px;
  }
}
@media (max-width:890px) {
  #slider .swiper-slide::before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.3);
  }
}

/* about */

#about {padding-bottom: 2.5rem; padding-top: 2.5rem;}
#about h2 {font-weight: 700; margin-bottom: 15px; text-align: center; color: #333}
#about .about-description {font-size: 16px; font-weight: 300;}
#about .about-img-wrapper {
  overflow: hidden;
  display: flex;
  align-items: center;
  padding-left: 15px;
  padding-right: 15px;
}
#about .about-img-wrapper img {
    margin-bottom: 20px;
}
/* #about .about-item {padding: 0px; margin-bottom: 20px; display: flex; flex-direction: column; justify-content: center; text-align: center;} */
#about .col-lg-2 {margin-bottom: 30px;}
#about .about-item {
  background-color: #fff;
  border-radius: 0px;
  padding: 20px 20px 0;
  box-shadow: 0 5px 15px rgb(0 0 0 / 10%);
  margin-bottom: 20px;
  /* justify-content: center; */
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: all 0.5s
}
#about .about-item:hover {box-shadow: 0 5px 25px rgb(0 0 0 / 20%);}

#about svg {margin-bottom: 20px; fill: var(--scolor); display: flex; align-self: center; height: 82px; width: auto;}

#about h4 {font-size: 16px; font-weight: 400; margin-bottom: 20px; text-align:center; color: #000}

#about .about-item:hover, #about .about-item:hover h4 {text-decoration: none; color: var(--mcolor)}
#about span {font-size: 14px;}
#about ul {padding-left: 0}
#about li {
  list-style: none;
  position: relative;
  padding-left: 20px;
  font-size: 16px;
  font-weight: 300;
  padding-bottom: 5px;
}


#about li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 10px;
  height: 10px;
  border: 2px solid var(--mcolor);
  border-radius: 50%;
}
@media (min-width:890px) {
  #about { padding-top: 7.5rem; padding-bottom: 7.5rem;}
  #about h2 {font-size: 32px; font-weight: 700; margin-bottom: 24px; text-align: left;}
  #about h4 {font-size: 16px;}
  #about .about-item {
    margin-bottom: 0px;
    height: 100%
  }
  /* #about .about-item:first-child {margin-right: 30px;} */

  #about .about-description { margin-bottom: 48px;}
  #about .about-img-wrapper {
    position: absolute;
    left: 0;
    width: 34%;
    padding-left: 0px;
    padding-right: 0px;
  }
  #about .about-img-wrapper img {
      object-position: right;
      min-height: 600px;
      object-fit: cover;
      margin-bottom: 0;
      width: 100%
  }

  #about li {
    font-size: 24px;
    line-height: 32px;
    padding-bottom: 10px
  }
  #about svg {}

 }
@media (min-width:1600px) {
  #about .about-img-wrapper {width: 38%;}
  #about .about-img-wrapper img { height: 700px;}
}

/* directions */

#directions {padding-bottom: 2.5rem; padding-top: 2.5rem;}
#directions h2 {padding-bottom: 20px;}
.directions-item {
  border-radius: 4px;
  padding: 30px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.7s;
  margin-bottom: 30px;
  width: 100%
}
.col-lg-3 .directions-item {
  padding: 40px 20px;
}

.directions-item:hover {
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.4);
}

#directions svg {margin: 0 auto 30px; max-height: 100px;}

.page-template:not(.home) #directions svg {
  margin: 0 auto;
  margin-bottom: 15px;
  width: 100px;
  height: 100px;
  fill: var(--scolor);
}
.page-template:not(.home) #directions .col-lg-4 svg {
  margin: 0 auto 30px;
  width: 150px;
  height: auto;
}
#directions h4 {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 16px;
  margin-bottom: 20px;
  line-height: 150%
}
.page-template:not(.home) #directions h4 {
  font-size: 18px;
  word-break: break-word;
  text-align: center;
}
.page-template:not(.home) #directions .col-lg-4 h4 {
  text-align: left;
}
#directions a {display: flex;}
@media (min-width:890px) {
  #directions { padding-top: 7.5rem; padding-bottom: 7.5rem}
  #directions.additional_directions { padding-top: 0rem; padding-bottom: 7.5rem}
  .page-template-template-expertise #directions.additional_directions { padding-top: 0rem; padding-bottom: 0}
  #directions h2 {padding-bottom: 45px;}
  #directions h4 { font-size: 15px;}
  .col-lg-3 .directions-item {
    padding: 30px 20px;

  }
}

#useful {padding-bottom: 2.5rem; padding-top: 2.5rem; position: relative;}
#useful::before {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 50%;
  background-color: #EDEDED
}
#useful a {color: #000;}
#useful a:hover {text-decoration: none;}
#useful .useful-img-wrapper {position: relative; overflow: hidden;margin-bottom: 24px;}
#useful .useful-img-wrapper img {transition: all 0.5s}
#useful .useful-img-wrapper:hover img {position: relative; overflow: hidden; transform: scale(1.2);}
#useful h4 {font-size: 18px; font-weight: 400}

@media (min-width:890px) {
  #useful { padding-top: 7.5rem; padding-bottom: 7.5rem}
  #useful img {min-height: 420px; object-fit: cover;}
}


#team {padding-bottom: 2.5rem; padding-top: 0rem; position: relative;}
#team .card {
  border: 0;
  border-radius: 0;
  color: var(--scolor)
}
#team .card-wrapper {
  width: 50%;
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 30px;
}
#team .card-wrapper .card-flip .card-front, #team .card-wrapper .card-flip .card-back {
  box-shadow: 0 5px 15px rgb(0 0 0 / 10%);
}
#team .card-wrapper h4 {
  font-size: 18px;
  font-weight: 500;
  padding-left: 15px;
  padding-right: 15px;
  text-align: center;
  margin-top: 24px;
}
#team .card-wrapper span {
  font-size: 14px;
  font-weight: 300;
  color: #6F6F6F;
  padding-left: 15px;
  padding-right: 15px;
  text-align: center;
  margin-bottom: 20px;
}
#team .card-wrapper a {
  text-decoration: underline;
  color: var(--scolor)
}
/*
flip card
*/
.card-flip > div {
  backface-visibility: hidden;
  transition: transform 300ms;
  transition-timing-function: linear;
  width: 100%;
  height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.card-front {
  transform: rotateY(0deg);
}

.card-back {
  transform: rotateY(180deg);
  position: absolute;
  top: 0;
  padding-left: 15px;
  padding-right: 15px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.card-flip:hover .card-front {
  transform: rotateY(-180deg);
}

.card-flip:hover .card-back {
  transform: rotateY(0deg);
}

@media (min-width:890px) {
  #team { padding-top: 2.5rem; padding-bottom: 7.5rem}
  #team .card-wrapper {width: 20%; padding-left: 15px; padding-right: 15px;}
}


/* УСЛУГИ */
#page-content {
  padding-bottom: 2.5rem;
  padding-top: 2.5rem;
  font-weight: 300
}
#page-content .other-services {
  background-color: #EDEDED;
  padding: 32px 24px;
}
#page-content .other-services a{
  color: #000;
  transition: all 0.3s
}
#page-content .other-services a:hover {
  color: var(--mcolor);
  text-decoration: none;
}
#page-content .other-services h4{
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 24px;
}
#page-content .other-services h5{
  font-size: 16px;
  font-weight: 300;
  margin-bottom: 0
}
#page-content .other-services svg{
  height: 30px;
  width: 30px;
  min-width: 30px;
  margin-right: 8px;
}
.wp-block-media-text__content ul {padding-left: 0}
@media (min-width:890px) {
  #page-content { padding-top: 7.5rem; padding-bottom: 7.5rem}
}

/* КОНТАКТЫ */
#contacts-main {
  padding-bottom: 2.5rem;
  padding-top: 2.5rem;
  background: #DDDDDe;
  position: relative;
}
.contacts-main-bg {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
}
#contacts-main h4{
  font-size: 18px;
  font-weight: 300;
  margin-bottom: 16px;
}
#contacts-main .form-control{
  background-color: #fff;
  border-radius: 0;
  margin-bottom: 15px;
  border: 0;
}
#contacts-main input[type=text], #contacts-main input[type=email]{
  height: 48px;
}



#contacts {padding-top: 80px; font-size: 16px; font-weight: 300}
#contacts h1 {font-size: 24px; font-weight: 700}
#contacts a {color: var(--scolor); margin-bottom: 0}
#contacts .map {overflow: hidden;}
#contacts .teammate-wrapper {font-size: 16px; font-weight: 300; margin-top: 24px}
#contacts .teammate-wrapper span {font-weight: 700; margin-right: 5px;}
#contacts .teammate-wrapper h4 {font-size: 16px; line-height: inherit; font-weight: 300}
#contacts .teammate-wrapper a {font-size: 16px; text-decoration: underline; margin-right: 10px}
#contacts .address {margin-bottom: 24px;}

#contacts a.btn {color: #fff}
#contacts .phone:hover, #contacts .email:hover { text-decoration: underline;}
#contacts .phone::before {content: "";  background-repeat: no-repeat; display: inline-block; margin-right: 10px; height: 20px; width: 20px; background-size: cover;}
#contacts .phone.icon::before {background-image: url(../img/icons/lnr-phone-handset.svg);}
#contacts .email::before {content: "";  background-repeat: no-repeat; display: inline-block; margin-right: 10px; height: 20px; width: 20px; background-size: cover;}
#contacts .email.icon::before {background-image: url(../img/icons/lnr-envelope.svg);}
/* #contacts .address::before {content: ""; background-image: url(../img/icons/lnr-map-marker.svg); background-repeat: no-repeat; display: inline-block; margin-right: 10px; height: 20px; width: 20px; background-size: cover;} */

.page-template-template-contacts #slider, .page-template-template-contacts #slider .col-12 {height: 30vh}
@media (min-width:890px) {
  #contacts {padding-top: calc( 7.5rem + 120px ); padding-bottom: 7.5rem}
  #contacts h1 {font-size: 48px;}
  .page-template-template-contacts #slider, .page-template-template-contacts #slider .col-12 {height: 20vh}
  #contacts-main { padding-top: 7.5rem; padding-bottom: 7.5rem}
  .contacts-main-bg {
    display: block;
  }
}

.page-template-template-news main {padding-top: 60px}
/* .page-template-template-events #events { padding-top: 5rem} */
#events {padding-top: 5rem; padding-bottom: 2.25rem}
#events h2 {font-size: 18px; font-weight: 700; color: #000; margin-bottom: 24px;}
#events span {font-size: 15px; font-weight: 500; margin-bottom: 8px;}
#events span {font-size: 15px; font-weight: 500; margin-bottom: 8px;}
#events a {font-size: 15px; font-weight: 500; position: relative; padding-bottom: 2px; color: #000; align-self: flex-start;}
#events a:hover {text-decoration: none;}
#events a::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background: var(--mcolor);
  bottom: 0;
  left: 0;
  transition: all 0.5s
}
#events a:hover::after {
  position: absolute;
  bottom: -10px;
  opacity: 0;
}
#events.events-cat a::after{
  display: none;
}
#events.events-cat .cat-img {overflow: hidden;}
#events.events-cat .cat-img img {transition: all 0.7s}
#events.events-cat .cat-img:hover img {transform: scale(1.1);}
@media (min-width:890px) {
  #events h1 {font-size: 48px; font-weight: 700;}
  .page-template-template-news main {padding-top: 0px}
  #events {padding-top: 7.5rem; padding-bottom: 7.5rem}
}
/* FOOTER */

footer {background-color: #F6CD8F; padding: 2rem 0; color: var(--scolor);}
footer .row > div {padding-bottom: 30px;}
footer h3 {font-size: 20px; font-weight: 500; margin-bottom: 24px}
footer h4 {font-size: 15px; font-weight: 700; margin-bottom: 16px}


footer .navbar {padding: 0}
footer .navbar-nav {flex-direction: column !important;}
footer .footer-logo span {

  color: #fff;
  /* font-family: 'PT Serif';  */
  padding-left: 20px;
  padding-right: 10px;
}
  footer .footer-logo .logo {font-size: 14px; color: #fff; font-weight: 300}
footer .navbar-light .navbar-nav .nav-link {
  color: var(--scolor);
  padding-left: 0;
  padding-right: 0;
  font-size: 15px;
  text-transform: none;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-weight: 300
}
footer .navbar-light .navbar-nav .nav-link {
  color: var(--scolor);
  font-size: 15px;
  font-weight: 300;
  padding-bottom: 10px;
  padding-top: 0;
}
footer .col-12 span {font-weight: 300}
footer .navbar-light .navbar-nav .nav-link:hover {color: var(--scolor); text-decoration: underline;}
footer .navbar-light .navbar-nav .nav-link:hover, footer .navbar-light .navbar-nav .active>.nav-link {
    transition: all 0.5s;
    text-decoration: underline;
    background-color: transparent;
    box-shadow: none;
    color: var(--scolor);;
}
.footer-address {
  padding-bottom: 16px;
}
.footer-phone, .footer-email, .footer-address, .footer-telegram {
  color: var(--scolor);
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 14px;
  font-weight: 300;
  margin-bottom: 5px;

}
.footer-phone:hover, .footer-email:hover {color: var(--scolor); text-decoration: underline;}
.footer-phone::before {content: "";  background-repeat: no-repeat; display: inline-block; margin-right: 10px; height: 20px; width: 20px; background-size: cover;background-image: url(../img/icons/lnr-phone-handset.svg);}
.footer-telegram::before {content: "";  background-repeat: no-repeat; display: inline-block; margin-right: 10px; height: 20px; width: 20px; background-size: cover;background-image: url(../img/icons/telegram.svg);}

.footer-email::before {content: "";  background-repeat: no-repeat; display: inline-block; margin-right: 10px; height: 20px; width: 20px; background-size: cover;}
.footer-email::before {background-image: url(../img/icons/lnr-envelope.svg);}


@media (min-width:890px) {
  footer {padding: 64px 0;}

  footer .footer-logo span {
    /* font-family: 'PT Serif';  */
    font-size: 15px;
    font-weight: 400;
    padding-left: 10px;
    display: block;
  }
  footer .footer-logo span:first-child {
    position: relative;
    font-weight: 700
  }
  footer .footer-logo span:first-child::after {
    content: "";
    background-color: #fff;
    height: 1px;
    width: 100%;
    left: 0;
    position: absolute;
    bottom: -2px;
  }
  footer .footer-logo .logo {
    margin-right: 0;
    color: #fff;
    padding-top: 0;
    font-size: 14px;
    font-weight: 300;
  }
  footer .footer-logo .logo img {width: 50px}

  .footer-address {justify-content: flex-end; flex: 1 1 100%}
  footer .row > div {padding-bottom: 0px;}
  footer h4::after {margin-bottom: 20px;}
  /* .footer-phone, .footer-email {margin-left: 30px;} */
}


/* PAGES */
/* .page main {padding-bottom: 6.25rem} */
#hero {height: 50vh; position: relative;background-size: cover; background-repeat:no-repeat; background-position: bottom;}
.kontakty #hero, .archive #hero {background-position: center;}
*:not(.home) #hero h1 {color: #fff;}
#hero::before {content: "";position: absolute; top: 0; bottom: 0; left: 0; right: 0; display: block; background-color: rgba(0,0,0,.5); }
.kontakty .wpcf7-form-control{margin-bottom: 10px;}
input.form-control, textarea.form-control {background-color: #F0F0F0}
#page-main-content { padding-bottom: 2.5rem; padding-top: 2.5rem;}
#page-main-content h2 {color: var(--mcolor);margin-bottom: 20px;}
#page-main-content .img-left img {border-top-right-radius: 30px; border-bottom-right-radius: 30px}
#page-main-content .img-right img {border-top-left-radius: 30px; border-bottom-left-radius: 30px}
#page-main-content .wp-block-media-text__content p:last-child {margin-bottom: 0}
#page-main-content .wp-block-media-text img {
  max-width: 100%;
      height: auto;
}
#page-main-content .img-right .wp-block-media-text__content {padding-left: 0}
#page-main-content li.blocks-gallery-item:last-child {
    max-width: 25%;
}
/* .wp-block-image img {
    width: 100%;
    height: auto;
} */
.wp-block-table td {
    padding-left: 10px;
    padding-right: 10px;
    vertical-align: top;
}
/* .archive article h4{
  font-family: Open Sans;
  font-size: 18px;
  font-weight: 400;
  color: #fff;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(102, 125, 120, 0.5);
  padding: 15px 0;
  margin: 0;
  padding: 20px;
}
.archive article div {
  display: block;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  padding-bottom: 70%;
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: 0 5px 15px rgb(0 0 0 / 30%);
  border-radius: 5px;
  margin-bottom: 30px;
  position: relative;
}
.archive article a {
  display: block;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  padding-bottom: 70%;
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: 0 5px 15px rgb(0 0 0 / 30%);
  border-radius: 5px;
  margin-bottom: 30px;
  position: relative;
} */

@media (min-width:890px) {
  #page-main-content { padding-top: 6.25rem; padding-bottom: 6.25rem;}
  #page-main-content h2 {margin-bottom: 40px;}
  .page-template-template-education .cat-img  img {height: 300px; width: 100%; object-fit: cover;}
}
/* MODALS */
.modal .wpcf7-form-control.wpcf7-text { padding-left: 20px; margin-bottom: 10px;}
.modal .modal-content {border-radius: 10px; background-color: #fff;}
.modal .modal-header {border:0; padding-bottom: 0}
.modal .modal-title {color: var(--scolor)}
.modal .modal-body {padding-left: 30px; padding-right: 30px; padding-bottom: 20px}
#search-modal .modal-content {height: 50vh}
.wpcf7-spinner {height: 0 !important}
.wpcf7-response-output {display: none}
@media (max-width:890px) {
  /* .wpcf7-form input.btn.btn-main {margin: 0 auto !important;} */

}
.grecaptcha-badge {display: none;}
