/*  
 *  CITI Main Stylesheet
 *  October, 2022
 *  All rights reserved.
 *
 *  
 *  Index (Open search -> c+p to go there):

 *      - Definition: Body;
 *      - Definition: Estructure;
 *      - Definition: Typography;
 *      - Definition: Buttons;
 *      - Definition: Main menu;
 *      - Definition: Action button;
 *      - Definition: Footer;

 *      - Page: Index;
 *      - Page: Development;
 *      - Page: Operation;
 *      - Page: Resident;
 *      - Page: Industries;
 *      - Page: Industry detail;
 *      - Page: About Us;
 *      - Page: Contact;
 *      - Page: Blog;
 *      - Page: Blog entry;
 *      - Page: Privacy;
*/

:root {
    --main: #0071FF;
    --secondary: #2E60AB;
    --contrast: #03C591;
    --optional1: #6CBAE2;
    --optional2: #792A8F;

    --white: #FFFFFF;
    --black: #343434;
    --gray: #D7D7D7;
    --bg_gray: #F9F9F9;
    --bg_blue: #EAF3FF;
    
    --green: #26B14B;
    --yellow: #F8C631;
    --red: #F03E3E;

    --main_font: 'Inter', sans-serif;
}

/* Abandon all hope, ye who enter here */


/* ==========================================
 * Definition: Body;
 * ========================================== */
html {
    position: relative;
    height: 100%!important;
    padding: 0;
    margin: 0;
    scroll-padding-top: 70px;
}

body {
    display: flex;
    flex-direction: column;
    height: 100%!important;
    margin: 0;
    width: 100%;
    cursor: default;
    color: var(--black);
    font-size: 16px;
    line-height: 22px;
    font-family: var(--main_font);
    font-weight: 400;
    background-color: var(--white);
}
.page_content {
    flex-shrink: 0;
}
/*
@media (max-width: 1199px) {
    body { padding-top: 58px; }
}*/


/* ==========================================
 * Definition: Estructure;
 * ========================================== */
/* ---- Margin ---- */
.mt-8 { margin-top: 4.5rem !important; }
.mt-10 { margin-top: 6rem !important; }

.mb-8 { margin-bottom: 4rem !important; }
.mb-10 { margin-bottom: 6rem !important; }

.my-8 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}
.my-10 {
  margin-top: 6rem !important;
  margin-bottom: 6rem !important;
}
@media (max-width: 991px) {
    .mt-8 { margin-top: 3rem !important; }
    .mb-8 { margin-bottom: 3rem !important; }
    .my-8 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }
    .mt-10 { margin-top: 3.5rem !important; }
    .mb-10 { margin-bottom: 3.5rem !important; }
    .my-10 {
        margin-top: 3.5rem !important;
        margin-bottom: 3.5rem !important;
    }
}

/* ---- Padding ---- */
.pt-8 { padding-top: 4.5rem !important; }
.pt-10 { padding-top: 6rem !important; }
.pt-15 { padding-top: 14rem !important; }

.pb-8 { padding-bottom: 4.5rem !important; }
.pb-10 { padding-bottom: 6rem !important; }
.pb-15 { padding-bottom: 14rem !important; }

.py-8 {
  padding-top: 4.5rem !important;
  padding-bottom: 4.5rem !important;
}
.py-10 {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
}
@media (max-width: 991px) {
    .pt-8 { padding-top: 3rem !important; }
    .pb-8 { padding-bottom: 3rem !important; }
    .py-8 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .pt-10 { padding-top: 3.5rem !important; }
    .pb-10 { padding-bottom: 3.5rem !important; }
    .py-10 {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
    }
}

/* ---- Text color ---- */
.text-dark { color: var(--black)!important; }
.text-primary { color: var(--main)!important; }
.text-secondary { color: var(--secondary)!important; }
.text-info { color: var(--gray)!important; }

/* ---- Background color ---- *//
.bg-primary { background-color: var(--main)!important; }
.bg-secondary { background-color: var(--black)!important; }
.bg-light { background-color: var(--bg_gray)!important; }
.bg-white { background-color: var(--white)!important; }

/* ---- Background image ---- */
.bg-img-cover {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.bg-img-fixed {
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
    .bg-img-fixed { background-attachment: scroll; }
}

/* ---- Opacity ---- */
.opacity-50 { opacity: .5 !important; }

/* ---- Bootstrap card ---- */
.card {
    transition: 0.3s;
    border: none;
    border-radius: 0;
    box-shadow: 0px 3px 8px rgba(0,0,0,.16);
}
.card-body { padding: 16px; }
.card .icon img { height: 50px; }
.card-title {
    margin-top: 0;
    margin-bottom: .5rem;
}
.card.bt_line {
    padding: 8px 0 16px;
    border-top: 8px solid transparent;
}
.card.bt_line.lineB { border-top-color: var(--main); }
.card.bt_line.lineG { border-top-color: var(--gray); }



/* ==========================================
 * Definition: Typography;
 * ========================================== */
h1 {
    margin: 24px 0;
    font-size: 72px;
    line-height: 86px;
    font-weight: 700;
    font-family: var(--main_font);
}
@media (max-width: 991px) {
    h1 { font-size: 56px; line-height: 72px; }
}
@media (max-width: 576px) {
    h1 { font-size: 52px; line-height: 60px; }
}
h2 {
    margin: 24px 0;
    font-size: 48px;
    line-height: 56px;
    font-weight: 700;
    font-family: var(--main_font);
}
@media (max-width: 575px) {
    h2 { font-size: 32px; line-height: 42px; }
}
h3 {
    margin: 16px 0;
    font-size: 32px;
    line-height: 42px;
    font-weight: 700;
    font-family: var(--main_font);
}
h4 {
    margin: 16px 0;
    font-size: 24px;
    line-height: 32px;
    font-weight: 700;
    font-family: var(--main_font);
}
h5 {
    margin: 16px 0;
    font-size: 20px;
    line-height: 28px;
    font-weight: 500;
    font-family: var(--main_font);
}
h6 {
    margin: 16px 0;
    font-size: 18px;
    line-height: 24px;
    font-weight: 500;
    font-family: var(--main_font);
}
p {
    margin: 10px 0;
    font-size: 16px;
    line-height: 22px;
    font-weight: 400;
    font-family: var(--main_font);
}
.text-small {
    font-size: 12px!important;
    line-height: 16px;
}
.fw-semibold { font-weight: 500!important; }


/* ==========================================
 * Definition: Buttons;
 * ========================================== */
/* ---- SECTION: ANCHORS; ---- */
a:not(.button),
a:not(.button):visited {
    display: inline-block;
    margin: 0;
    padding: 4px 8px;
    color: var(--main);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
}
a:not(.button):not(.disabled):active,
a:not(.button):not(.disabled):hover {
    color: var(--secondary)!important;
    text-decoration: none;
}
a:focus,
a:focus-visible {
    outline: var(--secondary) auto 1px !important;
    box-shadow: 0px 3px 6px rgba(46,96,171, .50) !important;
}
a.disabled {
    opacity: .5;
    cursor: not-allowed;
}
a:not(.button) i {
    margin-top: -2px;
    vertical-align: middle;
    font-size: 14px;
}
a:not(.button).icon_left i { margin-right: 4px; }
a:not(.button).icon_right i { margin-left: 4px; }

/* ---- SECTION: BUTTONS; ---- */
.button {
    position: relative;
    display: inline-block;
    margin: 0;
    min-width: 40px;
    padding: 12px 20px;

    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    font-family: var(--main_font);
    text-align: center;
    text-decoration: none;

    border: 1px solid transparent;
    border-radius: 8px;
    transition: 0.3s;
}
.button:not(:disabled):hover {
    box-shadow: 0 3px 8px rgba(0,0,0,.12);
}
.button:disabled { opacity: .5; cursor: not-allowed; }

.btn_info {
    color: var(--black);
    font-weight: 400;
    background-color: var(--bg_blue);
}
.btn_info:active,
.btn_info:hover {
    color: var(--black);
    background-color: #DCE6F4;
}
.btn_primary {
    color: var(--white);
    background-color: var(--main);
}
.btn_primary:active,
.btn_primary:hover {
    color: var(--white);
    background-color: var(--secondary);
}


/* ==========================================
 * Definition: Main menu;
 * ========================================== */
header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: rgb(255,255,255);
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
    z-index: 100;
}
header.scrolling {
    position: fixed;
    background: var(--white)!important;
    box-shadow: 0 2px 6px rgba(0,0,0,.16);
}

/* ---- SECTION: MAIN LOGO; ---- */
.navbar-brand img { height: 48px; }
header.scrolling .navbar-brand img  { height: 32px; }

@media (max-width: 991px) {
    .navbar-brand {
        position: absolute;
        top: 28px;
        left: 0;
        padding-left: 0;
    }
    .navbar-brand img { height: 40px; }
    header.scrolling .navbar-brand  { top: 6px; }
}

/* ---- SECTION: CONTACT INFO; ---- */
.navbar-contact { list-style-type: none; }
header.scrolling .navbar-contact { display: none; }
.navbar-contact .nav-item { display: inline-block; vertical-align: middle; }
.navbar-contact .nav-item:nth-child(2) { position: relative; margin: 0 4px; }
.navbar-contact .nav-item:nth-child(2):before,
.navbar-contact .nav-item:nth-child(2):after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    margin-top: -9px;
    height: 18px;
    width: 1px;
    background-color: rgba(165,183,210,.5);
}
.navbar-contact .nav-item:nth-child(2):before { left: -8px; }
.navbar-contact .nav-item:nth-child(2):after { right: -4px; }

a.social-link i { font-size: 16px; }
.navbar-contact .button { padding: 4px 12px; }

@media (max-width: 991px) {
    .navbar-contact { width: 75%; margin-left: 25%; border-bottom: 1px solid rgba(165,183,210,.3); }
    .navbar-contact .nav-item:not(:last-child) { display: none; }
}
@media (max-width: 575px) {
    .navbar-contact { width: 70%; margin-left: 30%; }
}

/* ---- SECTION: MENU TOGGLER; ---- */
.navbar .navbar-toggler {
    width: 42px;
    height: 42px;
    padding: 5px;
    margin: 4px;
    color: var(--black);
    font-size: 24px;
    border-radius: 8px;
}
.navbar .navbar-toggler:hover,
.navbar .navbar-toggler:active,
.navbar .navbar-toggler:focus {
    color: var(--secondary);
    box-shadow: none;
    background-color: var(--bg_blue);
}

/* ---- SECTION: MENU OPTIONS; ---- */
.navbar-nav .nav-item:not(:last-child) {
    position: relative;
    padding: 8px 4px 4px;
    margin: 0 8px;
    border-bottom: 3px solid transparent;
}
header.scrolling .navbar-nav .nav-item:not(:last-child) {
    padding: 12px 0;
}
.navbar-nav .nav-item.dropdown {
    padding-left: 0;
    padding-right: 12px !important;
}
.navbar-nav .nav-link { color: var(--black)!important; }
.navbar-nav .nav-item.active { border-bottom-color: var(--main); }
.navbar-nav .nav-item:hover,
.navbar-nav .nav-item:active,
.navbar-nav .nav-item.active,
.navbar-nav .nav-item:hover a.nav-link,
.navbar-nav .nav-item:active a.nav-link,
.navbar-nav .nav-item.active a.nav-link {
    color: var(--main)!important;
}
.navbar-nav .dropdown-toggle::after { display: none; }
.navbar-nav .nav-item > i[class^='fa'] {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.navbar-nav .button { margin-left: 16px; padding: 8px 20px; }
@media (max-width: 991px) {
    .navbar-nav .button {
        margin: 8px 0 16px;
        padding: 8px 24px;
    }
}

/* ---- Submenu style ---- */
.navbar-nav .dropdown-menu {
    padding: 4px 0;
    border: none;
    border-radius:0px;
    box-shadow: 0px 3px 8px rgba(0,0,0,.16);
}
.navbar-nav .dropdown-menu .dropdown-item {
    padding: 12px 16px;
    color: var(--black);
}
.navbar-nav .dropdown-menu li i[class^='fa'] {
    display: inline-block;
    margin-left: 4px;
}
.navbar-nav .dropdown-menu li.active .dropdown-item,
.navbar-nav .dropdown-menu .dropdown-item:hover {
    color: var(--secondary)!important;
    background-color: var(--bg_gray);
}

@media (min-width: 992px) {
    .navbar-nav { border-top: 1px solid rgba(165,183,210,.3); }
    .navbar .dropdown:hover .dropdown-menu {
        display: block;
        margin-top: 0;
    }
    /* ---- Main options style ---- */
    .navbar-nav .nav-item:not(:last-child):before {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 51%;
        right: 51%;
        height: 4px;
        background-color: var(--blue);
        -webkit-transition-property: left,right;
        transition-property: left,right;
        -webkit-transition-duration: .3s;
        transition-duration: .3s;
        -webkit-transition-timing-function: ease-out;
        transition-timing-function: ease-out;
    }
    .navbar-nav .nav-item.active:before,
    .navbar-nav .nav-item:not(:last-child):hover:before {
        right: 0;
        left: 0;
    }
}
@media (max-width: 991px) {
    header { background-color: rgba(255,255,255,.9); }
    .navbar-nav { align-items: start!important; }
    .navbar-nav .nav-item {
        width: 100%;
        padding: 0 !important;
        margin: 0 !important;
        text-align: left;
    }
    .navbar-nav .nav-item:not(:nth-last-child(-n+2)) {
        border-bottom: 1px solid rgba(165,183,210,.15);
    }
    .navbar-nav .nav-item a.nav-link {
        display: block;
        padding: 16px 0;
    }
    a#menu_wedo > i[class^='fa'] {
        position: absolute;
        top: 22px;
        right: 20px;
    }
    .navbar-nav .nav-item .dropdown-toggle::after {
        position: absolute;
        top: 26px;
        right: 0;
    }
    /* ---- Submenu style ---- */
    .navbar-nav .dropdown-menu { border-bottom: none; }
    .navbar-nav .nav-item > i[class^='fa'] {
        top: 28px;
        padding: 16px;
    }
}


/* ==========================================
 * Definition: Footer;
 * ========================================== */
.bp_final { border-bottom: 24px solid var(--bg_gray); }
footer {
    margin-top: auto;
    color: var(--gray);
    font-size: 14px;
    background-color: #262626;
    border-top: 24px solid var(--black);
}
img.footer-brand { width: 90%; max-width: 100px; }

footer a:not(.button),
footer a:not(.button):visited {
    padding: 4px 0 !important;
    color: #A8A8A8!important;
    font-weight: 400;
}
footer a:not(.button):not(.disabled):active,
footer a:not(.button):not(.disabled):hover {
    color: #A8A8A8!important;
    text-decoration: underline!important;
}
footer a.social-link,
footer a.social-link:active,
footer a.social-link:hover,
footer a.social-link:visited {
    color: var(--main)!important;
}
footer a.social-link:not(:last-child) { margin-right: 12px; }
footer .button { padding: 6px 10px; font-size: 14px; }

@media (min-width: 992px) and (max-width: 1199px) {
    footer .button { font-size: 12px; }
}


/* ==========================================
 * Page: Index;
 * ========================================== */
/* ---- SECTION: DATA; ---- */
#index_data .container {
    position: relative;
    top: -80px;
    margin-bottom: -80px;
}
#index_data .list .card {
    box-shadow: none;
    color: var(--white);
    background-color: transparent;
}
#index_data .list .card .card-header {
    position: relative;
    padding: 12px 16px 12px 80px;
    background-color: var(--main);
    border: none;
    border-radius: 0;
}
#index_data .list .card .card-header i[class^='fa'] {
    position: absolute;
    top: 50%;
    left: 24px;
    font-size: 32px;
    transform: translateY(-50%);
}
#index_data .list .card h2 { margin: 0; }
#index_data .list .card .card-body {
    padding: 24px 16px 104px 80px;
}
#index_data .list .card h5 { margin: 0 0 8px; font-weight: 700; }
#index_data .list .card p { margin: 0; }

@media (max-width: 1199px) {
    #index_data .list .card .card-header,
    #index_data .list .card .card-body {
        padding-left: 72px;
    }
    #index_data .list .card .card-header i[class^='fa'] {
        left: 16px;
        font-size: 32px;
    }
    #index_data .list .card h2 { font-size: 40px; }
    #index_data .list .card h5 { margin: 0 0 4px; font-size: 18px; }
}
@media (max-width: 991px) {
    #index_data .list .card .card-body {
        padding: 24px 16px 24px 80px;
        background-color: rgba(0,0,0,.4);
    }
}

/* ---- SECTION: SERVICES; ---- */
#index_services .card-footer {
    border: none;
    background-color: transparent;
    padding-bottom: 0;
}
#index_services img { margin: 8px 0; }

@media (min-width: 992px) {
    #index_services .card { min-height: 270px; margin: 8px 0; }
}
@media (min-width: 577px) {
    #index_services div[class^='col'] {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* ---- SECTION: SUCCESS CASES; ---- */
#index_cases div[class^='col'] {
    padding-top: 16px;
    padding-bottom: 16px;
}
#index_cases .card-body { padding-bottom: 0; }
#index_cases .card-footer {
    border: none;
    background-color: transparent;
    padding-bottom: 0;
}
#index_cases .card .client_photo {
    margin-top: 24px;
    width: 100px;
}
#index_cases .card h5 { font-weight: 700; }
#index_cases .card .client_title {
    margin: 0 16px;
    color: #A8A8A8;
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
}
#index_cases .card .client_desc {
    position: relative;
    margin: 16px 0 0;
    padding: 24px 0;
    text-align: left;
}
#index_cases .card .client_desc:before,
#index_cases .card .client_desc:after {
    display: block;
    position: absolute;
    font-size: 24px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}
#index_cases .card .client_desc:before {
    content: "\f10d";
    top: 0;
    left: 0;
}
#index_cases .card .client_desc:after {
    content: "\f10e";
    bottom: 0;
    right: 0;
}
#index_cases .card .client_company {
    display: block;
    margin: 0 auto;
    width: 140px;
}
#index_cases .card .button {
    margin: 16px 0;
    color: var(--main);
    font-size: 16px;
    background-color: var(--bg_blue);
    border-radius: 8px;
}

@media (min-width: 1200px) and (max-width: 1399px) {
    #index_cases div[class^='col'] {
        padding-left: 16px;
        padding-right: 16px;
    }
}


/* ==========================================
 * Page: Development;
 * ========================================== */
/* ---- SECTION: BG HEADER; ---- */
.repse {
    margin-bottom: 0;
    font-weight: bold;
}
.repse span {
    display: inline-block;
    vertical-align: middle;
}
.repse img {
    display: inline-block;
    vertical-align: middle;
    margin-left: 8px;
}
.bg-img-text {
    min-height: 360px;
    padding: 30px 0;
}
.bg-img-text, .bg-img-text > div * { position: relative; }
@media (min-width: 992px) {
    .bg-img-text { padding: 30px 50px; }
    .bg-img-text:before { width: calc(50% + 50px); }
}
@media (min-width: 1200px) {
    .bg-img-text:before { width: calc(41.66666667% + 50px); }
}

/* ---- SECTION: SERVICES; ---- */
#services .container {
    position: relative;
    top: -124px;
    margin-bottom: -124px;
}
#services .card i[class^='fa'] {
    display: block;
    margin: 16px auto;
    text-align: center;
    color: var(--main);
    font-size: 40px;
}
#services .card h3 { margin: 24px 0 32px; }

@media (max-width: 991px) {
    #services .card { padding: 8px 0 0; }
    #services .card i[class^='fa'] { font-size: 28px; }
    #services .card h3 {
        margin: 24px 0;
        font-size: 24px;
        line-height: 28px;
    }
}
@media (max-width: 767px) {
    #services .card { padding: 0; }
    #services .card i[class^='fa'] { margin: 8px 0 0; }
}

/* ---- SECTION: PRODUCTS; ---- */
/*
#products p { max-width: 75%; font-size: 16px; line-height: 22px; }
#products .card {
    border: none;
    border-radius: 0;
    box-shadow: 0px 3px 8px rgba(0,0,0,.16);
}
.product_logo img { max-height: 60px; max-width: 180px; }
#products .card-footer {
    padding: .5rem 26px;
    background-color: transparent;
    border-top: none;
}
#products a.button { padding: 12px 24px; }*/

/* ---- SECTION: CLIENTS CAROUSEL; ---- */
.clients_list .slick-slide { padding: 0 16px; }

/* ---- SECTION: SERVICE DETAILS; ---- */
#dev-service_ux ul.fa-ul,
#dev-service_dev ul.fa-ul,
#dev-service_int ul.fa-ul {
    margin: 32px 0 0 24px !important;
}

@media (min-width: 1200px) {
    .img-stick { height: 480px; }

    .img-content img {
        position: absolute;
        top: 50%;
        height: 100%;
        transform: translateY(-50%);
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .img-content img {
        position: absolute;
        top: 50%;
        width: 100%;
        transform: translateY(-50%);
    }
}
@media (min-width: 992px) {
    #dev-service_ux:after {
        content: "";
        display: block;
        position: absolute;
        bottom: -100px;
        left: 50%;
        width: 80px;
        height: 200px;
        background-color: var(--main);
        box-shadow: 0px 6px 12px rgba(0, 0, 0, .16);
        transform: translateX(-50%);
        z-index: 1;
    }
    #dev-service_dev .order-0 { padding-left: 72px; }
    .img-stick {
        height: 440px;
        overflow: hidden;
    }
    .img-content {
        position: absolute;
        top: 0;
        width: 50%;
        height: 100%;
        overflow: hidden;
    }
    .img-content.left { left: 0; }
    .img-content.right { right: 0; }
    
    .img-content.left img { right: 0; }
    .img-content.right img { left: 0; }
}
@media (max-width: 991px) {
    #dev-service_ux,
    #dev-service_dev {
        margin-bottom: 56px;
    }
    .img-content img {
        margin-top: 24px;
        width: 100%;
    }
}

/* ---- SECTION: METHODOLOGIES; ---- */
@media (max-width: 991px) {
    #dev-methodologies h2 { text-align: center; }
}


/* ==========================================
 * Page: Operation;
 * ========================================== */
/* ---- SECTION: GENERAL SERVICES; ---- */
#op-services ul {
    list-style: none; /* Remove default bullets */
    padding-left: 24px;
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 22px;
    font-weight: 400;
    font-family: var(--main_font);
}
#op-services ul li::before {
    content: "\2022";
    color: var(--main);
    font-size: 20px;
    font-weight: bold;
    display: inline-block;
    width: 1em;
    margin-left: -1em;
}
#op-services .row {
    position: relative;
    text-align: right;
}
#op-services .row:before,
#op-services .row:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: var(--gray);
}
#op-services .row:before { left: 1%; }
#op-services .row:after { left: 51%; }
#op-services .col-md-6 {
    position: relative;
    text-align: right;
}
#op-services .col-md-6 .card {
    position: relative;
    display: inline-block;
    margin: 16px 0;
    padding-left: 64px;
    width: 90%;
    text-align: left;
    box-shadow: none;
}
#op-services .col-md-6 .card:first-child { margin-top: 48px; }
#op-services .col-md-6 .card:last-child { margin-bottom: 48px; }
#op-services .col-md-6 .card:before {
    content: "";
    display: block;
    position: absolute;
    top: 28px;
    width: 18px;
    height: 18px;
    border: 4px solid var(--main);
    border-radius: 50%;
    z-index: 1;
}
#op-services .col-md-6 .card:after {
    content: "";
    display: block;
    position: absolute;
    top: 26px;
    left: -16px;
    border-top: 10px solid transparent;
    border-left: 16px solid var(--white);
    border-bottom: 10px solid transparent;
    transform: rotate(-180deg);
}
#op-services .col-md-6 .card i[class^='fa'] {
    position: absolute;
    top: 26px;
    left: 16px;
    color: var(--main);
    font-size: 40px;
}
#op-services .col-md-6 .card h4 { margin: 10px 0 16px; }

@media (min-width: 1400px) {
    #op-services .col-md-6 .card:before { left: -71px; }
}
@media (min-width: 1200px) and (max-width: 1399px) {
    #op-services .col-md-6 .card:before { left: -63px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
    #op-services .col-md-6 .card:before { left: -56px; }
}
@media (min-width: 768px) and (max-width: 991px) {
    #op-services .col-md-6 .card:before { left: -45px; }
}
@media all and (max-width: 991px) {
    #op-services .col-md-6 .card { padding-left: 48px; }
    #op-services .col-md-6 .card i[class^='fa'] {
        font-size: 32px;
    }
    #op-services .col-md-6 .card h4 {
        font-size: 20px;
        line-height: 28px;
    }
    #op-services .col-md-6:first-child .card:last-child { margin-bottom: 16px; }
    #op-services .col-md-6:last-child .card:first-child { margin-top: 16px; }
}
@media all and (max-width: 768px) {
    #op-services .row:after { display: none; }
    #op-services .col-md-6 .card:before { left: -64px; }
    #op-services .col-md-6 .card i[class^='fa'] {
        font-size: 28px;
    }
}
@media all and (max-width: 576px) {
    #op-services .col-md-6 .card:before { left: -14.4%; }
}

/* ---- SECTION: CLOUD SERVICES; ---- */
#cloud-services .cloud_icons {
    position: absolute;
    display: inline-block;
    width: auto;
    text-align: right;
    background-color: var(--main);
    box-shadow: 0 6px 12px rgba(0,0,0,.16);
}
#cloud-services .cloud_icons i[class^='fa'] {
    color: var(--white);
}

@media (min-width: 992px) {
    #cloud-services h4.subtitle { max-width: 90%; }
    #cloud-services .row:first-child img.img-fluid { max-width: calc(100% + 12px); }
    #cloud-services .row:first-child div[class^='col']:last-child { padding-left: 80px; }
    #cloud-services .cloud_icons {
        top: 45%;
        right: -34px;
        transform: translateY(-50%);
        padding: 128px 12px 8px;
    }
    #cloud-services .cloud_icons i[class^='fa'] {
        display: block;
        margin: 24px 8px;
        font-size: 28px;
    }
}
@media (max-width: 991px) {
    #cloud-services h4 { max-width: 90%; }
    #cloud-services .row:first-child div[class^='col']:last-child {
        padding-top: 48px;
    }
    #cloud-services .cloud_icons {
        width: 90%;
        max-width: 320px;
        bottom: -28px;
        left: -5%;
        padding: 8px 12px;
    }
    #cloud-services .cloud_icons i[class^='fa'] {
        display: inline-block;
        margin: 8px 16px;
        font-size: 24px;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    #cloud-services .row:first-child div[class^='col']:last-child {
        padding-left: 80px;
    }
}

/* ---- SECTION: CLOUD SERVICES LIST; ---- */
@media (min-width: 992px) {
    #cloud-serv-list .card {
        position: relative;
        display: block;
        text-align: right;
    }
    #cloud-serv-list .card .card-body {
        display: inline-block;
        text-align: left;
        width: 80%;
    }
    #cloud-serv-list .card .card-body img {
        position: absolute;
        display: block;
        top: 50%;
        left: 16px;
        width: 80px;
        transform: translateY(-50%);
    }
}

@media (max-width: 991px) {
    #cloud-serv-list .card .card-body img {
        display: block;
        width: 56px;
    }
}

/* ---- SECTION: AWS TECHNOLOGIES; ---- */
#aws-technology .card-body { padding: 16px 15px; }
.cloud_list img,
.cloud_list span { display: inline-block; vertical-align: middle; }
.cloud_list img { margin-right: 5px; width: 36px; }
.cloud_list span { width: 74%; }

.cloud_list .list-group-item { padding: 8px 0; }
.cloud_list .list-group-item:first-child { padding-top: 0; }
.cloud_list .list-group-item:last-child { padding-bottom: 0; }

@media (max-width: 991px) {
    .cloud_list { padding-left: 0; }
}


/* ==========================================
 * Page: Resident;
 * ========================================== */
/* ---- SECTION: STAFF AUGMENTATION; ---- */
#service_staff .staff_list i[class^='fa'] {
    font-size: 32px;
}
#service_staff .staff_list h5 {
    line-height: 24px;
    font-weight: 700;
}
#service_staff .staff_list p { margin: 4px 0; }

@media (max-width: 991px) {
    #service_staff2 { padding-top: 3rem; margin-bottom: 0!important; }
    #service_staff img { margin-top: 24px; }
}

/* ---- SECTION: OUTSOURCING; ---- */
#service_out p { margin: 0; }
#service_out .card-body { position: relative; padding: 80px 22px 22px; }
#service_out .card-body i[class^='fa'] {
    position: absolute;
    top: 24px;
    left: 22px;
    color: var(--main);
    font-size: 32px;
}
#service_out .card-body h4 {
    margin: 0 0 24px;
    font-size: 22px;
    line-height: 26px;
    font-weight: 700;
}
#service_out .card:hover i[class^='fa'] {
    color: var(--main);
    font-size: 44px;
}
#service_out .card:hover h4 {
    color: var(--main);
}

@media (min-width: 1200px) {
    #service_out .card-body { padding: 104px 40px 40px; }
    #service_out .card-body i[class^='fa'] {
        top: 40px;
        left: 40px;
    }
}

/* ---- SECTION: PROGRAM; ---- */
#program_info ul li:not(:last-child) { margin-bottom: 36px; }
#program_info ul i[class^='fa'] {
    margin-right: 8px;
    font-size: 24px;
}
#program_info ul h6 { margin: 0 0 8px; font-weight: 700; }
#program_info ul p { margin: 0; }

@media (max-width: 991px) {
    #program_info ul li:last-child { margin-bottom: 36px; }
}


/* ==========================================
 * Page: Industries;
 * ========================================== */
/* ---- SECTION: LIST TABS; ---- */
#industry_tabs.nav-tabs .nav-link {
    padding: 16px 28px;
    margin: 0;
    color: var(--black);
    font-size: 16px;
    line-height: 22px;
    font-weight: 500;
    border: none;
    border-radius: 32px;
    transition: 0.3s;
}
#industry_tabs.nav-tabs .nav-item.show .nav-link,
#industry_tabs.nav-tabs .nav-link.active {
    color: var(--white);
    background-color: var(--main);
    border: none;
}
#industry_tabs.nav-tabs .nav-link:not(.active):hover {
    background-color: var(--bg_blue);
    border: none;
}
#industry_tabs.nav-tabs .nav-link:focus,
#industry_tabs.nav-tabs .nav-link:active,
#industry_tabs.nav-tabs .nav-link:focus-visible {
    outline: var(--secondary) auto 1px !important;
    box-shadow: 0px 3px 6px rgba(46,96,171, .50) !important;
    border: none;
}

@media (min-width: 768px) {
    .tab_scroll { padding: 4px 0 48px; }
    #industry_tabs { 
        margin: 8px auto;
        width: fit-content;
        border: none;
        background-color: var(--white);
        box-shadow: 0 6px 12px rgba(51,51,51,.12);
        border-radius: 32px;
    }
}
@media (max-width: 767px) {
    .tab_scroll {
        position: relative;
        display: block;
        margin: 0 0 48px;
        overflow: hidden;
        background-color: var(--white);
        box-shadow: 0 6px 12px rgba(51,51,51,.12);
    }
    #industry_tabs {
        padding: 16px 0;
        width: 100%;
        border: none;
        overflow-x: auto;
        flex-wrap: nowrap;
    }
    #industry_tabs .nav-item:first-child {
        margin-left: 24px;
    }
    #industry_tabs .nav-item:last-child {
        margin-right: 24px;
    }
}

/* ---- SECTION: LIST OPTIONS; ---- */
#industry_list .tab-pane.fade {
  transition: all 0.3s;
  transform: translateY(1rem);
}
#industry_list .tab-pane.fade.show {
  transform: translateY(0rem);
}
#industry_list .industry_option {
    position: relative;
    display: block;
    padding: 0;
    color: var(--black);
}
#industry_list .industry_option .bg-img-cover {
    width: 100%;
    height: 200px;
}
#industry_list .industry_option .opt_content {
    position: absolute;
    bottom: -25px;
    margin: 0;
    padding: 4px 12px;
    width: 80%;
    min-height: 50px;
    background-color: var(--bg_gray);
    transition: 0.3s;
}
#industry_list .industry_option .opt_content h6 {
    margin: 11px 0 8px;
    font-size: 16px;
    line-height: 20px;
    font-weight: 700;
}
#industry_list .industry_option .opt_content .opt_link {
    position: absolute;
    top: 50%;
    right: 12px;
    opacity: 0;
    padding: 0;
    color: var(--white)!important;
    text-align: right;
    transform: translateY(-50%);
    transition-duration: 0s;
    transition-delay: 0s;
}


#industry_list .industry_option:hover,
#industry_list .industry_option:active {
    color: var(--white)!important;
    box-shadow: 0 6px 12px rgba(51,51,51,.24);
    transition: box-shadow 0.3s ease-in-out;
}
#industry_list .industry_option:hover .opt_content {
    padding-right: 124px;
    width: 100%;
    background-color: var(--main);
    box-shadow: 0 6px 12px rgba(51,51,51,.24);
}
#industry_list .industry_option:hover .opt_content .opt_link {
    opacity: 1;
    transition-property: opacity;
    transition-duration: 0.3s;
    transition-delay: 0.2s;
}



/* ==========================================
 * Page: Industry detail;
 * ========================================== */
/* ---- SECTION: LIST TABS; ---- */
#industry_header { padding-top: 7rem !important; }
#industry_header nav a { font-weight: 400; }
#industry_header nav p {
    display: inline-block;
    margin: 0;
    padding: 4px 8px;
    font-size: 14px;
    font-weight: 400;
}
#industry_header nav a:not(:last-child) {
    position: relative;
    margin-right: 8px;
    color: var(--black);
}
#industry_header nav a:not(:last-child):after {
    content: "/";
    position: absolute;
    top: 50%;
    right: -8px;
    display: block;
    transform: translateY(-50%);
}
#industry_header nav a:hover:after { color: var(--black); }
#industry_header nav a:focus:after,
#industry_header nav a:focus-visible:after {
    outline: none;
    box-shadow: none;
}

/* ---- SECTION: HEADER; ---- */
#industry_cover .pf_cover_logo {
    position: absolute;
    bottom: 72px;
    right: 0;
    padding: 12px 36px 12px 24px;
    background-color: rgba(255,255,255,.85);
}
#industry_cover .pf_cover_logo img { max-height: 56px; max-width: 200px; }
#industry_data .list_dataCard { background-color: var(--main); }
#industry_data .list_dataCard .card h5 { margin: 0; }
#industry_data .list_dataCard .card p { font-size: 14px; }

@media (min-width: 992px) {
    #industry_cover { height: 480px; }
    #industry_data { margin-top: -57px }
    #industry_data .list_dataCard .card .card-header {
        padding: 32px 16px 32px 72px;
    }
}
@media (min-width: 576px) and (max-width: 991px) {
    #industry_cover { height: 320px; }
    #industry_cover .pf_cover_logo { bottom: 16px; }
    #industry_data .list_dataCard .card .card-header i[class^='fa'] {
        position: inherit;
        top: auto;
        left: auto;
        margin-bottom: 8px;
        font-size: 24px;
        transform: translateY(0);
    }
    #industry_data .list_dataCard .card .card-header {
        padding: 24px;
    }
}
@media (max-width: 575px) {
    #industry_cover { height: 280px; }
    #industry_cover .pf_cover_logo { bottom: 16px; }
    #industry_data .list_dataCard .card .card-header {
        padding: 24px 16px 24px 64px;
    }
    #industry_data .list_dataCard .card .card-header i[class^='fa'] {
        font-size: 24px;
    }
}

/* ---- SECTION: SOLUTIONS; ---- */
#industry_solution a {
    display: block;
    padding: 0;
    color: var(--black);
}
#industry_solution a .card { padding: 16px 0 16px 64px; }
#industry_solution a h6 { margin: 0; }
#industry_solution a i[class^='fa'] {
    position: absolute;
    padding: 12px 4px 4px;
    top: 50%;
    left: 16px;
    width: 48px;
    height: 48px;
    color: var(--white);
    text-align: center;
    font-size: 24px;
    background-color: var(--main);
    border-radius: 40px;
    transform: translateY(-50%);
}
#industry_solution a:hover .card {
    color: var(--black);
    background-color: var(--bg_blue);
    cursor: pointer;
}

@media (min-width: 768px) and (max-width: 991px) {
    #industry_solution div[class^='col'] { padding: 0 16px; }
    #industry_solution a .card { padding-left: 50px; }
    #industry_solution a .card .card-body { padding: 16px 8px; }
    #industry_solution a i[class^='fa'] {
        left: 12px;
        padding: 9px 4px 4px;
        width: 36px;
        height: 36px;
        font-size: 18px;
    }
}

/* ---- Vector success case ---- */
#vector_01 i[class^='fa'],
#vector_02 i[class^='fa'],
#vector_03 i[class^='fa'],
#prime_01 i[class^='fa'],
#prime_02 i[class^='fa'] { color: var(--main); }

@media (max-width: 991px){
    #vector_03 { padding-top: 3rem!important; }
}


/* ==========================================
 * Page: About Us;
 * ========================================== */
/* ---- SECTION: HISTORY CAROUSEL; ---- */
/* ---- Carousel component ---- */
.events_list { margin-top: 40px; padding: 0 56px; }
.events_list .slick-slide { padding: 0 12px; }
.events_list .slick-track {
    display: flex !important;
    padding: 16px 0;
}
.events_list .slick-slide { height: inherit !important; }

.events_list .slick-dots {
    padding: 0;
    list-style-type: none;
    text-align: center;
}
.events_list .slick-dots li {
    display: inline-block;
    margin: 4px 8px;
}
.events_list .slick-dots li button {
    padding: 0;
    width: 12px;
    height: 12px;
    color: var(--gray);
    font-size: 0px;
    background-color: var(--gray);
    border: none;
    border-radius: 50px;
}
.events_list .slick-dots li:not(.slick-active) button:hover,
.events_list .slick-dots li:not(.slick-active) button:active {
    background-color: var(--bg_blue);
}
.events_list .slick-dots li.slick-active button {
    background-color: var(--main);
}
.events_list .slick-arrow {
    position: absolute;
    top: 50%;
    padding: 32px 16px;
    color: var(--white);
    background-color: var(--main);
    transform: translateY(-50%);
    transition: 0.3s;
    z-index: 1;
}
.events_list a.slick-arrow:hover,
.events_list a.slick-arrow:active {
    color: var(--white)!important;
    background-color: var(--secondary);
}
.events_list .slick-arrow.slick-next { right: 0; }
.events_list .slick-arrow.slick-prev { left: 0; }
.events_list .slick-arrow i[class^='fa'] {
    font-size: 20px;
}
@media (min-width: 576px) and (max-width: 991px) {
    .events_list { padding: 0; }
    .events_list .slick-slide { padding: 0 8px; }
    .events_list .slick-dots li button {
        width: 10px;
        height: 10px;
    }
    .events_list .slick-arrow { padding: 24px 12px; }
    .events_list .slick-arrow.slick-next { right: -40px; }
    .events_list .slick-arrow.slick-prev { left: -40px; }
}

/* ---- Card content ---- */
.events_list .card { height: 100%; text-align: left; }
.events_list .card .card-img-top { border-radius: 0; }
.events_list .card p { margin: 16px 0 0; font-size: 14px; line-height: 22px; }
.events_list .card .card_date {
    display: inline-block;
    padding: 4px 20px;
    color: var(--black);
    font-size: 14px;
    font-weight: 700;
    background-color: var(--gray);
    border-radius: 40px;
    box-shadow: 0 3px 12px rgba(51,51,51,.16);
}

/* ---- SECTION: US; ---- */
#about_us ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
#about_us ul li {
    position: relative;
    padding: 4px 8px 4px 72px;
}
#about_us ul li:not(:last-child) {
    margin-bottom: 24px;
}
#about_us ul li i[class^='fa'] {
    position: absolute;
    top: 50%;
    left: 0;
    padding: 12px;
    color: var(--main);
    font-size: 24px;
    background-color: var(--bg_gray);
    border-radius: 50px;
    transform: translateY(-50%);
}
#about_us ul li h6 { margin: 0 0 8px; }
#about_us ul li p { margin: 0; }

@media (min-width: 992px) {
    #about_us .img-stick { height: 360px; }
    #about_us .img-stick .img-content { width: 28%; }
}
@media (min-width: 992px) and (max-width: 1199px) {
    #about_us ul li:last-child {
        margin-bottom: 24px;
    }
    #about_us .img-stick { height: 420px; }
    #about_us .img-stick .img-content { width: 45%; }
}
@media (max-width: 991px) {
    #about_us ul li:last-child {
        margin-bottom: 24px;
    }
}

/* ---- SECTION: DATA; ---- */
.list_dataCard div[class^='col'] { padding: 0; }
.list_dataCard .card { box-shadow: none; }
.list_dataCard .card .card-header {
    position: relative;
    padding: 16px 16px 16px 80px;
    color: var(--white);
    background-color: var(--main);
    border: none;
    border-radius: 0;
}
.list_dataCard .card .card-header i[class^='fa'] {
    position: absolute;
    top: 50%;
    left: 24px;
    color: var(--white);
    font-size: 32px;
    transform: translateY(-50%);
}
.list_dataCard .card h2 { margin: 0; }
.list_dataCard .card .card-body {
    padding: 24px 16px 24px 80px;
}
.list_dataCard .card h5 { margin: 0 0 8px; font-weight: 700; }
.list_dataCard .card p { margin: 0; }

@media (max-width: 1199px) {
    .list_dataCard .card .card-header,
    .list_dataCard .card .card-body {
        padding-left: 72px;
    }
    .list_dataCard .card .card-header i[class^='fa'] {
        left: 16px;
        font-size: 32px;
    }
    .list_dataCard .card h2 { font-size: 40px; }
    .list_dataCard .card h5 { margin: 0 0 4px; font-size: 18px; }
}

/* ---- SECTION: OUR GOAL; ---- */
#our_goal { position: relative; }
#our_goal:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #212121;
  opacity: 0.75;
}
#our_goal img { width: auto; max-width: 60px; }

/* ---- SECTION: OUR CERTIFICATIONS; ---- */
#our_cert .card { position: relative; box-shadow: none; }
#our_cert .cert_list {
    padding: 0;
    margin: 0;
    list-style-type: none;
}
#our_cert .cert_list li {
    padding: 24px 0;
    display: inline-block;
    width: calc(98% / 3);
    text-align: center;
}
#our_cert .cert_list li img {
    max-width: 90%;
    max-height: 100px;
}
#our_cert .card_collapse {
    margin: 24px 0;
    border-right: 8px solid var(--gray);
}
#our_cert .card_collapse .card-body { padding: 0 16px 12px; }
#our_cert .card_collapse .btn_collapse {
    position: relative;
    left: -16px;
    width: calc(100% + 32px);
    padding: 24px 16px 0;
    margin-bottom: 12px;
    font-size: 18px;
    font-weight: 700;
    text-align: left;
    background-color: transparent;
    border: none;
}
#our_cert .card_collapse .btn_collapse:hover,
#our_cert .card_collapse .btn_collapse:active {
    color: var(--deep_gray);
}
#our_cert .card_collapse .btn_collapse[aria-expanded="true"] {
    color: var(--main);
}
#our_cert .card_collapse .btn_collapse i[class^='fa'] {
    position: absolute;
    top: 57%;
    right: 16px;
}
#our_cert .card_collapse .card-body p { font-size: 14px; }

@media (min-width: 992px) {
    #our_cert:not(.index_cert) .card:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: -300px;
        width: 300px;
        height: 100%;
        background-color: var(--white);
    }
    #our_cert:not(.index_cert) .card:first-child:before {
        top: -8px;
        height: calc(100% + 8px);
        border-top: 8px solid var(--gray);
    }
}
@media (max-width: 576px) {
    #our_cert .cert_list li {
        width: calc(98% / 2);
    }
}
@media (max-width: 299px) {
    #our_cert .cert_list li {
        width: calc(96% / 2);
    }
}

/* ---- SECTION: OUR HISTORY; ---- */
#our_history { position: relative; }
#our_history .history_shots div[class^='col'] { padding: 0; }
#our_history .main_text p { max-width: 90%; }
#our_history .helper01,
#our_history .helper02 {
    position: absolute;
    padding: 32px 16px;
    font-size: 24px;
    color: var(--white);
    background-color: var(--main);
    z-index: 10;
}
#our_history .helper01 {
    top: 25%;
    left: -56px;
    transform: translateY(-35%);
}
#our_history .helper02 {
    bottom: -44px;
    left: 50%;
    transform: translateX(-70%);
}

@media (max-width: 1199px) {
    #our_history .history_shots:nth-child(1) .bg-img-cover:nth-child(2) {
        background-position: center right;
    }
}
@media (max-width: 991px) {
    #our_history .main_text { padding-bottom: 64px; }
    #our_history .history_shots { padding: 0 24px !important; }
    #our_history .helper01,
    #our_history .helper02 {
        position: absolute;
        padding: 16px 32px;
        transform: none;
    }
    #our_history .helper01:before,
    #our_history .helper02:before { content: "\f103"; }
    #our_history .helper01 {
        top: -56px;
        left: 38px;
    }
    #our_history .helper02 {
        bottom: -29px;
        left: inherit;
        right: 38px;
    }
}
@media (max-width: 767px) {
    #our_history .history_shots .bg-img-cover { height: 240px; }
    #our_history .history_shots .bg-img-cover.sp_img {
        display: none;
    }
}


/* ==========================================
 * Page: Contact;
 * ========================================== */
/* ---- SECTION: CONTACT FORM; ---- */
form {
    position: relative; 
    text-align: left;
    margin-top: 94px;
    padding: 48px 20px 24px 24px;
    background-color: var(--white);
    box-shadow: 0px 3px 8px rgba(0,0,0,.16);
}
form img {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
}

/* ---- Labels ---- */
form label {
    display: block;
    margin: 0;
    color: var(--black);
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
}
form .hs-form-required { padding-left: 4px; color: var(--red); }

/* ---- Main input style and textbox ---- */
form .input .hs-input:not(.hs-fieldtype-intl-phone) {
    min-width: 95%;
    margin: 4px 0;
    height: 42px;
    padding: 4px 8px;

    color: var(--black);
    font-size: 16px;
    line-height: 22px;
    font-weight: 400;
    background-color: var(--bg_gray);
    border: 1px solid var(--gray);
    border-radius: 4px;
}
form .input textarea.hs-input {
    padding: 16px;
    min-height: 140px;
    resize: none;
}
form .input .hs-input::placeholder {
    color: #B5B5B5;
    font-size: 16px;
    line-height: 22px;
    font-weight: 400;
}
form .input .hs-input:not(:disabled):focus,
form .input .hs-input:not(:disabled):active {
    border-color: var(--main);
    outline: 0;
    box-shadow: none;
}
form .input .hs-input:disabled,
form .input input.hs-input:read-only,
form .input .hs-input:read-only:focus,
form .input .hs-input:read-only:active {
    border-color: var(--gray);
    outline: 0;
    cursor: default;
}

/* ---- Select style ---- */
form .input select.hs-input {
    display: block;
    margin: 4px 0;
    height: 42px;
    padding: 4px 36px 4px 8px;
    font-size: 16px;
    line-height: 22px;
    font-weight: 400;
    background-color: var(--bg_gray);
    border: 1px solid var(--gray);
    border-radius: 4px;
}
form select.hs-input:focus, form select.hs-input:focus-visible {
    border-color: var(--main);
    outline: var(--secondary) auto 1px !important;
    box-shadow: 0px 3px 6px rgba(46,96,171, .50) !important;
}

/* ---- Phone input style ---- */
form .hs-input.hs-fieldtype-intl-phone { position: relative; }
form .hs-input.hs-fieldtype-intl-phone select.hs-input {
    position: absolute; 
    bottom: 8px;
    left: 1px;
    min-width: 120px!important;
    max-width: 120px!important;
    margin: 0;
    height: 34px;
    border: none!important;
    border-right: 1px solid var(--gray)!important;
    border-radius: 4px 0 0 4px;
}
form .hs-input.hs-fieldtype-intl-phone input.hs-input {
    padding-left: 128px!important;
    width: 100%!important;
}

/* ---- Button ---- */
form .button { padding: 12px 16px; min-width: 220px; }

/* ---- Error style ---- */
form .input .hs-input.error,
form .input .hs-input.error:not(:disabled):active,
form .input .hs-input.error:not(:disabled):focus {
    border-color: var(--red);
}
form .hs-error-msgs {
    margin-bottom: 4px;
    list-style-type: none;
}
form .hs-error-msgs label {
    color: var(--red);
    font-size: 12px;
    line-height: 18px;
}

/* ---- Submit button ---- */
form .actions { text-align: center; }
form input[type="submit"] {
    position: relative;
    display: inline-block;
    margin: 0;
    min-width: 40px;
    padding: 12px 20px;

    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    font-family: var(--main_font);
    text-align: center;
    text-decoration: none;

    color: var(--white);
    background-color: var(--main);
    border: 1px solid transparent;
    border-radius: 8px;
    transition: 0.3s;
}
form input[type="submit"]:hover,
form input[type="submit"]:active {
    color: var(--white);
    background-color: var(--secondary);
    box-shadow: 0 3px 8px rgba(0,0,0,.12);
}

#contact form .field { margin: 8px 0;}
#contact form input[type="submit"] { margin-top: 16px; }

@media (max-width: 767px) {
    #contact form .field { width: 100%; }
    form .input .hs-input:not(.hs-fieldtype-intl-phone) {
      min-width: 100%;
    }
}

/* ---- SECTION: ADDRESSES; ---- */
#address h3 { margin: 0 0 40px; }
#address h6 {
    margin: 0 0 4px;
    font-weight: 700;
}
#address .bg-primary { color: var(--white); }
#address .bg-primary a {
    padding: 4px 0;
    color: var(--white)!important;
}
#address .bg-primary i[class^='fa'] {
    padding: 12px;
    color: var(--main);
    font-size: 24px;
    background-color: var(--white);
    border-radius: 50px;
}
#address .card-header,
#address .card-footer {
    padding: 0;
    background-color: var(--white);
    border: none;
}
#address .card-footer {
    padding: 0 8px 8px;
}
#address .card-body p { margin: 4px 0 0; }

@media (min-width: 1199px) {
    #address .bg-primary { padding: 24px 48px; }
}

/* ---- SECTION: JOIN THE TEAM; ---- */
#join_us ul {
    list-style-type: none;
    margin: 40px 0 36px;
    padding: 0;
    max-width: 90%;
}
#join_us ul li {
    display: block;
    padding: 12px 16px;
    background-color: var(--white);
    border-left: 8px solid var(--gray);
}
#join_us h5 {
    position: absolute;
    top: 54%;
    left: 0;
    transform: translateY(-50%);
    margin: 0;
    padding-left: 12%;
    width: 70%;
    color: var(--white);
    z-index: 10;
}
#join_us .img-stick { height: auto!important; }

@media (max-width: 1399px) {
    #join_us h5 {
        padding-left: 15%;
        width: 85%;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    #join_us h5 {
        padding-left: 11%;
        width: 70%;
    }
}
@media (max-width: 991px) {
    #join_us { padding-bottom: 0!important;  }
    #join_us .img-content { position: relative; padding-top: 24px; }
    #join_us h5 {
        padding-left: 13%;
        width: 65%;
    }
}


/* ==========================================
 * Page: Blog;
 * ========================================== */
/* ---- SECTION: ENTRY HEADER; ---- */
.blog_subtitle a {
    font-size: 24px;
    line-height: 32px;
    font-weight: 700;
}
#blog .container {
    position: relative;
    top: -104px;
    margin-bottom: -104px;
}

/* ---- SECTION: ENTRY LIST; ---- */
.item_cover {
    margin-left: -16px;
    height: 220px;
    width: calc(100% + 32px);
}
.blog_list a {
    display: block;
    padding: 0 16px 6px 16px;
    color: var(--black);
    transition: 0.3s;
}
#blog .blog_list a:visited { color: var(--black); }
#blog .blog_list a:hover,
#blog .blog_list a:active {
    color: var(--black)!important;
    box-shadow: 0px 3px 8px rgba(0,0,0,.16);
}

/* ---- Entry content ---- */
.entry_title { transition: 0.3s; }
#blog .blog_list a:hover .entry_title,
#blog .blog_list a:active .entry_title {
    color: var(--main);
}
.entry_date {
    margin-bottom: 16px;
    color: var(--secondary);
    font-size: 12px;
}

/* ---- Newest entry style ---- */
@media (min-width: 992px){
    #blog .blog_list div.new_entry a {
        padding: 0 16px;
    }
    #blog .blog_list div.new_entry .item_cover {
        display: inline-block;
        vertical-align: bottom;
        margin-left: -16px;
        margin-right: 24px;
        height: 280px;
        width: 50%;
    }
    #blog .blog_list div.new_entry .content {
        display: inline-block;
        vertical-align: bottom;
        width: 44%;
    }
}

/* ---- Pagination ---- */
.blog_pagination .blog-pagination__link {
    display: inline-block;
    margin: 0 4px;
    width: 40px;
    height: 40px;
    padding: 8px 0;
    color: var(--black);
    background-color: var(--white);
    border: 1px solid transparent;
    border-radius: 4px;
}
.blog_pagination a.blog-pagination__link:hover,
.blog_pagination a.blog-pagination__link:active {
    background-color: var(--bg_blue);
}
.blog_pagination .blog-pagination__link.blog-pagination__prev-link--disabled {
    color: var(--gray);
    cursor: not-allowed;
    background-color: transparent;
}
.blog_pagination a.blog-pagination__number-link {
    color: var(--black);
    font-size: 16px;
    font-weight: 500;
    border-color: var(--bg_blue);
    transition: 0.3s;
}
.blog_pagination a.blog-pagination__link--active,
.blog_pagination a.blog-pagination__number-link:hover,
.blog_pagination a.blog-pagination__number-link:active {
    color: var(--secondary)!important;
    background-color: var(--bg_blue);
}


/* ==========================================
 * Page: Blog entry;
 * ========================================== */
/* ---- SECTION: COVER; ---- */
#blog_entry_cover { position: relative; height: 360px; }
#blog_entry_cover p {
    position: absolute;
    bottom: 24px;
    right: 0;
    padding: 12px 36px 12px 24px;
    background-color: rgba(255,255,255,.85);
}
#blog_entry_cover p a { padding: 2px; }

#blog_entry .entry_content p { margin: 16px 0; }
#blog_entry .entry_content p:first-child { margin-top: 0; }
#blog_entry .entry_content a {
  padding: 2px;
  font-size: 16px;
  line-height: 22px;
}

/* ---- SECTION: AUTHOR CARD; ---- */
#blog_author.card {
    text-align: center;
    transition: 0s;
}
#blog_author .card-body { padding: 16px 48px; }
#blog_author.card .bg-img-cover {
    margin: 0 auto 24px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
}

/* ---- SECTION: PRODUCT CARD; ---- */
.product_card a { padding: 0; }
.product_card .card-body { position: relative; overflow: hidden; }
.product_card.type1 .card-body { padding: 32px 32px 50px 24px; }
.product_card.type2 .card-body { padding: 40px 32px 40px 24px; }
.product_card.type2 .card-body {
    background-position: right bottom;
    background-size: auto 190px;
    background-repeat: no-repeat;
}
.product_card .card-body img {
    width: 80%;
    max-width: 140px;
}
.product_card .card-body h6 {
    margin: 24px 0 16px;
    font-weight: 500;
}
.product_card .card-body p.arrow {
    position: absolute;
    margin: 0;
    color: var(--white);
}
.product_card.type1 .card-body p.arrow {
    bottom: 0;
    right: 0;
    width: 60px;
    height: 50px;
    text-align: center;
}
.product_card.type1 .card-body p.arrow i[class^='fa'] { margin-top: 14px; font-size: 20px; }
.product_card.type2 .card-body p.arrow {
    bottom: -58px;
    right: -36px;
    width: 200px;
    height: 110px;
    transform: rotate(-28deg);
    text-align: right;
}
.product_card.type2 .card-body p.arrow i[class^='fa'] {
    margin-top: 22px;
    margin-right: 55px;
    font-size: 22px;
    transform: rotate(28deg);
}

.product_card .card-body p.arrow.gold { background-color: #f0a500; }
.product_card .card-body p.arrow.green { background-color: #26b14b; }
.product_card .card-body p.arrow.aqua { background-color: #35D0BA; }

.product_card a:hover p.arrow.gold,
.product_card a:active p.arrow.gold { color: var(--white); background-color: #CE8E00; }
.product_card a:hover p.arrow.green,
.product_card a:active p.arrow.green { color: var(--white); background-color: #1FA242; }
.product_card a:hover p.arrow.aqua,
.product_card a:active p.arrow.aqua { color: var(--white); background-color: #27B29E; }

/* ---- SECTION: MORE ENTRIES CARD; ---- */
#blog_entry .card.entry_card { margin: 16px 0; padding-left: 100px; }
#blog_entry .card.entry_card .card-body { padding: 16px 8px; }
#blog_entry .card.entry_card .card-img-left {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100%;
    overflow: hidden;
}
#blog_entry .card.entry_card .card-img-left img {
    position: absolute;
    top: -5%;
    left: 50%;
    width: auto;
    min-height: 110%;
    transform: translateX(-50%);
}
#blog_entry .card.entry_card h6 { margin: 16px 0 0; font-size: 16px; }
#blog_entry .card.entry_card p { margin: 0; font-size: 14px; }

#blog_entry .card.entry_card a,
#blog_entry .card.entry_card a:visited,
#blog_entry .card.entry_card a:hover .card-text,
#blog_entry .card.entry_card a:active .card-text { color: var(--black); }

@media (max-width: 991px){
    #blog_entry .pe-5 { padding-left: 12px!important; }
    
    /* ---- Author card ---- */
    #blog_author.card {
        text-align: left;
        transition: 0s;
    }
    #blog_author.card .card-body { padding: 24px 16px 24px 110px; }
    #blog_author.card .bg-img-cover {
        position: absolute;
        top: 50%;
        left: 16px;
        width: 80px;
        height: 80px;
        transform: translateY(-50%);
    }
}


/* ==========================================
 * Page: Privacy;
 * ========================================== */
/* ---- SECTION: CARD INFO; ---- */
#priv_main .container {
    position: relative;
    top: -124px;
    margin-bottom: -124px;
}
#priv_content p { margin: 16px 0; }
#priv_content i[class^='fa'] { color: var(--main); }
#priv_content a {
    padding: 0 4px;
    font-size: 16px;
}