/* ==========================================================================
   SEO Shared Utilities
   Loaded async on all SEO pages via seo/base.html
   Extracted from app.css — do not duplicate these in block <style> tags
   ========================================================================== */

/* --- Layout --- */

.wrapper {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.main {
  flex: 1 0 auto;
}

.hidden {
  display: none !important;
}

.container {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

@media (min-width: 768px) {
  .container {
    padding: 0 40px;
  }
}

@media (min-width: 1150px) {
  .container {
    max-width: 1150px;
    padding: 0 20px;
  }
}

.container_width {
  max-width: 1600px;
}

@media (min-width: 1920px) {
  .container_full-hd {
    max-width: 1370px;
  }
}

.section {
  padding-top: 80px;
  padding-bottom: 80px;
}

@media (min-width: 768px) {
  .section {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

.section_indent-top {
  padding-top: 60px;
}

@media (min-width: 768px) {
  .section_indent-top {
    padding-top: 80px;
  }
}

.section_indent-bottom {
  padding-bottom: 60px;
}

@media (min-width: 768px) {
  .section_indent-bottom {
    padding-bottom: 80px;
  }
}

.section_dark {
  background-color: #292929;
}

.section_gray {
  background-color: #f1f1f1;
}

/* --- Typography --- */

.main-title {
  font-size: 29px;
  line-height: 1.3;
  font-weight: 700;
}

@media (min-width: 768px) {
  .main-title {
    font-size: 39px;
  }
}

.main-title_white {
  color: #fff;
}

.main-title_center {
  text-align: center;
}

.medium-title {
  font-size: 25px;
  line-height: 1.2;
  font-weight: 700;
}

@media (min-width: 768px) {
  .medium-title {
    font-size: 31px;
  }
}

.medium-title_center {
  text-align: center;
}

.medium-title_white {
  color: #fff;
}

.small-title {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 500;
}

.small-title_white {
  color: #fff;
}

.small-title_gray {
  color: #b4b4b4;
}

.small-title_center {
  text-align: center;
}

/* --- Buttons --- */

.button {
  font-weight: 500;
  line-height: 1;
  color: #091139;
  text-align: center;
  cursor: pointer;
  width: 100%;
  padding: 14px 28px;
  background-color: transparent;
  border: 2px solid transparent;
  border-radius: 5px;
  transition: 0.4s;
}

.button:hover {
  background-color: #f6e67a;
  border-color: #f6e67a;
}

.button:focus {
  background-color: #f6e67a;
  border-color: #f6e67a;
}

.button:active {
  background-color: #e6cb10;
  border-color: #e6cb10;
}

@media (min-width: 480px) {
  .button {
    width: auto;
  }
}

.button_small {
  font-size: 14px;
  font-weight: 500;
  padding: 8px 18px;
  height: 33px;
}

.button_link {
  color: #fff;
}

.button_fill {
  background-color: #f0d729;
  border-color: #f0d729;
}

.button_border {
  background-color: transparent;
  border: 1px solid #0174e4;
  color: #0174e4;
}

.button_border:focus,
.button_border:hover {
  color: #fff;
  background-color: #0174e4;
  border: 1px solid #0174e4;
}

.button_border:active {
  color: #fff;
  background-color: #0174e4;
  border: 1px solid #0174e4;
}

.button_white {
  color: #fff;
}

.button_gray {
  padding-top: 15px;
  padding-bottom: 15px;
  border-width: 1px;
  border-color: #b4b4b4;
  color: #383838;
}

.button_gray:hover {
  background-color: #f1f1f1;
  border-color: #b4b4b4;
}

.button_gray:focus {
  background-color: #f1f1f1;
  border-color: #b4b4b4;
}

.button_gray:active {
  color: #f0d729;
}

.button_icon {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  padding: 13px 25px;
  border-color: #b4b4b4;
  border-width: 1px;
  color: #383838;
  background-color: #fff;
}

.button_icon:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.button_icon:hover,
.button_icon:focus {
  background-color: #f1f1f1;
  border-color: #b4b4b4;
}

.button_icon:active {
  color: #f0d729;
}

.button_icon-google:before {
  background-image: url(../../images/content/optimized/icons/google.svg);
}

.button__blue {
  background-color: #0174e4;
  color: #fff;
  border: none;
  width: auto;
}

.button__blue:active,
.button__blue:focus,
.button__blue:hover {
  color: #fff;
  background-color: #2d97fe;
}

.button_gr {
  border-width: 1px;
  border-color: #b4b4b4;
  color: #383838;
}

.button_gr:hover,
.button_gr:focus,
.button_gr:active {
  background-color: #2d97fe;
}

/* --- Accordion --- */

.ac .ac-trigger {
  text-align: left;
  width: 100%;
  display: block;
  cursor: pointer;
  transition: color 0.25s ease;
  position: relative;
}

.ac .ac-panel {
  overflow: hidden;
  transition-property: height, visibility;
  transition-timing-function: ease;
  position: relative;
  top: -15px;
}

.ac.js-enabled .ac-panel {
  visibility: hidden;
}

.ac.is-active .ac-panel {
  visibility: visible;
}

.ac.is-active > .ac-header .ac-trigger::after {
  transform: rotate(180deg);
}
