/* =======================================================================================
   # Normalization
==========================================================================================*/
html{
   scroll-behavior: smooth;
}

body{
   word-break: break-word;
}

*:focus{
   outline: none !important;
}

.post,
.page{
   margin: 0;
}

.page-content,
.entry-content,
.entry-summary{
   margin: 0;
}

p a:visited{
   color: #237FD3;
}

p a{
   color: #237FD3;
}

/* =======================================================================================
   # Boxed Container
==========================================================================================*/
.elementor-section.elementor-section-boxed>.elementor-container {
   padding: 0 15px;
}

@media screen and (max-width: 1199px) {
   .elementor-section.elementor-section-boxed>.elementor-container {
      padding: 0 30px;
      max-width: 100%;
   }
}

@media screen and (max-width: 767px) {
   .elementor-section.elementor-section-boxed>.elementor-container {
      padding: 0 11px;
   }
}

.elementor-section .inner-section .elementor-container{
   padding: 0 !important;
}


/* =======================================================================================
   # Utility
==========================================================================================*/
.cursor-pointer{
   cursor: pointer;
}


/* =======================================================================================
   # Elementor Animation Keyframes
==========================================================================================*/
.fadeInUp {
   animation-name: fadeInUpnew !important;
   animation-fill-mode: forwards !important;
}

@keyframes fadeInUpnew {
   0% {
      opacity: 0;
      transform: translateY(50px);
   }

   100% {
      opacity: 1;
      transform: translateY(0px);
   }
}

/* =======================================================================================
   # Elementor Global Button
==========================================================================================*/
.elementor-button span {
   font-weight: 700;
}

/* =======================================================================================
   # Site Header 
==========================================================================================*/
header.site-header {
   position: absolute;
   top: 15px;
   left: 0;
   width: 100%;
   z-index: 40;
   margin: 0 !important;
}

.site-header .custom-menu-opener {
   right: calc((100vw - (1254px - 30px))/2);
   visibility: visible;
}
.custom-menu-overlay .dialog-close-button {
   right: calc((100vw - (1254px - 30px))/2) !important;
}

.site-header .custom-bg-change-menu a.dark-bar{
   color: #141823 !important;
}

.site-header .custom-menu-opener a {
   border-top: 2px solid #237fd3;
   border-bottom: 2px solid #237fd3;
   padding: 7px 0px 7px 0px;
}

.remaing-bg-overlays{
   position: absolute;
   left: 0;
   bottom: 0px;
   width: 100%;
   height: calc(100% - 600px);
   z-index: -1;
}


body:not(.home) .custom-header-menu .elementor-nav-menu li a {
   color: #fff !important;
}

body:not(.home) .custom-header-menu .elementor-nav-menu li.current-menu-item a{
   color: #237FD3 !important;
}

body.home .custom-header-menu .elementor-nav-menu li.current-menu-item a {
   color: #237FD3 !important;
}

.custom-header-menu .elementor-nav-menu li.current-menu-item a:focus{
   color: #fff !important; 
}

body:not(.home) .custom-header-menu .elementor-nav-menu li a:hover{
   color: #237FD3 !important;
}


/* =======================================================================================
   # Popup Menu Close
==========================================================================================*/
/* .custom-menu-overlay .elementor-nav-menu--main .elementor-item{
   font-family: 'Permanent Marker' !important;
} */

.custom-menu-overlay .dialog-close-button{
   background-image: url(../images/menu-close.svg);
   background-repeat: no-repeat;
}

.custom-menu-overlay .dialog-close-button .eicon-close{
   visibility: hidden;
   opacity: 0;
}


/* =======================================================================================
   # Section Pre Title
==========================================================================================*/
.pre-title .elementor-heading-title {
   position: relative;
   padding-left: 29px;
}


.pre-title .elementor-heading-title:before,
.pre-title .elementor-heading-title:after {
   content: '/';
   position: absolute;
   left: 0;
   top: 0;
   color: #237FD3;
   width: 20px;
   height: 20px;
   font-weight: 700;
}

.pre-title .elementor-heading-title:after {
   left: 10px;
}

/* 
.custom-inner-section-title .elementor-heading-title{
   font-family: 'Permanent Marker', cursive !important;
} */


/* =======================================================================================
   # Simple Title Content
==========================================================================================*/
.custom-simple-title-content .custom-text-holder p{
   margin-top: 0;
   margin-bottom: 35px;
}

.custom-simple-title-content .custom-text-holder p:last-child {
   margin-bottom: 0;
}

/* ==================================================================================
   # Custom Page Navigation
==================================================================================*/
.custom-page-navigation .post-navigation__arrow-wrapper i{
   position: relative;
   width: 15px;
   height: 15px;
}

.elementor-post-navigation .elementor-post-navigation__next{
   position: relative;
   right: -5px;
}

.custom-page-navigation .post-navigation__arrow-wrapper .fa-angle-right:before,
.custom-page-navigation .post-navigation__arrow-next .fa-angle-left:before{
   display: none;
}
.custom-page-navigation .post-navigation__arrow-wrapper .fa-angle-right{
   background-image: url('../images/arrow-right.svg');
   background-size: contain;
   background-repeat: no-repeat;
}
.custom-page-navigation .post-navigation__arrow-next .fa-angle-left {
   background-image: url('../images/arrow-left.svg');
   background-size: contain;
   background-repeat: no-repeat;
}


/* =======================================================================================
   # PORTFOLIO Section
==========================================================================================*/
.custom-project-list-item{
   display: block;
   cursor: pointer;
   position: relative !important;
}

.custom-project-list-item:after {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   bottom: 0;
   right: 0;
   background-color: rgb(35 127 211);
   mix-blend-mode: multiply;
}

.custom-project-list-item .e-con-inner > .elementor-element {
   background-color: #000000;
   background-blend-mode: luminosity;
}

.custom-project-list-item:hover .e-con-inner>.elementor-element{
   background-color: initial;
   background-blend-mode: initial;
}

.custom-project-list-item .custom-titles-holder {
   position: relative;
   z-index: 2;
   transition: ease 0.6s;
}

.custom-project-list-item .custom-content-holder{
   z-index: 2;
   visibility: hidden;
   opacity: 0;
   transition: ease 0.6s;
}

@media (hover: hover) {
   .custom-project-list-item:hover:after {
      background-color: transparent;
      background: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
      mix-blend-mode: initial;
      backdrop-filter: initial;
   }

   .custom-project-list-item:hover .custom-titles-holder{
      visibility: hidden;
      opacity: 0;
   }

   .custom-project-list-item:hover .custom-content-holder{
      visibility: visible;
      opacity: 1;
   }
}

/* =======================================================================================
   # Single Portfolio
==========================================================================================*/

/* -------------------- Paginaiton --------------------- */
body.single-portfolio .elementor-post-navigation .elementor-post-navigation__link a{
   display: inline-flex;
}

/* =======================================================================================
   # SERVICES Section Custom
==========================================================================================*/
.custom-service-section .elementor-background-overlay {
   height: 600px !important;
}

.service-lists {
   display: flex;
   flex-wrap: wrap;
   margin: 0 -12px;
}

.service-list {
   width: 33.33%;
   padding: 0 12px;
   margin-bottom: 17px;
}

.service-list .list {
   position: relative;
   min-height: 271px;
   background-size: cover;
   background-repeat: no-repeat;
   background-position: center;
   display: flex;
   align-items: center;
   padding: 29px 10px 21px 33px;
   height: 100%;
   background-color: #000000;
   background-blend-mode: luminosity;
}

.service-list .list .service-title {
   position: relative;
}

.service-list .list .service-title h3 {
   font-family: 'Permanent Marker', cursive !important;
   font-style: normal;
   font-weight: 400;
   font-size: 40px;
   line-height: 1.4;
   letter-spacing: 0.1em;
   color: #FFFFFF;
   margin: 0;
}

.service-list .list .stretched-link:after {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   z-index: 1;
   pointer-events: auto;
   content: "";
   background-color: rgba(0, 0, 0, 0);
}

.service-list .list::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   bottom: 0;
   right: 0;
   background-color: rgb(35 127 211);
   mix-blend-mode: multiply;
}

.service-list .list a {
   display: block;
   height: 100%;
}

.elementor-background-video-container video{
   height: 100% !important;
   width: 100% !important;
   object-fit: cover;
   object-position: center;
}

.custom-service-list-filter .elementor-heading-title a{
   transition: ease 0.3s;
}

.custom-service-list-filter .elementor-heading-title a:hover{
   color: #fff !important;
}

/* ===============================================================
   # CTA Section
==================================================================*/
.custom-cta-section{
   background-color: #000000;
   background-blend-mode: luminosity;
}

.custom-cta-section:after{
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   bottom: 0;
   right: 0;
   background-color: rgb(35 127 211);
   mix-blend-mode: multiply;
}

.custom-cta-section .custom-cta-content-holder{
   position: relative;
   z-index: 2;
}

/* ===============================================================
   # To The Top
==================================================================*/
.to-the-top {
   display: none;
}

.to-the-top .elementor-button-link {
   display: inline-block;
}

.to-the-top .elementor-button-link:hover {
   transform: translateY(-6px);
}


/* ===============================================================
 # Icon Title Section
================================================================*/
.custom-icon-title-content-section p {
   margin-top: 0;
   margin-bottom: 32px;
}

.custom-icon-title-content-section p:last-child{
   margin-bottom: 0;
}


/* ===============================================================
 # Team Section
================================================================*/
.custom-team-popup .dialog-close-button {
   background-image: url(../images/arrow-back.svg);
   background-repeat: no-repeat;
   background-size: contain;
}

.custom-team-popup .dialog-close-button .eicon-close {
   visibility: hidden;
   opacity: 0;
}


/* ====================================================================
   # Left Logo Right COntent List Section
=====================================================================*/
.l-logo-r-cont-list-section .list-block p{
   margin-top: 0;
   margin-bottom: 32px;
}

.l-logo-r-cont-list-section .list-block p:last-child {
   margin-bottom: 0;
}

/* ====================================================================
   # Custom Sucess Section
=====================================================================*/
.custom-success-section .elementor-widget-text-editor p{
   margin: 0;
}

/* ====================================================================
   # Contact Section
=====================================================================*/
.wpcf7-form .wpcf7-response-output{
   font-size: 16px;
   text-align: center;
}

.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.aborted .wpcf7-response-output {
   background: #dc3232;
}

.wpcf7-form.spam .wpcf7-response-output {
   background: #f56e28;
}

.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.payment-required .wpcf7-response-output {
   background: #f56e28;
}

.wpcf7-form.sent .wpcf7-response-output {
   background: #46b450;
   color: #ffffff;
}

/*=======================================================================
   # placeholder color
====================================================================*/
input::placeholder,
textarea::placeholder {
   /* Chrome, Firefox, Opera, Safari 10.1+ */
   color: #fff;
   /* Firefox */
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
   /* Internet Explorer 10-11 */
   color: #fff;
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
   /* Microsoft Edge */
   color: #fff;
}

.custom-contact-form-section .custom-contact-content p {
   margin-top: 0;
   margin-bottom: 40px;
}

.custom-contact-form-section .custom-contact-content p:last-child {
   margin-bottom: 0;
}

.custom-contact-form-section textarea{
   height: 200px;
   resize: vertical;
   min-height: 34px; 
   overflow: auto;
}

.custom-contact-form-section input,
.custom-contact-form-section .row textarea{
   width: 100%;
}

.custom-contact-form-section input{
   height: 80px;
}

.custom-contact-form-section .row p  {
   margin: 0;
}

.custom-contact-form-section .row{
   display: flex;
   flex-wrap: wrap;
   margin: 0 -12px;
}

.custom-contact-form-section .row .cols{
   width: 50%;
   padding: 0 12px;
   margin-bottom: 24px;
}

.custom-contact-form-section .row .cols-12{
   width: 100%;
}

.custom-contact-form-section .row .subs-wrapper{
   width: 100%;
}

.custom-contact-form-section .row .subs-wrapper input[type="submit"]{
   font-size: 16px;
   line-height: 1.5em;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: 0.2em;
   color: #fff;
   padding: 16px 22px;
   background-color: #237FD3;
   border: 1px solid #237FD3;
   border-radius: 0;
   cursor: pointer;
   display: inline-block;
   width: initial;
   height: 56px;
   transition: ease 0.3s;
   font-family: 'aktiv-grotesk-extended';
   margin: 5px 0 0;
}

.custom-contact-form-section .row .subs-wrapper input[type="submit"]:hover{
   background-color: transparent;
}


/* ===============================================================
   # Footer
==================================================================*/
.custom-footer-top .elementor-icon-list-icon svg {
   margin: 0 !important;
}

.custom-footer-top .elementor-icon-list-items li .elementor-icon-list-text {
   transition: ease 0.3s;
}

.custom-footer-top .elementor-icon-list-items{
   margin-top: 17px !important;
}

.custom-footer-top .elementor-icon-list-items .elementor-icon-list-item{
   margin-bottom: 29px;
}

.custom-footer-top .elementor-icon-list-items .elementor-icon-list-item:last-child {
   margin-bottom: 0;
}

.custom-footer-copyright .elementor-heading-title{
   font-family: "aktiv-grotesk", sans-serif !important;
}


/* ======================================================================================
   # Default Section
==========================================================================================*/
.default-section{
   padding: 180px 0 100px;
   background-color: #141823;
   color: #fff;
}

.default-section .container{
   max-width: 1224px;
   padding: 0 15px;
   margin: 0 auto;
}

.default-section h1{
   line-height: 1.2;
}

.default-section.default-list .rows{
   display: flex;
   flex-wrap: wrap;
   margin: 0 -15px;
}

.default-section.default-list .cols {
   width: 50%;
   padding: 0 15px;
}

.default-section.default-list article .entry-title{
   font-size: 36px;
}

.default-section.default-list article .entry-title a{
   color: #fff;
   text-decoration: none;
   transition: ease 0.3s;
}

.default-section.default-list article .entry-title a:hover{
   color: #237FD3;
}

.default-section.default-list article .post-thumbnail{
   height: 320px;
   display: block;
}

.default-section.default-list article .post-thumbnail img{
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.default-section.default-list article .entry-footer,
.default-section.default-list article .entry-meta{
   display: none;
}

.site-main .posts-navigation{
   margin: 60px 0 0;
}

.posts-navigation .nav-links a{
   padding: 16px 24px;
   background-color: #237FD3;
   color: #fff;
   text-decoration: none;
   text-align: center;
}



form.search-form {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   border: 1px solid #fff;
   height: 48px;
   justify-content: space-between;
   max-width: 400px;
   margin-top: 50px;
}

form.search-form label {
   margin: 0;
   flex: 1 0 0;
   display: block;
   height: 100%;
}

form.search-form label input[type="search"] {
   padding: 9px;
   border: 0;
   height: 100%;
   width: 100%;
   border: 0 !important;
}

@media screen and (max-width: 479px) {
   form.search-form label input[type="search"] {
      border: 1px solid #fff;
   }
}

form.search-form input[type="submit"] {
   font-weight: 600;
   height: 100%;
   border-radius: 0;
   border: 0;
   padding: 7px 30px;
   font-size: 16px;
   background: #237FD3;
   display: inline-block;
   transition: ease 0.3s;
   color: #fff;
   cursor: pointer;
   border-radius: 0 !important;
}

@media screen and (max-width: 479px) {
   form.search-form input[type="submit"] {
      width: 100%;
   }
}

form.search-form input[type="submit"]:hover {
   background-color: #fff;
}


/* =======================================================================================
   # Media Max 1400
==========================================================================================*/
@media screen and (max-width: 1400px) {
   .service-list .list .service-title h3 {
      font-size: 34px;
   }
 
   .site-header .custom-menu-opener{
      right: calc((100vw - (1140px - 30px))/2);
   }

   .custom-menu-overlay .dialog-close-button {
      right: calc((100vw - (1140px - 30px))/2) !important;
   }
}

/* =======================================================================================
   # Media Max 1200
==========================================================================================*/
@media screen and (max-width: 1200px) {
   .service-list .list .service-title h3 {
      font-size: 24px;
      line-height: 1.6em;
   }

   .site-header .custom-menu-opener {
      right: 30px;
   }

   .custom-menu-overlay .dialog-close-button{
      right: 30px !important;
   }

   /* --------------------------- Simple Title Content ---------------------------- */
   .custom-simple-title-content .elementor-heading-title br {
      display: none;
   }

   /* --------------------------- Default Seciton ---------------------------- */
   .default-section .container {
      max-width: 100%;
      padding: 0 30px;
   }
}

/* =======================================================================================
   # Media Max 991
==========================================================================================*/
@media screen and (max-width: 991px) {
   .custom-menu-overlay .dialog-close-button {
      width: 36px;
      height: 36px;
      font-size: initial !important;
      background-size: contain;
   }

   .custom-footer-top .elementor-icon-list-items {
      flex-direction: column !important;
   }

   .service-list{
      width: 50%;
   }

   /* =======================================================================================
      # Footer
   ==========================================================================================*/
   .custom-footer-icon-title-list .elementor-icon-list-item {
      pointer-events: none;
   }

   .custom-footer-icon-title-list .elementor-icon-list-item>a {
      width: initial !important;
      pointer-events: initial;
   }

   /* --------------------------- Default Seciton ---------------------------- */
   .default-section .container {
      padding: 0 15px;
   }
   
}


/* =======================================================================================
   # Media Max 768px
==========================================================================================*/
@media screen and (max-width: 767px){
   header.site-header{
      top: 35px;
   }

   .site-header .custom-menu-opener{
      right: 15px;
   }

   .custom-menu-overlay .dialog-close-button{
      right: 15px !important;
   }

   .custom-mb-menu{
   transition: all 0.5s ease;
   }

   .custom-mb-menu.fixed-mb-menu{
      position: fixed !important;
      bottom: 40px !important;
   }

   .custom-mb-menu.fixed-mb-menu a.dark-bar{
      color: #141823 !important;
   }

   .pre-title .elementor-heading-title{
      padding-left: 28px;
   }

   .service-lists{
      margin: 0 -6px;
   }

   .service-list{
      padding: 0 6px;
      margin-bottom: 12px;
   }
   
   .custom-service-section .elementor-background-overlay {
      height: 1254px !important;
   }

   .custom-footer-top .elementor-icon-list-items {
      margin-top: 0 !important;
   }
   
   .custom-footer-top .elementor-icon-list-icon {
      margin-bottom: 45px;
   }

   .custom-footer-top .elementor-icon-list-items .elementor-icon-list-item {
      margin-bottom: 40px;
   }

   .custom-footer-top .elementor-icon-list-items li a {
      flex-direction: column;
   }

   .custom-footer-top .elementor-icon-list-text{
      padding-left: 0 !important;
   }

   .remaing-bg-overlays.white-bg {
      display: none;
   }

   .custom-contact-form-section .row{
      margin: 0;
   }

   .custom-contact-form-section .row .cols {
      width: 100%;
      margin-bottom: 19px;
      padding: 0;
   }

   /* ------------------------------------------ Default Section ------------------------------------ */
   .default-section h1{
      font-size: 36px !important;
   }

   .default-section.default-list .cols {
      width: 100%;
   }
}

/* =======================================================================================
   # Media Max 567px
==========================================================================================*/
@media screen and (max-width: 567px) {
   /* .custom-post-list article.elementor-grid-item .elementor-post__thumbnail {
      min-height: 176px;
   } */
   .service-list .list{
      min-height: 176px;
      padding: 10px 51px 10px 33px;
   }
   
  .service-list {
      width: 100%;
      margin-bottom: 25px;
  }
}

/* =======================================================================================
   # Media Max 479px
==========================================================================================*/
@media screen and (max-width: 479px) {
   form.search-form{
      border: 0;
   }

   form.search-form label input[type="search"]{
      border: 1px solid #fff !important;
   }
}


/* =======================================================================================
   # Media Max 320
==========================================================================================*/
@media screen and (max-width: 320px) {
   /* =====================================================================
    # Custom Banner Section
   ====================================================================*/
   .custom-banner-section h1.elementor-heading-title {
      font-size: 44px !important;
   }
   /* ====================================================================
      # Custom Sucess Section
   =====================================================================*/
   .custom-success-section .elementor-heading-title {
      font-size: 44px !important;
   }
}


/* =======================================================================================
   # Media Min 568px
==========================================================================================*/
@media screen and (min-width: 568px){
   .mb-break br{
      display: none;
   }
}

/* =======================================================================================
   # Media Min 1200px
==========================================================================================*/
@media screen and (min-width: 1200px) {

   /* ---------------------------- Site Header ---------------------------------------- */
   body.page-id-1285 header.site-header > .elementor-container {
      min-height: 145px !important;
   }

   body.page-id-1285 header.site-header .custom-logo-holder img{
      height: 84px;
   }
}

/* =======================================================================================
   # Media Min 1400px
==========================================================================================*/
/* @media screen and (min-width: 1401px) {
   .custom-menu-overlay .dialog-close-button {
      right: calc((100vw - (1254px - 30px))/2) !important;
   }
} */


/* =======================================================================================
   # Media Min 1920px
==========================================================================================*/
@media screen and (min-width: 1930px) {
   .custom-logo-list-container {
      max-width: 1254px;
      margin: 0 auto !important;
   }
   .custom-menu-overlay .dialog-close-button {
      right: 20% !important;
   }
}

/* To remove the green output */
.wpcf7-form.sent .wpcf7-response-output {
   display: none !important;
}


/* =======================================================================================
   # Typography --040723
==========================================================================================*/
.elementor-kit-5 label,
.elementor-kit-5 input:not([type="button"]):not([type="submit"]),
.elementor-kit-5 textarea,
.elementor-kit-5 .elementor-field-textual {
   line-height: 1.77em !important;
}

 .elementor-kit-5 button,
 .elementor-kit-5 input[type="button"],
 .elementor-kit-5 input[type="submit"],
 .elementor-kit-5 .elementor-button {
    line-height: 1.5em !important;
 }

@media(min-width: 768px) {
   .elementor-kit-5 h2 {
      line-height: 1.33em !important;
   }

   .elementor-kit-5 h3 {
      line-height: 1.4em !important;
   }

   .elementor-kit-5 h5 {
      line-height: 1.2em !important;
   }

   .elementor-kit-5 h6 {
      line-height: 1.2px !important;
   }
}

