/*Responsive Styles*/
/*Responsive Styles*/
#restricted_view{
  display: none;
  position: fixed;
  background-color: #444;
  height: 100vh;
  width: 100vw;
  top: 0;
  left: 0;
  z-index: 9999999999999999999;
}
#restricted_view svg{
  width: 60px;
  height: 60px;
  margin-bottom: 10px;
}
#restricted_view .inner{
  height: 100%;
  width: 100%;
  text-align: center;
}
#restricted_view .inner p{
  font-size: 1.8em;
  color: #EEE;
  text-align: center;
  max-width: 500px;
}
/*@media screen and (max-width: 900px){
  body{
    pointer-events: none;
  }
  #restricted_view{
    display: block;
  }
}*/
@media screen and (min-width: 1620px){
  /*body{
    pointer-events: none;
  }
  #restricted_view{
    display: block;
  }*/
}
/*=============================================*/
/*RESPONSIVE NAVIGATION*/
/*=============================================*/

#responsive_slider_nav{
  display: none;
  position: fixed;
}
#menu_btn{
  display: none;
  width: 40px;
  height: 40px;
  position: relative;
  margin-left: 20px;
}
#close_btn{
	display: -webkit-flex;
	-webkit-justify-content: center;
	-webkit-align-items: center;
		display: flex;
	justify-content: center;
	align-items: center;
  width: 40px;
  height: 40px;
  position: absolute;
  right: 10px;
  top: -20px;
	border-radius: 10px;
  background-color: #FFF;
  z-index: 9999;
	-webkit-box-shadow: 2px 0px 34px -11px rgba(0,0,0,0.55);
    -moz-box-shadow: 2px 0px 34px -11px rgba(0,0,0,0.25);
    box-shadow: 2px 0px 34px -11px rgba(0,0,0,0.55);
    transition: all 0.4s cubic-bezier(.56,.2,.23,.89);
}
#close_btn svg{
	width: 20px;
	height: 20px;
}
#menu_btn span{
  display: block !important;
  position: relative;
  width: 100%;
  height: 5px;
  background-color: #FFF;
  border-radius: 5px;
}
#menu_btn span::before{
  content: "";
  width: 100%;
  height: 5px;
  background-color: #FFF;
  position: absolute;
  top: -15px;
  left: 5px;
  border-radius: 5px;
}
#menu_btn span::after{
  content: "";
  width: 100%;
  height: 5px;
  background-color: #FFF;
  position: absolute;
  bottom: -15px;
  left: 5px;
  border-radius: 5px;
}
#responsive_slider_nav > .inner_container > ul{
  list-style: none;
}
#responsive_slider_nav > .inner_container > ul > li {
    background-color: #29858d;
    height: 65px;
    overflow: hidden;
    white-space: nowrap;
    border-bottom: 1px dotted #27787f;
    transition: all 0.5s cubic-bezier(.56,.2,.23,.89);
}

#responsive_slider_nav > .inner_container > ul > li:nth-last-child(1){
  border: none;
}
#responsive_slider_nav > .inner_container > ul > li > a{
 background-color: var(--blue-deep-teal);
 padding: 20px;
 color: #FFF;
 display: block;
 font-family: var(--global-font);
 font-size: 2em;
 text-decoration: none;
}
#responsive_slider_nav > .inner_container > ul > li > > ul{
  background-color: #38b6cc;
  color: #FFF;
}
#responsive_slider_nav > .inner_container > ul > li > ul > li > a {
  padding: 17px 35px;
  display: block;
  font-size: 1.8em;
  font-family: var(--global-font);
  color: #FFF;
  text-decoration: none;
  background-color: #38b6cc;
  white-space: normal !important;
}

/*=============================================*/
/*MEDIA QUERIES*/
/*=============================================*/
@media screen and (min-width: 1600px){
  body{
    font-size: 0.6vw;
  }
  .cjsabg .anim_bg .bubbles {
    width: 90%;
  }
  #hero p{
    max-width: 70%;
  }
  .hero + section, .entry-content section:first-child {
    padding-top: 6em;
  }
  #hero.solutions_hero .headings {
    padding-top: 8em;
    padding-bottom: 8em;
  }
  #hero.services_hero .inner_container p {
    margin-left: auto;
    margin-right: auto;
  }
  #hero.services_hero .inner_container h1 {
    margin-bottom: 0.5em;
    font-size: 5em;
  }
  #hero.corporate_hero .inner_container h1 {
    font-size: 6.5em;
  }
  #cth_lang_switcher {
    height: 2.6em;
  }
  h1{
    font-size: 6em;
    margin-bottom: 0.45em;
  }
  h2{
    margin-bottom: 0.8em;
  }
  section + section {
    padding-top: 6em;
  }
}
@media screen and (max-width: 1260px){
  #logo {
    width: 20vw;
    padding-left: 5vw;
    padding-right: 0vw;
  }
  #main-navigation li.level_1_item a, #footer_navigation li.level_1_item a {
    font-size: 2em;
  }
  #desc_menu .inner_container {
    width: 85vw;
  }
  section {
    padding-top: 80px;
    padding-bottom: 40px;
    padding-left: 9vw;
    padding-right: 9vw;
  }
}
@media screen and (max-width: 1180px){
  nav#main-navigation > ul, #desc_menu{
    display: none !important;
  }
  #menu_btn{
    -webkit-display: flex;
    display: flex;
  }
  #responsive_slider_nav{
    display: block;
    top: 115px;
    left: 3vw;
    width: 94vw;
    position: absolute;
    z-index: -1;
    opacity: 0;
    pointer-events: none;
    transform: translateY(30px);
    -webkit-box-shadow: 2px 0px 34px -11px rgba(0,0,0,0.55);
    -moz-box-shadow: 2px 0px 34px -11px rgba(0,0,0,0.25);
    box-shadow: 2px 0px 34px -11px rgba(0,0,0,0.55);
    transition: all 0.4s cubic-bezier(.56,.2,.23,.89);
  }
	#responsive_slider_nav .inner_container{
		border-radius: 15px;
		overflow: hidden;
	}
  #responsive_slider_nav.opened{
    z-index: 9999999999999;
    opacity: 1;
    pointer-events: all;
    transform: translateY(0);
  }
  h1 {
    font-size: 5.8em;
    margin-bottom: 20px;
  }
  h2 {
    font-size: 4.2em;
    margin-bottom: 30px;
  }
  #home_hero pre, #hero pre{
    font-size: 2em;
  }
  #home_hero .headings{
    left: 200px;
  }
  #home_hero .headings p{
    max-width: 100%;
  }
  #home_hero_lines{
    left: -10%;
  }
  .loaded #home_hero_lines{
    width: 110vw;
  }
  #home_hero .right_col::before {
    width: 65%;
  }
  section {
    padding-top: 80px;
    padding-bottom: 40px;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .ctheme_products_showcase{
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .slp{
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .centered_box {
    width: 70%;
  }
  #hero.product_hero .lines_bg .right_block{
    left: calc(110% - 467px);
  }
  #hero.product_hero .lines_bg .left_block{
    right: calc(110% - 467px);
  }
}

@media screen and (max-width: 1080px){
  #home_hero .headings {
    width: 70vw;
  }
}

@media screen and (max-width: 940px){
  .hero + section, .entry-content section:first-child{
    padding-top: 80px;
  }
  section {
    padding-top: 60px;
    padding-bottom: 30px;
    padding-left: 10vw;
    padding-right: 10vw;
  }
  section#our_services{
    padding-left: 0;
    padding-right: 0;
  }
  .slp{
    padding-left: 10vw;
    padding-right: 10vw;
  }
  .wp-block-columns {
    flex-wrap: wrap !important;
  }
  .wp-block-column{
    flex-basis: 100% !important;
    width: 100% !important;
  }
  .wp-block-image {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .wp-block-column:nth-child(1) .cjsabg {
    left: 0px;
  }
  .centered_box {
    width: 90%;
  }
  #hero.solutions_hero .headings .inner_container {
    width: 55vw;
  }
  body.page-id-78 .wp-container-5 {
    display: none;
  }
}

@media screen and (max-width: 850px){
  #hero.product_hero .lines_bg .right_block{
    left: calc(100% - 400px);
  }
  #hero.product_hero .lines_bg .left_block{
    display: none !important;
  }
  #hero.product_hero{
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    padding-left: 5vw;
  }
  #hero.product_hero .headings p{
    text-align: left;
  }
  #hero.product_hero .headings{
    text-align: left;
  }
  .wp-block-columns {
    margin-bottom: inherit !important;
    gap: 4em !important;
  }
  .aad_form_container{
    margin-top: 30px;
  }
}

@media screen and (max-width: 768px){
  main{
    overflow: hidden;
  }
  h1 {
    font-size: 5em;
    margin-bottom: 20px;
  }
  #main-navigation {
    padding-right: 8vw;
  }
  #hero.corporate_hero .inner_container h1{
    font-size: 4.8em;
  }
  h2 {
    font-size: 4em;
    margin-bottom: 30px;
  }
  h3 {
    font-size: 2.6em;
    margin-bottom: 30px;
  }
  .wp-block-columns {
    gap: 2em !important;
  }
  .vertical_standard_padding, .vsp {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  #hero.solutions_hero .headings {
    padding-left: 10vw;
  }
  #hero.solutions_hero .headings .inner_container {
    width: 84vw;
  }
  #cth_login_btn > span {
    display: none;
  }
  #cth_login_btn {
    height: 40px;
  }
  .centered_box {
    width: 100%;
  }
  .wp-block-image {
    padding-top: 50px;
    padding-bottom: 50px;
    position: relative;
    width: 130%;
    left: -15%;
  }
  .hero + section .wp-block-columns, .entry-content section:first-child .wp-block-columns{
    flex-direction: column-reverse;
  }
  #logo {
    min-width: 200px;
    width: 100px;
  }
  #home_hero .headings {
    left: 10vw;
    width: 80vw;
  }
  .service_box.fb48{
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
  }
  #home_hero .right_col video {
    height: auto;
    min-height: 200px;
    width: 90%;
    position: relative;
    top: auto;
  }
  #home_hero .right_col::before {
    display: none;
  }
  #home_hero .right_col::after{
    content: "";
    width: 100%;
    bottom: 0;
    height: 50px;
    background-color: #FFF;
    z-index: 0;
    position: absolute;
  }
  #home_hero .right_col video{
    z-index: 999;
  }
  #home_hero .right_col {
    min-height: auto;
    background: #27787f;
    background: -moz-linear-gradient(right, #27787f 0%, #007681 100%);
    background: -webkit-gradient(right top, right top, color-stop(0%, #27787f), color-stop(100%, #007681));
    background: -webkit-linear-gradient(right, #27787f 0%, #007681 100%);
    background: -o-linear-gradient(right, #27787f 0%, #007681 100%);
    background: -ms-linear-gradient(right, #27787f 0%, #007681 100%);
    background: linear-gradient(to right, #27787f 0%, #007681 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#27787f', endColorstr='#007681', GradientType=1 );
  }
  .loaded #home_hero_lines {
    width: 100vw;
  }
  #home_hero_lines {
    left: 0%;
  }
  #home_hero_lines svg {
    position: absolute;
    left: -60%;
  }
  .service_box h3 {
    font-size: 2.6em;
  }
  .service_box .box_image img{
    width: 60px !important;
    height: 60px !important;
  }
  .footer_elements .right_col{
    width: 100%;
  }
  .footer_elements .right_col img {
      max-width: 200px;
      height: auto;
      margin-bottom: 15px;
  }
  .footer_elements {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .footer_elements .left_col{
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .footer_elements .left_col .fb22{
    -webkit-flex-basis: 100%;
    -o-flex-basis: 100%;
    -ms-flex-basis: 100%;
    -moz-flex-basis: 100%;
    flex-basis: 100%;
    max-width: 100%;
    width: 100%;
  }
  footer a.aspam_em{
    margin-bottom: 20px;
  }
  #hero.services_hero .bottom_mask {
    left: -10vw;
    height: 100px;
    width: 120vw;
  }
  #hero.services_hero .bottom_mask svg#left_mask {
    height: 100%;
    width: 80px;
    flex-basis: 160px;
    min-width: 160px;
  }
  #hero.services_hero .bottom_mask svg#right_mask {
    height: 100%;
    width: 160px;
    flex-basis: 160px;
    min-width: 160px;
  }
  #hero.services_hero .bottom_mask .center_mask {
    height: 29px;
  }
  #hero.services_hero .bottom_mask::before {
    display: none;
  }
  #hero.services_hero .bottom_mask::after {
    display: none;
  }
  #hero.services_hero .inner_container h1 {
    font-size: 5em;
  }
  .lines_background .cjsapp {
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  #vertical_lines #right_lines{
    left: 110%;
  }
  #hero.services_hero .inner_container img#icon{
    width: 80px;
  }
  #hero.solutions_hero #hero_image figure {
    background-position: center;
  }
  .wp-block-gallery figure.wp-block-image img, .wp-block-gallery.has-nested-images figure.wp-block-image img{
    height: auto !important;
  }
  .wp-block-gallery {
    height: auto;
    min-height: 500px;
    margin-bottom: 80px;
  }
  a.aspam_em{
    margin-top: 50px;
  }
  .product {
    min-width: 100%;
    padding-bottom: 80px;
    margin-bottom: 50px;
  }
  .product img {
    max-width: 70%;
  }
}

@media screen and (max-width: 540px){
  h1 {
   font-size: 4.2em;
  }
  h2{
    font-size: 3.6em;
  }
  #menu_btn{
    margin-left: 0;
  }
	#cth_login_btn, #cth_lang_switcher{
		margin-right: 15px;
	}
	#cth_login_btn nav {
    top: 90%;
    right: auto;
    left: 0;
}
  header {
    padding-bottom: 20px;
    padding-left: 140px;
  }
  #logo {
    min-width: 171px;
    position: absolute;
    z-index: 999;
    top: 15px;
    left: 8px;
	padding-left: 0;
    padding-right: 4vw;
  }
  section {
    padding-top: 50px;
    padding-bottom: 20px;
    padding-left: 6vw;
    padding-right: 6vw;
  }
  .entry-content section:last-child {
    padding-bottom: 50px;
  }
  #hero.services_hero {
    min-height: 500px;
    padding-top: 40px;
  }
  #vertical_lines #right_lines, #vertical_lines #left_lines {
    width: 160px;
  }
  #vertical_lines #center_lines {
    left: calc(50% - 30px);
    width: 60px;
  }
  #hero.services_hero .inner_container h1 {
    font-size: 4em;
  }
  #hero.services_hero .inner_container img#icon{
    width: 70px;
  }
  .wp-block-gallery {
    height: auto;
    min-height: 400px;
    margin-bottom: 60px;
  }
}

@media (min-width: 48em){
	.posts_col {
		width: 50%;
	}
}
@media (min-width: 62em){
	.posts_col {
		width: 33.333%;
	}
}
@media (max-width: 768px){
	.posts_col {
		padding: 10px;
	}
	.card-header.expertise {
		min-height: 150px;
	}
	.content_boxes .wp-block-column{
		padding: 10px;
	}
	#cth_search{
		display: none;
	}
	.owl-dots{
		display: none;
	}
	.owl-showcase .card .card-header {
		height: 200px;
	}
}