: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: 126px;
}
.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: 46%;
}
.hdrmenu>ul{
  align-items: stretch;
  height: 100%;
}
.hdrmenu li {
  padding: 0;
  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{
  opacity: 1;
}
.dropmenu__back.active{
  opacity: 0.4;
  pointer-events: auto;
}
.dropmenu__panel{
  box-shadow: inset 0 0 0 1px var(--grey3);
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  overflow: hidden;
  background: #fff;
  opacity: 0;
  /* transform: translateY(-10px); */
  /* transition: opacity 0.3s ease, transform 0.3s ease, height 0.3s ease; */
  pointer-events: none;
  display: none;
}
.dropmenu__panel.active{
  display: block;
  opacity: 1;
  height: auto;
  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;
  padding-top: 50px;
  padding-bottom: 20px;
}
.dropmenu1__buttonwrap{
  padding-top: 5rem;
}

.dropmenu__redbutton{
  margin-bottom: 11px;
  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);
}
.dropmenu__redbutton.blog {
  justify-content: flex-start;
}

.dropmenu__redbutton.blog img {
  flex: 0 auto;
}

.dropmenu__redbutton.blog span {
  flex: 1 auto;
  justify-content: space-between;
}

.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__box.blog {
  padding-top: 20px;
}

.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__capslink{
  text-decoration: underline;
  color:var(--grey4);
}
.panelmorelinkwrap{
  text-align: center;
  padding-top: 5px;
  padding-bottom: 15px;
}
.panelmorelinkwrap--end .panellink{
  width: 50%;
  display: block;
  margin-left: auto;
}
.panellink{
  color:#000;
  display: inline-block;
}
.panellink:hover{
  color:#000;
}

.dropmenu1__grid{
  grid-template-columns: 1.6fr 2fr 2fr 2fr;
}
.dropmenu__box--buttonin{
  padding-top: 20px;
}
.dropmenu__box--buttonin::after{
  display: none;
}


.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: 17px;
}
.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;
}
.innerhero__mega{
  font-size: 7rem;
  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 === === === === === === === === */

/* === === === === === === === === TOP BLOCK === === === === === === === === */

#promotion-bar {
  background-color: #1b2d93;
}

#promotion-bar a {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  display: flex;
  width: 100%;
  height: 40px;
  justify-content: center;
  align-items: center;
  line-height: 22px;
}

#promotion-bar a:hover {
  text-decoration: none;
}

#promotion-bar span {
  display: inline-flex;
  margin-right: 5px;
}

#promotion-bar span.more {
  display: inline-block;
}

#promotion-bar img.ignite-summit-logo {
  width: 30px;
  margin-right: 4px
}

/* === === === === === === === === END TOP BLOCK === === === === === === === === */