@font-face {
    font-family: 'Maison Neue';
    src: url('../fonts/MaisonNeue-Medium.woff2') format('woff2'),
        url('../fonts/MaisonNeue-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Maison Neue';
    src: url('../fonts/MaisonNeue-Book.woff2') format('woff2'),
        url('../fonts/MaisonNeue-Book.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

* { margin: 0; padding: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-touch-callout: none; -webkit-overflow-scrolling: touch; }

html,
body { width:100%; height: 100%; color:#1A1A1A; background-color: #fff; font-size:10px; font-weight: 400; font-family: 'Maison Neue', Arial, sans-serif; overflow-x:hidden; }

img, a img { border:none; }
a { outline:none; text-decoration:none; color:#E46314; }
a:hover span { text-decoration:none; }
ul, ol { list-style-type:none; }
h1, h2, h3, h4, h5, h6 { color:#1A1A1A; font-weight: 900; font-size: 1.8rem; line-height:2.4rem; font-family: 'Nunito Sans', 'Maison Neue', Arial, sans-serif; }
p { font-size:1.8rem; line-height:2.6rem; font-weight: 400; margin:0; padding:0; font-family: 'Maison Neue', Arial, sans-serif; }
strong, b { font-weight:bold; }

.table { width:100%; height:100%; display:table; }
.table-cell { width:100%; height:100%; display:table-cell; vertical-align:middle; }

/* =============================================================== */

.wrapper { width:100%; position:relative; padding-top:10rem; overflow:hidden; }

.wrapper-section { width:100%; position:relative; padding: 8rem 0; }
.page-about-us .wrapper-section.subcateg-page-section { padding-bottom:1rem; }
.page-about-us .wrapper-section.clients-section { padding-bottom:1rem; }

.wrapper-section-content { width:90%; position:relative; margin:0 auto; }

.wrapper-section-content.grid { display:grid; grid-gap:4rem 3rem; }
.wrapper-section-content.grid-2-cols { grid-template-columns: repeat(2, 1fr); }
.wrapper-section-content.grid-3-cols { grid-template-columns: repeat(3, 1fr); }

.section-content-title { font-size:3.2rem; line-height:3.6rem; font-weight:700; margin-bottom:4rem; }
.section-content-description { margin:-2.4rem 0 5rem; padding-right:34%; }

.btn-link { width:auto; display:inline-block; position:absolute; top:50%; right:0; transform: translate(0,-50%); color: #E46314; font-size:1.8rem; line-height:2.4rem; font-weight:700; font-family: 'Nunito Sans', 'Maison Neue', Arial, sans-serif; }
.btn-link i { width:2.4rem; height:2.4rem; float:right; margin-left:.3rem; display:block; font-size:2.2rem; line-height:2.4rem; text-align:right; }

/* top-slide-section =============================================================== */

.top-slide-section { display:grid; grid-template-columns: repeat(2, 50%); padding: 0; }

.top-slide-section-image { width:100%; height:100%; background: transparent url(../images/slides/top-slide-section-image.jpg) no-repeat 50% 50%; background-size: cover; }
.top-slide-section .wrapper-section-content { width:100%; padding: 8rem 10%; }
/*.top-slide-section-title { margin-bottom:3rem; font-weight: 900; font-size: 5rem; line-height:5.2rem; }*/
.top-slide-section-title { margin-bottom:3rem; font-weight: 900; font-size: 4rem; line-height: 4rem; }
.top-slide-section-description { margin-bottom:5rem; font-size: 2.4rem; line-height:3.2rem; }
.top-slide-section-title span, .top-slide-section-description span { display:block; }

/* achievements-section =============================================================== */

.achievements-section { background:#1A1A1A; }

.achievements-section .section-content-title { color:#fff; margin-bottom:6rem; }
.achievements-section h3 { margin-bottom:2rem; color:#fff; font-weight: 900; font-size: 4rem; line-height:4.4rem; }
.achievements-section p { color:#fff; font-size: 1.8rem; line-height:2.4rem; }

/* industries-section =============================================================== */

.industries-section ul.grid { grid-gap:2.4rem; }
.industries-section ul.grid li { position:relative; padding:4rem 2.4rem 7rem 2.4rem; background:#F2F2FD; border-radius:.8rem; }

.industries-section ul.grid h3 { margin-bottom:1rem; font-size:2.4rem; line-height:3.2rem; font-weight:700; }
.industries-section ul.grid i.icon-arrow-right { width:2.4rem; height:2.4rem; position:absolute; right:2.4rem; bottom:2.4rem; display:block; color:#5D5FEF; font-size:2.2rem; line-height:2.4rem; text-align:center; }
.industries-section ul.grid a { width:100%; height:100%; position:absolute; top:0; left:0; }

.industries-section .sc-icon { display:none; width:4.8rem; height:4.8rem; transform: translate(0,-50%); font-family: 'icons'; color:#1a1a1a; font-size:4.8rem; text-align:center; transition: color .3s ease-in-out; }
.industries-section .sc-icon i { width: 100%; height: 100%; position: absolute; top: 0; left: 0; line-height: 4.8rem; color: #4E4E4E; }
.industries-section .sc-icon i:nth-child(2) { color:#5D5FEF; }

/* technologies-section =============================================================== */

/*.technologies-section { padding:2rem 0;  }

.technologies-section-swiper { overflow:visible; }
.technologies-section-swiper .swiper-wrapper { width:auto; padding-left:calc(66.2% + 2.4rem); display:block; }
.technologies-section-swiper .swiper-slide { width:100%; position:static; }

.tss-img { width:66.2%; height:auto; position:absolute; top:0; bottom:0; left:0; border-radius: 1.6rem; opacity:0; visibility:hidden ; overflow:hidden; background-color: transparent; background-repeat: no-repeat; background-position: 50% 50%; background-size:cover; transition: opacity .3s ease-in-out; }
.swiper-slide.active .tss-img { opacity:1; visibility:visible; }

.tss-details { width:100%; position:relative; margin:0 auto 1.4rem; padding:2rem 2.4rem; border:2px solid #F2F2FD; border-radius: 1.6rem; transition: background .3s ease-in-out, border-color .3s ease-in-out; cursor:pointer; }
.swiper-slide.active .tss-details { background:#F8F8F8; border-color:#F8F8F8; }
.swiper-slide:last-of-type .tss-details { margin-bottom:0; }

.tss-details:before { width:0; height:2px; position:absolute; top:-2px; left:2.4rem; content:''; background:#5D5FEF; transition:width .3s ease-in-out; }
.swiper-slide.active .tss-details:before { width:40%; }

.tss-details h3 { font-size:1.8rem; line-height:2.4rem; font-weight:700; }
.swiper-slide.active .tss-details h3 { font-size:2.4rem; line-height:3.2rem; text-decoration:underline; }

.tss-details p { display:none; transition:padding-top .3s ease-in-out; }
.swiper-slide.active .tss-details p { display:block; padding-top:1.5rem; }*/


/* insights-section =============================================================== */

.insights-section { padding: 8rem 0 10rem; }

.insights-section-swiper { overflow:visible; }

.swiper-slide { transition: opacity .3s ease-in-out; }

.insights-section-swiper img,
.related-section-swiper img { width:100%; margin:0 auto 1.6rem; border-radius:1.6rem; }
.insights-section-swiper h3, .insights-section-decription, .related-section-swiper h3 {
    margin-bottom: 1rem;
    font-weight: 400; 
    font-size: 3.2rem; 
    line-height: 4rem;
    font-family: 'Maison Neue', Arial, sans-serif; 
    letter-spacing: -.1rem; 
}
.insights-section-swiper h3 {
    min-height: 120px;
}
.insights-section-decription { width:32%; }
.insights-section-swiper .swiper-slide,
.related-section-swiper .swiper-slide { background:#fff; }
.insights-section-swiper .swiper-slide:nth-child(1) h3 { padding-right:5%; }
.insights-section-swiper .highlight,
.related-section-swiper .highlight { display:block; margin-bottom:1rem; color:#5D5FEF; font-size: 1.6rem; line-height:2.4rem }
.insights-section-swiper p,
.related-section-swiper p { margin-bottom:0; }

.insights-section-swiper .swiper-slide:hover h3,
.related-section-swiper .swiper-slide:hover h3 { text-decoration:underline; }
.insights-section-swiper .swiper-slide:hover h3.landscape { text-decoration:none; }

.swiper-slide a,
.insights-section-swiper .swiper-slide a,
.related-section-swiper .swiper-slide a { width:100%; height:100%; display:block; position:absolute; top:0; left:0; }

.swiper-buttons { min-width:12.4rem; min-height:5.6rem; position:absolute; right:0; bottom:0; }
.swiper-buttons .swiper-button-next,
.swiper-buttons .swiper-button-prev { width:5.6rem; height:5.6rem; background:#ddd; border-radius:50%; color:#999; margin-top:0; transform: translate(0,-50%); transition: color .3s ease-in-out, background .3s ease-in-out, opacity .3s ease-in-out; }
.swiper-buttons .swiper-button-next { right:0; }
.swiper-buttons .swiper-button-prev { left:0; }
.swiper-buttons .swiper-button-next:hover,
.swiper-buttons .swiper-button-prev:hover,
.swiper-buttons .swiper-button-next:active,
.swiper-buttons .swiper-button-prev:active { background: #E46314; color:#fff; }
.swiper-buttons .swiper-button-next:after,
.swiper-buttons .swiper-button-prev:after { font-size:2.2rem; font-family: 'icons'; line-height:5.6rem; }
.swiper-buttons .swiper-button-next:after { content: '\e905'; padding-left:.3rem; }
.swiper-buttons .swiper-button-prev:after { content: '\e906'; padding-right:.3rem; }
.swiper-buttons .swiper-button-next.swiper-button-disabled,
.swiper-buttons .swiper-button-prev.swiper-button-disabled { opacity:0; }


/* team-section =============================================================== */

.team-section { padding:14rem 0; background: transparent url(../images/slides/team-section-image.jpg) no-repeat 50% 50%; background-size: cover; }

.team-section .wrapper-section-content { display:grid; align-items:center; }

.box { background:#fff; padding:4.8rem; border-radius:1.6rem; }
.team-section .box { width:62rem; max-width:100%; }

.team-section .section-content-title { margin-bottom:2.4rem; }
.team-section p { margin-bottom:2.8rem; }

/* clients-section =============================================================== */

/*.clients-section { padding: 4rem 0; }*/

.clients-list { display:grid; grid-template-columns: repeat(6, 1fr); }
.clients-list li { padding:5rem 0; display:grid; align-items:center; justify-items:center; border-right:1px solid #F2F2FD; border-bottom:1px solid #F2F2FD; }

/*.hp .clients-list li:first-child { border-radius: 1.6rem 0 0 0; }
.hp .clients-list li:nth-child(6) { border-radius: 0 1.6rem 1.6rem 0; }
.hp .clients-list li:nth-child(7) { border-radius: 0 0 0 1.6rem; }
.hp .clients-list li:last-child { border-radius:0 0 1.6rem 0; }*/

.clients-list li:nth-child(1),
.clients-list li:nth-child(2),
.clients-list li:nth-child(3),
.clients-list li:nth-child(4),
.clients-list li:nth-child(5),
.clients-list li:nth-child(6) { border-top:1px solid #F2F2FD; }
.clients-list li:nth-child(6n+1) { border-left:1px solid #F2F2FD; }

.clients-list li img { width:100%; max-width:14rem; height:auto; margin:0 auto; }
.page-about-us .clients-list li img { max-width:18rem; }

/* contact-section =============================================================== */

.contact-section { background: transparent url(../images/shutterstock_1031863015.jpg) no-repeat 50% 50%; background-size: cover; }
.contact-section .wrapper-section-content { display:grid; align-items:center; justify-items:center; }

.contact-section .form { max-width:100%; width:84rem; }

/* =============================================================== */
/* =============================================================== */

/* .header ========================================================= */

.header { width:100%; height:10rem; position:fixed; top:0; left:0; z-index:99; padding:0 2%; display:grid; grid-template-columns:22rem 1fr; grid-gap:1rem; align-items: center; background:#fff; box-shadow: 0 .3rem .3rem rgba(0,0,0,.1); }
.view-subcateg-menu .header { box-shadow: none; }
/*.header .logo { width:auto; position:absolute; top:50%; left:0; transform: translate(0,-50%); }
.header .logo a { width:100%; height:100%; display:block; font-size:1.8rem; line-height:2.4rem; font-weight:400; font-family: 'Maison Neue', Arial, sans-serif; color:#1a1a1a; overflow:hidden; word-wrap:normal; }
.header .logo img { width:auto; height:4.2rem; float:left; }*/

.logo { display:inline-block; }
.logo a { width:100%; height:100%; display:grid; grid-gap:1rem; grid-template-columns:auto 1fr; align-items: center; }
.logo img { width:auto; height:4.2rem; float:left; }
.logo strong { font-size:1.8rem; line-height:2.4rem; font-weight:400; font-family: 'Maison Neue', Arial, sans-serif; color:#1a1a1a; word-wrap:normal; }

.menu { width:auto; display:grid; grid-template-columns:1fr 22rem; grid-gap:1rem; align-items: center; }

.menu nav { justify-self: center; }

.menu nav ul { width:100%; height:100%; }
.menu nav ul > li { position:relative; display:inline-block; margin:0 3rem; }
.menu nav ul > li:first-of-type { margin-left:0; }
.menu nav ul > li:last-of-type { margin-right:0; }

.menu nav a { font-size:1.8rem; line-height:2.4rem; font-weight:700; font-family: 'Nunito Sans', 'Maison Neue', Arial, sans-serif; color:#1a1a1a; transition: color .3s ease-in-out, background .3s ease-in-out; cursor:pointer; }
.menu nav a:hover,
.menu nav a:active,
.menu nav a.active,
.menu nav a.selected { color:#E46314; }

.menu .subcateg-list { width:100%; height:0; position:relative; overflow:hidden; background: #F8F8F8; transition: height .3s ease-out; }
.menu .with-subcategory-list .subcateg-list { display:none; }

.menu .button { justify-self:end; }

.menu-btn { display:none; width:4.8rem; height:4.8rem; position:relative; justify-self: end; cursor:pointer; }
/*.menu-btn:hover i { color: #E46314; }*/
.menu-btn:active i { background:#E46314; color:#fff; }
.menu-btn .icon-menu,
.menu-btn .icon-close { width:100%; height:100%; display:block; position:absolute; top:0; left:0; color:#1a1a1a; font-size:3rem; line-height:4.8rem; text-align:center; opacity:1; border-radius:.8rem; transform: scale3d(0,0,0); transition: transform .3s ease-in-out, opacity .3s ease-in-out, background .3s ease-in-out, color .3s ease-in-out; }
.menu-btn .icon-close { font-size:2.6rem; }
.menu-btn.active .icon-menu,
.menu-btn .icon-close { opacity:0; transform: scale3d(0,0,0); }
.menu-btn .icon-menu,
.menu-btn.active .icon-close { opacity:1; transform: scale3d(1,1,1); }

.submenu { width:100%; position:fixed; top:-40rem; left:0; z-index:98; opacity:0; background:#fff; padding:2rem 2% 6rem 2.2%; box-shadow: 0 .3rem .3rem rgba(0,0,0,.1); overflow:hidden; transition: transform .3s ease-out, opacity .3s ease-in-out; }
.view-subcateg-menu .submenu { transform:translate3d(0,50rem,0); opacity:1; }

.submenu .subcateg-list { width:100%; height:100%; position:relative; overflow:hidden; background: #fff; padding-right: 52%; padding-bottom: 80px; }
.submenu .subcateg-list ul { width:50%; float:left; height:100%; }
.submenu .subcateg-list ul:first-of-type { width:100%; border-bottom: 1px solid #F0F0F0; margin-bottom:2rem; }
.submenu .subcateg-list ul:first-of-type li { grid-column: 1 / 3; margin-bottom:.3rem; overflow:hidden; }

.submenu .subcateg-list ul:nth-child(2) li,
.submenu .subcateg-list ul:nth-child(3) li { margin-bottom:.5rem; }

.submenu .subcateg-list a { display:block; position:relative; padding: 2.2rem 2rem 2.2rem 7.6rem; border-radius:.6rem; font-size: 2.4rem; line-height: 2.8rem; font-weight: 700; font-family: 'Nunito Sans', 'Maison Neue', Arial, sans-serif; color: #1a1a1a; transition: color .3s ease-in-out, background .3s ease-in-out; overflow:hidden; }
.submenu .subcateg-list a:hover { color:#5D5FEF; }
.submenu .subcateg-list a:active { background:#F2F2FD; }
.submenu .subcateg-list a.categ-page { padding-left:1.6rem; font-size: 2.1rem; line-height:3.4rem; }
.submenu .subcateg-list a.categ-page span { display:inline-block; float:left; }
.submenu .subcateg-list a.categ-page i { width:3rem; height:3.4rem; margin-left:.5rem; display:inline-block; float: left; position:static; font-family: 'icons'; font-size:2.4rem; line-height:3.6rem; text-align:center; }
.submenu .subcateg-list a:before { display:none; }
.submenu .subcateg-list .subcateg-icon { width:4.4rem; height:4.4rem; display:block; position:absolute; top:50%; left:1.8rem; transform: translate(0,-50%); font-family: 'icons'; color:#1a1a1a; font-size:4.4rem; text-align:center; transition: color .3s ease-in-out; }
.submenu .subcateg-list .subcateg-icon i { width: 100%; height: 100%; position: absolute; top: 0; left: 0; line-height: 4.4rem; color: #4E4E4E; }
.submenu .subcateg-list .subcateg-icon i:nth-child(2) { color:#5D5FEF; }

.menu-media, .subcateg-post { width: 50%; height: 100%; position: absolute; top: 0; bottom: 0; right: 0; transition: opacity .3s ease-in-out, transform .3s ease-out; }
.subcateg-post { z-index:100; background:#fff; opacity:0; visibility:hidden; transform: translate3d(.4rem,0,0); }
.menu-media-categ, .subcateg-post img { width: 100%; height: 100%; border-radius: 1.6rem; overflow: hidden; background-image: url(../images/slides/industries-menu-image.jpeg); background-color: transparent; background-repeat: no-repeat; background-position: 50% 50%; background-size: cover; }
.submenu .subcateg-list li:hover .subcateg-post { opacity:1; visibility:visible; transform: translate3d(0,0,0); }
/*.submenu .subcateg-list:hover .menu-media-categ { opacity:0; }*/
.subcateg-post img { height:auto; margin:0 auto 1.5rem; }
.subcateg-post h3 { font-size: 3.2rem; font-weight: 700; line-height: 3.8rem; margin:0 auto 1rem; }
.subcateg-post p { max-height:8rem; font-size:1.8rem; line-height:2.6rem; margin:0; overflow:hidden; }

/* .footer ========================================================= */

.footer { width:100%; min-height:100px; padding:0 5%; display:grid; grid-template-columns: auto 1fr; grid-gap:2.4rem; align-items:center; justify-items:center; background:#1a1a1a; color:#fff; }

.footer .copy { font-size:1.8rem; line-height:2.4rem; font-weight:700; font-family: 'Nunito Sans', 'Maison Neue', Arial, sans-serif; }

.footer nav { justify-self: right; }
.footer nav a { display:inline-block; margin-left:5.6rem; color:#fff; font-size:1.8rem; line-height:2.4rem; font-weight:600; font-family: 'Nunito Sans', 'Maison Neue', Arial, sans-serif; transition: .3s color ease-in-out; }
.footer nav a:hover { color:#E46314; }

.footer nav a.lin-icon { position:relative; padding-right:3rem; }
.footer nav a.lin-icon:before { width:2.4rem; height:2.4rem; position:absolute; top:50%; right:0; transform: translate(0,-50%); content: "\e91d"; font-size:2.4rem; line-height:2.4rem; text-align:center; font-family:icons; }

/* .form ========================================================= */

.form { width:100%; position:relative; margin:0 auto; }
.form fieldset { width:100%; border:none; position:relative; padding:0; }

.form .form-row { width:100%; display:grid; grid-gap:2.4rem; }
.form .form-row.grid-2-cols { grid-template-columns: repeat(2, 1fr); }

.form .input-box-field,
.form .select-box-field { width:100%; position:relative; margin:0 auto 2rem; }

.form span.text { width:100%; display:block; margin:0 auto 1rem; font-size:1.4rem; line-height:2rem; }

.form label { display:inline-block; margin:0 0 1rem; font-size:1.8rem; line-height:2.2rem; font-weight:400; text-align:left; font-family: 'Maison Neue', Arial, sans-serif, Arial, sans-serif; color:#1a1a1a; }

input,
select,
textarea { width:100%; height:4.8rem; color:#1a1a1a; font-size: 1.8rem; font-weight:500; font-family: 'Maison Neue', Arial, sans-serif, Arial, sans-serif; border-radius:.8rem; box-shadow:none!important; background: #fff!important; border:1px solid #ddd!important; padding: 0 1rem; transition: all 0.3s ease-in-out;  }

.form input, 
.form select, 
.form textarea { width:100%; }

.form select, .form select option { padding:0 0 0 1rem; }
.form select option { padding:0.5rem 0 0.5rem 1rem; }

.form textarea { height:8rem; padding:0.7rem 1rem; }

input:focus, 
select:focus, 
textarea:focus,
input:active, 
select:active, 
textarea:active,
input:hover, 
select:hover, 
textarea:hover,
.form input:focus, 
.form select:focus, 
.form textarea:focus,
.form input:active, 
.form select:active, 
.form textarea:active,
.form input:hover, 
.form select:hover, 
.form textarea:hover  { border:1px solid #1a1a1a !important; outline:none!important; background: #fff !important; }

.form .error input,
.form .error select,
.form .error textarea { border-color:#FF1F00!important; }

.form input::-webkit-input-placeholder, 
.form input:-moz-placeholder, 
.form input:-ms-input-placeholder { color:#ddd!important; font-weight:400!important; }

.form .input-box-field.with-unit input,
.form .select-box-field.with-unit input { padding-right:2.2rem; }

.form .input-box-field.with-info input,
.form .select-box-field.with-info input { padding-right:3.2rem; }

.error-msg, .succes-msg { width:100%; display:block; color:#FF1F00; font-size:1.6rem; line-height:2.4rem; padding:.8rem 0; }
.succes-msg { background:#66cc00; }

.input-box-field-message-error { width:100%; display:block; min-height:2.4rem; margin:-1.7rem auto 1.5rem; position:relative; overflow:hidden; color:#fff; background:#ee3128; font-size:1rem; line-height:2.4rem; padding:0 1.5rem; border-radius:0 0 .4rem .4rem; transition:  opacity .3s ease-in-out,height .3s ease-in-out, margin .3s ease-in-out, padding .3s ease-in-out; overflow:hidden; }

.form p.rc-line { width:100%; position:relative; margin:0 auto 1rem!important; text-align:center; padding:0; border:none; transition:all 0.3s ease-in-out; }
.form p.rc-line.active { height:2.2rem; border:none; }
.form p.rc-line:before { width:100%; height:100%; position:static; content:""; transform:scale3d(1,1,1); }

.form p.rc-line label { width:100%; display:block; height:100%; position:relative; z-index:5; cursor:pointer; font-size:1.2rem; line-height:1.8rem; text-align:left; padding:0 0 0.2rem 2.7rem; color:#999; margin:0; overflow:hidden; /*-ms-text-overflow:ellipsis; -o-text-overflow:ellipsis; text-overflow:ellipsis; white-space:nowrap;*/ transition:none; }
.form p.rc-line.active label { transform: scale3d(1,1,1); }
.form p.rc-line.valid label,
.form p.rc-line.active.valid label { opacity:1; }
.form p.rc-line input[type=checkbox],
.form p.rc-line input[type=radio] { width:100%; height:100%; position:absolute; top:0; left:0; opacity:0; overflow:hidden; } 
.form p.rc-line label:after { width:1.6rem; height:1.6rem; padding:0; display:block; position:absolute; top:0; left:0; border-radius:0.2rem; content:""; border:1px solid rgba(0,0,0,0.2); background:#fff; font-family:icons; text-align:center; line-height:1.6rem; font-size:1.2rem; } 
.form p.rc-line input[type=checkbox]:checked + label:after,
.form p.rc-line input[type=radio]:checked + label:after { content:"\e916"; border-color:#dd3b6a; color:#fff; background:#dd3b6a; }
.form p.rc-line input[type=checkbox]:checked + label,
.form p.rc-line input[type=radio]:checked + label,
.form p.rc-line:hover label, 
.form p.rc-line:hover label:after,
.form p.rc-line:hover a,
.form p.rc-line input[type=checkbox]:checked + label a,
.form p.rc-line input[type=radio]:checked + label a { color:#dd3b6a; }

.form .button { margin-top:1rem; }

/* ============================================================= */

.button { width:auto; height:4.8rem; position:relative; display:inline-block; padding:0 2.4rem; color:#fff; background:#E46314; border-radius:2.5rem; font-size:1.8rem; line-height:4.8rem; text-align:center; font-family: 'Nunito Sans', 'Maison Neue', Arial, sans-serif; cursor:pointer; user-select:none; border:none; -webkit-transition: color 0.3s ease-in-out, background 0.3s ease-in-out; transition: color 0.3s ease-in-out, background 0.3s ease-in-out; }

.button.with-icon i { width:3rem; height:3rem; float:right; margin:.72rem -.5rem 0 0; display:block; font-size:2.2rem; line-height:3.2rem; text-align:right; }

/* =============================================================== */
/* =============================================================== */

.page-title { margin:0 auto 6rem; font-family: 'Nunito Sans', 'Maison Neue', Arial, sans-serif; font-size: 4.8rem; font-style: normal; font-weight: 900; line-height: 5.6rem; text-align: left; }
.highlight { display: block; margin-bottom: 1rem; color: #5D5FEF; font-size: 1.6rem; line-height: 2.4rem; }

.insights-page-section { padding:6rem 0 8rem; }

.insights-section-list { margin:0 auto 6rem; display:grid; grid-template-columns: repeat(3, 1fr); grid-gap: 4rem 2.4rem; }
.insights-section-list li { position:relative; }
.insights-section-list img { width: 100%; margin: 0 auto 1.6rem; border-radius: 1.6rem; }
.insights-section-list h3,
.featured-post h3 { margin-bottom: 1rem; font-weight: 400; font-size: 3.2rem; line-height: 4rem; font-family: 'Maison Neue', Arial, sans-serif; letter-spacing: -.1rem; }
.insights-section-list a,
.featured-post div a { width:100%; height:100%; display:block; position:absolute; top:0; left:0; }
.insights-section-list h3 {
    min-height: 135px;
}

.featured-post { display:grid; grid-template-columns: repeat(2, 1fr); grid-gap: 2.4rem; margin-bottom:6rem; align-items:center; }
.featured-post > a { width: 100%; display:block; }
.featured-post div { padding-left:5%; position:relative; }
.featured-post img { width: 100%; margin: 0 auto; border-radius: 1.6rem; }

.label { display:inline-block; margin-bottom:1rem; padding: 0.4rem 1rem; font-size: 1.4rem; font-style: normal; font-weight:400; letter-spacing:0; line-height: 1.8rem; color:#fff; background:#5D5FEF; border-radius:.4rem;   }

.pagination { width:auto; height:4.8rem; display:block; font-size:0; line-height:0; text-align:center; }


/* =============================================================== */
/* =============================================================== */

.post.wrapper-section { padding-top:0; padding-bottom:0; }
.post .wrapper-section-content { max-width: 82rem; }

.post .article-top-image { width:100%; height:40rem; margin-bottom:6rem; position:relative; background: transparent no-repeat 50% 50%; background-size: cover; }

.article-details { width:100%; padding:3rem 0; margin:6rem auto 4rem;  display:grid; grid-template-columns: auto 1fr; grid-gap:2.4rem; align-items:center; border-top:1px solid #ddd; }
.article-details.top { border-top:none; border-bottom:1px solid #ddd; margin-top:-2rem; }

.page-technology .article-details { grid-gap:0; margin-bottom:0; }
.page-insight .article-details { margin-bottom:0; }
.page-technology .article-details.top,
.page-insight .article-details.top { grid-gap:2.4rem; margin-bottom:4rem; }

.article-title { font-size: 4.8rem; line-height: 5.6rem; font-weight:900; margin-bottom:4rem; }

.article-details span { font-size:1.8rem; line-height:2.6rem; }
.article-details .highlight { margin-bottom:0; }
.article-details .author { color:#000; }
.article-details .author strong { color:#000; font-weight:500; }

.article-details > div { display:grid; grid-template-columns: auto 1fr; align-items:center; grid-gap:1.4rem; /*justify-self:end;*/ }
.article-details > div .share-media a { margin-top:-.1rem; }

.job-actions .article-details { border-top:none; margin:0; }
.job-actions.top .article-details { padding:0 0 0 2rem; }

.share-media { width:auto; justify-self:start; display:grid; grid-template-columns: repeat(3,1fr); grid-gap:.5rem; }
.share-media a { width:3.6rem; height:3.6rem; display:block; transition: color .3s ease-in-out; color:#5D5FEF; }
.share-media a:active { color:#E46314; }
.share-media i { width:100%; height:100%; display:block; font-size:2.8rem; line-height:3.6rem; text-align:center; }

.post h3,
.post h4 { font-size: 2.8rem; line-height: 3.6rem; font-weight:600; margin-bottom:3rem; }

.post p { margin-bottom:1.5rem; }
.post ol { list-style-type:decimal; margin-bottom:4rem; padding-left: 2rem; font-weight:500; }
.post ol li { font-size:1.6rem; line-height:2.4rem; font-weight:400; }

.media-box { width:120%; margin-left:-10%; position:relative; padding: 5rem 0; margin-bottom:2rem; text-align:center; }
.media-box img { width:100%; height:auto; margin:0 auto; border-radius: .8rem; }
.media-box small { display:block; padding-top:3.6rem; font-size: 1.4rem; line-height:2.2rem; font-style: italic; }

.quote { padding:3rem 0; margin-bottom:2rem; text-align:center; }
.quote h4 { color:#5D5FEF; margin-bottom:2rem; }
.quote p { display:inline-block; position:relative; margin-bottom:0; padding-top:2rem; font-size: 1.6rem; line-height:2.4rem; font-weight: 500; }
.quote p:before { width:1.8rem; height:2px; position:absolute; top:0; left:50%; transform: translate(-50%,0); background:#1a1a1a; content:''; border-radius:2px; opacity:.8; }

.wrapper-section.related-section { padding: 2rem 0 8rem; }
.related-section .related-section-title { font-size: 3.2rem; line-height:3.8rem; margin-bottom:4rem; }

.swiper-container { overflow:visible; }

/* =============================================================== */
/* =============================================================== */

.pagination a { width:4.8rem; height:4.8rem; margin: 0 1.2rem; display:inline-block; vertical-align:top; border-radius:50%; cursor:pointer; transition: all .3s ease-in-out; background: #f8f8f8; color:#999; }
.pagination a i,
.pagination a span { width:100%; height:100%; display:block; font-size:1.6rem; line-height:4.8rem; text-align:center; font-weight:500; font-family: 'Maison Neue', Arial, sans-serif; }
.pagination a:hover,
.pagination a.active,
.pagination a.active:hover { background: rgba(228,99,20,.16); color:#E46314; text-decoration:none; }

/* =============================================================== */
/* =============================================================== */

.industries-page-section {  }


/* =============================================================== */
/* =============================================================== */

.page-description { width:100%; position:relative; padding-right:30%; /*margin-bottom:8rem;*/ }

.page-description .subcateg-icon { width:13rem; height:13rem; display:block; position:absolute; top:0; right:8%; text-align:center; transition: color .3s ease-in-out; }
.page-description .subcateg-icon i { width: 100%; height: 100%; position: absolute; top: 0; left: 0; font-size:12.8rem; line-height: 13rem; color: #4E4E4E; }
.page-description .subcateg-icon i:nth-child(2) { color:#5D5FEF; }

.page-description p { font-size:2.8rem; line-height:3.6rem; margin:0 auto 3rem; }

.page-description .article-details { border:none; padding:0; margin:0 auto; }
.page-description .article-details .share-media { justify-self: start; }

.categ-page-section { padding:0 0 8rem; }

.page-posts-list { width:100%; }
.page-posts-list li { width:100%; position:relative; margin-bottom:8rem; display:grid; grid-template-columns: repeat(2, 1fr); grid-gap:2.4rem; }
.page-posts-list li:last-of-type { margin-bottom:0; }

.page-posts-list img { width:100%; height:auto; margin:0; border-radius:1.6rem; }
.page-posts-list li:nth-child(2n) img { grid-column: 2 / 3; }

.page-posts-list div { padding: 1.6rem 1rem; }
.page-posts-list li:nth-child(2n) div { grid-column: 1 / 2; grid-row: 1 / 2; }

.page-posts-list h3 { font-size:3.2rem; line-height:3.8rem; margin:0 auto 1.5rem; }
/*.page-technologies .page-posts-list li:hover h3 { text-decoration:underline; }*/

.page-posts-list p { margin-bottom:1.2rem; }
.page-posts-list p:last-of-type { margin-bottom:0; }

.related-projects-section { padding:1rem 0; }

.related-projects li { position:relative; border: 1px solid #F2F2FD; border-radius: 1.6rem; text-align:center; padding:2rem 2rem 6rem; transition: background .3s ease-in-out, box-shadow .3s ease-in-out; }
.related-projects li:hover { background:#fff; box-shadow: .2rem .2rem .3rem rgba(221,221,221,.3); }
.related-projects h3 { font-size:3.8rem; line-height:4.6rem; margin:0 auto 2rem; }
.related-projects li:hover h3 { text-decoration:underline; }
.related-projects img { width:100%; height:auto; margin:0 auto 1rem; border-radius: 1.6rem; }
.related-projects a { width:100%; height:100%; display:block; position:absolute; top:0; left:0; }

.testimonials-section { padding:2rem 0 0; }

.testimonials-list li { position:relative; border: 1px solid #F2F2FD; border-radius: 1.6rem; text-align:center; padding:4rem; transition: background .3s ease-in-out, box-shadow .3s ease-in-out; }
/*.testimonials-list li:hover { background:#fff; box-shadow: .2rem .2rem .3rem rgba(221,221,221,.3); }*/
.testimonials-list img { width:12rem; height:12rem; border-radius:50%; margin:0 auto 1.6rem; }
.testimonials-list h5,
.testimonials-list h6 { font-size:1.8rem; line-height:2.6rem; font-weight: 700; }
.testimonials-list h6 { font-weight: 400; margin-bottom:1rem; }
.testimonials-list p { font-size:1.8rem; line-height:2.6rem; font-style: oblique; }

.technologies .clients-section { padding-top:0; }

/* =============================================================== */
/* =============================================================== */

.about .clients-section { padding: 8rem 0; }
.about .industries-section { padding-top:0; }

.fsd-team-section { padding: 8rem 0 0; }

.team-section-swiper { padding-bottom:7rem; }
.team-section-swiper img { width:100%; margin:0 auto 1.6rem; border-radius:1.6rem; }
.team-section-swiper h3 { margin-bottom:.6rem; font-weight: 400; font-size: 3.2rem; line-height:3.8rem; font-family: 'Maison Neue', Arial, sans-serif; letter-spacing:-.1rem; text-align:center; }
.team-section-swiper p { /*font-size: 1.6rem; line-height:2.4rem; */ margin-bottom:0; text-align:center; }

/* =============================================================== */
/* =============================================================== */

.careers-section-list { width:100%; padding-right: 33.3333%; margin:0 auto 6rem; }
.careers-section-list li { width:100%; position:relative; margin:0 auto 3rem; padding:2.4rem 15% 2.4rem 3rem; background: transparent; border:1px solid #f2f2fd; border-radius:1.6rem; transition: background .3s ease-in-out, box-shadow .3s ease-in-out; }
.careers-section-list li:hover { background:#fff; box-shadow: .2rem .2rem .3rem rgba(221,221,221,.3); }
.careers-section-list li:before { width:2.4rem; height:2.4rem; position:absolute; right:2.4rem; bottom:2.4rem; content:'\e907'; display:block; color:#5D5FEF; font-size:2.2rem; line-height:2.4rem; text-align:center; font-family: icons; }
.careers-section-list h3 { font-size:3.2rem; line-height:3.8rem; font-weight:500; text-decoration:underline; margin-bottom:1.6rem; }
.careers-section-list .highlight { margin-bottom:1rem; display:block; }
.careers-section-list .highlight b { margin:0 .6rem; }
.careers-section-list a { width:100%; height:100%; display:block; position:absolute; top:0; left:0;  }

.careers-page-section .pagination { text-align:left; }

/* =============================================================== */
/* =============================================================== */

.job-page-section .wrapper-section-content { display: grid; grid-template-columns: 1fr 33%; grid-gap:2.4rem; }

.about-job { padding:2.4rem; background-color:#F2F2FD; border-radius: 1.6rem; }
.about-job h3 { margin-bottom:2.4rem; font-weight: bold; font-size: 2.4rem; line-height: 3.2rem; }
.about-job p { margin-bottom:1.6rem; /*font-size: 1.8rem; line-height: 2.6rem;*/ }
.about-job p .highlight { margin-bottom:.2rem; }
.about-job p:last-of-type { margin-bottom:0; }

.back-link { margin-bottom:4rem; }
.back-link a { width: auto; display: inline-block; transform: translate(0,-50%); color: #E46314; font-size: 1.8rem; line-height: 2.4rem; font-weight: 700; font-family: 'Nunito Sans', 'Maison Neue', Arial, sans-serif; }
.back-link a i { width: 2.4rem; height: 2.4rem; float: left; margin-right: .6rem; display: block; font-size: 2.2rem; line-height: 2.4rem; text-align: left; }

.job-content .job-title { font-size: 4.8rem; line-height: 5.6rem; font-weight:900; margin-bottom:2rem; } 

.job-actions { width:100%; padding:3rem 0; margin:6rem auto 0;  display:grid; grid-template-columns: auto 1fr; grid-gap:1.4rem; align-items:center; border-top:1px solid #ddd; }
.job-actions.top { border-top:none; border-bottom:1px solid #ddd; margin-top:-2rem; margin-bottom:4rem; }

.share-button { width:auto; height:4.8rem; position:relative; display:inline-block; padding:0 5rem 0 2.4rem; color:#E46314; background:transparent; border-radius:2.5rem; font-size:1.8rem; line-height:4.8rem; text-align:center; font-family: 'Nunito Sans', 'Maison Neue', Arial, sans-serif; cursor:pointer; user-select:none; border:none; -webkit-transition: color 0.3s ease-in-out, background 0.3s ease-in-out; transition: color 0.3s ease-in-out, background 0.3s ease-in-out; }
.share-button:hover,
.share-button:active { background:#E46314; color:#fff; }
.share-button:before { width:2.4rem; height:2.4rem; display:block; position:absolute; top:50%; right:1.6rem; transform: translate(0,-50%); content:'\e929'; font-family:icons; font-size:2.2rem; line-height:2.4rem; text-align:center; }

.job-content h3,
.job-content h4 { font-size: 2.8rem; line-height: 3.6rem; font-weight:600; margin-bottom:3rem; }

.job-content p { margin-bottom:1.4rem; }
.job-content ol { list-style-type:decimal; margin-bottom:4rem; padding-left: 2rem; font-weight:500; }
.job-content ol li { font-size:1.6rem; line-height:2.4rem; font-weight:400; }

.job-details { margin-bottom:4rem; }

/*.uploaded-files-list { width:100%; margin:0 auto 1.4rem; padding-top:.8rem; }*/
/*.uploaded-files-list li { width:100%; position:relative; border-radius:.8rem; background:#F8F8F8; padding: 1.5rem 6rem 1.5rem 2rem;  }*/
/*.uploaded-files-list p { font-weight:700; }*/
/*.uploaded-files-list i { width: 4.8rem; height: 4.8rem; display:block; position: absolute; top: 50%; right: .1rem; transform: translate(0,-50%); font-size: 1.8rem; line-height: 4.8rem; text-align: center; color: #4E4E4E; border-radius: .8rem; transition: background .3s ease-in-out, color .3s ease-in-out; cursor:pointer; }*/
/*.uploaded-files-list i:hover,*/
/*.uploaded-files-list i:active { background:#E46314; color:#fff; }*/

/* =============================================================== */
/* =============================================================== */

.overlay { width:100%; height:100%; opacity:0; overflow:hidden; position:fixed; left:0; top:100%; z-index:500; background:rgba(0,0,0,.25); padding:4rem 0; overflow-x:hidden; overflow-y:auto; }

.view-overlay-apply .overlay-apply { -webkit-animation: overlay-anim 0.5s ease forwards; -moz-animation: overlay-anim 0.5s ease forwards; -o-animation: overlay-anim 0.5s ease forwards; -ms-animation: overlay-anim 0.5s ease forwards; animation: overlay-anim 0.5s ease forwards; }

.wrapper.view-overlay-apply { height:100%; overflow:hidden; }

@-webkit-keyframes overlay-anim {
	0% { opacity:0; -webkit-transform:translate3d(0,0,0); }
    5% { opacity:0; -webkit-transform:translate3d(0,-100%,0); }
	100% { opacity:1; -webkit-transform:translate3d(0,-100%,0); }
}
@-moz-keyframes overlay-anim {
	0% { opacity:0; -moz-transform:translate3d(0,0,0); }
    5% { opacity:0; -moz-transform:translate3d(0,-100%,0); }
	100% { opacity:1; -moz-transform:translate3d(0,-100%,0); }
}
@-ms-keyframes overlay-anim {
	0% { opacity:0; -ms-transform:translate3d(0,0,0); }
    5% { opacity:0; -ms-transform:translate3d(0,-100%,0); }
	100% { opacity:1; -ms-transform:translate3d(0,-100%,0); }
}
@-o-keyframes overlay-anim {
	0% { opacity:0; -o-transform:translate3d(0,0,0); }
    5% { opacity:0; -o-transform:translate3d(0,-100%,0); }
	100% { opacity:1; -o-transform:translate3d(0,-100%,0); }
}
@keyframes overlay-anim {
	0% { opacity:0; transform:translate3d(0,0,0); }
    5% { opacity:0; transform:translate3d(0,-100%,0); }
	100% { opacity:1; transform:translate3d(0,-100%,0); }
}

.overlay-content { width:90rem; max-width:100%; opacity:0; margin:0 auto; /*position:absolute; top:50%; left:50%; transform: translate3d(-50%,-50%,0) scale3d(.9,.9,.9);*/ transform: scale3d(.9,.9,.9); background:#fff; border-radius:1.6rem; transition: transform 0.3s ease-out 0.3s, opacity 0.3s ease-out 0.3s, box-shadow 0.3s ease-out 0.3s; }
/*.overlay-content.with-header { padding-top:5rem; }
.overlay-content.with-footer { padding-bottom:5rem; }*/

.view-overlay-apply .overlay-apply .overlay-content { opacity:1; box-shadow:0 0 1rem rgba(0,0,0,0.2); /*transform: translate3d(-50%,-50%,0) scale3d(1,1,1);*/ transform: scale3d(1,1,1); }

.overlay-form { padding:3.4rem 4rem; }

.overlay-title { margin-bottom:3rem; font-size:4rem; line-height:4.8rem; }
.overlay-subtitle { padding-top:1.4rem; margin-bottom:2rem; font-size:2.4rem; line-height:3.2rem; font-weight:700; }

.upload-box { padding-top:3.2rem; overflow:hidden; }

.upload-box span { float:left; margin-right:2.4rem; font-size:16px; line-height:4.8rem; color:#999; }

.upload-button { width:20rem; height:4.8rem; display:inline-block; position:relative; cursor:pointer; }
.upload-button input { width:100%; height:100%; position:absolute; top:0; left:0; opacity:0; cursor:pointer; }
.upload-button .btn { width:auto; height:100%; position:relative; display:inline-block; padding:0 5.2rem 0 2.4rem; color:#E46314; background:#fae0d0; border-radius:2.5rem; font-size:1.8rem; font-weight:400; line-height:4.8rem; text-align:center; font-family: 'Nunito Sans', 'Maison Neue', Arial, sans-serif; cursor:pointer; user-select:none; border:none; transition: color 0.3s ease-in-out, background 0.3s ease-in-out; }
.upload-button:hover .btn,
.upload-button:active .btn { background:#E46314; color:#fff; }
.upload-button .btn:before { width:2.4rem; height:2.4rem; display:block; position:absolute; top:50%; right:1.8rem; transform: translate(0,-50%); content:'\e930'; font-family:icons; font-size:2.2rem; line-height:2.4rem; text-align:center; cursor:pointer; }

.overlay-content .form .button { margin-top:2rem; margin-bottom:.6rem; }
#applyToJobForm .button.with-icon { margin-bottom:4rem!important; }

.overlay-message { display:none; padding:4rem; }

.view-overlay-message .overlay-form { display:none; }
.view-overlay-message .overlay-message { display:block; }

/* =============================================================== */
/* =============================================================== */

.contact-office { margin-bottom:8rem; padding:2rem 0 8rem; border-bottom:1px solid #ddd; }
.contact-office h4 { font-size:3.2rem; line-height:3.6rem; font-weight:700; margin-bottom:3rem; }

.contact-office-grid { width:100%; display: grid; grid-template-columns: repeat(2,1fr); grid-gap:2.4rem; }
.contact-office-grid p { margin-bottom:2rem; }
.contact-office-grid .highlight-text { color:#5D5FEF; font-size:4rem; line-height:4.6rem; font-weight:800; font-family: 'Nunito Sans', 'Maison Neue', Arial, sans-serif; }
.contact-office-grid .highlight-text span { display:block; }

.contact-form { padding-right:33.33%; }

.contact-form .form { margin-bottom:4rem; }

.contact-form .info { font-size:1.4rem; line-height:2rem; color:#999; }
.contact-form .info span { color:#E46314; cursor:pointer; }
.contact-form .info span:hover { text-decoration:underline; }

.contact-map { width:100%; height:60rem; position:relative; background: transparent url(../images/map.jpg) no-repeat 50% 50%; background-size:auto 120%; }
.map-tooltip { width:30rem; position:absolute; top:50%; left:50%; transform: translate(-50%,-50%); margin-top:-8rem; padding:2rem; background:#fff; border-radius:.8rem; box-shadow: 0 0 .6rem rgba(0,0,0,.2); }
.map-tooltip:before { width:0; height:0; position:absolute; top:99%; left:50%; transform: translate(-50%,0); content:''; border-left: 1.6rem solid transparent; border-right: 1.6rem solid transparent; border-top: 1.6rem solid #fff; }
.map-tooltip h3 { font-size:1.8rem; line-height:2rem; margin-bottom:.8rem; }
.map-tooltip p { margin-bottom:.4rem; }
.map-tooltip p span { display:block; }
.map-tooltip a { font-size: 1.8rem; line-height: 2rem; color:#5D5FEF; }

/* =============================================================== */
/* =============================================================== */

.g-recaptcha { margin-bottom:2rem; }

div.control-multi-file-uploader .content { padding:0!important; }
div.control-multi-file-uploader .clickable p.placeholder { margin-bottom: 0; }

.page-technologies 

/* =============================================================== */
/* =============================================================== */

body,
.overlay,
.scrollbar { width:100%; height:100%; overflow-x:hidden; overflow-y:auto; }

body::-webkit-scrollbar-track,
.menu::-webkit-scrollbar-track,
.scrollbar::-webkit-scrollbar-track,
.overlay::-webkit-scrollbar-track { background-color: transparent; }
body::-webkit-scrollbar,
.menu::-webkit-scrollbar,
.scrollbar::-webkit-scrollbar,
.overlay::-webkit-scrollbar { width: .4rem; background-color: rgba(128,128,128,.1); }
body::-webkit-scrollbar-thumb,
.menu::-webkit-scrollbar-thumb,
.scrollbar::-webkit-scrollbar-thumb,
.overlay::-webkit-scrollbar-thumb { background-color: rgba(0,0,0,0.3); -moz-transition: background 0.3s ease-out; -o-transition: background 0.3s ease-out; -webkit-transition: background 0.3s ease-out; transition: background 0.3s ease-out; }
body::-webkit-scrollbar-thumb:hover,
.menu::-webkit-scrollbar-thumb:hover,
.scrollbar::-webkit-scrollbar-thumb:hover
.overlay::-webkit-scrollbar-thumb:hover{ background-color: rgba(0,0,0,.5); }

/* ============================================================= */



@media screen and (orientation:landscape) {
    .portrait { display:none!important; }
    .landscape { display:block!important; }

    .technologies-section-swiper .swiper-wrapper { transform: translate3d(0,0,0)!important; }    
}

@media screen and (orientation:landscape) and (max-width: 3840px) { 
    html,body { font-size:11px; }
}


@media screen and (orientation:landscape) and (max-width: 1920px) { 
    html,body { font-size:11px; }
    
}

@media screen and (orientation:landscape) and (max-width: 1680px) { 
    html,body { font-size:10px; }
}

@media screen and (orientation:landscape) and (max-width: 1440px) { 
    html,body { font-size:9px; }
}

@media screen and (orientation:landscape) and (max-width: 1280px) { 
    html,body { font-size:8px; }
}

@media screen and (orientation:landscape) and (max-width: 1100px) { 
    html,body { font-size:7px; }

    .menu nav ul > li  { margin: 0 2.2rem; }
}


@media screen and (orientation:portrait) {
        
    .portrait { display:block!important; }
    .landscape { display:none!important; }

    .wrapper { padding-top: 8rem; }
    .header { height:8rem; grid-template-columns: 22rem auto; }

    .wrapper-section-content { width: 84%; }

    /**/
    .menu-btn { display:block; }
    .menu { width:100%; height:0; display:block; position:fixed; left:0; top:8rem; z-index:-1; background:#fff; border-top:1px solid #F8F8F8; grid-template-columns: 1fr; grid-template-rows: repeat(2,auto); padding:0 8%; transition: height .3s ease-in-out; overflow-x:hidden; overflow-y:auto; }
    .view-menu .menu { width: 100%; height: calc(100% - 8rem); transition: height .3s ease-in-out; }
    .menu .button,
    .menu nav { justify-self: start; margin-bottom:3rem; }
    .menu nav ul > li { width:100%; display:block; margin:0; border-bottom: 1px solid #F8F8F8; }
    .menu nav a { width:100%; display:block; position:relative; padding:2rem 0; font-size: 1.8rem; line-height: 2.6rem; }

    .menu nav .with-subcategory-list > a { padding-right:5rem; }
    .menu nav .with-subcategory-list > a:before { width:4.8rem; height:4.8rem; display:block; position:absolute; top:50%; right:0; transform: translate(0,-50%); content:"\e903"; font-family: 'icons'; color:#1a1a1a; font-size:1.8rem; line-height:4.8rem; text-align:center; transition: color .3s ease-in-out; }
    .menu nav .with-subcategory-list > a.active:before { content:"\e908"; color:#E46314; transform: translate(0,-50%); }

    .view-subcateg-menu .menu .subcateg-list { display:block; height:auto; border-bottom:1px solid #F0F0F0; }

    .menu .subcateg-list a { padding: 1.6rem 0 1.6rem 6rem; }
    .menu .subcateg-list a.categ-page { padding-left:2.4rem; border-bottom: 1px solid #F0F0F0; overflow:hidden; }
    .menu .subcateg-list a.categ-page span { display:inline-block; float:left; }
    .menu .subcateg-list a.categ-page i { width:2.6rem; height:2.6rem; margin-left:.5rem; display:inline-block; float: left; position:static; font-family: 'icons'; font-size:2.2rem; line-height:2.6rem; text-align:center; }
    .menu .subcateg-list a:before { display:none; }
    .menu .subcateg-list .subcateg-icon { width:3.2rem; height:3.2rem; display:block; position:absolute; top:50%; left:1.6rem; transform: translate(0,-50%); font-family: 'icons'; color:#1a1a1a; font-size:3.2rem; line-height:3.2rem; text-align:center; transition: color .3s ease-in-out; }
    .menu .subcateg-list .subcateg-icon i { width: 100%; height: 100%; position: absolute; top: 0; left: 0; line-height: 2.8rem; color: #4E4E4E; }
    .menu .subcateg-list .subcateg-icon i:nth-child(2) { color:#5D5FEF; }

    .menu .subcateg-list a.subcateg { border-radius:.6rem; }
    .menu .subcateg-list a.subcateg:active { background: #F2F2FD; color: #5D5FEF; }

    .submenu { display:none; }

    /**/

    .top-slide-section { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
    .top-slide-section-image { height:36rem; grid-column: 1 / 2; grid-row: 1 / 2; }
    .top-slide-section .wrapper-section-content { grid-column: 1 / 2; grid-row: 2 / 3; padding:6rem 8% 8rem; }
    .top-slide-section-title { margin-bottom: 2rem; font-size: 4.8rem; line-height: 5.6rem; }
    .top-slide-section-description { margin-bottom: 3rem; font-size: 2.2rem; line-height: 3rem; }

    .achievements-section .wrapper-section-content.grid-2-cols,
    .achievements-section .wrapper-section-content.grid-3-cols { grid-template-columns: 1fr; }
    .achievements-section .section-content-title { margin-bottom: 4rem; }
    .achievements-section .wrapper-section-content.grid { grid-gap: 4rem; }
    .achievements-section h3 { margin-bottom: 1.5rem; font-size: 3.6rem; line-height: 4.4rem; }
    .achievements-section p { line-height: 2.8rem; }

    .industries-section .wrapper-section-content.grid-2-cols,
    .industries-section .wrapper-section-content.grid-3-cols { grid-template-columns: repeat(2, 1fr); }

    .insights-section { padding: 2rem 0 6rem; }
    .insights-section-swiper { /*padding-bottom:8rem;*/ }
    .insights-section-swiper h3,
    .insights-section-decription { font-size: 2.6rem; line-height: 3.4rem; }
    .insights-section-decription { width:100%; margin-bottom: 4rem; }
    .insights-section-swiper .swiper-slide:nth-child(1) h3 { padding-right: 5%; }
    .swiper-buttons { width:100%; display:none; /*left:50%; right:auto; transform: translate(-50%,0);*/ }

    .technologies-section { padding: 2rem 0 6rem; }
    .technologies-section-swiper { overflow:visible; }
    .technologies-section-swiper .swiper-wrapper { width:100%; padding-left:0; display:flex; }
    .technologies-section-swiper .swiper-slide { width:100%; position:relative; }
    
    .tss-img { 
        width: 100%; 
        height: 22rem; 
        position:static; 
        border-radius: 1.6rem 1.6rem 0 0; 
        opacity: 1; 
        visibility: visible; 
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
    }
    .tss-details { border-radius: 0 0 1.6rem 1.6rem; background: #F8F8F8; border-color: #F8F8F8;}
    .tss-details:before { display:none; }
    .tss-details h3,
    .swiper-slide.active .tss-details h3,
    .team-section-swiper h3 { font-size: 2.1rem; line-height: 2.8rem; text-decoration:none; }
    .tss-details p,
    .swiper-slide.active .tss-details p { display:block; padding-top:1.5rem; }

    /**/

    .team-section { padding: 12rem 0; }
    .team-section .box { width: 100%; }

    .clients-section { padding: 6rem 0 8rem; }
    .clients-list { grid-template-columns: repeat(4, 1fr); }
    .clients-list li { padding: 4rem 3rem; }

    /*.hp .clients-list li:nth-child(1) { border-radius: 1.6rem 0 0 0; }
    .hp .clients-list li:nth-child(4) { border-radius: 0 1.6rem 0 0; }
    .hp .clients-list li:nth-child(8),
    .hp .clients-list li:nth-child(11) { border-radius: 0 0 1.6rem 0; }
    .hp .clients-list li:nth-child(9) { border-radius: 0 0 0 1.6rem; }
    .hp .clients-list li:nth-child(6),
    .hp .clients-list li:nth-child(7) { border-radius:0; }*/

    .clients-list li:nth-child(5),
    .clients-list li:nth-child(6) { border-top:none; }
    .clients-list li:nth-child(6n+1) { border-left:none; }
    .clients-list li:nth-child(4n+1) { border-left:1px solid #F2F2FD; }

    .contact-section .form { width: 100%; }

    /*.button { height: 5.6rem; line-height: 5.6rem; border-radius: 5.6rem; }
    .button.with-icon i { margin-top:1.2rem; }*/

    .footer .copy,
    .footer nav a { font-size: 1.6rem; }
    .footer nav a { margin-left: 3rem; }

    /**/

    .featured-post { align-items: start; }
    .featured-post div { padding-left: 0; }

    .insights-section-list { grid-template-columns: repeat(2, 1fr); }
    .insights-section-list h3, 
    .featured-post h3,
    .careers-section-list h3 { font-size:2.8rem; line-height:3.6rem; }

    .pagination a { margin: 0 .6rem; }

    /**/

    .post .wrapper-section-content { max-width: 74%; }
    .post .article-top-image { margin-bottom: 5rem; }
    .media-box { width: 112%; margin-left: -6%; }
    .post.wrapper-section { padding-bottom:2rem; }

    /**/
    .page-title { font-size: 3.6rem; line-height:4.4rem; }
    /**/

    .page-description .subcateg-icon { width:11rem; height:11rem; right:5%; }
    .page-description .subcateg-icon i { font-size: 10.8rem; line-height: 11rem; }
    .page-posts-list div { padding: 0; }
    .page-description p { font-size: 2.1rem; line-height: 2.8rem; }

    /*.page-posts-list li { grid-template-columns: 40% 1fr; }
    .page-posts-list li:nth-child(2n) { grid-template-columns: 1fr 40%; }*/
    .page-posts-list h3 { font-size: 2.8rem; line-height: 3.6rem; }

    .industries-section ul.grid.no-icons li { padding: 2.2rem 2.4rem 7rem 2.4rem; }

    .related-projects li { padding: 2rem 3rem 3rem; }
    .testimonials-list li { padding:3rem; }

    .wrapper-section-content.grid-2-cols { grid-gap: 2rem 2.4rem; }

    .about .clients-section { padding: 2rem 0 6rem; }

    .fsd-team-section { padding: 0 0 8rem; }
    .team-section-swiper { padding-bottom: 0; }

    /**/

    .careers-section-list { padding-right:0; }

    .job-page-section .wrapper-section-content { grid-template-columns: 1fr; }
    .about-job.portrait { margin-bottom:4rem; }
    .about-job.portrait h3 { font-size: 2.4rem; line-height: 3.2rem; margin-bottom: 2rem; }

    /**/

    .overlay-content { width:90%; }

    /**/

    .contact-office-grid { display:block; }
    .contact-office-grid div:first-child { margin-bottom:4rem; }
    .contact-form { padding-right: 0; }

}

@media screen and (orientation:portrait) and (max-width: 560px) {

    .wrapper { padding-top: 6.4rem; }
    .header { height:6.4rem; padding-left:3%; }

    .wrapper-section { padding-top:4rem; padding-bottom:4rem; }
    .wrapper-section-content { width: 86%; }

    .section-content-title { margin-bottom:3.2rem; font-size: 2.1rem; line-height: 2.8rem; }

    .logo img { height: 3.4rem; }
    .logo strong { font-size: 1.66rem; }

    /**/
    .menu { top:6.4rem; }
    .view-menu .menu { height: calc(100% - 6.4rem); }
    .menu nav a { font-size: 1.8rem; line-height: 2.6rem; }

    /**/

    .top-slide-section { padding:0; }
    .top-slide-section-image { height: 26rem; }
    .top-slide-section .wrapper-section-content { padding-top:3rem; padding-bottom:5rem; }
    .top-slide-section-title { margin-bottom: 1.5rem; font-size: 3.12rem; line-height: 4.2rem; }
    .top-slide-section-description { margin-bottom: 2rem; font-size: 1.8rem; line-height: 2.6rem; }
    .top-slide-section-title span { display:inline-block; } 
    .top-slide-section-description span { display:inline; }

    .achievements-section { padding-top:5rem; padding-bottom:6rem; }
    .achievements-section .wrapper-section-content.grid { grid-gap: 4rem; }
    .achievements-section .section-content-title { margin-bottom: 3rem; }
    .achievements-section h3 { margin-bottom: 1.2rem; font-size: 2.8rem; line-height: 3.6rem; }
    .achievements-section p { font-size: 1.6rem; line-height: 2.4rem; }

    /*.industries-section .wrapper-section-content.grid-3-cols { grid-template-columns: 1fr; }*/
    .industries-section .wrapper-section-content.grid-3-cols p { display:none; }
    .industries-section ul.grid { grid-gap: 1rem; }

    /*.industries-section .wrapper-section-content:nth-child(1) .btn-link { display:none; }*/
    .industries-section ul.grid li { padding: 4.6rem 2.4rem 2.8rem 2.4rem; }
    .industries-section ul.grid h3 { font-size: 2.1rem; line-height: 2.6rem; margin-bottom:0; }
    .industries-section .sc-icon { display: block; }
    .industries-section ul.grid i.icon-arrow-right { top:3.4rem; bottom:auto;}

    .technologies-section { padding: 3rem 0 2rem; }
    .technologies-section-swiper { padding-right:10%; }

    .fsd-team-section { padding: 3rem 0; }
    .team-section-swiper { padding-right:10%; }

    .insights-section-swiper { padding-right:10%; }
    .insights-section-swiper h3,
    .insights-section-decription { font-size: 2.4rem; line-height: 3.2rem; }
    .insights-section-decription { width:100%; margin-bottom: 3rem; }
    .insights-section-swiper .swiper-slide:nth-child(1) h3 { padding-right: 8%; }

    .technologies-section-swiper .swiper-slide-next,
    .technologies-section-swiper .swiper-slide-prev,
    .insights-section-swiper .swiper-slide-next,
    .insights-section-swiper .swiper-slide-prev,
    .team-section-swiper .swiper-slide-next,
    .team-section-swiper .swiper-slide-prev { 
        /*opacity: .2; */
        opacity: 1;
    }

    .box { padding: 3rem 2.4rem; }

    .team-section { padding: 4rem 0; }
    .team-section .section-content-title { margin-bottom: 1.6rem; }
    .team-section p { margin-bottom: 2rem; }

    .clients-section { padding: 4rem 0 6rem; }

    .clients-list { grid-template-columns: repeat(3, 1fr); }
    .clients-list li,
    .clients-list li:nth-child(3),
    .clients-list li:nth-child(6),
    .clients-list li:nth-child(9) { padding: 3rem 1.8rem; }

    /*.hp .clients-list li:nth-child(1) { border-radius: 1.6rem 0 0 0; }
    .hp .clients-list li:nth-child(3) { border-radius: 0 1.6rem 0 0; }
    .hp .clients-list li:nth-child(9),
    .hp .clients-list li:nth-child(11) { border-radius: 0 0 1.6rem 0; }
    .hp .clients-list li:nth-child(10) { border-radius: 0 0 0 1.6rem; }
    .hp .clients-list li:nth-child(4),
    .hp .clients-list li:nth-child(6),
    .hp .clients-list li:nth-child(8) { border-radius:0; }*/

    .clients-list li:nth-child(4),
    .clients-list li:nth-child(5),
    .clients-list li:nth-child(6) { border-top:none; }
    .clients-list li:nth-child(4n+1),
    .clients-list li:nth-child(6n+1) { border-left:none; }
    .clients-list li:nth-child(3n+1) { border-left:1px solid #F2F2FD; }

    .form .form-row.grid-2-cols { grid-template-columns: 1fr; grid-gap: 0; }
    .form label { margin: 0 0 1.2rem; }

    .footer { padding: 4rem 8%; grid-gap: 3rem; grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
    .footer .copy,
    .footer nav { justify-self: left; }
    .footer nav {  grid-column: 1 / 2; grid-row: 1 / 2; }
    .footer .copy { grid-column: 1 / 2; grid-row: 2 / 3; font-weight:normal; opacity:.6; }
    .footer nav a { display:block; margin:0 auto .6rem; font-weight:normal; }

    /**/

    .page-title { font-size: 2.8rem; line-height:3.6rem; margin-bottom:4rem; }

    .featured-post,    
    .insights-section-list { grid-template-columns: 1fr; }
    .featured-post { margin-bottom: 4rem; }
    .insights-section-list h3, 
    .featured-post h3,
    .careers-section-list h3 { font-size: 2.4rem; line-height: 3.2rem; }

    .insights .pagination { margin-bottom:2rem; } 

    .pagination a { margin: 0 .4rem; }
    .pagination a:first-child { margin-left:0; }
    .pagination a:last-child { margin-right:0; }

    /**/
    .post .wrapper-section-content { width: 86%; max-width: 86%; }
    .article-title { font-size: 3.2rem; line-height: 4.2rem; margin-bottom: 3rem; }
    .post .article-top-image { width: 100%; height: 26rem; margin-bottom: 4rem; }
    .post h3, 
    .post h4 { font-size: 2.4rem; line-height: 3rem; }
    .media-box { padding:3rem 0; margin-bottom:0; }
    .media-box small { padding-top:2.6rem; }
    .article-details { margin-bottom:0; /*grid-template-columns:1fr;*/ grid-gap: 1.6rem; }
    .article-details.top { margin-bottom:4rem; }
    .share-media { justify-self:start; }
    
    .related-section .related-section-title { font-size: 2.6rem; line-height: 3.4rem; margin-bottom: 3rem; }
    .related-section-swiper { padding-right: 10%; }
    .related-section-swiper .swiper-slide-next, .related-section-swiper .swiper-slide-prev { opacity:.2; }

    /**/

    .page-description { padding-right: 0; }
    .page-description .subcateg-icon { display:none; }
    .page-description p { font-size: 1.8rem; line-height: 2.6rem; }

    .categ-page-section { padding: 1rem 0 2rem; }
    .page-posts-list li,
    .page-posts-list li:nth-child(2n) { grid-template-columns: 1fr; grid-gap: 2rem; margin-bottom: 6rem; }
    .page-posts-list li:nth-child(2n) img { grid-column: 1 / 2; }
    .page-posts-list li:nth-child(2n) div { grid-column: 1 / 2; grid-row: 2 / 3; }
    .page-posts-list h3 { font-size: 2.4rem; line-height:3.2rem; }

    .subcateg-page .industries-section ul.grid.grid-2-cols,
    .wrapper-section-content.grid-2-cols { grid-template-columns: 1fr; }
    .wrapper-section-content.grid-2-cols { grid-gap:2rem; }
    .industries-section ul.grid.no-icons i.icon-arrow-right { top:auto; bottom: 2.4rem; }
    .industries-section ul.grid.no-icons h3 { margin-bottom:1rem; }

    .related-projects-section { padding: 2rem 0 4rem; }
    .related-projects h3 { font-size: 2.6rem; line-height: 3.4rem; margin-bottom:1rem; }

    .wrapper-section-content.grid-2-cols.no-icons { grid-gap:1.6rem; grid-template-columns: 1fr!important; }

    .section-content-description { padding-right:0; }

    .subcateg-page .testimonials-section { padding: 2rem 0 4rem; }
    .about .clients-section { padding: 4rem 0 6rem; }

    .wrapper-section.related-section { padding: 2rem 0 8rem; }

    /**/

    .team-section-swiper p { font-size:1.4rem; line-height:2rem; }

    .careers-page-section { padding-bottom:6rem; }
    .careers-section-list { margin-bottom:4rem; }
    .careers-section-list li { margin-bottom: 2.4rem; padding-right: 20%; padding-left:2.4rem; }
    .careers-page-section .pagination { text-align: center; }

    .job-content .job-title { font-size: 3.6rem; line-height: 4.4rem; }
    .job-content h3, .job-content h4 { font-size: 2.4rem; line-height: 3.2rem; }
    .about-job h3 { font-size: 2.1rem; line-height: 2.8rem; }
    .about-job p,
    .back-link a { font-size: 1.6rem; line-height: 2.4rem; }

    /**/

    .overlay { padding:0; }
    .overlay-content { width:100%; border-radius:0; }
    .overlay-title { font-size: 3.6rem; line-height: 4.4rem; }
    .overlay-subtitle { font-size: 2.1rem; line-height: 2.6rem; font-weight: bold; }
    .overlay-content .form .button { width:100%; }

    .upload-box { padding-top:0; }
    .upload-box span { width:100%; display:block; float:none; text-align:center; margin-right:0; padding-top:2rem; margin-bottom: 2rem; line-height:2rem; }
    .upload-button { width:100%; margin-bottom:2rem; }
    .upload-button .btn { width:100%; }
    .view-overlay-message .overlay-content,
    .overlay-message { height:100%; }

    /**/

    .contact-office { margin-bottom: 4rem; padding: 0 0 5rem; }
    .contact-office h4 { font-size: 2.4rem; line-height: 3.2rem; }
    .contact-office-grid .highlight-text { font-size: 2.8rem; line-height: 3.6rem; }
    .contact-office-grid p { margin-bottom: 1.6rem; }
    .contact-map { height:50rem; }

    /**/

    .page-job .job-actions { grid-template-columns:1fr; grid-gap:3rem; }
    .page-job .job-actions .button { max-width: 15rem; }
    .job-actions.top .article-details { padding:0; }
    .page-job div.control-multi-file-uploader { margin-top:0; }
}

@media screen and (orientation:portrait) and (max-width: 380px) {
    html,body { font-size:9px; }

}
@media screen and (orientation:portrait) and (max-width: 360px) {
    .g-recaptcha,
    .g-recaptcha > div,
    .g-recaptcha iframe { width:100%!important; }
}

@media screen and (orientation:portrait) and (max-width: 320px) {
    html,body { font-size:8px; }
    .top-slide-section-image { height: 22rem; }
} 
