/* ==========================================================================
   Base styles
   ========================================================================== */
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.wpb_text_column .wpb_wrapper a {
    font-weight: bold;
}

.left-col .footer-highlight-text a {
    text-decoration: underline;
}

html {
    overflow-x: hidden;
}

html,
body {
    margin: 0;
    padding: 0;
    font-family: "acumin-pro", sans-serif;
    font-weight: 500;
    color: #488A8C;
    font-size: 22px;
    line-height: 1.272;
}

.clear {
    clear: both;
    float: none;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border-style: none;
}

* {
    outline: none !important;
}

.container {
    max-width: 1142px;
    margin: 0 auto;
    padding: 0 27px;
}

a {
    color: inherit;
    transition: all .3s;
}

a:visited,
a:hover,
a:focus,
a:active {
    color: inherit;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    margin-top: 0;
    margin-bottom: 16px;
    font-family: 'circe-slab-c';
    font-weight: 700;
    line-height: 1.23;
}

h1,
.h1 {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.25;
}

h2,
.h2 {
    font-size: 26px;
}

ol,
ul {
    margin: 0 0 16px 0;
    padding: 0 0 0 24px;
}

ol li,
ul li {
    margin-bottom: 10px;
}

p {
    margin-top: 0;
    margin-bottom: 16px;
}

p:last-child {
    margin-bottom: 0;
}

b,
strong {
    font-weight: 700;
}

.font-circe-slab-c {
    font-family: 'circe-slab-c';
}

.font-thin {
    font-weight: 100;
}

.font-light {
    font-weight: 300;
}

.font-regular {
    font-weight: 400;
}

.font-medium {
    font-weight: 500;
}

.font-semibold {
    font-weight: 600;
}

.font-bold {
    font-weight: 700;
}

.font-extrabold {
    font-weight: 800;
}

.font-black {
    font-weight: 900;
}

.font-12-20 {
    font-size: 12px;
    line-height: 1.666;
}

.font-16-22 {
    font-size: 16px;
    line-height: 1.375;
}

.font-18-26 {
    font-size: 18px;
    line-height: 1.444;
}

.font-24-30 {
    font-size: 24px;
    line-height: 1.25;
}

.line-height-30 {
    line-height: 30px;
}

.color-white {
    color: #fff;
}

.color-yellow {
    color: #FDC300;
}

.width-500 {
    max-width: 500px;
}

.text-center {
    text-align: center;
}

.mt-95 {
    margin-top: 95px;
}

.pt-100 {
    padding-top: 100px;
}

.pt-180 {
    padding-top: 180px;
}

.pt-200 {
    padding-top: 200px;
}

.pb-50 {
    padding-bottom: 50px;
}

.row-53-47 > div:nth-child(1) {
    width: 53%;
}

.row-53-47 > div:nth-child(2) {
    width: 47%;
}

/* ==========================================================================
 Header
 ========================================================================== */
.site-header {
    background: #488a8c;
}

.site-header .inner-header {
    position: relative;
    padding: 55px 0 23px 0;
}

.site-header .container {
    max-width: 1694px;
}

.site-branding {
    position: absolute;
    top: 0;
    left: 143px;
    background: #fff;
    z-index: 1;
}

.site-branding a {
    display: block;
    padding: 40.45px 50.54px 31.45px 50.54px;
}

.main-navigation ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: right;
}

.main-navigation li {
    list-style: none;
    position: relative;
    margin-bottom: 0;
}

.main-navigation ul.sub-menu li.current-menu-item a,
.main-navigation ul#menu-main-menu > li.current-menu-parent > a,
.main-navigation ul#menu-main-menu li.current_page_item a
{
    text-decoration: underline;
}

.main-navigation li a {
    font-family: 'circe-slab-c';
    font-size: 20px;
    line-height: 1.25;
    color: #FDC300;
    padding: 0 22px 29px 22px;
    display: block;
    text-decoration: none;
}

.main-navigation li:last-child a {
    padding-right: 0;
}

.main-navigation .sub-menu {
    position: absolute;
    top: 100%;
    left: 40px;
    z-index: 9;
    background: #fff;
    width: 213px;
    padding: 14.5px 0 17.5px 0;
    display: none;
}

.main-navigation li:hover > .sub-menu {
    display: block;
}

.main-navigation .sub-menu:before {
    content: '';
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 10px solid #fff;
    position: absolute;
    top: -10px;
    left: 30px;
}

.main-navigation .sub-menu li a {
    color: #488A8C;
    padding: 9.5px 24px;
}

.toggle-menu {
    display: inline-block;
    text-align: center;
    padding: 5px;
    cursor: pointer;
}

.toggle-menu span:not(.close) {
    display: block;
    width: 33px;
    height: 4px;
    background: #FDC300;
    margin-bottom: 6px;
}

.toggle-menu span:last-child {
    margin-bottom: 0;
}

.toggle-menu .close {
    font-size: 30px;
    font-weight: 700;
    display: block;
    color: #FDC300;
    line-height: 1;
}

.toggle-menu.active span:not(.close),
.toggle-menu:not(.active) .close {
    display: none;
}
/* ==========================================================================
 Main content
 ========================================================================== */
.page-banner img {
    min-height: 270px;
    object-fit: cover;
}

div .vc_general.vc_btn3 {
    background-image: none;
    font-size: 18px;
    letter-spacing: 0.18px;
    font-weight: 700;
    font-family: 'circe-slab-c';
    line-height: 1.277;
    border: 2px solid #488A8C !important;
    position: relative;
    padding: 28px 57px 28px 57px;
}

.vc_general.vc_btn3 .line-box {
    display: block;
    position: absolute;
    left: -7px;
    top: 3px;
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    border: 2px solid rgba(72, 138, 140, .3);
    border-right: none;
    border-top: none;
    opacity: 0;
    transition: all .3s;
}

.vc_general.vc_btn3:hover .line-box {
    opacity: 1;
}

.vc_general.vc_btn3 .line-box:before {
    content: '';
    width: 5px;
    height: 2px;
    background: rgba(72, 138, 140, .3);
    position: absolute;
    top: 0;
    left: 0;
}

.vc_general.vc_btn3 .line-box:after {
    content: '';
    width: 2px;
    height: 5px;
    background: rgba(72, 138, 140, .3);
    position: absolute;
    bottom: 0;
    right: 0;
}

.bottom-services > div:nth-child(1) {
    width: calc(50% - 24px);
}

.bottom-services > div:nth-child(2) {
    width: calc(50% + 24px);
}

.blue-box-content > div > div {
    background: rgb(72, 138, 140, .2);
    padding: 30px 31px 10px 40px;
}

.blue-box-content ul {
    margin: 0;
    padding: 0;
}

.blue-box-content li {
    list-style: none;
    position: relative;
    padding: 0 0 0 38px;
    margin-bottom: 26px;
}

.blue-box-content li:before {
    content: '';
    width: 23px;
    height: 23px;
    border: 2px solid #FDC300;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 4px;
    display: block;
}

div.professional-experiences {
    margin-left: -8px;
    margin-right: -8px;
}

div.professional-experiences .vc_column_container>.vc_column-inner {
    padding-left: 8px;
    padding-right: 8px;
}

.professional-experiences .vc_custom_heading {
    font-family: 'circe-slab-c';
    font-weight: 500;
    background: #FDC300;
    font-size: 24px;
    line-height: 1.25;
    padding: 26.5px 0;
    text-align: center;
    position: relative;
    margin: 0 0 38px 5px;
}

.professional-experiences .vc_custom_heading:before {
    content: '';
    display: block;
    position: absolute;
    left: -5px;
    top: 5px;
    width: calc(100% + 0px);
    height: calc(100% + 0px);
    border: 2px solid rgba(253, 195, 0, .41);
}

.row-blue-box {
    display: flex;
    flex-wrap: wrap;
}

.row-blue-box .blue-box-content > div,
.row-blue-box .blue-box-content > div > div {
    height: 100%;
}

.row-blue-box .blue-box-content > div > div {
    padding-bottom: 0;
}

/* ==========================================================================
 Main Footer
 ========================================================================== */
.site-footer {
    background: #488A8C;
    padding: 55px 0 18px 0;
}

.site-footer a {
    text-decoration: none;
}

.site-footer .pb-row {
    display: flex;   
}

.footer-logo {
    padding: 19px 39px 0 0;
}

.footer-copyright {
    color: #B0CCCD;
    margin-top: 31px;
}

.footer-address {
    margin: 0 0 54px 0;
}

/* ==========================================================================
 Helper classes
 ========================================================================== */
.hidden {
    display: none !important;
}

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/* ==========================================================================
 Responsive
 ========================================================================== */
@media only screen and (min-width:768px) {
    .wrap-main-nav {
        display: block !important;
    }

    .toggle-menu {
        display: none;
    }
}

@media only screen and (max-width:1440px) {
    .site-branding {
        left: 0;
    }
}

@media only screen and (max-width:1280px) {
    .site-branding {
        max-width: 300px;
    }
    
    .site-branding a {
        padding: 30px 30px 30px 30px;
    }
}

@media only screen and (max-width:1199px) {
    .site-branding {
        max-width: 200px;
    }
    
    .site-branding a {
        padding: 15px;
    }
    
    .main-navigation li a {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media only screen and (max-width: 991px) {
    div .md-pt-35 {
        padding-top: 35px !important;
    }
    
    div .md-pt-40 {
        padding-top: 40px !important;
    }
    
    .md-pl-15 > div {
        padding-left: 15px !important;
    }
    
    .md-pl-30 > div {
        padding-left: 30px !important;
    }

    .md-pr-15 > div {
        padding-right: 15px !important;
    }
    
    .md-pr-30 > div {
        padding-right: 30px !important;
    }
    
    .site-header .inner-header {
        padding: 35px 0 10px 0;
    }
    
    .site-branding {
        max-width: 150px;
    }
    
    .main-navigation li a {
        padding: 0 10px 25px 10px;
        font-size: 16px;
    }
    
    .main-navigation .sub-menu {
        left: 20px;
    }
    
    div .vc_general.vc_btn3 {
        padding-left: 30px;
        padding-right: 30px;
    }
    
    .footer-logo {
        padding-right: 15px;
    }
    
    .blue-box-content > div > div {
        padding-left: 30px;
        padding-right: 30px;
    }
    
    .professional-experiences .vc_custom_heading {
        margin-bottom: 25px;
    }
    
    div.row-blue-box {
        padding-bottom: 80px !important
    }
}

@media only screen and (max-width: 767px) {
    html, body {
        font-size: 18px;
        line-height: 1.555;
    }
    
    div .sm-mt-20 {
        margin-top: 20px !important;
    }
    
    div .sm-mt-30 {
        margin-top: 30px !important;
    }
    
    div .sm-mt-50 {
        margin-top: 50px !important;
    }
    
    div .sm-mb-10 {
        margin-bottom: 10px !important;
    }
    
    div .sm-mb-14 {
        margin-bottom: 14px !important;
    }
    
    div .sm-mb-20 {
        margin-bottom: 20px !important;
    }
    
    div .sm-mb-25 {
        margin-bottom: 25px !important;
    }
    
    div .sm-mb-33 {
        margin-bottom: 33px !important;
    }
    
    div .sm-pt-0 {
        padding-top: 0 !important;
    }
    
    div .sm-pt-10 {
        padding-top: 10px !important;
    }
    
    div .sm-pt-13 {
        padding-top: 13px !important;
    }
    
    div .sm-pb-10 {
        padding-bottom: 10px !important;
    }
    
    .sm-pl-15 > div {
        padding-left: 15px !important;
    }
    
    .sm-pr-15 > div {
        padding-right: 15px !important;
    }
    
    .sm-text-left {
        text-align: left !important;
    }
    
    .sm-line-height-26 {
        line-height: 26px;
    }
    
    h1, .h1 {
        font-size: 24px;
    }
    
    h2, .h2 {
        font-size: 22px;
    }
    
    .font-24-30 {
        font-size: 20px;
    }
    
    .site-header .container {
        padding-left: 19px;
        padding-right: 24px;
    }
    
    .site-header .inner-header {
        padding: 20.5px 0;
    }
    
    .site-header .pb-row {
        display: flex;
        align-items: center;
    }
    
    .site-branding {
        left: auto;
        right: 0;
        max-width: 253px;
        z-index: 99;
    }
    
    .site-branding a {
        padding: 27px 35px;
    }
    
    .wrap-main-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: -25px;
        right: 0;
        width: calc(100% + 50px);
        z-index: 9;
        background: #488A8C;
        padding: 136px 0 24px 0;
    }
    
    .main-navigation {
        display: flex;
        justify-content: right;
    }
    
    .main-navigation ul {
        display: block;
    }
    
    .main-navigation > ul {
        flex: 0 0 277px;
        max-width: 277px;
    }
    
    .main-navigation li a {
        padding: 16px 15px 16px 0;
        font-size: 20px;
    }
    
    .main-navigation .sub-menu {
        display: block;
        position: static;
        background: transparent;
        width: 100%;
        padding: 0 0 8.5px 0;
        margin-top: -1.5px;
    }
    
    .main-navigation .sub-menu:before {
        display: none;
    }
    
    .main-navigation .sub-menu li a {
        color: #fff;
        padding: 9.5px 15px 9.5px 21px;
    }
    
    div .title-separator {
        width: 237px !important;
        margin-left: -27px !important;
        margin-bottom: 30px !important;
    }
    
    div.bottom-services {
        padding: 48px 27px 50px 27px !important;
    }
    
    .bottom-services > div:nth-child(1),
    .bottom-services > div:nth-child(2) {
        width: 100%;
    }
    
    .bottom-services > div:nth-child(1) .vc_column-inner {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    .bottom-services .content-box > div {
        padding: 20px 20px 0 20px !important;
    }
    
    div .vc_general.vc_btn3 {
        padding: 20px 25px;
    }
    
    .site-footer {
        padding: 48px 0 18px 0;
    }
    
    .site-footer .pb-row {
        display: block;
    }
    
    .footer-logo {
        padding: 30px 0;
    }
    
    .footer-address {
        margin-bottom: 25px;
    }
    
    .row-53-47 > div:nth-child(1),
    .row-53-47 > div:nth-child(2) {
        width: 100%;
    }
    
    .blue-box-content > div > div {
        padding: 25px 20px 1px 20px;
    }
    
    .blue-box-content li {
        padding-left: 30px;
        margin-bottom: 16px;
    }
    
    .blue-box-content li:before {
        width: 18px;
        height: 18px;
        top: 6px;
    }
    
    .professional-experiences .vc_custom_heading {
        margin-bottom: 20px;
    }
    
    div.row-blue-box {
        padding: 15px 0 50px 0 !important;
    }
}