body { font-family: 'roboto', Arial, Helvetica, sans-serif; background-color: #fafbff; -webkit-overflow-scrolling:touch; }
a { text-decoration: none; }

input,
input[type="email"],
input[type="text"],
input[type="button"],
input[type="submit"],
textarea,
button {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius: 0;
}


.wrapper { width: 1580px; margin: 0 auto; }


/* HEADER */ 

#header { /*overflow: hidden;*/ }
.home #header { position: fixed; top: 35px !important; left: 0; width: 100%; z-index: 1; }
.blog #header { top: 35px; }
#main-logo { float: left; margin-left: 30px; }
.main-menu { float: right; box-sizing: border-box; padding-top: 10px; padding-right: 60px; }
#menu-icon { display: flex; flex-direction: row; align-items: center; /*margin-right: -44px; */  }
#menu-icon span.menu { font-family: 'Open Sans'; font-weight: bold; font-size: 18px; color: white; margin-right: 10px; }
.header-main { box-sizing: border-box; padding: 12px 0 12px 0; }
.header-and-footer-wrapper { width: 1765px; margin: 0 auto; }
.single #header,
.page #header,
.blog #header { width: 100%; position: absolute; } 
.single #header,
.page #header { padding-top: 17px; }
.blog.admin-bar #header { padding-top: 14px; }
.home #header { padding-top: 12px; }
.header-main.light-header #menu-icon span { color: #341966; }
.page .header-main.light-header #menu-icon span { color: white; }
#menu-icon .lnr-menu-circle { font-size: 52px; color: white; }
.home .header-main.light-header #menu-icon span { color: #341966; }


/* FOOTER */ 

.footer-logo { margin: 50px 0 25px 0; }
.site-footer,
.site-footer a{ font-family: 'Roboto'; font-weight: 300; color: #86868a; margin-bottom: 75px; }
.footer-bottom { display: flex; }
.city-and-phone { display: flex; flex-direction: column; margin-right: 30px; }
.city-and-phone:first-child { margin-left: 30px; }
.email { align-self: flex-end; }
.privacy-policy { align-self: flex-start; margin-left: auto; margin-right: 6%;}
.privacy-policy span { text-decoration: underline; }
.city-and-phone-block, 
.footer-bottom-left { display: flex; }
.phone { width: max-content; } 
.email { margin-left: 30px; }
.city-and-phone,
.email { margin-bottom: 10px; }



/* HERO IMAGE BLOCK */

.hero-image { width: 100%; height: 100%; background-color: #331958; display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; padding-left: 11%; padding-right: 20%; position: relative; }
.hero-image h1 { font-family: 'Source Sans Pro'; font-size: 80px; color: white; line-height: 1.1; }
.hero-image p { font-family: 'Source Sans Pro'; font-size: 20px; color: #cdcdff; } 
.hero-image h1:last-of-type { margin-bottom: 16px; }
.hero-image img { width: 40px; height: auto; position: absolute; bottom: 80px; left: 10%; }
.hero-links { margin-bottom: 20px; }
 

/* SERVICES BLOCK */

.all_services { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; padding-top: 130px; }
.all_services .services { width: 33%; max-width: 515px ; height: 420px;  box-sizing: border-box; padding: 40px 40px 20px 60px; display: flex; flex-direction: column; justify-content: center; transition: all 0.3s ease; }
.all_services .services { border: 2px solid #eaecf8; border-width: 0 2px 2px 0; }
.all_services .services:nth-of-type(3n) { border-right-width: 0; }
.all_services .services:nth-of-type(n+4) { border-bottom-width: 0; }
.services-text { /*display: none;*/ font-family: 'Roboto'; font-weight: 300; font-size: 16px; color: #878789; opacity: 0; height: 0; transition: all 0.3s ease; overflow: hidden; }
li.services:hover .services-text { /*display: block;*/ opacity: 1; height: 100%; max-height: max-content; }
li.services:hover .services-text.read-more { /*max-height: 30px;*/ }
h2.services-title { font-family: 'Open Sans'; font-weight: bold; font-size: 31px; color: #6d6b6c; margin-bottom: 16px; }
li.services:hover > .services-title { color: #8e6ad6; }
li.services:hover { background: #ffffff; cursor: pointer;
    -webkit-box-shadow: 0px 0px 10px 1px rgba(211,211,211,1);
    -moz-box-shadow: 0px 0px 10px 1px rgba(211,211,211,1);
    box-shadow: 0px 0px 10px 1px rgba(211,211,211,1);
}
.all_services img { margin-bottom: 12px; }
.services-text.read-more { text-decoration: underline; color: #9168d3; margin-top: 10px; }


/* SERVICES POPUP */

.service_wrapper { display: flex; width: 100%; height: 100%; background: white;
    -webkit-box-shadow: 0px 0px 10px 1px rgba(211,211,211,1);
    -moz-box-shadow: 0px 0px 10px 1px rgba(211,211,211,1);
    box-shadow: 0px 0px 10px 1px rgba(211,211,211,1);
}
.service_single { position: absolute; top: 2%; right: 0; left: 0; margin: 0 auto; height: 92%; background-color: transparent; box-sizing: border-box; transition: all 0.3s ease-out; width: 1765px; opacity: 0; visibility: hidden;  }  
.service_single.active {  opacity: 1; visibility: visible; }
.close_service.close-popup { position: absolute; top: 38px; right: 62px; font-family: 'Open Sans'; font-weight: bold; font-size: 18px; color: #341966;} 
.close_service.close-popup i.fa.fa-times-circle-o { margin-left: 20px; }
.service_left_block { 
	width: 25%; text-align: center; 
	box-sizing: border-box; 
	padding: 100px 0px 100px 0px;
background-position: right bottom; 
background-size: cover; 
background-repeat: no-repeat; 
background-color: #efeff1; 
} 
.service_left_block h2 { font-family: 'Open Sans'; font-weight: bold; font-size: 31px; color: #8f68d5; }
.right_wrapper { color: #878789; width: 75%; box-sizing: border-box; padding: 70px; position: relative; } 
.service_right_block { color: #878789; width: 100%; max-width: 835px; box-sizing: border-box; padding: 70px; position: relative; } 
.service_right_block img { max-width: 100%; margin-top: 30px; margin-bottom: 35px; display: block; }
.service_right_block h2 { font-family: 'Open Sans'; font-weight: bold; font-size: 35px; color: #8f68d5; margin-bottom: 20px; } 
.service_right_block p{font-size: 22px;}
.service_single .right_wrapper {  overflow-y: auto;  }

/* CONTACT */

div#contact_box { height: 100%; width: 100%; }
.contact_wrapp { height: 100%; min-height: 620px; /*width: 1475px;*/ margin: 0 auto; display: flex; align-items: center; justify-content: center; }
.lets-talk h2 { font-family: 'Open Sans'; font-weight: bold; font-size: 123px; line-height: 90%; text-transform: capitalize; color: white; max-width: 300px; margin-bottom: 15px; }
.lets-talk p { font-family: 'Open Sans'; font-weight: bold; font-size: 35px; color: white; }
.lets-talk a { color: white; text-decoration: none; }
.contact-text { font-family: 'Open Sans'; font-size: 18px; color: #a29bce; max-width: 400px; box-sizing: border-box; padding-bottom: 32px; }
.lets-talk { box-sizing: border-box; padding-bottom: 125px; color: white; }
.lets-talk-plus-form { display: flex; max-width: 868px; }
.contact { background-color: #341966;  }

/* CONTACT FORM */

.contact-form { margin: 0 10%; /*max-width: 436px;*/ } 
.contact-form input,
.contact-form textarea,
.comment-respond input, 
.comment-respond textarea { font-family: 'Open Sans'; font-size: 18px; color: #a29bce; background: transparent; border: 2px solid #644a87; border-radius: 2px; box-sizing: border-box; padding: 10px; margin-bottom: 15px; width: 100%; max-height: 175px; resize: none; }
.contact-form input::placeholder,
.contact-form textarea::placeholder { color: #fff9ff; }
.contact-form input:focus::-webkit-input-placeholder { color: transparent; }
.contact-form input:focus:-moz-placeholder { color: transparent; } 
.contact-form input:focus::-moz-placeholder { color: transparent; } 
.contact-form input:focus:-ms-input-placeholder { color: transparent; } 
.contact-form textarea:focus::-webkit-input-placeholder { color: transparent; }
.contact-form textarea:focus:-moz-placeholder { color: transparent; } 
.contact-form textarea:focus::-moz-placeholder { color: transparent; } 
.contact-form textarea:focus:-ms-input-placeholder { color: transparent; } 
.contact-form textarea:focus,
.comment-respond textarea:focus { outline: none; }
.email-and-phone { display: flex; justify-content: space-between;  }
.email-and-phone span { width: 49%; }
.email-and-phone input { max-width: 100%; }
.contact-form input[type="submit"],
.comment-respond input[type="submit"] { font-family: 'Open Sans'; font-size: 18px; text-transform: uppercase; background: #fafbff; border: none; width: auto; box-sizing: border-box; padding: 16px 24px; border-radius: 5px; cursor: pointer;  }
.contact-form input[type="number"]::-webkit-inner-spin-button, 
.contact-form input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.contact-form input { width: 100%; }
div.wpcf7 .ajax-loader { background-image: url(images/home/loadinfo.net.gif); width: 24px; height: 24px; margin: 0 0 0 24px; }


/* CONTACT NOT VALID */

input.wpcf7-not-valid, 
textarea.wpcf7-not-valid { border: 2px solid #a29bce; margin-bottom: 0; }
span.wpcf7-not-valid-tip { color: #a29bce; width: 100%; }
textarea + span.wpcf7-not-valid-tip { margin-bottom: 10px; position: relative; left: 0px; top: -5px; }
div.wpcf7-mail-sent-ok { font-family: 'Open Sans'; font-size: 18px; color: #a29bce; margin-top: 25px; padding: 0; position: relative; left: 0; bottom: 25px; text-align: left; border: none; }
.wpcf7-validation-errors { display: none !important; }


/* PORTFOLIO */

.portfolio { text-align: center; box-sizing: border-box; padding-top: 120px; padding-bottom: 60px;}
.portfolio-thumb { position: relative; /*width: 510px; height: 412px;*/ width: 30%; height: auto; display: inline-block; vertical-align: top; margin: 2px 1px; cursor: pointer; line-height: 0; }
.portfolio-thumb img.wp-post-image { width: 100%; height: auto; }
.portfolio .portfolio-desc { position: absolute; top: 50%; transform: translateY(-50%); left: 0; z-index: 3; right: 0; margin: 0 auto; }
.portfolio-overlay { position: absolute; top: 0; right: 0; width: 100%; height: 100%; background: #361b62; z-index: 1; opacity: 0; transition: all 0.5s ease; }
.portfolio-thumb:hover > .portfolio-overlay { opacity: 0.8; }
.protfolio-additional-text { font-family: 'Roboto'; font-weight: 300; font-size: 16px; color: white; text-transform: uppercase; line-height: 1.7; /*position: absolute; bottom: 0;*/ width: 100%; z-index: 2; opacity: 0; transition: all 0.5s ease; box-sizing: border-box; /*padding: 30px; padding-bottom: 45px;*/ height: 0; }
.protfolio-additional-text::first-line { font-family: 'Open Sans'; font-weight: bold; }
.portfolio-thumb:hover .protfolio-additional-text { opacity: 1; padding: 30px 0 0 0; height: auto; }


/* INSIGHTS */

.insights.wrapper { display: flex; background-color: white; margin-bottom: 15px; box-sizing: border-box; padding: 0 20px; }
.insight-thumb { min-width: 515px; }
.insight-thumb img { width: 100%; height: auto; /*min-height: 208px; max-width: 515px;*/}
.insights-title { font-family: 'Open Sans'; font-weight: bold; font-size: 117px; color: #dbdafc; } 
.insights-subtitle { font-family: 'Open Sans'; font-weight: bold; font-size: 30px; color: #dbdafc; margin-top: -24px; }
.insights-header { box-sizing: border-box; padding-top: 70px; padding-right: 50px; padding-bottom: 20px; }
.insights-full-width {
    -webkit-box-shadow: 0px 0px 5px 7px rgba(242,242,242,0.75);
-moz-box-shadow: 0px 0px 5px 7px rgba(242,242,242,0.75);
box-shadow: 0px 0px 5px 7px rgba(242,242,242,0.75);
}
.insights-full-width { background: white; }
.insight-thumbs { display: flex; }


/* BLOG ARTICLES */
.entry-title { font-family: 'Open Sans'; font-weight: bold; font-size: 25px; color: #6d6b6c; line-height: 1.1; margin-bottom: 24px; }
.entry-content p { font-family: 'Roboto'; font-weight: 300; font-size: 16px; color: #868688; line-leight: 1.2;  }
a.read-article { color: #747273; text-transform: uppercase; text-decoration: underline; margin-top: 24px; display: inline-block; }
a.read-article::after { content: url('images/home/read-more-arrow.png'); margin-left: 5px; }
.post-without-image { width: 85%; max-width: 420px; position: relative; top: -40px; left: 25px; background: white; box-sizing: border-box; padding: 10px; padding-left: 13px; border-left: 1px solid #f2f2f2; }


/* POST - SINGLE.PHP */

.single .header-main.light-header #menu-icon span { color: white; }
.single-services .header-main.light-header #menu-icon span { color: #341966; }
.single-post.wrapper { width: 1770px; margin: 30px auto 0; background: #fafbff; }
.single-post-content { background: white; }
.post-hero { min-height: 445px; position: relative; } 
.single-post-content { padding-top: 30px; }
.single h1.entry-title,
.page h1.entry-title { font-family: 'Open Sans'; font-weight: bold; font-size: 55px; color: white; margin-bottom: 25px; text-align: center; box-sizing: border-box; padding: 0 30px; line-height: 1; }
.single .hero-links a { font-family: 'Roboto'; font-weight: 300; font-size: 16px; color: white; text-decoration: underline;  } 
.single .hero-links i.fa.fa-circle { font-size: 6px; color: white; margin: 0 5px; position: relative; bottom: 2px; }
.single .single-content { color: #6d6d6d; background: white; box-sizing: border-box; padding: 0 10%; padding-bottom: 45px; }
.single .social-icons { text-align: center; padding-top: 40px; }
.single .social-icons h3 { font-family: 'Roboto'; font-weight: 300; font-size: 16px; display: inline-block; }
.single .social-icons i { font-size: 34px; margin: 0 8px; color: #89888d; }
.single .post-share,
.single .post-share li { display: inline-block; }
.single .post-share ul { margin: unset; }
.single .single-content-without-social-links { font-family: 'Roboto'; font-weight: 300; font-size: 19px; margin-top: 40px; }
.single .single-content-without-social-links p { margin-bottom: 45px; box-sizing: border-box; }
.single .single-content-without-social-links p:last-child { margin-bottom: 0; padding-bottom: 45px; }
.single .single-content-without-social-links img { max-width: 100%; height: auto; }
.single .single-content-without-social-links h2 { margin-bottom: 10px; }
.hero-container { position: relative; }
.hero-overlay { position: absolute; width: 100%; height: 100%; background-color: #020202; opacity: 0.3; }
.page .hero-overlay { background-color: #341966; opacity: 0.9; }
.single #header { z-index: 9; } 
.post-hero-content { position: absolute; top: 0; left: 0; width: 100%; text-align: center; top: 64%; transform: translateY(-50%);}

.single ul { list-style: disc; margin: 0 0 45px 45px; }
.single ol { margin: 0 0 45px 45px; }
.single h3,
.single h4,
.single h5,
.single h6 { margin-bottom: 10px; }
.single blockquote p { padding-bottom: 0 !important; }
.single blockquote { border-left: 5px solid #dbdafc; }
.single code { color: #341966; background-color: #fafbff; white-space: normal; }


/* POST COMMENTS */

.comment-respond input[type="submit"] { background-color: #341966; color: white; }
.comment-respond input,
.comment-respond textarea { width: auto; border: 2px solid #a29bce; margin-bottom: 20px; }
.comment-respond input::placeholder,
.comment-respond textarea::placeholder { color: #a29bce; }
.comment-form-comment label { display: none; }
.comment-respond input:focus::-webkit-input-placeholder { color: transparent; }
.comment-respond input:focus:-moz-placeholder { color: transparent; } 
.comment-respond input:focus::-moz-placeholder { color: transparent; } 
.comment-respond input:focus:-ms-input-placeholder { color: transparent; } 
.comment-respond textarea:focus::-webkit-input-placeholder { color: transparent; }
.comment-respond textarea:focus:-moz-placeholder { color: transparent; } 
.comment-respond textarea:focus::-moz-placeholder { color: transparent; } 
.comment-respond textarea:focus:-ms-input-placeholder { color: transparent; } 
.comment-respond .logged-in-as a { color: #a29bce; margin-bottom: 5px; }
h3#reply-title,
form#commentform p { margin-bottom: unset; }
form#commentform p.logged-in-as { margin-bottom: 20px; }
p.comment-notes,
p.comment-form-cookies-consent,
.comment-form-author label,
.comment-form-email label  { display: none; }
ol.comment-list,
ol.children { list-style: none; margin-bottom: 0px; }
.single .single-content-without-social-links .comment-content p { padding-bottom: 0px; }
#comments .bypostauthor .comment-content { box-shadow: none; }
.bypostauthor { background-color: #fafbff; padding: 10px; }
.comment-list li { margin-top: 24px; padding: 10px; }
.comment-list article { margin-bottom: 20px; }
.comment-respond { margin-top: 30px; }
.comments-area h3 { margin-bottom: 30px; }
h2.comment-title { color: #dbdafc; }
.reply a {color: #747273; text-transform: uppercase; text-decoration: underline; display: inline-block; margin-top: 24px; }
.reply a::after { content: url(images/home/read-more-arrow.png); margin-left: 5px; }
.comment-metadata a { color: #6d6d6d; }
.single .single-content-without-social-links .comment-content p { margin-bottom: 0px; }
footer.comment-meta { margin-bottom: 24px; }
.single .comments-area ol { margin-left: 25px; }
.single #commentform .form-submit { margin-top: 10px; }
.comment-reply-title a { color: #6d6d6d; }
#cancel-comment-reply-link { color: #341966; }


/* POST ERRORS */

.single label.error { display: block; font-size: 16px; color: #a29bce; position: absolute; bottom: -2px; left: 0; }
.single label#comment-error { bottom: 4px; }
.comment-form-comment,
.comment-form-author,
.comment-form-email { position: relative; }


/* SINGLE-SERVICES.php */

.single-services h1.entry-title,
.single-services .hero-links a,
.single-services .hero-links i.fa.fa-circle { color: #7144c3; }
.single-services .hero-overlay {background-color: #fafbff; opacity: 0.6; } 


/* BLOG - home.php */

.blog-main img.wp-post-image { width: 100%; max-width: 515px; height: auto; }
.blog-wrapper { width: 1770px; margin: 0 auto;  }
.blog-main { display: flex; flex-wrap: wrap; justify-content: center; background: white; padding-top: 200px; }
.blog .insights-header,
.blog .blog-main article { width: 30%; }


/* PAGE - ABOUT */

.image-text-pair { display: flex; max-width: 100%; }
.image-text-pair .about-images,
.image-text-pair .about-text { width: 50%; }
.image-text-pair p { margin-bottom: 24px; }
.image-text-pair p,
.page-content { font-family: 'Roboto'; font-weight: 300; font-size: 16px; color: #848486;  }
.page .about-text,
.page-content { box-sizing: border-box; padding: 100px 100px 50px 100px; background: white; }
.page  #header { z-index: 9; } 
.page h1.entry-title { color: #dbdafc; font-size: 117px; } 
.page-about-us h2 { font-family: 'Open Sans'; font-weight: bold; font-size: 31px; color: #6d6b6c; }
.page-about-us .lets-talk h2 { font-family: 'Open Sans'; font-weight: bold; font-size: 123px; line-height: 90%; text-transform: capitalize; color: white; max-width: 300px; margin-bottom: 15px; }

/* PAGE - CONTENT */

.page-content { font-family: 'Roboto'; font-weight: 300; font-size: 16px; color: #848486; background: white; box-sizing: border-box; padding: 100px 100px 50px 100px; }


/* Menu PopUP */

.open-popup { cursor: pointer; }
.popup-overlay { visibility: hidden; opacity: 0;  position: fixed; right: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 101; 
    transition: all 0.3s ease-in; 
    -webkit-transition: all 0.3s ease-in;
    -moz-transition: all 0.3s ease-in;
    -o-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
}
.popup-overlay.active { visibility: visible; opacity: 1; }
.popup-content { visibility: hidden; opacity: 0; position: relative; width: 1765px; height: 95%; margin: 30px auto 0; display: flex; /*overflow-y: scroll;*/  z-index: 102; -webkit-overflow-scrolling:touch; 
    transition: all 3s ease-in; 
    -webkit-transition: all 0.3s ease-in;
    -moz-transition: all 0.3s ease-in;
    -o-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
}
.page.admin-bar .popup-content,
.single.admin-bar .popup-content { padding-top: 32px; }
.home.admin-bar .popup-content { padding-top: 0; }
.popup-content.active { visibility: visible; opacity: 1; /*overflow-y: scroll;*/ -webkit-overflow-scrolling:touch; }
.popup-block-left { width: 33%; height: 100%; display: flex; flex-direction: column; justify-content: center; }
.popup-block-left .lets-talk { padding-bottom: 20px; }
.popup-block-left .city-and-phone-block { flex-direction: column; }
.popup-block-left .city-and-phone:first-child { margin-left: 0px; }
.lets-talk.city-phone-email { align-self: center; margin: auto 0; color: white; }
.popup-block-left .email { margin-left: 0px; }
.popup-block-left .lets-talk p { margin-bottom: 15px; }
.popup-block-left .city-and-phone { margin-bottom: 15px; }
.popup-logo { box-sizing: border-box; padding-top: 17px; padding-left: 30px; }
.popup-block-right { width: 66%; background: white; display: flex; position: relative; align-items: center; box-sizing: border-box; padding-left: 15%; }
.close-popup { position: absolute; top: 27px; right: 42px; cursor: pointer; 
    display: -webkit-box;   
    display: -ms-flexbox;   
    display: flex; 
    align-items: center; }
.close-popup span.close { font-family: 'Open Sans'; font-weight: bold; font-size: 18px; color: #341966; }
.close-popup .lnr.lnr-cross-circle { font-size: 52px; color: #341966; margin-left: 10px; }
.popup-block-right a { font-family: 'Roboto'; font-size: 62px; color: #7e7c7d; }
.popup-block-right a:hover { color: #7e7c7d; }
.popup-block-right a:before { content: "\f111"; font-family: FontAwesome; font-size: 10px; color: #e8e8e8; margin-right: 10px; position: relative; bottom: 2px; }
.popup-block-right ul { margin-left: 10px; }
.circle-background {  height: 45px; width: 45px; position: relative; left: -50px; z-index: -5; border-radius: 25px; margin-right: -45px; }
.home .circle-background { background: rgba(52, 25, 102, 0.9); }
.home .header-main.light-header .circle-background  { background: rgba(250, 251, 255, 0.7); }
ul#menu-main-menu { list-style: none; } 

.mobile_ancor { display: none; }
