:root {
  --grey: #f6f6f6;
  --grey2: #e6e6e6;
  --grey3: #f0f0f0;
  --grey4: #9c9c9c;
  --grey5: #6e6e6e;
  --blue: #0070cc;
  --blue2: #0061b0;
  --blue3: #91c2ea;
  --blue4: #e8f2fa;
  --red: #ed1c24;
  --red2: #ce2034;
  --red3: #f4898d;
  --red4: #ffcfd1;
  --red5: #feeff0;
  --dark: #2d2d2d;
  --dark2: #6e6e6e;
  --dark3: #9c9c9c;
}

.hdr {
  border-bottom: 1px solid var(--grey3);
  position: relative;
  height: 96px;
}
.hdr__wrap{
  padding: 0 45px;
  height: 96px;
  align-items: center;
  position: relative;
  position: relative;
  z-index: 120;
}
.hdr__logo {
  display: block;
  margin-right: auto;
  width: 115px;
}
.hdr__burger {
  display: none;
  width: 24px;
  height: 24px;
  border: none;
  flex-shrink: 0;
  flex-grow: 0;
  margin-right: 2rem;
  background: none;
  cursor: pointer;
}
.hdr__burger img {
  display: block;
  margin: 0 auto;
}
.hdr__logoimg {
  display: block;
  width: 100%;
  height: auto;
}
.hdr__logo--white{
  display: none;
}
.hdr__button {
  margin-left: auto;
  white-space: nowrap;
  padding: 0 25px;
}
.hdrmenu {
  position: absolute;
  z-index: 10;
  top: 0;
  height: 100%;
  transform: translateX(-50%);
  left: 50%;
}
.hdrmenu>ul{
  align-items: stretch;
  height: 100%;
}
.hdrmenu li {
  padding: 0 1rem;
  display: flex;
  flex-flow: column nowrap;
}
.hdrmenu a {
  color: #000;
  font-size: 1.6rem;
  line-height: 1.5;
  text-decoration: none;
  white-space: nowrap;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 2rem;
  position: relative;
}
a.hdrmenu--expanded:hover::before,
a.hdrmenu--expanded.active::before{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: 3px;
  height: 3px;
  background: #fff;
}
.hdr__white .hdrmenu a:hover::before,
.hdr.opened .hdrmenu a:hover::before,
.hdr__white .hdrmenu a.active::before,
.hdr.opened .hdrmenu a.active::before{
  background: var(--dark);
}
.hdrmenu--expanded::after{
  margin-left: 6px;
  content:"";
  display: block;
  width: 12px;
  height: 9px;
  position: relative;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 0L11.1962 9L0.803848 9L6 0Z' fill='%236E6E6E'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  transform: rotate(180deg);
  transition: transform 0.25s ease;
}
.hdrmenu--expanded:hover::after{
  filter:brightness(0);
}
.hdrmenu--expanded.active::after{
  transform: rotate(0);
}
.hdrmenu__current {
  font-weight: 700;
}
.hdrmenu a:hover {
  color: #000;
}
.hdr__blue,
.hdr__dark{
  background: var(--blue);
  border-bottom: none;
}
.hdr__dark{
  background: var(--dark);
}
.hdr:not(.hdr__white):not(.opened) .hdrmenu a{
  color: #fff;
}
.hdr:not(.hdr__white):not(.opened) .hdrmenu a:hover{
  color: #f2f2f2;
}
.hdr:not(.hdr__white):not(.opened) .hdr__button{
  background: #fff;
  color: var(--blue);
}
.hdr:not(.hdr__white):not(.opened) .hdr__button:hover{
  background: var(--blue4);
}
.hdr__grey {
  background: #f1f1f1;
}

.hdr:not(.opened):not(.hdr__white) .hdr__logo--black{
  display: none;
}
.hdr:not(.opened):not(.hdr__white) .hdr__logo--white{
  display: block;
}
.hdr:not(.opened):not(.hdr__white) .hdrmenu--expanded::after{
  filter: brightness(0) invert(1);
}


.hdr.opened .hdr__wrap{
  background: #fff;
}

body .hdr.opened .hdr__wrap{
  background: #fff;
}


.dropmenu{
  display: block;
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  background: #fff;
  z-index: 100;
  opacity: 1;
  height: 0;
  overflow: hidden;
  transition: height 0.2s ease;
}
.dropmenu__back{
  position: fixed;
  pointer-events: none;
  z-index: 98;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background:#000;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.dropmenu.active{
  height: 320px;
  opacity: 1;
}
.dropmenu__back.active{
  opacity: 0.4;
  pointer-events: auto;
}
.dropmenu__panel{
  box-shadow: inset 0 0 0 1px var(--grey3);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  padding: 48px 0 0px;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}
.dropmenu__panel.active{
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0px);
}

.dropmenu1__grid,
.dropmenu2__grid,
.dropmenu3__grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: auto;
  grid-gap: 0;
}
.dropmenu1__buttonwrap{
  padding-top: 5rem;
}
.dropmenu__box{
  position: relative;
  min-height: 210px;
  padding-top: 4.7rem;
  padding-left: 18px;
  padding-right: 18px;
  width: 100%;
  padding-bottom: 15px;
}
.dropmenu__box::after{
  content:"";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--grey2);
}
.dropmenu__box:first-child::after,
.dropmenu__box.no-border::after{
  display: none;
}
.dropmenu__iconitem{
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: flex-start;
  padding: 10px 20px 10px 15px;
  border-radius: 1rem;
  color:#000 !important;
}
.dropmenu__iconitem img{
  display: block;
  max-width: 20px;
  max-height: 20px;
  object-fit: contain;
}
.dropmenu__iconitem span{
  display: block;
  padding-left: 10px;
  white-space: nowrap;
}
.dropmenu__iconitem:hover{
  text-decoration: none;
  background: var(--blue4);
}
.dropmenu__box .capstext{
  color:var(--grey4);
  position: absolute;
  top: 0;
  left: 20px;
  right: 20px;
  font-size: 12px;
  line-height: 18px;
}
.dropmenu__redbutton{
  height: 60px;
  padding: 0 30px;
  width: 100%;
  max-width: 240px;
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  background: var(--red5);
  border-radius: 1rem;
  white-space: nowrap;
  color:#000;
  transition: background 0.3s ease;
}
.dropmenu__redbutton img{
  flex-shrink: 0;
  margin-right: 5px;
}
.dropmenu__redbutton span{
  display: block;
  position: relative;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}
.dropmenu__redbutton span::after{
  content:"";
  display: block;
  margin-left: 9px;
  width: 14px;
  height: 13px;
  background: url(../img/menu/icon-arrow.svg) no-repeat;
  background-size: contain;
  transition: transform 0.3s ease;
}
.dropmenu__redbutton:hover{
  text-decoration: none;
  color:#fff;
  background: var(--red);
}
.dropmenu__redbutton:hover img{
  filter: brightness(0) invert(1);
}
.dropmenu__redbutton:hover span::after{
  filter: brightness(0) invert(1);
  transform: translateX(3px);
}

.panelmorelinkwrap{
  text-align: center;
  padding-top: 15px;
}
.panellink{
  color:#000;
  display: inline-block;
}
.panellink:hover{
  color:#000;
}


.hdrfloat {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  background-color: #fff;
  transition: margin-top 0.2s linear;
  pointer-events: none;
  margin-top: -75px;
}
.hdr-active .hdrfloat {
  margin-top: 0;
  pointer-events: auto;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
@media (min-width: 992px) {
  .hdrfloat .hdr__wrap {
    height: 75px;
  }
  .hdrfloat .hdr__button {
    height: 45px;
  }
}



.cmtynavblock {
  background: #fff;
  position: sticky;
  transition: top 0.2s ease, transform 0.2s ease;
  left: 0;
  z-index: 100;
  border-top: 1px solid var(--grey3);
  border-bottom: 1px solid var(--grey3);
  height: 8rem;
  top: 0;
}
.hdr-active .cmtynavblock {
  top: 75px;
}
.cmtynavblock .container {
  height: 100%;
}
.cmtynavblock__list {
  height: 100%;
  align-items: stretch;
  justify-content: center;
}
.cmtynavblock__list li {
  padding: 0 55px;
  height: 100%;
}
.cmtynavblock__list a {
  height: 100%;
  display: flex;
  white-space: nowrap;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 10px;
  text-decoration: none;
  color: var(--dark);
  position: relative;
}
.cmtynavblock__list a:not(.cmtynavblock__active):hover {
  color: var(--blue2);
}
.cmtynavblock__active::after {
  position: absolute;
  content: "";
  display: block;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--dark);
  border-radius: 3px;
}






/* === === === === === === === === FOOTER === === === === === === === === */
.footer {
  background: var(--grey3);
}
.footer__top {
  position: relative;
  padding-top: 8rem;
  padding-bottom: 8rem;
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  justify-content: flex-start;
  border-bottom: 1px solid var(--grey2);
}
.footer1,
.footer2,
.footer3,
.footer4{
  flex-shrink: 1;
  flex-grow: 1;
  width: 20%;
}
.footer2{
  width: 25%;
}
.footer__title {
  display: block;
  font-weight: 700;
  color:#000;
  margin-bottom: 2rem;
}
.footer__title:last-child{
  margin-bottom: 0;
}
.footer__title:hover{
  color:var(--dark);
}
.footer__menu li:not(:last-child){
  padding-bottom: 1rem;
}
.footer__menu a{
  color:#000;
  white-space: nowrap;
  display: inline-block;
}
.footer4__item {
  font-weight: 700;
}
.footer4__socwrap {
  padding-bottom: 5rem;
}
.footer4__soc {
  display: block;
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  margin-right: 20px;
}
.footer4__soc img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.footer4__button {
  height: 60px;
  padding: 0 20px;
  font-size: 16px;
  white-space: nowrap;
  display: inline-flex;
}
.footer__bot {
  padding-top: 4rem;
  padding-bottom: 6rem;
  font-size: 14px;
  line-height: 1.3;
}


@media(max-width:992px){
  .footer__top{
    flex-flow: row wrap;
  }
  .footer1, .footer2, .footer3, .footer4{
    width: 50%;
  }
  .footer3, .footer4{
    padding-top: 5rem;
  }
}

@media(max-width:767px){
  .footer__top{
    padding-top: 6rem;
    padding-bottom: 4rem;
    justify-content: space-around;
  }
  .footer__title{
    display: inline-block;
  }
  .footer__menu a{
    font-size: 12px;
    white-space: normal;
  }
  .footer1{
    width: calc(50% - 30px);
    overflow: hidden;
    border-right: 1px solid var(--grey2);
    box-sizing: border-box;
    margin-right: 30px;
  }
  .footer2{
    overflow: hidden;
    width:50%;
    box-sizing: border-box;
  }
  .footer3, .footer4{
    width: 100%;
    text-align: center;
  }
  .footer4{
    padding-top: 4rem;
  }
  .footer3 .footer__title{
    margin: 0 10px;
  }
  .footer4__socwrap{
    justify-content: center;
  }
  .footer4__soc{
    margin-left: 10px;
    margin-right: 10px;
  }
  .footer4__socwrap{
    padding-bottom: 3rem;
  }
  .footer4__button{
    height: 50px;
  }
  .footer__bot{
    font-size: 13px;
    padding-bottom: 5rem;
  }
}
/* === === === === === === === === /END FOOTER === === === === === === === === */













/* === === === === === === === === INNERPAGE BLOCKS === === === === === === === === */
.innerhero {
  background: var(--blue);
  color: #fff;
  position: relative;
  padding: 8rem 0 11rem;
  overflow: hidden;
}
.innerhero__main {
  min-height: 400px;
  max-width: 830px;
  width: 65%;
  display: flex;
  flex-flow: column nowrap;
  align-items: flex-start;
  justify-content: center;
}
.innerhero__main {
  min-height: 300px;
}
@media (min-width:1300px){
  .innerhero__mega{
      font-size: 10rem;
      line-height: 1.18;
      padding-top: 2rem;
  }
}
.innerhero__main--long {
  max-width: none;
  width: 100%;
}
.innerhero__pre {
  text-transform: uppercase;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.with-apache{
  font-weight: normal;
}
.innerhero__descr {
  font-weight: 400;
  opacity: 0.8;
}
.innerhero__button {
  color: #fff;
  border: 2px solid #fff;
  background: #fff;
  color: var(--blue);
  font-size: 2rem;
  line-height: 1;
  padding: 0 4rem;
  margin-top: 5rem;
  height: 6rem;
}
.innerhero__button:hover {
  background: var(--grey);
  color: var(--blue);
}
.innerhero__pic {
  position: absolute;
  display: block;
}

.cardsimple {
  border: 1px solid var(--grey2);
  background: #fff;
  box-sizing: border-box;
  border-radius: 10px;
  transition: box-shadow 0.4s ease;
  position: relative;
}
.cardsimple:hover {
  box-shadow: 8px 8px 10px rgba(0, 0, 0, 0.1);
}

.usecasecard {
  min-height: 29rem;
  padding: 3rem 3rem 10rem;
}
.cardsimple__icon {
  width: 48px;
  height: 48px;
  margin-bottom: 2rem;
}
.cardsimple__icon img {
  width: 100%;
  height: 100%;
  display: block;
}
.cardsimple__title {
  font-size: 2rem;
  line-height: 2.6rem;
  font-weight: bold;
  padding-bottom: 1.2rem;
}
.cardsimple__text:not(.cardsimple__text--long) {
  max-width: 280px;
}
.cardsimple__bottom {
  position: absolute;
  bottom: 3rem;
  left: 3rem;
  z-index: 10;
}
.cardsimple__button,
.blockheader__button {
  width: 125px;
  height: 45px;
}

.blockcapslead {
  letter-spacing: 2px;
  text-transform: uppercase;
  white-space: nowrap;
  padding-bottom: 6rem;
}
.blockheader {
  flex-flow: column nowrap;
  align-items: stretch;
  position: relative;
  padding-top: 3rem;
}
.blockheader:not(.blockheader--spl)::before {
  content: "";
  display: block;
  width: 4rem;
  height: 3px;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
}
.blockheader--spl {
  padding-top: 0;
}
.blockheader__left {
  width: 45%;
  padding-right: 4rem;
  flex-shrink: 0;
}
.blockheader__left--full {
  width: 100%;
}
.blockheader__right {
  display: block;
  padding-top: 2rem;
  max-width: 850px;
}
.blockheader__right p:not(:last-child) {
  margin-bottom: 1rem;
}
.blockheader__button {
  margin-top: 3rem;
}
.blockheader--hor {
  flex-flow: column nowrap;
}
.blockheader--hor .blockheader__right {
  margin-left: 0;
  padding-top: 2rem;
}

.dashlist li {
  margin-bottom: 10px;
  position: relative;
  padding-left: 21px;
}
.dashlist li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 1.2rem;
  height: 1px;
  width: 15px;
  background: #000;
}
.videoscr {
  position: relative;
  display: block;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
  transition: box-shadow 0.3s ease;
}
.videoscr img,
.videoscr a,
.videoscr iframe {
  display: block;
  border: none;
  width: 100%;
  max-width: 350px;
  height: auto;
  transform: translate3d(0, 0, 0);
  transition: transform 0.3s ease;
}
.videoscr:hover img {
  transform: scale(1.01);
}
.videoscr:hover {
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05);
}
.videoscr::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  opacity: 1;
  background-image: url(../img/icon-video.svg);
  background-repeat: no-repeat;
  background-size: 4rem;
  background-position: 50% 50%;
  transition: background 0.3s ease;
}
.videoscr__descr {
  padding-top: 1.5rem;
  color: var(--grey4);
  max-width: 350px;
}

/* === VIDEO with TITLE === */
.comvideo {
  max-width: 524px;
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
.comvideo__box {
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  box-sizing: border-box;
  padding-bottom: 62%;
  overflow: hidden;
  background: var(--dark3);
}
.comvideo__screen,
.comvideo__box iframe {
  border: none;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
}
.comvideo__screen[data-youtube]::after {
  pointer-events: none;
  content: "";
  display: block;
  position: absolute;
  z-index: 20;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  background: url(../img/icon-video.svg) center center no-repeat;
  background-size: 40px;
  transition: background 0.2s ease;
}
.comvideo__screen:hover[data-youtube]::after {
  background-color: rgba(0, 0, 0, 0.1);
}
.comvideo__screen img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
}
.comvideo__txt {
  position: absolute;
  z-index: 5;
  font-size: 2.4rem;
  line-height: 1.6;
  top: 3.5rem;
  left: 3.5rem;
  max-width: 75%;
  color: #fff;
}
.comvideo__txt--black {
  color: #000;
}
.comvideo__txt--small{
  font-size: 1.9rem;
  line-height: 1.5;
  max-width: 80%;
  top: 2rem;
  left: 2rem;
}
.comvideo__txt--medium {
  font-size: 2.2rem;
  line-height: 1.5;
  max-width: 80%;
  top: 2rem;
  left: 2rem;
}
.comvideo__sub {
  position: absolute;
  left: 3rem;
  bottom: 3rem;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 20px;
  letter-spacing: 2px;
  color: #fff;
  z-index: 10;
}
.comvideo__txt--black + .comvideo__sub {
  color: #000;
}
.comvideo__descr p {
  margin-bottom: 0.5rem;
}
.comvideo__gray {
  font-style: italic;
  color: var(--grey5);
}
/* === END VIDEO with TITLE === */
.picwrap {
  background: var(--grey);
  border-radius: 1rem;
  padding: 6rem 0 6rem;
  max-width: 100%;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
}
.picwrap img {
  display: block;
  margin: auto;
}

@media (max-width: 1199px) {
  .innerhero__main {
    width: auto;
    min-height: auto;
  }
}

@media (max-width: 992px) {
  .innerhero__main {
    width: auto;
    min-height: auto;
  }
}

@media (max-width: 767px) {
  .innerhero__main {
    max-width: none;
    width: auto;
    min-height: auto;
  }
  .innerhero__main br {
    display: none;
  }
  .innerhero__pre {
    padding-bottom: 2rem;
  }
  .innerhero__main .h1 {
    font-size: 4.4rem;
    line-height: 1.15;
  }
  .innerhero__button {
    margin-top: 3rem;
    height: 5rem;
  }
  .innerhero__pic {
    display: none;
  }
  .blockcapslead {
    padding-bottom: 3rem;
  }
  .blockheader {
    flex-flow: column nowrap;
    align-items: stretch;
  }
  .blockheader__left {
    width: auto;
    font-size: 2.6rem;
    line-height: 3.6rem;
    padding-right: 0;
  }
  .blockheader__left br {
    display: none;
  }
  .blockheader--hor .blockheader__right {
    padding-top: 0;
  }
  .blockheader__right {
    padding-top: 1.5rem;
  }
  .cardsimple {
    padding: 3rem 2rem;
    min-height: auto;
  }
  .cardsimple__bottom {
    position: relative;
    bottom: auto;
    left: auto;
    padding-top: 3rem;
  }
  .cardsimple__icon {
    width: 32px;
    height: 32px;
  }
  .dashlist li {
    margin-bottom: 5px;
  }
}
/* === === === === === === === === END INNERPAGE BLOCKS === === === === === === === === */
