
:root {
  --main-bg: #222;
  --main: #221EC4;
  --main-rgb: 34 30 196;
  --second: 255 255 255;
  --third: #2F56E3;
  --dark: 40 40 40;
  --dark-gray: #171717;
  --gray: #444;
  --light-gray: #ccc;
  --white: #fff;
  --main-font: 'Raleway', sans-serif;
  --max-widht: 1160px;
  --col-gutter: 15px;
  --header-height-desktop: 150px;
  --header-height-mobile: 60px;
}
::selection {
  color: #fff;
  background-color: var(--main-bg);
}

.hidden, .hide-in-desktop{display:none;}

body {
  background-color: var(--main-bg);
  font-family: var(--main-font);
  font-weight: 400;
  line-height: 24px;
  color: rgb(var(--second));
  text-align: center;
}
.tal {text-align: left;}
.tar {text-align: right;}
.tac{text-align:center;}
.marked-text {color: #2871FF;}
.container-fluid,
.container {
  max-width: var(--max-widht);
  position:relative;
  margin:auto;
}
.container-fluid {max-width: unset;}
.row {
  display:flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-content: center;
  align-items: stretch;
  text-align:center;
}
a {
  color: rgb(var(--second));
  text-decoration: none;
}
[class^="col-"] {
  width: 100%;
  margin: 0 var(--col-gutter);
  display:flex;
  flex-flow: column;
}
section h1 {
  font-size: 48px;
  font-weight: 800;
  line-height: 56px;
}
.col-1 {max-width: calc(100% - (var(--col-gutter) * 2) - 2px);}
.col-2 {max-width: calc(50% - (var(--col-gutter) * 2) - 2px);}
.col-3 {max-width: calc(33% - (var(--col-gutter) * 2) - 2px);}
.col-4 {max-width: calc(25% - (var(--col-gutter) * 2) - 2px);}

/*HEADER*/

  #main-header {
    min-height: var(--header-height-desktop);
    z-index: 2;
    flex-flow: row nowrap;
    align-items: center;
  }
  #site-logo {text-align: left;}
  #site-logo svg {
    width: 105px;
    height: 62px;
  }
  #main-header .col-right {
    display:flex;
    flex-flow: row wrap;
    justify-content: flex-end;
  }
  .menu-block {
    width: 100%;
    display:flex;
    flex-flow: row wrap;
    justify-content: flex-end;
    align-items: center;
  }
  #main-menu {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
  }
  #main-menu a {
    margin: 0 5px;
    padding: 6px 4px;
    font-weight: 500;
    transition: all 0.3s;
    border-bottom: 2px solid rgb(var(--second) / 0%);
    line-height: 32px;
  }
  #main-menu a:hover {
    transition: all 0.3s;
    border-bottom-color: rgb(var(--second) / 100%) ;
  }

/* HERO BLOCK */
#hero-block {
  position:relative;
  top:  calc( 0px - var(--header-height-desktop)); /*header height*/
  bottom: 0px !important;
  margin-bottom: calc(0px - var(--header-height-desktop));
  padding-top: var(--header-height-desktop);
  padding-bottom: calc(var(--header-height-desktop) + 120px);
  background: var(--main) ;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 200%;
}
.hero-block-wrap {
  max-width: 800px;
  position:relative;
  margin:auto;
}
h1.title {
  margin-bottom: 60px;
  font-size: 62px;
  line-height: 70px;
  font-weight: 900;
  letter-spacing: 4px;
}
.call-to-action-wrap {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
}
.button.main {
  color: var(--main);
  background: rgb(var(--second));
  padding: 14px 30px;
  font-size: 18px;
  font-weight: 700;
  transition: all 0.3s;
  border: 2px solid rgb(var(--second));
}
.button.main:hover {
  background-color: transparent;
  color: rgb(var(--second));
}
.fire {
  top: 2px;
  position:relative;
  display:inline-block;
  width: 20px;
  height: 20px;
  text-align:center;
  background-image: url('/src/img/fire.png');
  background-repeat: no-repeat;
  background-position: center center;
}
span.wow {
  display:inline-block;
}
.call-to-action {
  display:inline-block;
  position:relative;
  width: 100px;
  height: 70px;
  margin-left: var(--col-gutter);
  margin-right: -100px;
  background-image: url('/src/img/cta-icon.png');
  background-position: 0 0;
  background-repeat: no-repeat;
}
/* MAIN BLOCK*/
#main {
  background-color: #111;
}

/*PROJECT EXAMPLES*/
#cases {
  top: -180px;
  max-width: calc(var(--max-widht) - (var(--col-gutter) * 2));
}
#cases .col-3 img{
  box-shadow: 0px 0px 32px 0px rgb(0 0 0 /50%);
}
#solutions-block {
  top: -120px;
}

.solution-item {
  display:flex;
  flex-flow: column;
  justify-content: center;
  padding: 6px 20px 30px 20px;
  background: rgb(65,61,221);
  background: linear-gradient(180deg, rgba(65,61,221,1) 0%, rgba(34,30,196,1) 100%);
  text-align:center;
  transition: all 0.3s;
  box-shadow: inset 0 0 0 2px rgba(65 61 221 / 0%);
}
.solution-item:hover {
  transition: all 0.3s;
  background: transparent;
  box-shadow: inset 0 0 0 2px rgba(65 61 221 / 100%);
}
.solution-item h2 {
  font-family: 'Montserrat';
  font-size: 72px;
  font-weight: 600;
  line-height: 94px;
  margin: 0;
}
.solution-item h3 {
  font-size: 22px;
  font-weight: 500;
  line-height: 24px;
  margin: 0;
}
.solution-item p {
  font-size: 14px;
  line-height: 22px;
}
/* SERVICE TITLE BLOCK */
#why-us h1 {
  text-align:center;
  width: 100%;
}
.fbshare-icon {
  display:block;
  position:absolute;
  width: 300px;
  height: 210px;
  top: -70px;
  right: 0px;
  background-color: transparent;
  background-image: url('/src/img/fbshare.png');
  background-size: 300px;
  background-position: right top;
  background-repeat: no-repeat;
}
.db-triangle {
  display:block;
  position:absolute;
  top: -20px;
  left: 30px;
}
.db-triangle,
.db-triangle svg {
  height: 120px;
  width: 120px;
}
#why-us .cross {
  display:block;
  position:absolute;
  bottom: -30px;
  right: 0;

}
#services .cross,
#services .cross svg,
#why-us .cross,
#why-us .cross svg {
  width: 56px;
  height: 56px;
}
  /* SERVICES */
#services {
  margin-top: 50px;
  padding-bottom: 120px;
}
#services .service-item {
  display:flex;
  flex-flow: column;
  justify-content: flex-start;
  margin-top: 50px;
  margin-bottom: 90px;
  transition: all 0.3s;
  position:relative;
  top: 0;
}
#services .service-item:hover {
  transition: all 0.3s;
  top: 15px;
}
#services .service-item .icon {
  display:block;
  position:relative;
  margin: 0 auto;
  width: 70px;
  height: 70px;
}
#services .service-item img {
  max-width: 70px;
  max-height: 70px;
}
#services .service-item h2 {
  font-size: 28px;
  font-weight: 600;
  line-height: 32px;
  margin: 20px 0 25px 0;
}
#services .service-item  p {
  margin: 0;
  padding: 0;
  font-size: 20px;
  font-weight: 400;
  line-height: 28px;
  color: rgb(var(--second)/ 70%);
}
#services .button.main {
  display:block;
  position:relative;
  margin:auto;
  max-width: 140px;
  background-color: var(--main);
  color: rgb(var(--second));
  border: 1px solid transparent;
  transition: all 0.3s;
}
#services .button.main:hover {
  background-color: rgb(var(--second));
  color: var(--main);
}

/* OUR APPROACH */
#our-approach {
  background-image: url('/src/img/our-approach-bg.jpg');
  background-position: left top;
  background-size: 100%;
  background-repeat: no-repeat;
}
#our-approach .main-wrap {
  padding: 60px 0 120px 0;
}
.tiktok-icon ,
.insta-icon {
  display:block;
  position:absolute;
}

.tiktok-icon {
  top: -130px;
  left: 100px;
  width: 243px;
  height: 233px;
  background-image: url('/src/img/tiktok.png');
  background-position: left center;
  background-repeat: no-repeat;
}
.insta-icon {
  bottom: -130px;
  right: 80px;
  width: 281px;
  height: 255px;
  background-image: url('/src/img/insta.png');
  background-position: right center;
  background-repeat: no-repeat;
}
.step .text_block {
  display:flex;
  flex-flow: column;
  justify-content: center;
  text-align: left;
}
.step .text_block h2{
  margin: 0px 0 22px 0;
  font-size: 68px;
  font-weight: 700;
  line-height: 80px;
}
.step .text_block h3{
  margin: 0 0 20px 0;
  font-size: 28px;
  letter-spacing: -0.5px;
  font-weight: 600;
  line-height: 38px;
}
.step .text_block p {
  display:block;
  margin-bottom: 50px;
  font-size: 26px;
  line-height: 36px;
  color: #d0d0d0;
}
.step .text_block a.button {
  display:block;
  max-width: 130px;
  background-color: rgb(var(--second) / 0%);
  border: 2px solid rgb(var(--second));
  transition: all 0.3s;
  font-size: 18px;
  font-weight: 500;
  text-align:center;
  color: rgb(var(--second));
  line-height: 42px;
}
.step .text_block a.button:hover {
  background-color: rgb(var(--second) / 100%);
  color: var(--main);
}

.owl-theme .owl-nav.disabled + .owl-dots {
  text-align: left;
  text-indent: 40px;
  margin-top: 30px;
}
.steps.owl-theme .owl-dots .owl-dot span {
  display:block;
  width: 70px;
  height: 3px;
  background-color: rgb(var(--second)/50%);
}
.steps.owl-theme .owl-dots .owl-dot.active span {
  background-color: rgb(var(--second)/100%);
}

/* OTHER SERVICES */
#other-services  {
  padding: 60px 0;
  background: #111;
}
.services-container {
  margin-bottom: 60px;
}
.services-container h2 {
  display:block;
  margin-bottom: 30px;
  margin-left: 15px;
  padding-left: 12px;
  font-size: 18px;
  line-height: 26px;
  font-weight: 600;
  text-align: left;
  border-left: 3px solid var(--main);
}
#other-services .row {
  margin-bottom: 60px;
}
#other-services .service-item {
  background: linear-gradient(#413ddd 0%, #221ec4 100%);
  text-align: left;
  box-shadow: inset 0px 0px 0px 2px rgb(var(--main-rgb) / 0%);
}
#other-services .service-item:hover {
  background: transparent;
  box-shadow: inset 0px 0px 0px 2px rgb(var(--main-rgb) / 100%);
}
#other-services .row-inverse-bg .service-item {
  background: transparent;
  box-shadow: inset 0px 0px 0px 2px rgb(var(--main-rgb) / 100%);
}
#other-services .row-inverse-bg .service-item:hover {
  background: linear-gradient(#413ddd 0%, #221ec4 100%);
  box-shadow: inset 0px 0px 0px 2px rgb(var(--main-rgb) / 0%);
}
.service-item_wrap {
  display:flex;
  flex-flow: row ;
  align-items: center;
  align-content: stretch;
  padding:15px;
  min-height: 100px;
}
#other-services .service-item  .icon ,
#other-services .service-item  svg {
  width: 42px;
  height: 52px;
}
#other-services .service-item  .icon  {
  margin: 0px 15px 0  0;
}
#other-services .service-item h3 {
  font-size: 18px;
  font-weight: 600;
  line-height: 26px;
  letter-spacing: 0.8px;
  margin: 0;
}

#other-services .service-item p {
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
}

.zig-zag ,
.zig-zag svg {
  display:block;
  position:relative;
  width: 95px;
  height: 28px;
}
.zig-zag  {
  top: 100px;
  left: -110px;
}
/* CONTACT */
#contacts {
  display:block;
  position:relative;
  margin-top: 50px;
}
#contacts h1 {
  max-width: 700px;
  display:block;
  margin:0 auto 90px auto;
  text-align:center;
}

.media.social-media {
  max-width: 467px;
}
#bottom-circle {
  max-width: 70px;
  position: absolute;
  bottom: 32px;
  left: 50px;
  fill: transparent;
}
#contacts  label {
  display:block;
  position:relative;
}
.required::before {
  content: '*';
  font-size: 40px;
  position: absolute;
  display: block;
  line-height: 35px;
  vertical-align: text-bottom;
  height: 17px;
  width: 15px;
  top: 16px;
  left: 0;
  color: #000;
  background: #6f6f6f;
  border-radius: 0 0 20px 0;
}
.required::after {
  content: attr(data-title);
  position:absolute;
  left: 0;
  top: -3px;
  font-size: 14px;
  line-height: 16px;
  padding: 2px 5px 0 5px;
  border-radius: 5px 5px 0 0;
  border: none;
  opacity: 0;
  transition: all 0.3s;
  color: rgb(var(--dark));
  background-color: rgb(var(--second) / 70%);
  font-weight: bold;
}
.warning::after {background-color: #f00;}
.warning::before {background-color: rgb(255 0 0 / 70%);}
.required:hover::after {
  transition: all 0.3s;
  opacity: 1;
}
.non_appearance {
  -webkit-appearance: none;
}
#contact-form {
  display: block;
  width: 100%;
  max-width: 600px;
  position: relative;
  background-color: rgb(var(--second) / 2%);
  box-shadow: inset 0px 0px 0px 2px rgb(var(--second) / 10%);
  border-radius: 20px;
}

.form-wrap {
  padding: 50px;
}
#contact-form h2 {
  margin: 0 0 30px 0;
  font-size: 30px;
  font-weight: 500;
  line-height: 36px;
}
.form-item {
  padding: 0 20px;
  display:inline-block;
  position:relative;
  margin:15px auto;
  width: 100%;
  max-width: calc( 100% - 40px);
  line-height: 50px;
  resize: none;
  background-color: transparent;
  border: 1px solid rgb(var(--second) / 60%) ;
}
/* country selector */
.phone-country-selector {
  display: block;
  position: relative;
  max-width: 82px;
  top: 15px;
  margin-bottom: -50px;
  z-index: 2;
}
.dropdown {
  border: none;
  width: 43px;
  padding: 0;
  color: rgb(var(--second));
}
.dropdown:focus {
  outline: none !important;
}
.input-phone {
  /*text-indent: 60px;*/
  text-indent: 0;
}
#contact-form ::placeholder {
  color: rgb(var(--second) / 60%);
}
#contacts input ,
#contacts textarea {color: rgb(var(--second) / 80%);}
#contact-form .button.main {
  width: 100%;
  background-color: var(--main);
  border-color: var(--main);
  color: #fff;
  transition: all 0.3s;
}
#contact-form .button.main:hover {
  background-color: #fff;
  border-color: #fff;
  color: var(--main);
  cursor:pointer;
}
.terms-block {
  margin-top: 20px;
}
.agree-disclaimer {
  font-size: 14px;
  line-height: 24px;
}
#contact-form a.popup-link {
  color: #1c5cda;
  text-decoration: underline;
}
label.agree {
  display:inline-block;
}
label.agree  input {
  display: grid;
  place-content: center;
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  width: 20px;
  height: 20px;
  margin: 0;
  border: 1px solid rgb(var(--second));
  border-radius: 2px;
}
#popup_form_message ,
#contact_form_message {
  margin-top: 5px;
  line-height: 26px;
  font-size: 16px;
}
label.agree {display:inline-block !important;}
#contact_form_message.error, #popup_form_message.error {color: red;}
label.agree input[type="checkbox"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em rgb(var(--second));
}
label.agree input[type="checkbox"]:checked::before {
  transform: scale(1);
}
.field-error {
  border: 1px solid #f00 !important;
}
/* FOOTER */
#main-footer {
  padding: 30px 0;
  background-color: #000 !important;
}
#main-footer .col-left {
  max-width: 200px;
}
#bottom-logo,
#bottom-logo svg {
  width: 71px;
  height: 42px;
}
.col-left {
  justify-content: flex-start;
}
.col-right {
  max-width: calc(100% - 48%);
  display:flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
}
#bottom-media {
  display:flex;
  flex-flow: row wrap;
  align-content: center;
  justify-content: flex-start;
  margin-right: 10px;
}
#bottom-media a {
  background-color: rgb(var(--second)/ 0%);
  padding: 4px;
  border-radius: 10px;
  margin: 5px;
}

#thanks-media a ,
#bottom-media a ,
#thanks-media svg ,
#bottom-media svg {
  max-width: 32px;
  max-height: 32px;
  transition: all 0.3s;
  fill: #e7e7e7;
}
#thanks-media a:hover ,
#bottom-media a:hover {
  background-color: rgb(var(--second)/ 100%);
}
#thanks-media a:hover svg ,
#bottom-media a:hover svg {
  transition: all 0.3s;
  fill: var(--main) !important;
}
#bottom-menu a {
  margin: 0 10px;
  transition: all 0.3s;
}
#bottom-menu a:hover {
  text-decoration: underline;
}
#to-top {
  display:none;
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 44px;
  height: 44px;
  background-color: var(--main);
  border-radius: 22px;
}
#to-top.show {display:block;}
#to-top svg{
  display:block;
  position:relative;
  margin:auto;
  width: 24px;
  height: 44px;
  fill: rgb(var(--second));
}
/* POPUP BLOCK */
#popup_form_block h1 {
  font-size: 40px;
}
#popup_form_block .facebook-icon {
  height: 30px;
  width: 30px;
  display:inline-block;
  background-image: url('/src/img/fb-icon.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 30px;
  margin-right: 5px;
}
#popup_form_block .instagram-icon {
  height: 30px;
  width: 30px;
  display:inline-block;
  background-image: url('/src/img/insta-icon.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 30px;
  margin-right: 5px;
}

#popup_form_block .mfp-close:hover {
  opacity: 0.7;
  transition: all 0.3s;
}
/* THANK YOU POPUP */
#thank_you {
  display:none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
}
#thank_you .overlay {
  position:absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(var(--dark) / 90%);
  z-index: 101;
}

#thank_you .wrap {
  display:flex;
  position:relative;
  flex-flow: row wrap;
  justify-content: center;
  box-sizing: border-box;
  padding: 100px 200px;
  top: 20px;
  margin:auto;
  max-width: 1440px;
  background-color: var(--main);
}
#thank_you .text-col {
  width: 60%;
  z-index: 102;
}
#thank_you h1 {
  font-size: 70px;
  font-weight: 800;
  line-height: 82px;
  color: rgb(var(--second));
  text-align: left;
  margin-bottom: 30px;
}
#thank_you .message {
  margin-top: 0px;
  font-size: 28px;
  font-weight: 400;
  line-height: 32px;
  text-align: left;
}
#thank_you .subscribe-title {
  font-size: 28px;
  font-weight: 700;
  line-height: 32px;
}
#thank_you .subscribe-block {
  max-width: 240px;
  margin-top: 80px;
}
#thanks-media {
  box-sizing: border-box;
  display:flex;
  flex-flow: row nowrap;
  justify-content: center;
  margin-top: 20px;
}
#thanks-media a {
  margin: 5px 20px;
  padding: 4px;
  border-radius: 15px;
}
#thanks-media a ,
#thanks-media svg   {
  display:block;
  max-width: 46px;
  max-height: 46px;
}
.img-col {
  position:relative;
  width: 39%;
  max-height:540px;
}
.img-col img {
  display:block;
  position:relative;
  top: -50px;
  left: -40%;
  z-index: 101;
}
#thank_you_close {
  position: absolute;
  right: 10%;
  top: 10%;
  width: 50px;
  height: 50px;
  z-index: 102;
  background-color: rgb(var(--second) / 0%);
  transition: all 0.3s;
  border-radius: 25px;
}
#thank_you_close:hover {
  background-color: rgb(var(--second) / 100%);
  transition: all 0.3s;
}
#thank_you_close svg {
  display: block;
  fill: rgb(var(--second)/ 100%);
  height: 50px;
  width: 50px;
  transition: all 0.3s;
  text-align:center;
}
#thank_you_close:hover svg {
  fill: rgb(var(--main-rgb) / 100%);
  transition: all 0.3s;
}



  #site-logo {
    max-width: 300px;
  }
  .col-right {
    max-width: calc(100% - 400px);
  }
