:root {
  --bs-body-font-family: "Roboto", sans-serif;
  --bs-body-font-family-2: "Geologica", sans-serif;
  --bs-body-color: #000;
  --bs-border-radius: 40px;
  --bs-padding-about-block: 65px 0 82px;
  --bs-padding-block: 120px 0 120px;
  --bs-link-color: #000;
  --bs-link-hover-color: #1d9adc;
  --vpa-btn-radius: 40px;

  --curve-size: 160vw; /* диаметр круга */
  --curve-bottom: -12vw; /* как в hero::after */
  --next-bg: #fff; /* фон следующего блока */
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  color: #1d9adc;
  text-decoration: none;
}
.h1,
h1 {
  font-weight: 400;
}
.not-front h1 {
  margin-bottom: 30px;
}
h2 {
  text-align: center;
  margin: 0 auto 40px;
}
#scrollToTop {
  width: max-content;
  height: auto;
  bottom: 173px;
  right: 150px;
}
#scrollToTop img {
  width: 36px;
  height: 20px;
}
.btn-primary {
  --bs-btn-bg: #07588d;
  --bs-btn-border-color: #07588d;
  --bs-btn-hover-bg: #1d9adc;
  --bs-btn-hover-border-color: #1d9adc;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}
.dropdown-menu {
  --bs-dropdown-link-active-bg: #f3f8fe;
  --bs-dropdown-link-active-color: #000000;
}
.btn {
  --bs-btn-padding-x: 66px;
  --bs-btn-padding-y: 19px;
  --bs-btn-font-family: 20px;
}
.btn-close {
  --bs-btn-close-color: transparent;
}
/* header */
.header-top {
  background-color: #1d9adc;
  color: #fff;
  padding: 9px 0 10px;
}
.header-bottom {
  background: #f3f8fe;
}
.header-bottom a:hover {
  color: #1d9adc;
}
header ul.nav {
  text-transform: uppercase;
}
header .nav-item:first-child .nav-link {
  padding-left: 0;
}
header .logo img {
  width: 134px;
}
.nav {
  --bs-nav-link-padding-x: 15px;
}
div#block-vesta-theme-socseti-2 {
  width: 66px;
}
ul.dropdown-menu {
  overflow: hidden;
}
/* end header */

/* Слайд*/
.slider-block {
  padding-top: 30px;
  position: relative;
  clip-path: ellipse(72% 62% at 50% 34%);
  background-color: #f3f8fe;
  background-image: url(/sites/all/themes/vesta_theme/image/konvert.png),
    url(/sites/all/themes/vesta_theme/image/konvert2.png),
    url(/sites/all/themes/vesta_theme/image/konvert3.png);
  background-repeat: no-repeat;
  background-position: 20% 91px, 75% 256px, 87% 105px;
  background-size: 320px, 185px, 240px;
}
.node--type-slide .field--name-node-title {
  text-align: center;
  width: 70%;
}
.node--type-slide .field--name-body {
  width: 59%;
  text-align: center;
  margin-top: 20px;
}
.node--type-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.field--name-field-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.field--name-field-image {
  width: 374px;
  height: 384px;
  border-radius: 40px;
  overflow: hidden;
  z-index: 2;
}
.field--name-field-nadpis {
  position: absolute;
  background: transparent;
  overflow: visible;
  display: flex;
  bottom: 86px;
  width: 100%;
  justify-content: center;
}
.field--name-field-nadpis .field__item img {
  max-width: 100%;
  height: auto;
}
.field--name-field-nadpis .field__item {
  max-width: 290px;
  position: relative;
}
.field--name-field-nadpis .field__item:first-child {
  rotate: -16deg;
}
.field--name-field-nadpis .field__item:nth-child(2) {
  rotate: 13deg;
  top: 20px;
}
.field--name-field-nadpis .field__item:nth-child(3) {
  top: 60px;
}
.field--name-field-nadpis .field__item:nth-child(4) {
  rotate: -17deg;
  margin-right: 432px;
  top: 90px;
}
.field--name-field-nadpis .field__item:nth-child(5) {
  rotate: -18deg;
  top: 90px;
}
.field--name-field-nadpis .field__item:nth-child(6) {
  top: 60px;
}
.field--name-field-nadpis .field__item:nth-child(7) {
  rotate: -18deg;
  top: 20px;
}
/* end Слайд*/

/* Направления */
.programs-block {
  padding: var(--bs-padding-block);
  background-image: url(/sites/all/themes/vesta_theme/image/nap-bg.png),
    url(/sites/all/themes/vesta_theme/image/nap-bg-2.png);
  background-repeat: no-repeat;
  background-position: left -254px, right -43px;
}
.region-programs .block-title {
  width: 70%;
}
.region-documents .block-title {
  width: 34%;
}
.view-napravleniya
  .view-content
  .views-row
  .node--type-programmy.node--view-mode-teaser
  .field--name-node-title {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 20px;
}
.view-napravleniya .view-content {
  display: flex;
  flex-wrap: wrap;

  gap: 30px;
}
.view-napravleniya.view-display-id-block_1 .view-content {
  justify-content: space-between;
}
.view-napravleniya .view-content .views-row {
  width: 370px;
  background-color: #f5f5f5;
  border-radius: var(--bs-border-radius);
  padding: 33px 39px 33px 36px;
}
.view-napravleniya.view-display-id-block_1
  .view-content
  .views-row:nth-child(4),
.view-napravleniya.view-display-id-block_1 .view-content .views-row:last-child {
  width: 48%;
}
.view-napravleniya
  .view-content
  .views-row
  .node--type-programmy.node--view-mode-teaser {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  gap: 4px;
}
.view-napravleniya
  .view-content
  .views-row
  .node--type-programmy.node--view-mode-teaser.clearfix::after {
  display: none;
}
.view-napravleniya
  .view-content
  .views-row
  .node--type-programmy.node--view-mode-teaser
  .field__label {
  font-weight: 500;
}
.view-napravleniya
  .view-content
  .views-row
  .node--type-programmy.node--view-mode-teaser
  .field--name-field-periodichnost {
  margin: 20px 0;
}
.view-napravleniya
  .node--type-programmy.node--view-mode-teaser
  .field--name-field-prodolzhitelnost:before {
  content: "";
  background: url(/sites/all/themes/vesta_theme/image/time.svg) center center
    no-repeat;
  background-size: contain;
  display: block;
  width: 21px;
  height: 21px;
  position: absolute;
  top: 20%;
  left: 0;
}

.view-napravleniya
  .node--type-programmy.node--view-mode-teaser
  .field--name-field-periodichnost:before {
  content: "";
  background: url(/sites/all/themes/vesta_theme/image/period.svg) center center
    no-repeat;
  background-size: contain;
  display: block;
  width: 21px;
  height: 20px;
  position: absolute;
  top: 20%;
  left: 0;
}
.view-napravleniya
  .node--type-programmy.node--view-mode-teaser
  .field--name-field-format-obucheniya:before {
  content: "";
  background: url(/sites/all/themes/vesta_theme/image/format.svg) center center
    no-repeat;
  background-size: contain;
  display: block;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 20%;
  left: 0;
}
.view-napravleniya
  .node--type-programmy.node--view-mode-teaser
  .field--name-field-prodolzhitelnost,
.view-napravleniya
  .node--type-programmy.node--view-mode-teaser
  .field--name-field-periodichnost,
.view-napravleniya
  .node--type-programmy.node--view-mode-teaser
  .field--name-field-format-obucheniya {
  position: relative;
  padding-left: 35px;
}
.field--name-field-format-obucheniya .field__item:nth-child(2):before {
  content: "/";
}
.field--name-field-format-obucheniya .field__items {
  display: flex;
  gap: 5px;
}
.more-link a,
.field--name-field-about-link a,
.btn-vesta {
  background-color: #07588d;
  width: 290px;
  display: block;
  font-size: 20px;
  padding: 20px;
  border-radius: 40px;
  text-align: center;
  color: #fff;
  margin: 40px auto 0;
}
.btn-vesta {
  margin: 40px 0 60px;
}
.more-link a:hover,
.field--name-field-about-link a:hover,
.btn-vesta:hover {
  background-color: #1d9adc;
  color: #fff;
}
.field--name-node-link a {
  background-color: #1d9adc;
  text-align: center;
  padding: 13px;
  border-radius: var(--bs-border-radius);
  margin-top: 30px;
  color: #fff;
  display: block;
}
.field--name-node-link a:hover {
  background-color: #07588d;
}
.node--type-programmy.node--view-mode-full .field--name-field-zagolovok,
.node--type-programmy.node--view-mode-full
  .field--name-field-prodolzhitelnost
  .field__label,
.node--type-programmy.node--view-mode-full
  .field--name-field-periodichnost
  .field__label,
.node--type-programmy.node--view-mode-full
  .field--name-field-format-obucheniya
  .field__label,
.node--type-programmy.node--view-mode-full
  .field--name-field-vydavaemyy-dokument
  .field__label {
  font-size: 18px;
  font-weight: 500;
}
.node--type-programmy.node--view-mode-full
  .paragraph--type--spisok-podlezhashchih-obucheniyu,
.node--type-programmy.node--view-mode-full .field--name-field-prodolzhitelnost,
.node--type-programmy.node--view-mode-full .field--name-field-periodichnost {
  margin-bottom: 20px;
}
.field--name-field-dokumenty {
  margin-top: 20px;
  font-weight: 500;
  font-size: 18px;
}
/* end Направления */

/* Документы */
.documents-block {
  padding: var(--bs-padding-block);
}
.field.field--name-field-dokument img {
  border-radius: var(--bs-border-radius);
  width: 100%;
  height: auto;
}
/* end Документы */

/* о компании */
div#about-block {
  background-color: #f3f8fe;
  padding: var(--bs-padding-about-block);
  background-image: url(/sites/all/themes/vesta_theme/image/about-bg.png);
  background-repeat: no-repeat;
}
.field--name-field-about-link a {
  margin: 0 0 40px auto;
}
.field--name-field-tekst-2 {
  text-align: right;
}
#block-vesta-theme-about-block .left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
#block-vesta-theme-about-block {
  font-size: 20px;
}
div#block-vesta-theme-about-block .block-title {
  width: 57%;
}
.field--name-field-about-img img {
  border-radius: var(--bs-border-radius);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.field--name-field-about-img {
  position: relative;
  height: 100%;
}
.field--name-field-about-img:after {
  position: absolute;
  content: "";
  background: url(/sites/all/themes/vesta_theme/image/watermark.png) center
    center no-repeat;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
/* end о компании */

/* Контакты/карта/ ФОС */
.contact {
  gap: 10px;
}
.contacts-block .contact {
  margin-bottom: 15px;
}
.social {
  gap: 10px;
}
.js-form-item-privacy,
.js-form-type-checkbox {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}
#block-vesta-theme-kontakty-2 .block-title {
  text-align: start;
  margin-bottom: 20px;
}
.webform-element-description {
  color: #a2a2a2;
  font-family: var(--bs-body-font-family-2);
  font-size: 14px;
  font-weight: 500;
}
.mapContainer {
  border-radius: var(--bs-border-radius);
  overflow: hidden;
  width: 670px;
  height: 514px;
  height: 100%;
}
div#block-vesta-theme-yandekskarta-2 .field--name-body {
  height: 100%;
}
.form-control {
  background-color: #f3f8fe;
  border: none;
  padding: 18px;
  margin-top: 0;
  margin-bottom: 20px;
}
.form-control::placeholder {
  color: #a2a2a2;
  font-family: var(--bs-body-font-family-2);
  font-weight: 500;
}
.region-map {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 30px;
}
div#block-vesta-theme-vebforma {
  grid-row: 1 / 2;
}
div#block-vesta-theme-kontakty-2 {
  grid-row: 2 / 3;
  margin-top: 40px;
}
div#block-vesta-theme-yandekskarta-2 {
  grid-row: 1 / 4;
  height: auto;
}
div#block-vesta-theme-socseti {
  grid-row: 3 / 4;
}
.webform-button--submit {
  font-size: 20px;
  width: 100%;
  padding: 19px;
}
.background {
  background: url(/sites/all/themes/vesta_theme/image/bg-1.png) center right,
    url(/sites/all/themes/vesta_theme/image/bg-2.png) left 100%;
  background-repeat: no-repeat;
  padding-bottom: 120px;
}
/* end Контакты */

/* Поиск */
header .region-search {
  display: none;
  position: absolute;
  right: 46px;
  top: -5px;
  width: max-content;
}
.col-search__block {
  width: 18px;
  height: 18px;
  background: url(/sites/all/themes/vesta_theme/image/search.svg);
  cursor: pointer;
}
.col-search__block.close {
  background: url(/sites/all/themes/vesta_theme/image/close-white.svg);
}
#specialButton img {
  margin-right: 10px;
}
.search-form__submit,
.search-form__submit:hover,
.search-form__submit:not(:disabled):not(.disabled):active:focus,
.search-form__submit:focus {
  color: transparent;
  background-color: transparent;
  background-image: url(/sites/all/themes/vesta_theme/image/search-blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 21px;
  height: 21px;
  padding: 0;
  border: none;
  border-radius: 0;
}
header .search-form__submit,
header .search-form__submit:hover,
header .search-form__submit:not(:disabled):not(.disabled):active:focus,
header .search-form__submit:focus {
  background-image: url(/sites/all/themes/vesta_theme/image/search.svg);
}
.js-form-type-search .form-control {
  padding: 3px;
}
header .js-form-type-search {
  width: 356px;
}
.col-search {
  position: relative;
}
/* end Поиск */

/* footer */
footer#footer {
  background-color: #f3f8fe;
  padding-top: 46px;
}
.not-front main {
  margin: 30px 0 60px;
}
footer .logo {
  width: 216px;
  padding: 0;
}
footer .logo img {
  width: 188px;
}
.copyright {
  font-size: 14px;
}
.dropdown-toggle::after {
  display: none;
}
footer a.nav-link {
  padding: 0 0 5px 0;
}
.region-footer-navigation .nav {
  flex-direction: column;
}
div#block-vesta-theme-osnovnayanavigaciya-menu,
div#block-vesta-theme-napravleniya-menu {
  font-weight: 500;
  margin-bottom: 5px;
}
.col-webvesta {
  background-color: #1d9adc;
  color: #fff;
  padding: 20px 20px 18px;
  margin-top: 29px;
}
.copyright {
  margin-top: 44px;
}
.col-webvesta a:hover {
  color: #07588d;
}
footer .nav-link:focus,
.nav-link:hover {
  color: #1d9adc;
}
/* end footer */
div#vpa-short-wrapper {
  background: #1d9adc;
}
.ui-widget-header {
  border: none;
  background: #fff;
}
.ui-dialog .ui-dialog-titlebar-close {
  position: relative;
  border: none;
  background-color: transparent;
}
.ui-widget.ui-widget-content {
  border: none;
  border-radius: 40px;
  overflow: hidden;
}
.ui-dialog .ui-dialog-titlebar {
  padding: 0.8em 1em;
}
.ui-dialog .ui-dialog-titlebar-close:after {
  content: "x";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 21px;
}
.ui-widget-content a {
  color: inherit;
}
ul.dropdown-menu {
  border-radius: 20px;
}
