body {
  font-family: "Geologica", sans-serif;
  color: #000;
  font-size: 16px;
  font-weight: 400;
}
.header-mobile-block {
  display: none;
}
.page.front h1 {
  text-align: center;
  margin-top: 64px;
}
h1 {
  font-size: 56px;
}
h2 {
  font-size: 50px;
  margin-bottom: 28px;
}
h3 {
  font-size: 40px;
  margin-bottom: 28px;
}
h5 {
  font-size: 16px;
}
h5 a,
h5 a:hover {
  color: #000;
}
a.btn-vesta,
.more-link a {
  display: block;
  color: #000;
  font-size: 15px;
  background-color: #69e1ff;
  border: 1px solid #69e1ff;
  margin: 0 auto;
  width: 164px;
  padding: 11px;
  text-align: center;
  border-radius: 30px;
  margin-top: 35px;
}
a.btn-vesta:hover,
.more-link a:hover {
  background-color: #fff;
  text-decoration: none;
}
.ui-widget .ui-dialog-buttonset button {
  background-color: #003399;
  border: 1px solid #003399;
  width: 211px;
  padding: 10px;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  text-align: center;
  margin: 0 auto;
  border-radius: 30px;
}
.ui-widget .ui-dialog-buttonset button.button--primary:hover,
.webform-button--submit:focus,
.webform-button--submit:not(:disabled):not(.disabled):active,
.webform-button--submit:not(:disabled):not(.disabled):active:focus,
.webform-button--submit:disabled {
  background-color: #fff;
  box-shadow: none;
  border: 1px solid #003399;
  color: #000;
}
a.button-form {
  display: block;
  width: 100%;
  background-color: #00ccff;
  border: 1px solid #00ccff;
  color: #fff;
  padding: 10px;
  border-radius: 30px;
}
a.button-form:hover {
  background-color: #fff;
  text-decoration: none;
  color: #000;
}
.region-content {
  padding: 0;
}
/*header*/
.region-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
div#block-vesta-theme-kontakty .field--name-body {
  display: flex;
  gap: 10px 58px;
}

div#block-vesta-theme-kontakty {
  width: 55%;
}

.contact,
.contact a {
  color: #000;
  font-weight: 300;
}
.contact {
  word-break: break-word;
}
.contact p {
  display: inline;
  margin-left: 8px;
}
.contact svg {
  fill: #003399;
}
.block-vesta-theme-kontakty {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
div#block-vesta-theme-logo {
  margin-bottom: -54px;
}
div#block-vesta-theme-kontakty .field--name-body.clearfix:after {
  display: none;
}
.special-block {
  width: 42px;
  height: 42px;
  background-color: #003399;
  border-radius: 50px;
  text-align: center;
}
.special-block img {
  padding: 12px 0;
}

div#block-vesta-theme-knopkaostavitzayavku .button-form {
  width: 153px;
}
div#block-vesta-theme-knopkaostavitzayavku .field--name-body {
  display: flex;
  width: max-content;
  gap: 17px;
}
div#block-vesta-theme-knopkaostavitzayavku .field--name-body.clearfix:after {
  display: none;
}
ul.sf-menu .sf-sub-indicator {
  right: 3.75em;
}
ul.sf-menu .sf-sub-indicator:after {
  content: "";
}
ul.sf-menu .sf-with-ul {
  padding-right: 14.5px;
}
ul.sf-menu li:hover > ul,
ul.sf-menu li.sfHover > ul {
  top: 2.9em;
}
ul.sf-menu.sf-horizontal.sf-shadow ul,
ul.sf-menu.sf-vertical.sf-shadow ul,
ul.sf-menu.sf-navbar.sf-shadow ul ul {
  box-shadow: none;
}
ul.sf-menu ul {
  background-color: #fff;
}
ul.sf-menu ul a,
ul.sf-menu span.nolink {
  color: #636363;
  line-height: 160%;
}
ul.sf-menu ul a:hover,
ul.sf-menu span.nolink:hover {
  color: #003399;
}
ul.sf-menu ul li {
  width: max-content;
}
header .contact {
  width: max-content;
}
/*header*/

.navigation-header {
  background-color: #69e1ff;
}
ul.sf-menu a,
ul.sf-menu span.nolink {
  color: #000;
  padding: 14.5px 16.5px;
  font-size: 18px;
}
ul.menu a.is-active {
  color: #fff;
  background-color: #003399;
}
ul.sf-menu.menu li {
  padding: 0 17px;
}
.search-api-page-block-form-search input.form-search {
  height: 32px;
  width: 153px;
  background-color: #bcf2ff;
  border: 1px solid #bcf2ff;
  border-radius: 30px;
}
.search-api-page-block-form-search input.form-search::placeholder {
  color: #035e74;
  font-size: 14px;
  font-family: "Onest", sans-serif;
  font-weight: 400;
}
.search-api-page-block-form-search {
  position: relative;
  width: max-content;
  height: 32px;
}
.search-form__submit {
  position: absolute;
  right: 10px;
  top: 5px;
  background: url(../image/icon-search.svg) no-repeat center;
  width: 24px;
  height: 24px;
  border: none;
  color: transparent;
}
.special-color-1 .search-form__submit {
  background: url(../image/icon-search.svg) no-repeat center !important;
  color: transparent !important;
}
.btn-primary:hover {
  color: transparent;
  background-color: transparent;
  border: transparent;
  box-shadow: none;
}
.btn-primary:focus,
.btn-primary.focus {
  color: transparent;
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
}
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  color: transparent;
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
}
div#block-vesta-theme-osnovnayanavigaciya-2 {
  width: max-content;
}
.region.region-navigation {
  display: flex;
  align-items: center;
  justify-content: end;
  padding-left: 150px;
}
/*слайдер*/
.content {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  align-items: start;
  gap: 25px;
}
.field--name-field-slide-title {
  font-size: 64px;
  font-weight: 700;
  line-height: 120%;
  width: 600px;
  overflow: hidden;
}
.content .field--name-body {
  font-size: 32px;
  width: 668px;
}
.node--type-slide .field--name-field-image img {
  height: 680px;
  width: 100%;
  object-fit: cover;
}
a.slide-link {
  display: block;
  width: 243px;
  background-color: #69e1ff;
  border-radius: 30px;
  border: 1px solid transparent;
  box-sizing: border-box;
  font-weight: 500;
  padding: 21px;
}
.slide-link:hover,
.slide-link:focus,
.slide-link:not(:disabled):not(.disabled):active,
.slide-link:not(:disabled):not(.disabled):active:focus,
.slide-link:disabled {
  box-shadow: none;
  border: 1px solid #69e1ff;
  background-color: #fff;
  text-decoration: underline;
}
.slick-prev,
.slick-next {
  width: 44px;
  height: 44px;
}
.view-slayder .slick-dots {
  bottom: 24px;
  z-index: 100;
}
.view-slayder .slick-dots li button:before {
  content: url(../image/slick-before.svg);
  opacity: 100%;
  z-index: -2;
}
.view-slayder .slick-dots li.slick-active button:before {
  content: url(../image/slick-active-before.svg);
  opacity: 100%;
  z-index: -2;
}
.slick-dots li button:before {
  line-height: 30px;
  width: 24px;
  height: 24px;
}
.slick-prev {
  left: 30px;
  z-index: 100;
}
.slick-prev:before {
  content: url(../image/slick-prev.svg);
}
.slick-next {
  right: 55px;
  z-index: 100;
}
.slick-next:before {
  content: url(../image/slick-next.svg);
}

.slick-prev:before,
.slick-next:before {
  opacity: 100%;
  display: block;
  width: 44px;
  height: 44px;
}
/*слайдер*/

/*услуги*/
.node--type-services.node--view-mode-teaser .field--name-node-link a {
  display: block;
  font-weight: 500;
  color: #000;
  width: 194px;
  border: 2px solid #69e1ff;
  border-radius: 30px;
  text-align: center;
  padding: 14px;
  margin-top: 28px;
}
.node--type-services.node--view-mode-teaser .field--name-node-link a:hover {
  background-color: #69e1ff;
  text-decoration: none;
}
.node--type-services.node--view-mode-teaser .field--name-body {
  font-size: 30px;
  font-weight: 300;
  line-height: 140%;
}
.region.region-services {
  display: flex;
  gap: 72px;
  align-items: center;
}
div#block-vesta-theme-kartinkauslugi {
  margin-left: -290px;
}
#block-vesta-theme-kartinkauslugi img {
  height: 430px;
  width: auto;
  object-fit: cover;
}
div#services-block {
  padding-bottom: 20px;
}
/*услуги*/

/*О нас*/

div#about-block .container {
  max-width: 1530px;
  margin-right: 0;
  margin-left: auto;
}
.region-about {
  display: flex;
  justify-content: space-between;
  gap: 25px 82px;
  align-items: center;
}
div#block-vesta-theme-views-block-about-block-1 {
  width: 50%;
  padding: 20px 0 20px;
}
div#block-vesta-theme-kartinkaabout {
  width: 50%;
}
div#block-vesta-theme-kartinkaabout img {
  width: 100%;
  height: auto;
}
.block-views-blockabout-block-1 .field--name-body {
  font-size: 18px;
  font-weight: 300;
}
.about-block {
  background-color: #f9f9f9;
  margin-bottom: 64px;
}
.special-color-1 .my-class {
  background: transparent !important;
}
/*О нас*/

/*Галерея*/
.gallery-block {
  margin-bottom: 43px;
}
.region-gallery h2 {
  text-align: center;
  margin-bottom: 54px;
}
.view-fotogalereya .node--type-photogallery .field--name-field-gallery {
  display: flex;
  gap: 31px 16px;
  flex-wrap: wrap;
}
.view-fotogalereya .node--type-photogallery .field--name-field-gallery img {
  border-radius: 40px;
}

/*Галерея*/

/*Новости*/
.news-block {
  background-color: #f9f9f9;
  padding: 25px 0 39px;
}
.region-news h2 {
  text-align: center;
}
.view-news .view-content {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  justify-content: space-between;
}
.content-news .field--name-field-image-news {
  margin-bottom: 16px;
}
.content-news .field--name-field-image-news img {
  border-radius: 40px;
}
.content-news .field--name-body {
  font-size: 14px;
  color: #a9a9a9;
  line-height: 140%;
  margin-bottom: 17px;
}
.content-news .field--name-body p:after {
  content: "...";
  display: inline-block;
}
.content-news .field--name-node-link a {
  color: #00ccff;
  font-size: 15px;
  font-weight: 300;
}
.node--type-news.node--view-mode-teaser {
  width: 270px;
}
/*Новости*/

/*Карта*/
.map-block {
  padding: 50px 0 40px;
}
.mapContainer {
  margin: 0 auto;
  overflow: hidden;
  border-radius: 40px;
  transform: translateZ(0px);
}
.region.region-map {
  position: relative;
}
div#block-vesta-theme-kontakty-2 {
  position: absolute;
  z-index: 10;
  background-color: #fff;
  width: 370px;
  top: 20%;
  left: 20%;
  border-radius: 30px;
  padding: 32px 36px 47px;
}
div#block-vesta-theme-kontakty-2 .field--name-body {
  display: flex;
  flex-direction: column;
  gap: 13px;
}
div#block-vesta-theme-kontakty-2 .field--name-body .contact-link p:first-child {
  margin-bottom: 8px;
}
/*Карта*/

/*footer*/
footer .region-footer {
  flex-direction: row;
  gap: 20px;
  padding: 0;
  justify-content: space-between;
}
footer#footer {
  background-color: #003399;
  color: #fff;
}
footer#footer a,
footer#footer .contact {
  color: #fff;
}
footer .contact svg {
  fill: #fff;
}
.privacy-copy {
  font-size: 13px;
  font-weight: 300;
}

footer .button-form {
  width: 290px;
}
footer .button-form {
  width: 290px;
}
footer#footer .button-form:hover {
  color: #000;
}
div#block-vesta-theme-kopirayt .field--name-body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 66px;
}
div#block-vesta-theme-kopirayt .field--name-body.clearfix:after {
  display: none;
}
.copyright p {
  margin-bottom: 10px;
  font-size: 13px;
}
footer .contact {
  font-size: 16px;
  font-weight: 300;
}
footer .contact-link .contact {
  margin-bottom: 10px;
}

footer .contact-location {
  margin-bottom: 0;
  margin-top: 16px;
}
.navbar-nav .nav-link {
  font-size: 18px;
  padding: 0 0 12px;
}
div#block-vesta-theme-kontakty-3 {
  max-width: 227px;
}
footer .navbar-nav .nav-link:hover {
  text-decoration: underline;
}
footer .navbar-nav a.nav-link:after {
  display: none;
}
/*footer*/
main.main {
  margin-bottom: 100px;
}
.ajax-progress .throbber,
.ajax-progress-throbber .throbber {
  display: inline-block;
  float: none;
  margin: 400px auto 0 auto;
  width: 64px;
  height: 64px;
  background: url("../image/preloader.gif") no-repeat center center;
}
.ajax-progress,
.ajax-progress-throbber {
  width: 100%;
  height: 100%;
  background-color: transparent;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 4444;
  vertical-align: middle;
  text-align: center;
}
button#scrollToTop {
  border: none;
  background-color: transparent;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 100;
  width: 52px;
  height: 52px;
  filter: drop-shadow(0 0 2px #fff);
}
/* pop-up */
.ui-dialog .ui-dialog-title {
  font-size: 24px;
  line-height: 160%;
  text-align: center;
  text-transform: uppercase;
  font-weight: 700;
}
.webform-submission-form input.form-control {
  border-top: none;
  border-left: none;
  border-right: none;
  border-radius: 0;
  border-bottom-color: #000;
  padding-left: 0;
}
.webform-submission-form input.form-control:focus {
  border-color: #000;
  box-shadow: none;
}
.webform-submission-form input.form-control::placeholder {
  color: #000;
  font-size: 15px;
  font-weight: 300;
  line-height: 160%;
}
.ui-dialog .ui-dialog-titlebar {
  border: none;
  background-color: #fff;
  border-top-left-radius: 50px;
  border-top-right-radius: 50px;
}
.ui-dialog .ui-dialog-buttonpane {
  border: none;
  background-color: #fff;
  border-bottom-left-radius: 50px;
  border-bottom-right-radius: 50px;
}
.ui-widget.ui-widget-content {
  border: none;
  border-radius: 50px;
  padding: 29px 20px 25px;
}
.form-type-checkbox .description {
  margin-left: 5px;
}
.description {
  color: #778797;
  font-size: 14px;
}
.js-form-item-soglasie {
  display: flex;
}
.description a {
  color: #778797;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
  float: none;
  text-align: center;
}
/* pop-up */

.page.not-front #block-vesta-theme-page-title {
  margin-top: 40px;
  margin-bottom: 30px;
}

.view-id-services.view-display-id-page_1 .view-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
}
.view-id-services.view-display-id-page_1 .view-content .views-row {
  max-width: 46%;
}

@media (min-width: 1200px) {
  .container-xl,
  .container-lg,
  .container-md,
  .container-sm,
  .container {
    max-width: 1170px;
    padding: 0;
  }
}
@media only screen and (max-width: 1920px) {
  div#about-block .container {
    max-width: 90%;
    margin-left: auto;
  }
}
@media only screen and (max-width: 1200px) {
  .region-about {
    flex-wrap: wrap;
  }
  .view-fotogalereya .node--type-photogallery .field--name-field-gallery {
    justify-content: space-evenly;
  }
  div#block-vesta-theme-views-block-about-block-1,
  div#block-vesta-theme-kartinkaabout {
    width: 100%;
  }
  div#block-vesta-theme-logo {
    margin-right: 15px;
  }
  div#block-vesta-theme-knopkaostavitzayavku {
    margin-left: 10px;
  }
  div#block-vesta-theme-kontakty .field--name-body .contact-location {
    max-width: 290px;
  }
  div#block-vesta-theme-kontakty .field--name-body {
    column-gap: 14px;
  }
  ul.sf-menu.menu li {
    padding: 0 5px;
  }
  ul.sf-menu a,
  ul.sf-menu span.nolink {
    padding: 14.5px 10px;
  }
  .slick-next {
    right: 45px;
  }
  div#block-vesta-theme-kartinkauslugi {
    margin-left: -202px;
  }
  .search-api-page-block-form-search input.form-search {
    width: 125px;
  }
}
@media only screen and (max-width: 992px) {
  h1 {
    font-size: 47px;
  }
  .page.front h1 {
    margin-top: 40px;
  }
  h2 {
    font-size: 40px;
  }
  h3 {
    font-size: 36px;
  }
  #block-vesta-theme-kartinkauslugi img {
    height: 320px;
  }
  main.main {
    margin-bottom: 70px;
  }
  div#block-vesta-theme-kontakty .field--name-body {
    display: flex;
    gap: 10px 14px;
    flex-wrap: wrap;
    padding: 10px 0;
  }
  div#block-vesta-theme-logo {
    margin-bottom: -10px;
  }
  ul.sf-menu a,
  ul.sf-menu span.nolink {
    padding: 14.5px 12px;
    font-size: 16px;
  }
  .region.region-navigation {
    padding-left: 0;
  }
  .field--name-field-slide-title {
    font-size: 50px;
  }
  .content .field--name-body {
    font-size: 28px;
  }

  .node--type-services.node--view-mode-teaser .field--name-body {
    font-size: 21px;
  }
  div#block-vesta-theme-kartinkaabout img {
    width: 100%;
    height: 350px;
    object-fit: cover;
  }
  footer .region-footer {
    flex-wrap: wrap;
  }
  .search-api-page-block-form-search input.form-search {
    width: 115px;
  }
  ul.sf-menu.menu li {
    padding: 0 1px;
  }
}
@media only screen and (max-width: 768px) {
  h1 {
    font-size: 41px;
  }
  h2 {
    font-size: 38px;
  }
  h3 {
    font-size: 34px;
  }
  .node--type-services.node--view-mode-teaser .field--name-body {
    font-size: 18px;
  }
  .region-news .view-content {
    justify-content: space-evenly;
  }
  .header-block,
  .navigation-header {
    display: none;
  }
  .header-mobile-block {
    display: block;
  }
  .region-header-mobile {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
  }
  .header {
    position: fixed;
    background-color: #fff;
    z-index: 100;
    left: 0;
    right: 0;
  }
  .slider-block {
    margin-top: 110px;
  }
  .region.region-services {
    flex-wrap: wrap;
  }
  div#block-vesta-theme-kartinkauslugi {
    margin-left: 0;
  }
  .content .field--name-body {
    font-size: 24px;
    width: 100%;
  }
  .field--name-field-slide-title {
    font-size: 40px;
  }
  div#block-vesta-theme-kopirayt {
    width: 44%;
  }
  div#block-vesta-theme-kontakty-3 {
    max-width: 50%;
  }
  div#block-vesta-theme-kopirayt .field--name-body {
    gap: 56px;
  }
  footer .button-form {
    width: 100%;
  }
  .field.field--name-field-gallery .field__item img {
    width: 100%;
    height: auto;
  }
  div#block-vesta-theme-logo-2 img {
    width: 70%;
  }
  .field--name-field-slide-title {
    width: 100%;
  }
  .page.not-front main.main {
    margin-top: 140px;
  }
  #block-vesta-theme-knopkaotkrytmobilnoemenyu circle {
    stroke: #003399;
  }
  #block-vesta-theme-knopkaotkrytmobilnoemenyu path {
    fill: #003399;
  }
  .dropdown-toggle::after {
    display: none;
  }
  .mm-menu {
    background: #fff;
    color: #000;
    border-color: #1a379a;
  }
  .mm-menu .mm-navbar a,
  .mm-menu .mm-navbar > * {
    color: rgb(28 56 154);
  }
  ul.dropdown-menu.mm-listview {
    display: block;
    top: 74px;
    left: 40px;
    border: none;
  }
}
@media only screen and (max-width: 680px) {
  .slick-prev,
  .slick-next,
  .slick-prev:before,
  .slick-next:before {
    display: none;
  }
}
@media only screen and (max-width: 600px) {
  h1 {
    font-size: 34px;
  }
  h2 {
    font-size: 30px;
  }
  h3 {
    font-size: 28px;
  }
  .field--name-field-slide-title {
    font-size: 34px;
  }
  .content .field--name-body {
    font-size: 20px;
  }

  a.slide-link {
    padding: 12px;
  }
  .node--type-slide .field--name-field-image img {
    height: 610px;
  }
  .view-id-services.view-display-id-page_1 .view-content .views-row {
    max-width: 100%;
  }
}
@media only screen and (max-width: 520px) {
  div#block-vesta-theme-kartinkauslugi img {
    width: 100%;
    height: auto;
  }
}
@media only screen and (max-width: 500px) {
  h1 {
    font-size: 30px;
  }
  h2 {
    font-size: 28px;
  }
  h3 {
    font-size: 26px;
  }
  .field--name-field-slide-title {
    font-size: 30px;
  }
  div#block-vesta-theme-kopirayt .field--name-body {
    gap: 32px;
  }
  div#block-vesta-theme-kontakty-2 {
    width: 325px;
    top: 20%;
    left: 8%;
    padding: 25px 20px 30px;
  }
  div#block-vesta-theme-kartinkaabout img {
    height: 270px;
  }
}
@media only screen and (max-width: 480px) {
  h1 {
    font-size: 28px;
  }
  h2 {
    font-size: 26px;
  }
  h3 {
    font-size: 24px;
  }
  .field--name-field-slide-title {
    font-size: 28px;
  }
  div#block-vesta-theme-kontakty-3 {
    max-width: 100%;
  }
  div#block-vesta-theme-kopirayt {
    width: 100%;
    text-align: center;
  }
  .block-views-blockabout-block-1 .field--name-body,
  .node--type-services.node--view-mode-teaser .field--name-body {
    font-size: 16px;
  }
}
@media only screen and (max-width: 375px) {
  div#block-vesta-theme-kontakty-2 {
    width: 90%;
    top: 20%;
    left: 0;
    right: 0;
  }
}
