/*-- Hemoglobin Communication Lab - www.hemoglobinlab.com --*/
html {
    font-family: 'PT Sans', sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    box-sizing: border-box;
    position: unset !important;
}

*, *:before, *:after {
    box-sizing: inherit;
}

body {
    margin: 0;
    padding-top: 0 !important;
    color: #666;
    font: 18px/28px 'PT Sans', sans-serif;
    background: #fff;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: none;
    min-width: 320px;
}

article, aside, details, figcaption, figure, footer,
header, main, menu, nav, section, summary { display: block; }

a { text-decoration: none; color: #666; outline: none; }
a:hover { color: #569f2c; text-decoration: underline; }
a:focus { outline: none; }

b, strong { font-weight: bold; }

h1, h2, h3, h4, h5, h6 { clear: both; margin-top: 0; }

p { margin-bottom: 1.5em; margin-top: 0; }

img { border: 0; height: auto; max-width: 100%; }

ul, ol { margin: 0 0 1.5em 0; }
ul { list-style: disc; }
ol { list-style: decimal; }

table { border-collapse: collapse; border-spacing: 0; margin: 0 0 1.5em; width: 100%; }
td, th { padding: 0; }

button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

button { overflow: visible; cursor: pointer; }
button, select { text-transform: none; }
button[disabled], html input[disabled] { cursor: default; }
input { line-height: normal; }
textarea { overflow: auto; width: 100%; height: 105px; resize: none; }

input[type="text"], input[type="email"], input[type="url"],
input[type="password"], input[type="search"], textarea {
    font-size: 18px;
    line-height: 28px;
    background: #f5f5f5;
    border: 0;
    border-radius: 0;
    color: #999;
    width: 100%;
    padding: 10px 15px;
}

.site { background: #fff; }

.container {
    max-width: 1170px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
}
.container:after { content: ''; display: block; clear: both; }

.row { margin-left: -15px; margin-right: -15px; }
.row:after { content: ''; display: block; clear: both; }

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px; width: 1px; overflow: hidden;
}

.site-header {
    background: rgba(0, 0, 0, 0.8);   
    color: #fff;
    padding: 24px 0 24px 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 3;
}

.site-title, .site-description {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
}

.site-header .site-branding { float: left; margin: 6px 0 0; }
.site-header .site-branding .custom-logo-link { float: left; margin-right: 10px; }
.site-header .site-branding .text-logo { float: left; }

.site-header .tel-link {
    float: right;
    font-size: 20px;
    font-weight: 400;
    background: #71bf44;
    color: #fff;
    border: 0;
    padding: 7px 27px 11px 23px;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    transition: all 0.2s;
    border-radius: 25px;
}
.site-header .tel-link:hover {
    background: #569f2c;
    color: #fff;
    text-decoration: none;
}
.site-header .tel-link .fa-phone {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    display: inline-block;
    margin-right: 6px;
}

.main-navigation { float: right; margin: 7px 0 0 0; }
.main-navigation ul { list-style: none; margin: 0; padding: 0; }
.main-navigation li { float: left; position: relative; }

.mobile-header {
    display: none;
    background: rgba(39, 39, 39, 0.5);
    padding: 20px 0;
}

.mobile-header .container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.mobile-header .container:after { display: none; }

.mobile-header .site-branding {
    flex: 1;
    display: flex;
    align-items: center;
}
.mobile-header .custom-logo { margin-right: 20px; }
.mobile-header .custom-logo img { vertical-align: top; }

.mobile-header .site-title,
.mobile-header .site-description { position: static; clip: auto; height: auto; width: auto; }
.mobile-header .site-title { font-size: 1.2em; margin: 0; color: #fff; }
.mobile-header .site-title a { color: #fff; }
.mobile-header .site-description { color: #fff; margin: 0; font-size: 0.85em; }

.mobile-nav-list { list-style: none; margin: 0; padding: 0; }
.mobile-nav-list .tel-link {
    font-size: 16px;
    font-weight: 400;
    background: #71bf44;
    color: #fff;
    padding: 6px 18px 8px;
    border-radius: 25px;
    white-space: nowrap;
    display: inline-block;
}
.mobile-nav-list .tel-link:hover { background: #569f2c; text-decoration: none; }

.banner {
    position: relative;
    overflow: hidden;
    padding: 0;   
}

.sumant-swiper {
    width: 100%;
    margin: 0;
    padding: 0;
}

.swiper-slide { overflow: hidden; }

.slide-inner {
    width: 100%;
    height: 750px;
    background-size: cover;
    background-position: 86% 31%;
    background-repeat: no-repeat;
    display: flex;
    align-items: flex-end;
}

.slide-content-wrap {
    width: 100%;
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 30px 60px;
    box-sizing: border-box;
}

.slide-text-box {
    background-color: rgba(0, 0, 0, 0.5);
    max-width: 540px;
    padding: 10px;
    display: inline-block;
}

.slide-text-box--dark { background-color: rgba(0, 0, 0, 0.8); }

.slide-title {
    font: bold 40px/48px 'PT Sans', sans-serif;
    color: #fff;
    padding: 10px;
}

.slide-desc {
    font: 18px/20px 'PT Sans', sans-serif;
    color: #fff;
    padding: 0 10px 10px;
    margin: 0;
}

.sumant-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 18;
    cursor: pointer;
    width: 32px;
    height: 32px;
    background: none;
    border: none;
    padding: 0;
}
.sumant-arrow::after { display: none; }
.sumant-arrow img { display: block; width: 32px; height: 32px; }
.sumant-arrow .arrow-hover { display: none; }
.sumant-arrow:hover .arrow-normal,
.sumant-arrow:focus .arrow-normal { display: none; }
.sumant-arrow:hover .arrow-hover,
.sumant-arrow:focus .arrow-hover  { display: block; }
#arrow-prev { left: 15px; }
#arrow-next { right: 15px; }

.about {
    background: #f5f5f5;
    text-align: center;
    padding: 69px 0 67px;
}

.about .header {
    max-width: 950px;
    margin: 0 auto 44px;
    font-size: 20px;
    line-height: 28px;
}

.about .header .main-title {
    font-size: 40px;
    line-height: 48px;
    color: #121212;
    font-weight: 800;
    position: relative;
    padding: 0 0 19px;
    margin: 0 0 25px;
}

.main-title:after { width: 0 !important; height: 0 !important; }

.about .col {
    float: left;
    width: 33.3333%;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
}

.about .col .img-holder img { width: 100%; vertical-align: top; }

.about .col .text-holder {
    background: #fff;
    line-height: 26px;
    box-shadow: 0 2px 1px rgba(0,0,0,.05);
    padding: 25px 25px 20px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.about .col .text-holder .title {
    font-size: 20px;
    font-weight: 700;
    color: #121212;
    margin: 0 0 14px;
}

.about .container .row {
    display: flex;
    flex-wrap: wrap;
}

.promotional-block {
    background-size: cover;
    background-position: center;
    position: relative;
    color: #fff;
    padding: 120px 0;
    background-attachment: fixed;
}

.promotional-block:before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.35);
}

.promotional-block .holder {
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 2;
    font-size: 32px;
    line-height: 46px;
}

.promotional-block .holder .main-title {
    font-size: 32px;
    line-height: 46px;
    color: #fff;
    font-weight: 400;
}

#box-ig a { color: #fff; text-decoration: none; }
#box-ig a:hover { color: #fff; text-decoration: none; }

.our-services {
    background-size: cover;
    background-position: center;
    position: relative;
    padding: 69px 0 67px;
    text-align: center;
    background-attachment: fixed;
}

.our-services:before {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    content: '';
    background: rgba(0, 0, 0, 0.65);
}

.our-services .container { position: relative; z-index: 2; }

.our-services .header {
    max-width: 950px;
    margin: 0 auto 44px;
    font-size: 20px;
    line-height: 28px;
    color: #fff;
}

.our-services .header .main-title {
    font-size: 40px;
    line-height: 48px;
    color: #fff;
    font-weight: 800;
    position: relative;
    padding: 0 0 19px;
    margin: 0 0 25px;
}

.our-services .col {
    float: left;
    width: 25%;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 30px;
    display: flex;
}

.our-services .col .holder {
    background: #fff;
    padding: 45px 25px 15px;
    line-height: 22px;
    border-radius: 25px; 
}

.our-services .col .holder .icon-holder { margin: 0 0 34px; }

.our-services .col .holder .title {
    font-size: 21px;
    line-height: 25px;
    color: #121212;
    margin: 0 0 6px;
    font-weight: 800;
}

.our-services .container .row {
    display: flex;
    flex-wrap: wrap;
}

.our-clients {
    padding: 64px 0;
    background: #f5f5f5;
    text-align: center;
}

.our-clients .col {
    float: left;
    width: 20%;
    padding-left: 15px;
    padding-right: 15px;
}

.our-clients .col img { filter: grayscale(100%); }
.our-clients .col img:hover { filter: grayscale(0); }

.site-footer {
    background: #272727;
    color: #848484;
    font-size: 16px;
    line-height: 26px;
}

.site-footer a { color: #848484; text-decoration: none; }
.site-footer a:hover { color: #fff; text-decoration: none; }

.site-footer .footer-t {
    padding: 65px 0 19px;
    border-bottom: 1px solid #323232;
}

.site-footer .column {
    float: left;
    width: 33.3333%;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 30px;
}

.site-footer .widget { margin: 0 0 24px; }
.site-footer .widget ul { margin: 0; padding: 0; list-style: none; }
.site-footer .widget ul li { margin: 0 0 0; overflow: hidden; }

.social-networks { list-style:none; margin:0; padding:0; font-size:15px; }
.social-networks li { display:block; margin:0 0 13px; }
.social-networks li:before { display:none; }
.social-networks a { display:flex; align-items:center; gap:8px; color:#848484; text-decoration:none; }
.social-networks a:hover { color:#fff; text-decoration:none; }
.social-networks svg { width:16px; height:16px; flex-shrink:0; }

.whatsapp {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 40px;
    right: 40px;
    background-color: #25d366;
    color: #fff;
    border-radius: 50%;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 3px 10px rgba(0,0,0,.25);
    transition: background-color .2s, transform .2s;
}
.whatsapp:hover {
    background-color: #1da851;
    transform: scale(1.08);
    text-decoration: none;
    color: #fff;
}

.overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,.75);
    opacity: 0;
    visibility: hidden;
    z-index: 2;
}

@media only screen and (max-width: 1199px) {
    .container { max-width: 970px; }
}

@media only screen and (max-width: 991px) {
    .container { max-width: 750px; }
    .site-header { display: none; }
    .mobile-header { display: block; }

    .about .col, .testimonial .col { width: 100%; }
    .our-services .col { width: 50%; }
    .slide-inner { height: 410px; }
    .slide-title { font-size: 28px; line-height: 34px; }
}

@media only screen and (max-width: 767px) {
    body { font-size: 16px; line-height: 22px; }
    .container { width: 100%; }

    .about .header .main-title,
    .our-services .header .main-title { font-size: 30px; line-height: 36px; }

    .about, .our-services, .our-clients { padding: 20px 0; }
    .promotional-block { padding: 40px 0; }
    .promotional-block .holder { font-size: 22px; line-height: 26px; }
    .promotional-block .holder .main-title { font-size: 22px; line-height: 26px; }

    .our-services .col, .our-clients .col { width: 100%; }
    .our-clients .col { margin: 0 0 20px; }
    .our-services .col { display: block; }

    .promotional-block2 { padding: 20px 0; }
    .promotional-block2 form { padding: 20px; }

    .site-footer .footer-t { padding: 20px 0; }
    .site-footer .column { width: 100%; margin-bottom: 30px; }

    .promotional-block,
    .our-services,
    .promotional-block2 { background-attachment: scroll; }

    .slide-inner { height: 56vw; min-height: 220px; }
    .slide-title { font-size: 20px; line-height: 26px; }
    .slide-desc { font-size: 14px; }
    .whatsapp { width: 48px; height: 48px; bottom: 20px; right: 16px; }
    #arrow-prev, #arrow-next { display: none; }
}
