/**
 * В этом файле весь моддинг стандартного шаблона, кроме измения цветов (они в colors.css)
 *
 * см. https://getbootstrap.com/docs/4.0/layout/overview/#responsive-breakpoints - о точках перехода вёрстки
 **/

/* Базовые вспомогательные классы */

/* отключение переноса внутри фрагмента текста */
.nowrap {
  white-space: nowrap;
}

.attr + .attr{
  margin-top: 12px;
}

.attr-caption {
  font-size: 14px;
  line-height: 22px;

  color: #8998AC;

  display: flex;
  align-items: center;

  margin-bottom: 4px;
}

.form-legend {
  margin-left: 2px;
  margin-top: 26px;
  font-size: 14px;
  border-top: 1px solid #bcbcbc;
  padding-top: 7px;
  color: #999;
}


hr {
  margin-top: 16px;
  margin-bottom: 19px;
}

/*** Правки дизайнера, перенесённые из style.css ***/

.menu-border {
  border: solid 0.08em #eee;
  color: #00AF93;
  background-color: #fff;
  padding: 8px;
  font-size: 16px;
  text-transform: uppercase !important;
  font-weight: 500;
}

/* Формы - стили с old_landing */
/* TODO - нужны ли они? */

.small-form .form-group {
  padding: 0;
  max-width:100% !important;
}
.small-form .form-group input {
  width: 100%;
  max-width:100%;
}

/* btnMore styles*/

.btn-secondary-close {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
  padding: 4px 16px 4px 16px;
}

/* pricePlanColumn styles */

.pricePlanColumn h4, .pricePlanColumn .h4 {
  font-size: 15px;
}

/*** Правки дизайнера, перенесённые из responsive.css ***/

/* query md (768) styles */
@media (min-width: 768px) {
  .ctMapHolder .map {
    height: 300px;
  }

  .logo {
    margin-top: -1px;
  }
}

/* query lgwd (1025) styles */
@media (min-width: 1025px) {
  .featuresList .wrap {
    padding: 26px 5px 29px 20px;
  }
}



/**
 * convert color
 * see CSS filter generator
 * https://codepen.io/sosuke/pen/Pjoqqp
 *
 * Doesn't work on IE11! No js polyfills, see https://github.com/Schepp/CSS-Filters-Polyfill#a-word-regarding-ie-10
 */
.to-white {
  /* #000 -> #fff */
  filter: invert(100%);
}

.to-theme-color {
  /* #000 -> #097ABD */
  filter: invert(27%) sepia(63%) saturate(3246%) hue-rotate(183deg) brightness(92%) contrast(102%);
}

.to-theme-background-color {
  /* #000 -> #00af93 (persian green) */
  filter: invert(41%) sepia(95%) saturate(846%) hue-rotate(135deg) brightness(95%) contrast(104%);
}

/* Иконки */

.icon18 {
  width: 18px;
  height: 18px;
  display: inline-block;
  margin-right: 8px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
}

.icon20 {
  width: 20px;
  height: 20px;
  display: inline-block;
  margin-right: 8px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
}

/* IE10+ styles: hide icons because colorization with filters is not supported */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .icon18, .icon20 {
    display: none;
  }
}

.icon-stopwatch {
  background-image: url('/img/icon-stopwatch.svg');
}

.icon-megaphone {
  background-image: url('/img/icon-megaphone.svg');
}

.icon-camera {
  background-image: url('/img/icon-camera.svg');
}

.to-right {
  background-position: right center ;
}

/* Компенсация высоты плавающего header при прыжке по ссылке на другую часть страницы */
.anchor {
  position: absolute;
  top: -115px;
}

/* Строка контактов выше главного меню */
/* >= sm, <lg */
@media (min-width: 576px) and (max-width: 991.98px) {
  .topBarContactList {
    letter-spacing: 0.5px;
    font-size: 12px;
  }

  ul.topBarContactList {
    display: flex !important;
    justify-content: space-between;
    width: 100%;
  }

  .topBarContactList a {
    display: inline-block;
    padding-left: 0;
    padding-right: 0;
  }

  .topBarContactList a:hover {
    color: #000;
    background-color: transparent;
  }

  .topBarContactList .icn {
    margin-right: 4px;
  }
}

/* btn-demo has more height then other main nav links, fixing */

@media (min-width: 992px) {
  .pageHeaderHolder.pageHeaderHolder02 {
    padding-top: 0;
  }
  .pageHeaderHolder.pageHeaderHolder02 .logo {
    margin-top: 22px;
  }

  .pageMainNavigation.navbar-nav {
    align-items: stretch;
    height: 80px;
  }
  .pageMainNavigation.navbar-nav .nav-link {
    padding-bottom: 0 !important;
    display: flex;
    align-items: center;
  }
}

/* nav-link-no-hoverstyle */
.pageMainNavigation.navbar-nav .nav-link.nav-link-no-hoverstyle:hover {
  color: inherit;
  background-color: inherit;
}

@media (min-width: 992px) {
  .pageMainNavigation.navbar-nav .nav-link.nav-link-no-hoverstyle:hover:before {
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
  }
}

/* Кнопка "Попробовать" в главном меню */
.pageMainNavigation .btn-demo {
  margin-left: -4px;
}

/* btn-demo: fix disappearing right border bacause navbar-collapse has transform: ScaleY(1) */

@media (max-width: 991.98px) {
  .pageMainNavigation .btn-demo ,
  .pageMainNavigation .btn-demo .btnText ,
  .pageMainNavigation .btn-demo:hover:before {
    /*overflow: visible !important;*/
    transform: none;
  }
}

/* Перекраска мобильного меню */
@media (max-width: 991.98px) {
  .pageMainNavigation.navbar-nav,
  .pageMainNavigation.navbar-nav .nav-link
  {
    background-color: #00AF93;
    color: #FFF;
  }

  .pageMainNavigation.navbar-nav .nav-item.active .nav-link,
  .pageMainNavigation.navbar-nav .nav-link:before,
  .pageMainNavigation.navbar-nav .nav-link:hover {
    background-color: #FFF;
    color: #00AF93;
  }

  .pageMainNavOpener.pageMainNavOpener02:hover {
    color: #fff;
  }

  /* меню плавно становится прозрачным при сжатии */
  .mainNavCollapse.navbar-collapse.mainNavCollapse02:not(.show) .navbar-nav .nav-link {
    opacity: 0;
  }
}

/* Отступы мобильного меню */
@media (max-width: 991.98px) {
  .pageMainNavigation.navbar-nav {
    padding: 12px 0 26px 0;
  }

  .pageMainNavigation.navbar-nav .nav-link {
    padding: 8px 38px;
  }

  .pageMainNavigation.navbar-nav .nav-link .icn{
    margin-right: 4px;
  }

  .pageHeaderHolder.pageHeaderHolder02 .logo {
    margin-left: 22px;
  }

  .pageNavHolder {
    width: auto;
  }

  .pageMainNavOpener {
    margin-right: 10px;
  }
}

/* Подвал */

ul.adrList li {
  justify-content: left;
}

ul.ftSocialLinks > li {
  justify-content: left;
}

.ftSocialLinks .icn {
  margin-right: 10px;
}

/* Flip-кнопки: тема light-to-dark */
.btn-light-to-dark .btnText {
  background-color: #FFF;
  color: #00AF93;
  border: 1px solid #00AF93;

  box-sizing: content-box;
}

.btn-light-to-dark:hover:before {
  background-color: #00AF93;
  color: #FFF;
  border: 1px solid #FFF;
}

/* Flip-кнопки: тема dark-to-light */
.btn-dark-to-light .btnText {
  background-color: #00AF93;
  color: #FFF;
  border: 1px solid #FFF;

  box-sizing: content-box;
}

.btn-dark-to-light:hover:before {
  background-color: #FFF;
  color: #00AF93;
  border: 2px solid #00AF93;
}

/* Flip-кнопки: тема dark-to-transparent */

.btn-dark-to-transparent {
  background-color: transparent;
}

.btn-dark-to-transparent .btnText {
  background-color: #00AF93;
  color: #FFF;
  border: 2px solid transparent;

  box-sizing: content-box;
}

.btn-dark-to-transparent:hover:before {
  background-color: transparent;
  color: #fff;
  border: 2px solid #00AF93;

  font-weight: 500;
}

/* Переключение типа мероприятий */

.filterList li.active:after {
  opacity: 0;
}

/* Тарифы */

/* >= lg */
@media (min-width: 992px) {
    #tabsToAccordion-tariffs .tabHolderWrap {
        padding: 15px;
    }


    #tabsToAccordion-tariffs .pricePlanColumn .columnHead {
       min-height: 170px;
    }
}

#tabsToAccordion-tariffs .pricingPlansBlock {
  padding-top: 46px !important;
  padding-bottom: 4px !important;
}

/* TODO пропадающая нижняя граница кнопок в тарифах */

/*#tabsToAccordion-tariffs .pricePlanColumn .btn,*/
/*#tabsToAccordion-tariffs .pricePlanColumn .btnText,*/
/*#tabsToAccordion-tariffs .pricePlanColumn .btn:before {*/
/*  overflow: visible;*/
/*}*/

/* Форма контактов */

.form-check-user-agreement {
  font-size: 14px;
  letter-spacing: -0.5px;
}

.textarea-mail-message {
  /* Не влезала по высоте? */
  height: 122px;
  resize: none;
}


@media (max-width: 991.98px) { /* <lg */
  .form-check-user-agreement {
    font-size: 11px;
    font-weight: 500;
  }
}

/* Отзывы пользователей: аватарки "улетали" влево за пределы блока при переключении автора отзыва */

.testimonialSwitcherSlider .slick-track {
  transform: none !important;
}

/* >= lg */
@media (min-width: 992px) {

  .testimonialSingleSlider .slick-slide {
    height: 370px !important;
  }

  .testimonialSingleSlider .slick-slide > blockquote {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
  }

  .testimonialSingleSlider .slick-slide > blockquote > q {
    margin-bottom: 15px !important;
  }
}

/* Отзывы пользователей: переключение аватарками */
.testimonialSwitcherSlider .slick-slide.slick-current .testimonialSwitcherPicWrap {
  border: 2px solid #fec50d;
}


.testimonialSwitcherSlider02 .slick-slide.slick-current .testimonialSwitcherPicWrap {
  /* Подсветка аватарки текущего комментатора */
  border: 2px solid #00af93;
  /*border: 2px solid #097abd;;*/
}

.testimonialSwitcherPicWrap {
  cursor: pointer;
}

/* Починка неодновременной анимации transition */

.featuresList .wrap {
  transition-duration: 0.5s;
}

.featuresList .wrap,
.featuresList .wrap .counter,
.featuresList .wrap h3,
.featuresList .wrap h4 {
  color: #191919 !important;
}

.featuresList .wrap.hover,
.featuresList .wrap.hover .counter,
.featuresList .wrap.hover h3,
.featuresList .wrap.hover h4 {
  -webkit-tap-highlight-color: transparent;
  color: #fff !important;
}

.featuresList .wrap .icn {
  color: #097ABD !important;;
}

.featuresList .wrap.hover .icn {
  /*color: #FFF780 !important;;*/
  color: #91E3E2 !important;;
}

/* Над главным меню */

.login-button-wrapper {
  flex-grow: 1;
  text-align: right;
  margin-right: 0 !important;
}

/* Исправление checkbox из yii\bootstrap4\ActiveForm */
/* скопировано с предыдущих стилей лэндинга (web/css/old_landing/main.css)  */

input[type="checkbox"],
input[type="radio"] {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  display: block;
  float: left;
  margin-right: -2em;
  opacity: 0;
  width: 1em;
  z-index: -1;
}

input[type="checkbox"]+label,
input[type="radio"]+label {
  text-decoration: none;
  /*color: #ffffff;*/
  cursor: pointer;
  display: inline-block;
  font-size: 1em;
  /*font-family: "Source Sans Pro", Helvetica, sans-serif;*/
  text-transform: none;
  letter-spacing: 0;
  font-weight: 300;
  padding-left: 2.4em;
  padding-right: 0.75em;
  position: relative;
}

input[type="checkbox"]+label:before,
input[type="radio"]+label:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  /*font-family: FontAwesome;*/
  font-style: normal;
  font-weight: normal;
  text-transform: none !important;
}

input[type="checkbox"]+label:before,
input[type="radio"]+label:before {
  background: rgba(255, 255, 255, 0.025);
  border-radius: 5px;
  border: solid 2px rgba(0, 0, 0, 0.33);
  content: '';
  display: inline-block;
  height: 1.65em;
  left: 0;
  line-height: 1.58125em;
  position: absolute;
  text-align: center;
  top: 0;
  width: 1.65em;
}

input[type="checkbox"]:checked+label:before,
input[type="radio"]:checked+label:before {
  background: #ffffff;
  border-color: #ffffff;
  font-family: "ElegantIcons";
  content: '\4e';
  color: #005249;
}

input[type="checkbox"]:focus+label:before,
input[type="radio"]:focus+label:before {
  border-color: #00b495;
}

input[type="checkbox"]+label:before {
  border-radius: 5px;
}

input[type="radio"]+label:before {
  border-radius: 100%;
}

#contact-form .required label:after,
#webinar-reg-form .required label:after,
#demoModalForm .required label:after {
  content: " *";
}

.form-check-custom .custom-control-label:after {
  position: static;
  display: inline;

  /* пока решили скрыть */
  display: none;
}

.copyrightWrap {
  white-space: nowrap;
  font-size: 15px;
}

/* Формы - Валидация элементов */

.was-validated .form-control:valid,
.was-validated .custom-select:valid,
.custom-select.is-valid,
.form-control.is-valid {
  border-color: rgba(0, 0, 0, 0.1);
}

.was-validated .form-control:valid:focus,
.was-validated .custom-select:valid:focus,
.custom-select.is-valid:focus,
.form-control.is-valid:focus {
  border-color: rgba(0, 0, 0, 0.6);
  -webkit-box-shadow: none;
  box-shadow: none;
}

.was-validated .form-control:invalid,
.form-control.is-invalid,
.was-validated .custom-select:invalid,
.custom-select.is-invalid {
  border-color: rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 0 0 0.1rem rgba(226, 32, 39, 0.20);
  box-shadow: 0 0 0 0.1rem rgba(226, 32, 39, 0.20);
  /*border-color: #ff8c8d;*/
}


.was-validated .form-control:invalid:focus,
.form-control.is-invalid:focus,
.was-validated.custom-select:invalid:focus,
.custom-select.is-invalid:focus {
  /*border-color: #ff8c8d;*/
  -webkit-box-shadow: none;
  box-shadow: none;
  border-color: rgba(0, 0, 0, 0.6);
  /*-webkit-box-shadow: 0 0 0 0.15rem rgba(226, 32, 39, 0.20);*/
  /*box-shadow: 0 0 0 0.15rem rgba(226, 32, 39, 0.20);*/

}

.invalid-feedback {
  color: #EB5757;
}

/* Формы - отключение окраса галочек при валидации */

.custom-control-input[type=checkbox].is-valid ~ .custom-control-label {
  color: inherit;
}

.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before,
.custom-control-input.is-valid:checked ~ .custom-control-label::before {
  background-color: #007bff; /* такой же, как и фон галочки в обычном состоянии */
}

.was-validated .custom-control-input[type=checkbox]:invalid ~ .custom-control-label,
.custom-control-input.is-invalid[type=checkbox] ~ .custom-control-label {
  color: inherit;
}

.was-validated .custom-control-input:invalid ~ .custom-control-label::before,
.custom-control-input.is-invalid ~ .custom-control-label::before {
  background-color: #fff; /* такой же, как и фон невыставленной галочки в обычном состоянии */
  -webkit-box-shadow: 0 0 0 0.22rem rgba(226, 32, 39, 0.2);
  box-shadow: 0 0 0 0.22rem rgba(226, 32, 39, 0.2);
}

.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before,
.custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  background-color: #007bff; /* такой же, как и фон галочки в обычном состоянии */
}

.was-validated .custom-control-input:invalid ~ div .invalid-feedback,
.custom-control-input.is-invalid ~ div .invalid-feedback
{
  /* TODO почему обёрнуто в div в отличие от других компонентов?*/
  display: block;
}

input[type="checkbox"]:focus+label:before, input[type="radio"]:focus+label:before {
  /*border-color: #00b495;*/
  /*border-color: #00AF93;*/
  /*border-color: #333;*/
  border-color: transparent;
  -webkit-box-shadow: 0 0 0 0.22rem rgba(0, 123, 255, 0.3) !important;
  box-shadow: 0 0 0 0.22rem rgba(0, 123, 255, 0.3) !important;
}

/* Формы - обрезание границ reCaptcha */

.g-recaptcha {
  overflow: hidden;
  max-width: 200px;
  -webkit-filter: contrast(1.1);
  filter: contrast(1.1);
  position: relative;
}

.g-recaptcha:after {
  content: "*";
  position: absolute;
  top: 22px;
  left: 115px;
  color: #555;
  font-size: 14px;
}

.g-recaptcha > div {
  margin: -2px -2px -18px -10px;
}

/* Модальные окна - подложка */
.modal-backdrop.show {
  opacity: 0.3;
}

/* Модальные окна */

.eClassModal {
  color: #42526E;
}

.eClassModal a {
  color: #097ABD;
}

.eClassModal a:hover {
  /*text-decoration: underline;*/
  color: #00AF93;
}

.eClassModal .modal-content {
  border-color: transparent;
  border-radius: 4px;
  box-shadow: 0px 9px 46px rgba(0, 0, 0, 0.12), 0px 24px 38px rgba(0, 0, 0, 0.14)
}

.eClassModal .modal-header {
  line-height: 46px;
  border-bottom: none;
  padding: 30px;
  padding-bottom: 20px;
}

.eClassModal .close {
  font-size: 40px;
  font-weight: 400;
}

.eClassModal .modal-header-image {
  height: 48px;
  margin-right: 16px;
}

.eClassModal .modal-title {
  font-size: 28px;
  color: #6C757D;
  font-weight: normal;
}

.relative-wrapper {
  position: relative;
}

.eClassModal .js-remember-btn {
  font-size: 14px;
}

.eClassModal .invalid-feedback {
  font-size: 14px;
  margin-top: 6px;
}

.eClassModal button[type=submit] {
  min-width: 180px;
}

.eClassModal .center-button-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 8px;
}

.eClassModal .center-button-wrapper :not(:first-child) {
  margin-top: 16px;
}

.eClassModal .center-button-wrapper a {
  font-size: 14px;
}

.eClassModal .title,
.form__title{
  font-size: 20px;
  line-height: 24px;
  font-weight: 500;
  margin-bottom: 30px;
}

/* Модальные окна - абсолютное позиционирование элеменов */

.eClassModal .relative-wrapper .js-remember-btn {
  /* прижимает справа снизу к полю ввода пароля */
  position: absolute;
  right: 0;
  display: inline-block;
  bottom: -5px;
}
.eClassModal .relative-wrapper .field-loginform-password {
  height: 100px;
  /* чтобы ссылка восстановления пароля не меняла отступ при показе ошибки */
}

/*  */

@media (min-width: 992px) {
  /*#webinarRegModalForm .modal-dialog  {*/
  .eClassModal .modal-dialog  {
    max-width: 650px;
  }
}

/* Мероприятия */

.events-block .filterList li.active {
  position: unset;
}

.events-block .prPostColumn .prPostCaption {
  /* всегда видимая карточка мероприятия */
  transform: translateY(0);
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  right: 0;
  left: 0;
  bottom: 0;
  display: flex;
  padding: 8px 12px;
}

.events-block .isoCol {
  cursor: pointer;
}

.events-block .prPostCaption .col-left,
.events-block .prPostCaption .col-right {
  display: flex;
  flex-direction: column;

  justify-content: space-between;
}


.events-block .prPostCaption .col-left {
  /*flex-grow: 1;*/
}

.events-block .prPostCaption .col-right {
  margin-left: 8px;
  align-items: flex-end;
  text-align: right;
}

.events-block .event-broadcaster-row,
.events-block .event-date-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.events-block .event-datetime {
  font-size: 14px;
  line-height: 21px;
  width: 110px;
}

.events-block .event-title {
  font-weight: 500;
  font-size: 20px;
  line-height: 22px;

  /* 3 строки */
  min-height: 72px;
  max-height: 90px;
  width: 221px;

  margin-bottom: 6px;
  overflow: hidden;
}

.events-block .event-title-crop {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.events-block .bgCover.no-cover {
  background-image: url(/images/logo01.png);
  background-color: #eee;
  background-size: auto;
  background-repeat: no-repeat;
  transform: scale(1.5);
  background-position: 50% 46%
}

.events-block .prPostColumn.hover .bgCover.no-cover {
  transform: scale(1.8);
}

.events-block .btn-reg {
  font-weight: 500;
  font-size: 12px;
  line-height: 18px;
  letter-spacing: 0.15px;
  display: none;
}

.events-block .prPostColumn.hover .btn-reg {
  display: inline-block;
}

.events-block .btn-reg .btnText,
.events-block .btn-reg:hover:before {
  padding: 3px 10px;
  border-width: 1px;
  font-weight: 400;
  border-radius: 0;
}

/*.events-block .prPostColumn.hover .prPostCaption {*/
/*  padding: 8px 6px 6px 6px;*/
/*}*/

.events-block .isoContentHolder.loading {
  position: relative;
  height: 280px;
  overflow:hidden
}

.event-info__description,
.event-info__logo {
  height: 200px;
  overflow: hidden;
}

.event-info__logo {
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: 50%;
}

.event-info__logo.no-image {
  display: none;
}

/*.event-info__logo:before {*/
/*  content: '';*/
/*  height: 100%;*/
/*  display: inline-block;*/
/*  vertical-align: middle;*/
/*}*/
/*.event-info__logo .js-webinar-reg-image {*/
/*  display: inline-block;*/
/*  vertical-align: middle;*/
/*}*/

.overflow-middle-container {
  position: relative;
  overflow:hidden;
  text-align: center;
}
.overflow-middle-container * {
  position: absolute;
  top:-100%; left:0; right: 0; bottom:-100%;
  margin: auto;
}

.event-info__description {
  color: #191919;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.02em;

  /* as flex item */
  flex-grow: 1;
  flex-shrink: 1;

  /* as flex container */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.event-info__logo .js-webinar-reg-image {
  padding-right: 24px;
}

.event-info__name {
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.02em;
}

/* Слайдер */


/* вид до полной загрузки */
.bannerSliderBlock.loading {
  max-height: 100vh;
  background-color: #ddd;
  /*background-po*/
  filter: blur(5px) grayscale(0.2) brightness(0.7);
  background-size: 200%;
  background-position: center;
}

.bannerSliderBlock:not(.loading) {
    background-image: none !important;
}

/**
 * Breadcrumb
 *
 * переделка из web/new-landing-maquette/css/responsive.css
 */

ul.breadcrumb {
  /*background-color: transparent;*/
  /*border-radius: 0;*/
  /*font-size: 12px;*/
}

ul.breadcrumb li + li {
  padding-left: 8px;
}

ul.breadcrumb li + li:before {
  content: "> ";
}

ul.breadcrumb li a {
  /*color: #191919;*/
}

ul.breadcrumb li a:hover {
  /*color: #6e6e6e;*/
}