@charset "UTF-8";
/*
Theme Name: GenServ
Author: GoingClear Interactive
Author URI: https://www.goingclear.com/
Version: 1.0.0
Text Domain: genserv
*/
/***********************************
BASE STYLES
***********************************/
@font-face {
    font-family: 'genserv';
    src: url("fonts/genserv.eot?36001971");
    src: url("fonts/genserv.eot?36001971#iefix") format("embedded-opentype"), url("fonts/genserv.woff2?36001971") format("woff2"), url("fonts/genserv.woff?36001971") format("woff"), url("fonts/genserv.ttf?36001971") format("truetype"), url("fonts/genserv.svg?36001971#genserv") format("svg");
    font-weight: normal;
    font-style: normal;
}

[data-icon]:before {
    speak: none;
    line-height: 1;
    font-family: 'genserv';
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

[class^="icon-"]:before, [class*=" icon-"]:before {
    speak: none;
    line-height: 1;
    font-family: 'genserv';
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-instagram:before {
    content: '\e800';
}

.icon-twitch:before {
    content: '\e801';
}

.icon-twitter:before {
    content: '\e802';
}

.icon-facebook:before {
    content: '\e803';
}

.icon-reddit:before {
    content: '\e804';
}

.icon-messenger:before {
    content: '\e805';
}

.icon-tiktok:before {
    content: '\e806';
}

.icon-labor:before {
    content: '\e807';
}

.icon-mail:before {
    content: '\e808';
}

.icon-megaphone:before {
    content: '\e809';
}

.icon-off-eye:before {
    content: '\e80a';
}

.icon-people:before {
    content: '\e80b';
}

.icon-phone:before {
    content: '\e80c';
}

.icon-project:before {
    content: '\e80d';
}

.icon-properties:before {
    content: '\e80e';
}

.icon-quotation:before {
    content: '\e80f';
}

.icon-search:before {
    content: '\e810';
}

.icon-settings:before {
    content: '\e811';
}

.icon-show-eye:before {
    content: '\e812';
}

.icon-tools:before {
    content: '\e813';
}

.icon-truck:before {
    content: '\e814';
}

.icon-address:before {
    content: '\e815';
}

.icon-arrow-down:before {
    content: '\e816';
}

.icon-arrow-left:before {
    content: '\e817';
}

.icon-arrow-up:before {
    content: '\e818';
}

.icon-close:before {
    content: '\e819';
}

.icon-arrow-right:before {
    content: '\e81a';
}

.icon-linkedin:before {
    content: '\f0e1';
}

.icon-youtube:before {
    content: '\f16a';
}

.icon-vkontakte:before {
    content: '\f189';
}

.icon-qq:before {
    content: '\f1d6';
}

.icon-wechat:before {
    content: '\f1d7';
}

.icon-pinterest:before {
    content: '\f231';
}

.icon-whatsapp:before {
    content: '\f232';
}

.icon-snapchat:before {
    content: '\f2ac';
}

.icon-quora:before {
    content: '\f2c4';
}

.icon-telegram:before {
    content: '\f2c6';
}

.icon-sina:before {
    content: '\f33f';
}

*:not(ul):not(ol) {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body, div, span, img, a, p, h1, h2, h3,
h4, h5, h6, option, legend, label,
table, th, td, tr, article, aside,
caption, figure, footer, header, hgroup,
mark, nav, section, time, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
}

table {
    border-collapse: collapse;
}

html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
}

body {
    margin: 0;
    width: 100%;
    height: 100%;
    color: #000000;
    background: #F8FAFA;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font: 400 18px/26px neue-haas-grotesk-text, sans-serif;
}

.body {
    font: 400 18px/26px neue-haas-grotesk-text, sans-serif;
}

h1, .h1 {
    font-size: 112px;
    line-height: 122px;
}

h1.md, .h1.md {
    font-size: 82px;
    line-height: 92px;
}

h2, .h2 {
    font-size: 48px;
    line-height: 55px;
}

h3, .h3 {
    font-size: 36px;
    line-height: 44px;
}

h4, .h4 {
    font-size: 30px;
    line-height: 40px;
}

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

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

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    color: #001B74;
    font-weight: 700;
    font-family: neue-haas-grotesk-display, sans-serif;
}

a:hover, a:focus, button:hover, button:focus {
    outline: 0;
    text-decoration: none;
}

p {
    margin: 0 0 35px;
}

hr {
    margin: 0;
    padding: 0;
    height: 1px;
    border-color: #5AC7FA;
}

section {
    padding: 50px 0;
}

input[type="text"]:not(.select2-input),
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="password"],
input[type="file"],
select, textarea {
    width: 100% !important;
    color: #393434 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    box-shadow: none !important;
    line-height: 24px !important;
    background: #F2F3F4 !important;
    padding: 13px 16px !important;
    transition: all 0.3s ease;
    border: 1px solid #DADAE0 !important;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    font-family: neue-haas-grotesk-display, sans-serif;
    -moz-transform: translate3d(0, 0, 0);
}

input[type="text"]:not(.select2-input)::-webkit-input-placeholder,
input[type="number"]::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder,
input[type="tel"]::-webkit-input-placeholder,
input[type="search"]::-webkit-input-placeholder,
input[type="password"]::-webkit-input-placeholder,
input[type="file"]::-webkit-input-placeholder,
select::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    color: #393434;
    font-size: 16px;
    font-weight: 400;
}

input[type="text"]:not(.select2-input)::-moz-placeholder,
input[type="number"]::-moz-placeholder,
input[type="email"]::-moz-placeholder,
input[type="tel"]::-moz-placeholder,
input[type="search"]::-moz-placeholder,
input[type="password"]::-moz-placeholder,
input[type="file"]::-moz-placeholder,
select::-moz-placeholder, textarea::-moz-placeholder {
    color: #393434;
    font-size: 16px;
    font-weight: 400;
}

input[type="text"]:not(.select2-input):-ms-input-placeholder,
input[type="number"]:-ms-input-placeholder,
input[type="email"]:-ms-input-placeholder,
input[type="tel"]:-ms-input-placeholder,
input[type="search"]:-ms-input-placeholder,
input[type="password"]:-ms-input-placeholder,
input[type="file"]:-ms-input-placeholder,
select:-ms-input-placeholder, textarea:-ms-input-placeholder {
    color: #393434;
    font-size: 16px;
    font-weight: 400;
}

input[type="text"]:not(.select2-input):-moz-placeholder,
input[type="number"]:-moz-placeholder,
input[type="email"]:-moz-placeholder,
input[type="tel"]:-moz-placeholder,
input[type="search"]:-moz-placeholder,
input[type="password"]:-moz-placeholder,
input[type="file"]:-moz-placeholder,
select:-moz-placeholder, textarea:-moz-placeholder {
    color: #393434;
    font-size: 16px;
    font-weight: 400;
}

input[type="text"]:not(.select2-input):hover, input[type="text"]:not(.select2-input):focus,
input[type="number"]:hover,
input[type="number"]:focus,
input[type="email"]:hover,
input[type="email"]:focus,
input[type="tel"]:hover,
input[type="tel"]:focus,
input[type="search"]:hover,
input[type="search"]:focus,
input[type="password"]:hover,
input[type="password"]:focus,
input[type="file"]:hover,
input[type="file"]:focus,
select:hover,
select:focus, textarea:hover, textarea:focus {
    outline: 0;
}

textarea {
    border-radius: 30px !important;
}

.btn {
    outline: 0;
    color: #001B74;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    border-radius: 0;
    box-shadow: none;
    border: 3px solid #DD3310;
    padding: 10.9px 16.8px;
    font-family: neue-haas-grotesk-display, sans-serif;
    text-transform: uppercase;
    transition: all 0.3s;
    letter-spacing: 0.8px;
}

.btn:hover, .btn:focus, .btn:active {
    outline: 0;
    color: #FFFFFF;
    box-shadow: none;
    background: #DD3310;
}

.btn.white-btn {
    color: #FFFFFF;
    border: 3px solid #FFFFFF;
}

.btn.white-btn:hover, .btn.white-btn:focus, .btn.white-btn:active {
    color: #001B74;
    background: #FFFFFF;
}

.btn.dark-border {
    color: #FFFFFF;
    border: 3px solid #DD3310;
}

.btn.dark-border:hover, .btn.dark-border:focus, .btn.dark-border:active {
    color: #001B74;
    background: #DD3310;
}

.entry-title .red {
    color: #DD3310;
}

.entry-title .darkWhite {
    color: #DD3310;
}

.entry-title .sub-title {
    display: block;
}

.entry-title p {
    margin: 0;
}

.container {
    width: 100%;
    max-width: 1180px;
    backface-visibility: hidden;
}

.container-fluid {
    padding-left: 40px;
    padding-right: 40px;
    backface-visibility: hidden;
}

.lr-10 {
    margin-left: -10px;
    margin-right: -10px;
}

.lr-10 > [class*="col"] {
    padding-left: 10px;
    padding-right: 10px;
}

.coverbg {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover !important;
}

.mx-auto {
    margin: 0 auto;
}

.align-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.align-center:before, .align-center:after {
    content: none;
}

.align-center-h {
    display: flex;
    justify-content: center;
}

.align-center-h:before, .align-center-h:after {
    content: none;
}

.align-center-v {
    height: 100%;
    display: flex;
    align-items: center;
}

.align-center-v:before, .align-center-v:after {
    content: none;
}

.justify-content-center {
    justify-content: center !important;
    display: flex;
    flex-wrap: wrap;
}

.justify-content-center:before, .justify-content-center:after {
    content: none;
}

.eq-height {
    display: -moz-flexbox;
    display: -o-flexbox;
    display: flex;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
}

.eq-height:before, .eq-height:after {
    content: none;
}

.list-inline {
    margin-left: -5px;
    margin-right: -5px;
}

.list-inline li {
    padding-left: 5px;
    padding-right: 5px;
    display: inline-block;
}

.blankSpace {
    top: -70px !important;
    display: block !important;
    position: relative !important;
    visibility: hidden !important;
}

.fluid {
    max-width: 100% !important;
}

.fluid br {
    display: none;
}

.fluid h1, .fluid h2, .fluid h3, .fluid h4, .fluid h5, .fluid h6,
.fluid .h1, .fluid .h2, .fluid .h3, .fluid .h4, .fluid .h5, .fluid .h6, .fluid p,
.fluid .entry-title, .fluid .description {
    max-width: 100% !important;
}

.img-fluid {
    max-width: 100%;
    height: auto;
}

.page-header {
    top: 0;
    right: 0;
    z-index: -1;
    height: 730px;
    max-width: 1083px;
    overflow: hidden;
    position: absolute;
}

.page-header.filter-none img {
    filter: inherit;
}

.page-header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(100%);
}

.page-header:before {
    left: 0;
    bottom: 0;
    z-index: 1;
    width: 100%;
    content: "";
    height: 100%;
    position: absolute;
    background-image: url(images/page-header-overly.png);
}

.mfp-move-from-top {
    transition: initial;
    /* start state */
    /* animate in */
    /* animate out */
}

.mfp-move-from-top.mfp-bg {
    opacity: 0.9 !important;
    background-color: #001B74;
}

.mfp-move-from-top .mfp-container {
    padding: 0;
}

.mfp-move-from-top .mfp-container .mfp-content {
    height: 100%;
    vertical-align: middle;
}

.mfp-move-from-top .mfp-with-anim {
    opacity: 0;
    transition: all 0.5s;
    transform: translateY(300px);
}

.mfp-move-from-top.mfp-bg {
    opacity: 0;
    transition: all 0.5s;
}

.mfp-move-from-top.mfp-ready .mfp-with-anim {
    opacity: 1;
    transform: translateY(0);
}

.mfp-move-from-top.mfp-ready.mfp-bg {
    opacity: 0.8;
}

.mfp-move-from-top.mfp-removing .mfp-with-anim {
    transform: translateY(100px);
    opacity: 0;
}

.mfp-move-from-top.mfp-removing.mfp-bg {
    opacity: 0;
}

.mfp-move-from-top .mfp-container {
    right: 0;
    width: 100%;
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.mfp-move-from-top .mfp-container .mfp-content {
    height: auto;
    padding: 0 15px;
}

.mfp-move-from-top .mfp-container .mfp-content .mfp-figure:after {
    box-shadow: none;
    background: transparent;
}

.mfp-move-from-top .mfp-container .mfp-content .mfp-figure figure {
    max-width: 980px;
    /*max-height: 540px;*/
    overflow: hidden;
}

.mfp-move-from-top .mfp-container .mfp-content .mfp-figure figure .mfp-img {
    width: 100%;
    height: 100%;
    padding: 0px;
    object-fit: cover;
}

.mfp-move-from-top .mfp-container .mfp-content .mfp-figure .mfp-close {
    color: #FFFFFF;
    font-size: 20px;
    cursor: pointer;
    line-height: 20px;
    opacity: 1 !important;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.mfp-move-from-top .mfp-container .mfp-content .mfp-figure .mfp-close span {
    font-size: 13px;
    margin-left: 7px;
    vertical-align: 1px;
    display: inline-block;
}

.mfp-move-from-top .mfp-container .mfp-content .mfp-figure .mfp-close:hover, .mfp-move-from-top .mfp-container .mfp-content .mfp-figure .mfp-close:focus {
    color: #e6e5e5;
}

.mfp-move-from-top .mfp-container .mfp-content .mfp-figure .mfp-bottom-bar {
    display: none;
}

.mfp-move-from-top .mfp-container .mfp-arrow {
    opacity: 1;
    width: 68px;
    height: 68px;
    font-size: 18px;
    overflow: hidden;
    background: #FFFFFF;
    margin-top: -34px;
    border-radius: 500px;
}

.mfp-move-from-top .mfp-container .mfp-arrow:hover {
    background: #DD3310;
}

.mfp-move-from-top .mfp-container .mfp-arrow:before {
    border: 0;
    opacity: 1;
    color: #000000;
    font-size: 13px;
    line-height: 5px;
    text-indent: -5px;
    font-family: "genserv";
    transition: all 0.3s;
}

.mfp-move-from-top .mfp-container .mfp-arrow:after {
    content: none;
}

.mfp-move-from-top .mfp-container .mfp-arrow.mfp-arrow-left {
    margin-left: 15px;
}

.mfp-move-from-top .mfp-container .mfp-arrow.mfp-arrow-left:before {
    content: "";
}

.mfp-move-from-top .mfp-container .mfp-arrow.mfp-arrow-left:hover:before {
    color: #FFFFFF;
}

.mfp-move-from-top .mfp-container .mfp-arrow.mfp-arrow-right {
    margin-right: 15px;
}

.mfp-move-from-top .mfp-container .mfp-arrow.mfp-arrow-right:before {
    content: "";
    text-indent: -15px;
}

.mfp-move-from-top .mfp-container .mfp-arrow.mfp-arrow-right:hover:before {
    color: #FFFFFF;
}

.mfp-move-from-top .mfp-container .mfp-bottom-bar {
    margin-top: -20px;
}

.mfp-move-from-top .mfp-container .mfp-bottom-bar .mfp-title {
    color: #001B74;
}

.mfp-move-from-top .mfp-container .mfp-bottom-bar .mfp-counter {
    color: #001B74;
}

.mfp-move-from-top .mfp-close.icon-close {
    color: #FFFFFF;
    font-size: 20px;
    cursor: pointer;
    line-height: 20px;
    opacity: 1 !important;
    text-transform: uppercase;
}

.mfp-move-from-top .mfp-iframe-scaler {
    overflow: inherit;
    vertical-align: middle;
}

.mfp-move-from-top .mfp-iframe-scaler .mfp-iframe {
    padding: 0;
    margin: 0;
    background: #FFFFFF;
}

.mfp-move-from-top .mfp-iframe-scaler .mfp-close {
    opacity: 1 !important;
    color: #FFFFFF;
    font-size: 35px;
    cursor: pointer;
    line-height: 20px;
    text-transform: uppercase;
    font-family: 'genserv';
    transition: all 0.3s ease;
}

.mfp-move-from-top .mfp-iframe-scaler .mfp-close:hover, .mfp-move-from-top .mfp-iframe-scaler .mfp-close:focus {
    color: #e6e5e5;
}

.pattern-box {
    background: url(images/pattern.png);
}

/***********************************
HEADER STYLES
***********************************/
.scroll-down .header {
    transform: translate3d(0, -100%, 0);
}

.header {
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1030;
    position: fixed;
    background: #FFFFFF;
    transition: transform 0.5s ease;
    box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.04);
}

.header .navbar {
    padding: 0;
}

.header .navbar .container {
    padding-left: 15px;
    padding-right: 15px;
}

.header .navbar .navbar-header .logo .navbar-brand {
    margin: 0;
    padding: 0;
    max-width: 164px;
}

.header .navbar .navbar-header .logo .navbar-brand img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.header .navbar .navbar-collapse {
    flex-grow: initial;
    margin-right: calc(-100vw / 2 + 100% / 2);
}

.header .navbar .navbar-collapse .navbar-nav li {
    padding: 17px 30px;
    border-left: 1px solid #F2F4F4;
}

.header .navbar .navbar-collapse .navbar-nav li a {
    color: #001B74;
    display: inline;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    font-family: neue-haas-grotesk-display, sans-serif;
    letter-spacing: 0.4px;
    transition: all 0.3s ease;
}

.header .navbar .navbar-collapse .navbar-nav li a:hover, .header .navbar .navbar-collapse .navbar-nav li a:focus {
    color: #DD3310;
}

.header .navbar .navbar-collapse .navbar-nav.navbar-right {
    flex-wrap: nowrap;
    white-space: nowrap;
}

.header .navbar .navbar-collapse .navbar-nav.navbar-right li {
    margin: 0;
    padding: 0;
    border-left: 1px solid #E1E6EA;
}

.header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search {
    padding: 0;
    border-left: 0;
    background: #F2F3F4;
}

.header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap {
    z-index: 1;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
}

.header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-toggle {
    width: 60px;
    height: 100%;
    border: none;
    font-size: 24px;
    line-height: 60px;
    background-color: #F2F3F4;
    transition: all 0.3s ease;
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
}

.header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-toggle i.icon-search.icon-search {
    transition: all 0.3s ease;
}

.header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-toggle:hover {
    color: #FFFFFF;
    background: #001B74;
}

.header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-box {
    width: 20.938vw;
    min-width: 322px;
    position: relative;
}

.header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-box .search-input {
    border: none !important;
    font-size: 16px !important;
    line-height: 24px !important;
    padding: 18px 21px !important;
    padding-right: 70px !important;
    background: transparent !important;
}

.header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-box .search-submit {
    top: 0;
    right: 0;
    z-index: 2;
    width: 60px;
    height: 100%;
    border: none;
    color: #000000;
    font-size: 18px;
    line-height: 60px;
    text-align: center;
    position: absolute;
    background-color: #FFFFFF;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-box .search-submit:hover {
    color: #FFFFFF;
    background: #001B74;
}

.header .navbar .navbar-collapse .navbar-nav.navbar-right li.mobile-navbar-toggler {
    border-left: 0;
    margin-left: 30px;
    background: #DD3310;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header .social-media a {
    color: #DD3310;
}

.header .social-media a:hover {
    color: #001B74;
}

.header_gutter {
    height: 60px;
}

.navbar-toggle {
    margin: 0;
    border: 0;
    width: 55px;
    display: block;
    border-radius: 0;
    overflow: inherit;
    padding: 10px 15px;
    background: transparent;
}

.navbar-toggle:hover .icon-bar:nth-child(1) {
    transform: translateY(-2px);
}

.navbar-toggle:hover .icon-bar:nth-child(3) {
    transform: translateY(2px);
}

.navbar-toggle:hover:before, .navbar-toggle:focus:before {
    opacity: 1;
    transform: translateX(0);
}

.navbar-toggle.in .icon-bar {
    transition: transform 150ms linear 150ms;
}

.navbar-toggle.in .icon-bar:nth-child(1) {
    transform: translateY(12px) rotate(45deg);
}

.navbar-toggle.in .icon-bar:nth-child(2) {
    opacity: 0;
}

.navbar-toggle.in .icon-bar:nth-child(3) {
    transform: translateY(-12px) rotate(-45deg);
}

.navbar-toggle .icon-bar {
    width: 100%;
    height: 6px;
    display: block;
    border-radius: 0;
    background-color: #FFFFFF;
    transition: transform 150ms linear 150ms;
}

.navbar-toggle .icon-bar:not(:last-child) {
    margin-bottom: 6px;
}

.sidr {
    top: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 999999;
    position: fixed;
    max-width: 300px;
    overflow-y: auto;
    background: #FFFFFF;
    overflow-x: hidden;
    padding: 15px 20px 30px;
    box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
}

.sidr.right {
    left: auto;
    right: -100%;
}

.sidr.left {
    left: -100%;
    right: auto;
}

.sidr .sidr-inner .mobile-header {
    display: block !important;
}

.sidr .sidr-inner .mobile-header .navbar-header {
    width: 100%;
    float: none;
    line-height: 0;
    margin-bottom: 30px;
}

.sidr .sidr-inner .mobile-header .navbar-header .navbar-brand {
    max-width: 150px;
}

.sidr .sidr-inner .mobile-header .navbar-header .navbar-toggle {
    padding: 12px;
    cursor: pointer;
}

.sidr .sidr-inner .mobile-header .navbar-header .navbar-toggle .icon-bar {
    background: #DD3310;
}

.sidr .sidr-inner .mobile-header .navigation .navbar-nav > li {
    padding-bottom: 15px;
}

.sidr .sidr-inner .mobile-header .navigation .navbar-nav > li:last-child {
    padding-bottom: 0;
}

.sidr .sidr-inner .mobile-header .navigation .navbar-nav > li > a {
    color: #001B74;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    font-family: neue-haas-grotesk-display, sans-serif;
    transition: all 0.3s ease;
}

.sidr .sidr-inner .mobile-header .navigation .navbar-nav > li > a:before, .sidr .sidr-inner .mobile-header .navigation .navbar-nav > li > a:after {
    display: none;
}

.sidr .sidr-inner .mobile-header .navigation .navbar-nav > li.active > a, .sidr .sidr-inner .mobile-header .navigation .navbar-nav > li:hover > a, .sidr .sidr-inner .mobile-header .navigation .navbar-nav > li:focus > a {
    color: #DD3310;
}

.sidr .sidr-inner .mobile-header .navigation .social-media a {
    color: #DD3310;
}

.sidr .sidr-inner .mobile-header .navigation .social-media a:hover {
    color: #001B74;
}

/***********************************
BREADCRUMB STYLES
***********************************/
.breadcrumb-wrapper {
    padding: 0;
    background: transparent;
}

.breadcrumb {
    border: 0;
    margin: 0;
    z-index: 2;
    margin-top: 12px;
    font-size: 14px;
    font-weight: 700;
    border-radius: 0;
    padding: 0 0 10px;
    line-height: 24px;
    position: relative;
    vertical-align: middle;
    background: transparent;
    text-transform: uppercase;
    border-bottom: 1px solid #000000;
    letter-spacing: 1.05px;
}

.breadcrumb span.angle-right {
    padding-left: 5px;
    padding-right: 5px;
    vertical-align: middle;
}

.breadcrumb .current-page {
    color: #DD3310 !important;
    text-decoration: none !important;
}

.breadcrumb a {
    color: #001B74;
    vertical-align: middle;
    transition: all 0.3s ease;
}

.breadcrumb a:hover, .breadcrumb a:focus {
    text-decoration: underline;
}

/*************************
COMING SOON
/***********************/
.coming-soon {
    z-index: 1;
    width: 100%;
    display: grid;
    min-height: 100%;
    padding: 44px 73px;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    font: 400 21px/30px "europa", sans-serif;
}

.coming-soon:before {
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    opacity: 0.3;
    height: 100%;
    background: #000000;
    position: absolute;
}

.coming-soon .container {
    max-width: 100%;
    position: relative;
    display: table-cell;
    vertical-align: middle;
}

.coming-soon .button {
    z-index: 1;
    width: 100%;
    position: relative;
    text-align: right;
    margin-bottom: 20px;
}

.coming-soon .button a {
    line-height: 0;
    border-radius: 5px;
    background: #FFFFFF;
    padding: 8.15px 14px;
    display: inline-block;
    text-decoration: none;
    transition: all 0.5s ease;
}

.coming-soon .button a:hover, .coming-soon .button a:focus {
    background: #e6e5e5;
}

.coming-soon .content {
    text-align: center;
}

.coming-soon .content .logo {
    margin-bottom: 20px;
}

.coming-soon .content .title {
    color: #FFFFFF;
    font-size: 84px;
    font-weight: 400;
    line-height: 94px;
    font-family: "adobe-garamond-pro", serif;
    margin-bottom: 15px;
    letter-spacing: -1.26px;
}

.coming-soon .content p {
    color: #FFFFFF;
}

/***********************************
CONTACT STYLES
***********************************/
.contact-page {
    padding: 80px 0px 130px;
}

.contact-page .entry-title .sub-title {
    margin-bottom: 14px;
    letter-spacing: 1.35px;
}

.contact-page .entry-title .title {
    margin-bottom: 5px;
    letter-spacing: -1.68px;
}

.contact-page .entry-title p + p {
    margin-top: 10px;
}

.contact-page .entry-title .quick-contact {
    margin-top: 40px;
    max-width: 324px;
}

.contact-page .entry-title .quick-contact li {
    margin-bottom: 30px;
    display: flex;
    align-items: top;
}

.contact-page .entry-title .quick-contact li:last-child {
    margin-bottom: 0;
}

.contact-page .entry-title .quick-contact li .icon {
    color: #DD3310;
    font-size: 24px;
    margin-right: 10px;
}

.contact-page .entry-title .quick-contact li .text {
    max-width: 420px;
}

.contact-page .entry-title .quick-contact li .text a {
    color: #001B74;
    font-size: 24px;
    line-height: 34px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.contact-page .entry-title .quick-contact li .text a:hover, .contact-page .entry-title .quick-contact li .text a:focus {
    color: #DD3310;
    text-decoration: underline;
}

.contact-form {
    background: #FFFFFF;
    padding: 38px 30px;
    filter: drop-shadow(0px 66px 44px rgba(0, 0, 0, 0.16));
}

.contact-form .title {
    color: #DD3310;
    margin-bottom: 2px;
}

.contact-form p {
    font-size: 24px;
    color: #001B74;
    font-weight: 400;
    line-height: 36px;
    margin-bottom: 15px;
    font-family: neue-haas-grotesk-display, sans-serif;
}

.contact-form .media {
    margin-top: 15px;
}

.contact-form.service-contact .title {
    margin-bottom: 8px;
}

.contact-form.service-contact p {
    font-size: 18px;
    line-height: 30px;
}

.buildings .container {
    position: relative;
}

.buildings .container .media {
    z-index: -1;
    bottom: -65px;
    right: -500px;
    max-width: 1680px;
    position: absolute;
}

.buildings .container .media img {
    width: 100%;
    height: 100%;
    opacity: 0.04;
    object-fit: cover;
}

.gform_confirmation_wrapper .gform_confirmation_message {
    font-size: 16px;
    line-height: 20px;
    position: relative;
    padding-left: 25px;
}

.gform_confirmation_wrapper .gform_confirmation_message:before {
    left: 0;
    color: #001B74;
    content: '✔';
    position: absolute;
    padding-right: 10px;
}

.gform_wrapper .gform_validation_errors {
    border: 0 !important;
    padding: 0 !important;
    margin: 0 0 20px !important;
    box-shadow: none !important;
    padding-left: 35px !important;
    background: transparent !important;
}

.gform_wrapper .gform_validation_errors .gform_submission_error .gform-icon {
    left: 0;
}

.gform_wrapper form .gform_body .gform_fields .gfield.hidden_label .gfield_label {
    display: none;
}

.gform_wrapper form .gform_body .gform_fields .gfield .gfield_label, .gform_wrapper form .gform_body .gform_fields .gfield span label {
    display: block;
    font-size: 16px;
    font-weight: 400;
    color: #393434;
    line-height: 20px;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.gform_wrapper form .gform_body .gform_fields .gfield .gfield_label .gfield_required, .gform_wrapper form .gform_body .gform_fields .gfield span label .gfield_required {
    display: none;
}

.gform_wrapper form .gform_body .gform_fields .gfield .ginput_container {
    display: block;
}

.gform_wrapper form .gform_body .gform_fields .gfield .ginput_container .name_first, .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container .name_last {
    margin: 0;
    width: 100%;
    display: block;
    padding: 0 !important;
}

.gform_wrapper form .gform_body .gform_fields .gfield .ginput_container .name_last {
    margin-top: 15px;
}

.gform_wrapper form .gform_body .gform_fields .gfield .ginput_container.ginput_container_textarea {
    line-height: 0;
}

.gform_wrapper form .gform_body .gform_fields .gfield .ginput_container.ginput_container_textarea .textarea {
    height: 140px !important;
    border-radius: 0 !important;
}

.gform_wrapper form .gform_body .gform_fields .gfield .validation_message {
    border: 0;
    padding: 0;
    margin: 5px 0 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    background: transparent;
}

.gform_wrapper form .gform_footer {
    padding: 0 !important;
    margin: 15px 0 0 !important;
}

.gform_wrapper form .gform_footer .btn {
    width: 100%;
    color: #FFFFFF;
    background: #DD3310;
    padding: 25px 15px;
    margin: 0 !important;
    letter-spacing: 0.8px;
    box-shadow: 0px 34px 16px rgba(0, 0, 0, 0.16);
}

.gform_wrapper form .gform_footer .btn:hover, .gform_wrapper form .gform_footer .btn:focus {
    color: #FFFFFF;
    background: #001B74;
    border-color: #001B74;
}

.gform_wrapper form .gform_footer .gform_ajax_spinner {
    display: none;
}

/***********************************
SERVICE PAGE
***********************************/
.service-page {
    padding: 70px 0;
}

.service-page .minus {
    margin-bottom: -20px;
}

.service-page .entry-title {
    max-width: 1025px;
}

.service-page .entry-title .sub-title {
    margin-bottom: 10px;
    letter-spacing: 2.25px;
}

.service-page .entry-title .title {
    margin-bottom: 5px;
}

.service-page .entry-title p {
    font-size: 24px;
    max-width: 910px;
    line-height: 36px;
    margin-bottom: 30px;
}

.service-item {
    width: 100%;
    padding: 30px;
    min-height: 320px;
    background: #FFFFFF;
    margin-bottom: 20px;
    height: calc(100% - 20px);
    box-shadow: 0px 44px 24px rgba(0, 0, 0, 0.08);
}

.service-item.mini-description {
    min-height: 220px;
    padding: 25px 30px;
}

.service-item.mini-description .icon i {
    font-size: 33px;
}

.service-item.mini-description .icon.image img {
    max-width: 33px;
}

.service-item.mini-description .text .title {
    margin-bottom: 5px;
}

.service-item.mini-description .text p {
    font-size: 16px;
    line-height: 22px;
}

.service-item.mini-description .text i {
    margin-top: 15px;
}

.service-item .icon i {
    font-size: 50px;
    color: #DD3310;
}

.service-item .icon.image img {
    max-width: 50px;
}

.service-item .text {
    padding-top: 15px;
}

.service-item .text .title {
    margin-bottom: 10px;
    transition: all 0.3s ease;
}

.service-item .text p {
    color: #000000;
}

.service-item .text i {
    color: #DD3310;
    display: block;
    font-size: 12px;
    margin-top: 20px;
    transition: all 0.3s ease;
}

.service-item:hover .icon, .service-item:focus .icon {
    animation: shake .5s forwards;
}

.service-item:hover .title, .service-item:focus .title {
    color: #DD3310;
}

.service-item:hover i, .service-item:focus i {
    transform: translateX(20px);
}

.service-detail-page {
    padding: 80px 0 100px;
}

.service-detail-page .entry-content .title {
    margin-bottom: 5px;
}

.service-detail .entry-content .sub-title {
    color: #DD3310;
    letter-spacing: 1.35px;
}

.service-detail .entry-content p {
    font-size: 24px;
    line-height: 36px;
}

.service-detail .entry-content p p + {
    margin-top: 10px;
}

.service-detail .entry-content ul {
    margin: 0;
    padding: 0;
    line-height: 0;
    list-style: none;
    margin-top: 20px;
}

.service-detail .entry-content ul li {
    font-size: 24px;
    line-height: 36px;
    padding-left: 40px;
    margin-bottom: 10px;
    position: relative;
}

.service-detail .entry-content ul li:last-child {
    margin-bottom: 0;
}

.service-detail .entry-content ul li:before {
    left: 0;
    color: #DD3310;
    content: "";
    font-size: 12px;
    position: absolute;
    font-family: 'genserv';
}

.service-detail .entry-content ul li ul {
    margin-top: 15px;
    margin-bottom: 20px;
}

.contracting-work {
    margin-bottom: 85px;
}

.contracting-work .minus {
    margin-bottom: -20px;
}

.contracting-work .entry-title {
    margin-bottom: 40px;
}

.work-item {
    overflow: hidden;
    position: relative;
    margin-bottom: 20px;
    height: calc(100% - 20px);
}

.work-item:hover .media img {
    transform: scale(1.3);
}

.work-item .link {
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    position: absolute;
}

.work-item .media {
    width: 100%;
    height: 100%;
}

.work-item .media a {
    width: 100%;
    height: 100%;
}

.work-item .media a:after {
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #000 100%);
}

.work-item .media img {
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    transition: all 0.3s ease;
}

.work-item .text {
    top: 0;
    left: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    display: flex;
    padding: 20px;
    position: absolute;
    align-items: flex-start;
    flex-direction: column;
    justify-content: space-between;
}

.work-item .text .top .categories {
    font-size: 0;
    line-height: 0;
    text-align: right;
    margin-left: -5px;
    margin-right: -5px;
    margin-bottom: -10px;
}

.work-item .text .top .categories li {
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 10px;
}

.work-item .text .top .categories li a {
    z-index: 2;
    color: #FFFFFF;
    display: block;
    font-size: 14px;
    padding: 5px 9.5px;
    line-height: 18px;
    position: relative;
    border-radius: 2px;
    font-family: neue-haas-grotesk-display, sans-serif;
    background: rgba(0, 0, 0, 0.4);
    transition: all 0.3s ease;
}

.work-item .text .top .categories li a:hover, .work-item .text .top .categories li a:focus {
    background: #001B74;
}

.work-item .text .bottom .title {
    z-index: 1;
    color: #FFFFFF;
    position: relative;
    position: relative;
    margin-bottom: 10px;
}

.work-item .text .bottom .btn-more {
    border: 0;
    z-index: 2;
    font-size: 14px;
    color: #5AC7FA;
    line-height: 17px;
    font-weight: 700;
    position: relative;
    font-family: neue-haas-grotesk-display, sans-serif;
    letter-spacing: 0.35px;
    transition: all 0.3s ease;
}

.work-item .text .bottom .btn-more i {
    font-size: 12px;
    margin-left: 5px;
}

.work-item .text .bottom .btn-more:hover {
    color: #DD3310;
}

/***********************************
ABOUT PAGE
***********************************/
.about-page {
    overflow: hidden;
    padding: 70px 0px 170px;
}

.about-page .container {
    position: relative;
}

.about-page .container .about-patern {
    top: -130px;
    z-index: -1;
    right: -900px;
    max-width: 1600px;
    position: absolute;
}

.about-page .entry-title {
    margin-bottom: 300px;
}

.about-page .entry-title .sub-title {
    letter-spacing: 2.25px;
}

.about-page .entry-title span {
    display: block;
}

.about-detail {
    margin-bottom: 80px;
}

.about-detail:last-child {
    margin-bottom: 0;
}

.about-detail .about-title {
    font-size: 60px;
    line-height: 70px;
    position: relative;
    padding-bottom: 14px;
}

.about-detail .about-title:before {
    left: 0;
    bottom: 0;
    width: 80px;
    content: "";
    height: 12px;
    background: #DD3310;
    position: absolute;
}

.about-detail .entry-content {
    max-width: 660px;
}

.about-detail .entry-content h1, .about-detail .entry-content .h1, .about-detail .entry-content h2, .about-detail .entry-content .h2, .about-detail .entry-content h3, .about-detail .entry-content .h3, .about-detail .entry-content h4, .about-detail .entry-content .h4, .about-detail .entry-content h5, .about-detail .entry-content .h5, .about-detail .entry-content h6, .about-detail .entry-content .h6 {
    margin-bottom: 15px;
}

.about-detail .entry-content p {
    font-size: 24px;
    margin: 0 0 30px;
    line-height: 36px;
}

.about-detail .entry-content p:last-child {
    margin: 0;
}

.about-detail .entry-content p a {
    color: #001B74;
    text-decoration: underline;
    transition: all 0.3s ease;
}

.about-detail .entry-content .btn {
    margin-bottom: 20px;
    text-decoration: none;
}

.about-detail .entry-content .btn:hover, .about-detail .entry-content .btn:focus {
    color: #FFFFFF;
}

.about-detail .entry-content a:hover, .about-detail .entry-content a:focus {
    color: #DD3310;
}

.about-detail .entry-content ul {
    list-style: none;
}

.about-detail .entry-content ul li {
    padding-left: 15px;
    position: relative;
}

.about-detail .entry-content ul li:before {
    left: 0;
    content: "•";
    position: absolute;
}

.about-detail .entry-content ul li ul {
    margin-top: 15px;
    margin-bottom: 20px;
}

.about-detail .entry-content ol {
    list-style: none;
    counter-reset: section;
}

.about-detail .entry-content ol li {
    position: relative;
}

.about-detail .entry-content ol li:before {
    counter-increment: section;
    content: counters(section, ".") ". ";
}

.about-detail .entry-content ol li ol {
    margin-left: 0;
    margin-top: 20px;
    margin-bottom: 20px;
}

.about-detail .entry-content ol li ol li {
    padding-left: 35px;
}

.about-detail .entry-content ol li ol li ol li {
    padding-left: 50px;
}

.about-detail .entry-content ul, .about-detail .entry-content ol {
    padding: revert;
    margin-bottom: 30px;
}

.about-detail .entry-content ul.list-unstyled, .about-detail .entry-content ol.list-unstyled {
    padding: 0;
    list-style: none;
}

.about-detail .entry-content ul.list-unstyled li, .about-detail .entry-content ol.list-unstyled li {
    padding-left: 0;
}

.about-detail .entry-content ul.list-unstyled li:before, .about-detail .entry-content ol.list-unstyled li:before {
    display: none;
}

.about-detail .entry-content ul li, .about-detail .entry-content ol li {
    margin-bottom: 15px;
}

.about-detail .entry-content ul li a, .about-detail .entry-content ol li a {
    color: #000000;
    text-decoration: underline;
    transition: all 0.3s ease;
}

.about-detail .entry-content ul li a:hover, .about-detail .entry-content ul li a:focus, .about-detail .entry-content ol li a:hover, .about-detail .entry-content ol li a:focus {
    color: #001B74;
}

.about-counter {
    background: #DD3310;
    padding: 155px 0;
}

.about-counter .minus {
    margin-bottom: -20px;
}

.about-counter_item {
    margin-bottom: 20px;
}

.about-counter_item .icon {
    margin-bottom: 5px;
}

.about-counter_item .icon i {
    font-size: 60px;
    line-height: 60px;
}

.about-counter_item .counter-text {
    color: #FFFFFF;
    font-size: 131px;
    font-weight: 700;
    margin-bottom: 5px;
    line-height: 131px;
    font-family: neue-haas-grotesk-display, sans-serif;
}

.about-counter_item .title {
    color: #FFFFFF;
}

.team {
    padding: 120px 0;
}

.team .entry-title {
    margin-bottom: 50px;
}

.team .entry-title.text-center .about-title.separator:before {
    right: 0;
    margin-left: auto;
    margin-right: auto;
}

.team .entry-title.text-right .about-title.separator:before {
    right: 0;
    margin-left: auto;
}

.team .entry-title .about-title {
    font-size: 60px;
    line-height: 70px;
    position: relative;
}

.team .entry-title .about-title.separator {
    padding-bottom: 14px;
}

.team .entry-title .about-title.separator:before {
    left: 0;
    bottom: 0;
    width: 80px;
    content: "";
    height: 12px;
    background: #DD3310;
    position: absolute;
}

.team .entry-title p {
    margin: 5px 0;
}

.team-detail {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #5AC7FA;
}

.team-detail:hover .media a img {
    transform: scale(1.3);
}

.team-detail:last-child {
    margin-bottom: 0;
}

.team-detail .media {
    width: 100%;
    height: 336px;
    max-width: 100%;
    overflow: hidden;
}

.team-detail .media a {
    width: 100%;
    height: 100%;
}

.team-detail .media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s ease;
}

.team-detail .entry-content {
    margin-left: 23px;
    max-width: 735px;
}

.team-detail .entry-content .content-header {
    margin-bottom: 15px;
}

.team-detail .entry-content .content-header a:any-link:hover .title {
    color: #DD3310;
}

.team-detail .entry-content .content-header .title {
    margin-bottom: 0px;
    transition: all 0.3s ease;
}

.team-detail .entry-content .content-header .sub-title {
    color: #DD3310;
    letter-spacing: 0.9px;
}

.team-detail .entry-content h1, .team-detail .entry-content .h1, .team-detail .entry-content h2, .team-detail .entry-content .h2, .team-detail .entry-content h3, .team-detail .entry-content .h3, .team-detail .entry-content h4, .team-detail .entry-content .h4, .team-detail .entry-content h5, .team-detail .entry-content .h5, .team-detail .entry-content h6, .team-detail .entry-content .h6 {
    margin-bottom: 15px;
}

.team-detail .entry-content p {
    margin: 0 0 30px;
}

.team-detail .entry-content p:last-child {
    margin: 0;
}

.team-detail .entry-content p a {
    color: #001B74;
    text-decoration: underline;
    transition: all 0.3s ease;
}

.team-detail .entry-content .btn {
    margin-bottom: 20px;
    text-decoration: none;
}

.team-detail .entry-content .btn:hover, .team-detail .entry-content .btn:focus {
    color: #FFFFFF;
}

.team-detail .entry-content a:hover, .team-detail .entry-content a:focus {
    color: #FFFFFF;
}

.team-detail .entry-content ul {
    list-style: none;
}

.team-detail .entry-content ul li {
    padding-left: 15px;
    position: relative;
}

.team-detail .entry-content ul li:before {
    left: 0;
    content: "•";
    position: absolute;
}

.team-detail .entry-content ul li ul {
    margin-top: 15px;
    margin-bottom: 20px;
}

.team-detail .entry-content ol {
    list-style: none;
    counter-reset: section;
}

.team-detail .entry-content ol li {
    position: relative;
}

.team-detail .entry-content ol li:before {
    counter-increment: section;
    content: counters(section, ".") ". ";
}

.team-detail .entry-content ol li ol {
    margin-left: 0;
    margin-top: 20px;
    margin-bottom: 20px;
}

.team-detail .entry-content ol li ol li {
    padding-left: 35px;
}

.team-detail .entry-content ol li ol li ol li {
    padding-left: 50px;
}

.team-detail .entry-content ul, .team-detail .entry-content ol {
    padding: revert;
    margin-bottom: 30px;
}

.team-detail .entry-content ul.list-unstyled, .team-detail .entry-content ol.list-unstyled {
    padding: 0;
    list-style: none;
}

.team-detail .entry-content ul.list-unstyled li, .team-detail .entry-content ol.list-unstyled li {
    padding-left: 0;
}

.team-detail .entry-content ul.list-unstyled li:before, .team-detail .entry-content ol.list-unstyled li:before {
    display: none;
}

.team-detail .entry-content ul li, .team-detail .entry-content ol li {
    margin-bottom: 15px;
}

.team-detail .entry-content ul li a, .team-detail .entry-content ol li a {
    color: #000000;
    text-decoration: underline;
    transition: all 0.3s ease;
}

.team-detail .entry-content ul li a:hover, .team-detail .entry-content ul li a:focus, .team-detail .entry-content ol li a:hover, .team-detail .entry-content ol li a:focus {
    color: #001B74;
}

/***********************************
BLOG PAGE
***********************************/
.blog-page {
    overflow: hidden;
    position: relative;
    padding: 60px 0px 120px;
}

.blog-page .minus {
    margin-bottom: -20px;
}

.blog-page .about-patern {
    top: -200px;
    z-index: -1;
    width: 100%;
    position: absolute;
}

.blog-page .about-patern img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-page .entry-title {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60px;
}

.blog-page .entry-title.text-left {
    margin-left: inherit;
}

.blog-page .entry-title.text-right {
    margin-right: inherit;
}

.blog-page .entry-title .sub-title {
    letter-spacing: 1.35px;
}

.blog-page .entry-title .title {
    letter-spacing: -1.68px;
}

.blog-page .entry-title p + p {
    margin-top: 10px;
}

.modal-triger {
    bottom: 80px;
    border: 0;
    padding: 0;
    right: 5%;
    width: 68px;
    z-index: 11;
    height: 68px;
    color: #FFFFFF;
    position: fixed;
    background: #DD3310;
    font-size: 24px;
    line-height: 24px;
    border-radius: 500px;
}

.modal-triger:hover {
    background: #001B74;
}

.modal {
    padding: 0 !important;
}

.modal.drawer {
    pointer-events: none;
    display: flex !important;
    flex-direction: row-reverse;
}

.modal.drawer * {
    pointer-events: none;
}

.modal.drawer .modal-dialog {
    flex: auto;
    margin: 0px;
    display: flex;
    max-width: 390px;
    transform: translate(25%, 0);
}

.modal.drawer .modal-dialog .modal-content {
    border: none;
}

.modal.drawer .modal-dialog .modal-content .modal-header {
    background: #062E69;
    padding: 20px 24px !important;
}

.modal.drawer .modal-dialog .modal-content .modal-header .text {
    max-width: 285px;
}

.modal.drawer .modal-dialog .modal-content .modal-header .text .modal-title {
    color: #FFFFFF;
    font-size: 72px;
    line-height: 75px;
    margin-bottom: 5px;
    font-family: baskerville-urw, serif;
}

.modal.drawer .modal-dialog .modal-content .modal-header .text p {
    color: #FFFFFF;
    font-size: 21px;
    line-height: 30px;
    font-family: "europa", sans-serif;
}

.modal.drawer .modal-dialog .modal-content .modal-header .close {
    margin: 0;
    opacity: 1;
    padding: 0;
}

.modal.drawer .modal-dialog .modal-content .modal-header .close span i {
    color: #FFFFFF;
    font-size: 20px;
}

.modal.drawer .modal-dialog .modal-content .modal-body {
    overflow: auto;
    padding: 40px 20px !important;
}

.modal.drawer .modal-dialog .modal-content .modal-body ul li {
    padding: 9px;
    display: flex;
    align-items: center;
    margin-bottom: 24px;
    border: 1px solid #5AC7FA;
    justify-content: space-between;
}

.modal.drawer .modal-dialog .modal-content .modal-body ul li:last-child {
    margin-bottom: 0;
}

.modal.drawer .modal-dialog .modal-content .modal-body ul li .text .title {
    font-family: baskerville-urw, serif;
}

.modal.drawer .modal-dialog .modal-content .modal-body ul li .icon .toggle {
    display: block;
    cursor: pointer;
    font-size: 15px;
    line-height: 10px;
    position: relative;
}

.modal.drawer .modal-dialog .modal-content .modal-body ul li .icon .toggle input {
    left: -9999px;
    position: absolute;
}

.modal.drawer .modal-dialog .modal-content .modal-body ul li .icon .toggle input:checked + i:after {
    opacity: .2;
}

.modal.drawer .modal-dialog .modal-content .modal-body ul li .icon .toggle input:checked + i:before {
    opacity: 1;
}

.modal.drawer .modal-dialog .modal-content .modal-body ul li .icon .toggle input:checked + i span {
    transform: translateX(41px);
}

.modal.drawer .modal-dialog .modal-content .modal-body ul li .icon .toggle i {
    content: '';
    width: 80px;
    height: 40px;
    position: relative;
    align-items: center;
    border-radius: 20px;
    background: #5AC7FA;
    display: inline-block;
    transition: all 0.3s ease;
}

.modal.drawer .modal-dialog .modal-content .modal-body ul li .icon .toggle i:before {
    top: 3px;
    right: 3px;
    bottom: 3px;
    opacity: .2;
    z-index: 1;
    content: '';
    width: 34px;
    height: 34px;
    display: block;
    line-height: 34px;
    text-align: center;
    position: absolute;
    border-radius: 20px;
    font-family: 'genserv';
    transition: all 0.3s ease;
}

.modal.drawer .modal-dialog .modal-content .modal-body ul li .icon .toggle i:after {
    top: 3px;
    left: 3px;
    bottom: 3px;
    opacity: 1;
    z-index: 1;
    content: '';
    opacity: 1;
    width: 34px;
    height: 34px;
    display: block;
    line-height: 34px;
    text-align: center;
    position: absolute;
    border-radius: 20px;
    font-family: 'genserv';
    transition: all 0.3s ease;
}

.modal.drawer .modal-dialog .modal-content .modal-body ul li .icon .toggle i span {
    top: 3px;
    left: 3px;
    width: 34px;
    bottom: 3px;
    height: 34px;
    display: block;
    position: absolute;
    background: #FFFFFF;
    border-radius: 20px;
    transition: all 0.3s ease;
}

.modal.drawer.show {
    pointer-events: auto;
}

.modal.drawer.show * {
    pointer-events: auto;
}

.modal.drawer.show .modal-dialog {
    transform: translate(0, 0);
}

.blog-detail-page {
    padding: 40px 0px 45px;
}

.blog-detail-page hr {
    margin-top: 60px;
}

.blog-detail-page .minus {
    margin-bottom: -20px;
}

.blog-detail-page .entry-title {
    max-width: 805px;
    margin-bottom: 35px;
}

.blog-detail-page .entry-title .title {
    margin-bottom: 5px;
}

.blog-detail-page .entry-title p + p {
    margin-top: 10px;
}

.blog-detail-page .entry-title .categories {
    font-size: 0;
    line-height: 0;
    margin-top: 20px;
    margin-left: -5px;
    margin-right: -5px;
    margin-bottom: -10px;
}

.blog-detail-page .entry-title .categories li {
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 10px;
}

.blog-detail-page .entry-title .categories li a {
    color: #FFFFFF;
    display: block;
    font-size: 14px;
    padding: 5px 9.5px;
    line-height: 18px;
    border-radius: 2px;
    font-family: neue-haas-grotesk-display, sans-serif;
    background: rgba(0, 0, 0, 0.4);
    transition: all 0.3s ease;
}

.blog-detail-page .entry-title .categories li a:hover, .blog-detail-page .entry-title .categories li a:focus {
    background: #001B74;
}

.blog-detail-page .gallery-item {
    width: 100%;
    height: 403px;
    display: block;
    overflow: hidden;
    margin-bottom: 20px;
    position: relative;
}

.blog-detail-page .gallery-item:before {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    width: 100%;
    content: "+";
    height: 100%;
    padding: 50px;
    display: flex;
    color: #FFFFFF;
    font-size: 40px;
    position: absolute;
    visibility: hidden;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.8);
    transition: .5s opacity,.5s background-color;
}

.blog-detail-page .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-detail-page .gallery-item:any-link:hover:before {
    opacity: 1;
    visibility: visible;
}

#blog-mixitup .mix {
    display: none;
}

.northwestern {
    padding-bottom: 90px;
}

.northwestern .content {
    height: 100%;
    background: #001B74;
    box-shadow: 0px 24px 36px rgba(0, 0, 0, 0.16);
}

.northwestern .content .entry-title {
    padding: 50px;
    max-width: 58.333333%;
    background: #001B74;
}

.northwestern .content .entry-title .title {
    color: #FFFFFF;
    margin-bottom: 30px;
}

.northwestern .content .entry-title .sub-title {
    color: #5AC7FA;
}

.northwestern .content .entry-title p {
    color: #FFFFFF;
    font-size: 24px;
    line-height: 32px;
    font-family: neue-haas-grotesk-display, sans-serif;
}

.northwestern .content .entry-title p + p {
    margin-top: 10px;
}

.northwestern .content .northwestern-contact {
    background: #FFFFFF;
    max-width: 41.666667%;
    padding: 46px 60px 66px;
}

.northwestern .content .northwestern-contact .media {
    padding: 46px 49px 66px 50px;
}

.northwestern .content .northwestern-contact .media img {
    min-height: 448px;
}

.northwestern .back {
    margin-top: 60px;
}

.northwestern .back .icon {
    width: 68px;
    height: 68px;
    overflow: hidden;
    background: #DD3310;
    margin-right: 20px;
    border-radius: 500px;
    filter: drop-shadow(0px 12px 22px rgba(0, 0, 0, 0.16));
}

.northwestern .back .icon i {
    color: #FFFFFF;
    font-size: 13px;
    line-height: 13px;
}

.northwestern .back .text {
    color: #000000;
}

/***********************************
HOME STYLES
***********************************/
.banner {
    z-index: 3;
    overflow: hidden;
    position: relative;
    padding: 60px 0 230px;
}

.banner:after {
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1;
    content: "";
    height: 100%;
    background: #FFFFFF;
    position: absolute;
}

.banner.background:after {
    opacity: 0.9;
    left: 0;
    bottom: 0;
    z-index: -1;
    width: 100%;
    content: "";
    height: 100%;
    position: absolute;
    background: transparent url(images/page-header-overly.png) no-repeat left center/cover;
}

.banner .container {
    position: relative;
}

.banner .container .banner-image {
    top: -40px;
    left: -200px;
    width: 1800px;
    position: absolute;
}

.banner .container .banner-image img {
    width: 100%;
    height: 100%;
}

.banner .noticebar {
    margin-bottom: 70px;
    width: 100% !important;
}

.banner .noticebar.hiddenn {
    display: none !important;
}

.banner .noticebar.hiddenn.show {
    display: none !important;
}

.banner .noticebar .content {
    padding: 8px 14px;
    background: #FFFFFF;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.08);
}

.banner .noticebar .content .text p {
    color: #001B74;
    font-size: 16px;
    line-height: 26px;
    padding-right: 20px;
}

.banner .noticebar .content .text p span {
    color: #DD3310;
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;
    position: relative;
    margin-right: 15px;
    padding-right: 15px;
    font-family: neue-haas-grotesk-display, sans-serif;
    letter-spacing: 1.05px;
}

.banner .noticebar .content .text p span:before {
    top: 0;
    right: 0;
    content: "";
    width: 1px;
    height: 18px;
    background: #DD3310;
    position: absolute;
}

.banner .noticebar .content .text p span i {
    font-size: 19px;
    margin-right: 5px;
    line-height: 19px;
}

.banner .noticebar .content .cross {
    border: 0;
    color: #DD3310;
    font-size: 14px;
    background-color: transparent;
    transition: all 0.3s ease;
}

.banner .entry-title .sub-title {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 5px;
    font-family: neue-haas-grotesk-display, sans-serif;
}

.banner .scrollDown {
    border: 0;
    margin-top: 20px;
    background: transparent;
}

.banner .scrollDown i {
    display: block;
    font-size: 54px;
    line-height: 54px;
    transition: all 0.5s ease;
}

.banner .scrollDown:hover i {
    color: #DD3310;
    transform: translateY(10px);
}

.banner .cta-box {
    margin-bottom: 20px;
    height: calc(100% - 20px);
    padding: 39px 28px 40px 37px;
}

.banner .cta-box:last-child {
    margin-bottom: 20px;
}

.banner .cta-box .text {
    max-width: 412px;
}

.banner .cta-box .text .title {
    color: #FFFFFF;
    margin-bottom: 10px;
}

.banner .cta-box .text p {
    color: #FFFFFF;
}

.banner .cta-box .text p + p {
    margin-top: 10px;
}

.banner .cta-box .text .btn {
    margin-top: 18px;
}

.banner .cta-box .icon i {
    color: #FFFFFF;
    font-size: 44px;
    line-height: 44px;
}

.ebook-genserv {
    z-index: 9;
    margin-top: -110px;
    position: relative;
    margin-bottom: 70px;
}

.ebook-genserv .content {
    padding: 20px;
    background-color: #FFFFFF;
    filter: drop-shadow(0px 22px 99px rgba(0, 0, 0, 0.16));
}

.ebook-genserv .content .entry-title {
    margin-left: 30px;
}

.ebook-genserv .content .entry-title .title {
    margin-bottom: 10px;
}

.ebook-genserv .content .entry-title p + p {
    margin-top: 5px;
}

.ebook-genserv .content .entry-title .btn {
    margin-top: 15px;
}

.ebook-genserv .content .media {
    width: 324px;
    height: 180px;
    max-width: 100%;
}

.ebook-genserv .content .media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.who-are {
    margin-bottom: 35px;
}

.who-are .entry-title {
    max-width: 715px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.who-are .entry-title .media {
    width: 68px;
    height: 78px;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px;
}

.who-are .entry-title .media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.who-are .entry-title .sub-title {
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;
    margin-bottom: 10px;
    font-family: neue-haas-grotesk-display, sans-serif;
    letter-spacing: 1.2px;
}

.who-are .entry-title .title {
    margin-bottom: 10px;
}

.who-are .entry-title p + p {
    margin-top: 5px;
}

.contracting .container {
    z-index: 1;
    position: relative;
    padding-top: 70px;
    padding-bottom: 20px;
}

.contracting .container:after {
    top: 0;
    left: 15px;
    z-index: -1;
    content: "";
    height: 100%;
    background: #DD3310;
    position: absolute;
    width: calc(100% - 215px);
}

.contracting .entry-title {
    margin-top: -14%;
    padding-left: 55px;
}

.contracting .entry-title .sub-title {
    color: #DADAE0;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    margin-bottom: 5px;
    font-family: neue-haas-grotesk-display, sans-serif;
    letter-spacing: 0.8px;
}

.contracting .entry-title .title {
    color: #FFFFFF;
    margin-bottom: 5px;
}

.contracting .entry-title p {
    color: #FFFFFF;
}

.contracting .entry-title p + p {
    margin-top: 5px;
}

.contracting .entry-title .btn {
    margin-top: 30px;
    border: 3px solid #DADAE0;
}

.contracting .viewAllBtn {
    border: none;
    padding: 0;
    font-size: 18px;
    line-height: 26px;
    margin-right: 20px;
    border-bottom: 4px solid #DD3310;
}

.contracting .viewAllBtn i {
    color: #DD3310;
    font-size: 12px;
    line-height: 12px;
    margin-left: 25px;
}

.contracting .viewAllBtn:hover, .contracting .viewAllBtn:focus {
    color: #DD3310;
    background: transparent;
}

.clients {
    overflow: hidden;
    padding: 110px 0;
}

.clients .entry-title {
    margin-bottom: 20px;
}

.clients-slider {
    overflow: hidden;
    margin-bottom: 0 !important;
    margin-right: calc(-100vw / 2 + 100% / 2) !important;
}

.clients-slider .slick-list {
    margin-left: -10px;
    margin-right: -10px;
}

.clients-slider .slick-list .slick-track {
    height: 100%;
    display: table !important;
}

.clients-slider .slick-list .slick-track .slick-slide {
    height: initial;
    padding-left: 10px;
    padding-right: 10px;
    vertical-align: top;
    float: none !important;
    display: table-cell !important;
}

.slider-controls {
    position: relative;
}

.slider-controls .slider-progress {
    width: 100%;
    height: 10px;
    border-radius: 0;
    margin-right: 24px;
    background: #FFFFFF;
    position: relative;
}

.slider-controls .slider-progress .progress {
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    border-radius: 0;
    background: #DD3310;
    position: absolute;
}

.slider-controls .slick-dots {
    margin: 0 -5px;
    line-height: 0;
    white-space: nowrap;
    text-align: initial;
    position: inherit;
}

.slider-controls .slick-dots li {
    width: 28px;
    height: 10px;
    background: #FFFFFF;
    border: 3px solid #DD3310;
    transition: all 0.3s ease;
}

.slider-controls .slick-dots li.slick-active {
    background: #DD3310;
}

.clients-item {
    margin-bottom: 40px;
    background: #FFFFFF;
    padding: 40px 83px 54px 40px;
    box-shadow: 0px 24px 24px rgba(0, 0, 0, 0.06);
}

.clients-item .icon {
    max-width: 48px;
    color: #FFFFFF;
    max-height: 34px;
    margin-right: 20px;
}

.clients-item .quote {
    overflow: hidden;
}

.clients-item .quote p {
    margin: 0;
    font-size: 18px;
    line-height: 30px;
}

.clients-item .quote .quote-footer {
    margin-top: 20px;
}

.clients-item .quote .quote-footer .media {
    width: 50px;
    height: 50px;
    overflow: hidden;
    margin-right: 10px;
    border-radius: 500px;
}

.clients-item .quote .quote-footer .media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.clients-item .quote .quote-footer .text {
    overflow: hidden;
}

.clients-item .quote .quote-footer .text .name {
    font-size: 18px;
    line-height: 24px;
}

.clients-item .quote .quote-footer .text .position {
    color: #DD3310;
    display: block;
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
    font-family: neue-haas-grotesk-display, sans-serif;
}

.home-background {
    z-index: 1;
    overflow: hidden;
    position: relative;
}

.home-background:after {
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    content: "";
    height: 100%;
    position: absolute;
    background: #001B74;
    mix-blend-mode: multiply;
}

.home-background .container {
    position: relative;
}

.home-background .container .home-background-image {
    left: -588px;
    top: -403px;
    z-index: -1;
    width: 2300px;
    position: absolute;
}

.home-background .container .home-background-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-background .call-action {
    box-shadow: none;
}

.our-work {
    padding: 90px 0 120px;
}

.our-work .container {
    padding: 80px 15px;
    position: relative;
}

.our-work .container:after {
    top: 0;
    right: 15px;
    z-index: -1;
    content: "";
    height: 100%;
    position: absolute;
    background: #001B74;
    width: calc(100% - 215px);
}

.our-work .entry-title {
    padding-left: 14px;
    margin-top: -14%;
    padding-right: 36px;
}

.our-work .entry-title .sub-title {
    color: #DADAE0;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    margin-bottom: 5px;
    font-family: neue-haas-grotesk-display, sans-serif;
    letter-spacing: 0.8px;
}

.our-work .entry-title .title {
    color: #FFFFFF;
    margin-bottom: 5px;
}

.our-work .entry-title p {
    color: #FFFFFF;
}

.our-work .entry-title p + p {
    margin-top: 5px;
}

.our-work .entry-title .btn {
    margin-top: 20px;
    margin-bottom: 20px;
    border: 3px solid #DADAE0;
}

/***********************************
FOOTER STYLES
***********************************/
.call-action {
    padding-top: 60px;
    padding-bottom: 100px;
}

.call-action .content {
    z-index: 1;
    position: relative;
    padding: 39.2px 48px;
    background-size: auto;
    background-color: #FFFFFF;
    box-shadow: 0px 36px 24px rgba(0, 0, 0, 0.05);
}

.call-action .content .entry-title {
    max-width: 680px;
    margin-right: 392px;
}

.call-action .content .entry-title .title {
    margin-bottom: 10px;
}

.call-action .content .entry-title p + p {
    margin-top: 5px;
}

.call-action .content .entry-title .btn {
    margin-top: 15px;
}

.call-action .content .media {
    right: 0;
    height: 100%;
    z-index: -1;
    max-width: 590px;
    position: absolute;
}

.call-action .content .media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.footer {
    z-index: 1;
    padding: 45px 0;
    position: relative;
    background: #FFFFFF;
}

.footer .footer-logo {
    padding-bottom: 35px;
}

.footer .footer-logo a {
    width: 80px;
    height: 98px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.footer .footer-logo a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.footer .footer-menu {
    margin-left: -10px;
    margin-right: -10px;
    margin-bottom: -5px;
    padding-bottom: 30px;
}

.footer .footer-menu li {
    padding-left: 10px;
    margin-bottom: 5px;
    padding-right: 10px;
}

.footer .footer-menu li a {
    display: block;
    color: #001B74;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
    font-family: neue-haas-grotesk-display, sans-serif;
    letter-spacing: 0.45px;
    transition: all 0.3s ease;
}

.footer .footer-menu li:hover a:any-link, .footer .footer-menu li:focus a:any-link {
    color: #DD3310;
}

.footer .search-form {
    max-width: 322px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
}

.footer .search-form .form-group {
    position: relative;
}

.footer .search-form .form-group input {
    border: 0 !important;
    padding: 9px 13px !important;
    padding-right: 45px !important;
}

.footer .search-form .form-group button {
    margin: 0;
    right: 0;
    height: 100%;
    font-weight: 700;
    font-size: 18px;
    background: #FFFFFF;
    max-width: 42px;
    min-width: 42px;
    position: absolute;
    border: 2px solid #F2F3F4;
    transition: all 0.3s ease;
}

.footer .search-form .form-group button:hover {
    color: #FFFFFF;
    background: #DD3310;
}

.footer .copyright p {
    font-size: 14px;
    color: #393434;
    line-height: 20px;
    font-family: neue-haas-grotesk-display, sans-serif;
    letter-spacing: 0.77px;
}

.footer .copyright a {
    margin: 0px 3px;
    color: #393434;
    text-decoration: underline;
    transition: all 0.3s ease;
}

.footer .copyright a:hover {
    color: #001B74;
}

/***********************************
DEFAULT STYLES
***********************************/
.default-page {
    padding: 60px 0;
}

.default-page .content h1, .default-page .content .h1, .default-page .content h2, .default-page .content .h2, .default-page .content h3, .default-page .content .h3, .default-page .content h4, .default-page .content .h4, .default-page .content h5, .default-page .content .h5, .default-page .content h6, .default-page .content .h6 {
    margin-bottom: 15px;
}

.default-page .content p {
    margin: 0 0 30px;
}

.default-page .content p:last-child {
    margin: 0;
}

.default-page .content p a {
    color: #001B74;
    font-weight: 700;
    text-decoration: underline;
    transition: all 0.3s ease;
}

.default-page .content p a:hover, .default-page .content p a:focus {
    color: #001B74;
}

.default-page .content .btn {
    margin-bottom: 20px;
}

.default-page .content a:hover, .default-page .content a:focus {
    color: #001B74;
}

.default-page .content ul {
    list-style: none;
}

.default-page .content ul li {
    padding-left: 15px;
    position: relative;
}

.default-page .content ul li:before {
    left: 0;
    content: "•";
    color: #001B74;
    position: absolute;
}

.default-page .content ul li ul {
    margin-top: 15px;
    margin-bottom: 20px;
}

.default-page .content ol {
    list-style: none;
    counter-reset: section;
}

.default-page .content ol li {
    padding-left: 20px;
    position: relative;
}

.default-page .content ol li:before {
    left: 0;
    position: absolute;
    counter-increment: section;
    content: counters(section, ".") ". ";
}

.default-page .content ol li ol {
    margin-left: 0;
    margin-top: 20px;
    margin-bottom: 20px;
}

.default-page .content ol li ol li {
    padding-left: 35px;
}

.default-page .content ol li ol li ol li {
    padding-left: 50px;
}

.default-page .content ul, .default-page .content ol {
    padding: revert;
    margin-bottom: 30px;
}

.default-page .content ul.list-unstyled, .default-page .content ol.list-unstyled {
    padding: 0;
    list-style: none;
}

.default-page .content ul.list-unstyled li, .default-page .content ol.list-unstyled li {
    padding-left: 0;
}

.default-page .content ul.list-unstyled li:before, .default-page .content ol.list-unstyled li:before {
    display: none;
}

.default-page .content ul li, .default-page .content ol li {
    margin-bottom: 15px;
}

.default-page .content blockquote {
    margin: 30px 0;
    position: relative;
    background-color: transparent;
}

.default-page .content blockquote p {
    font-style: italic;
    margin-bottom: 10px;
}

/***********************************
404 STYLES
***********************************/
.error404 .default-page {
    padding: 80px 0;
}

.error404 .default-page .error-404 .error-header {
    width: 100%;
    margin-top: 0;
    max-width: 770px;
    padding: 0 0 15px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px;
    min-height: inherit;
    background: transparent;
    border-bottom: 1px dashed #001B74;
}

.error404 .default-page .error-404 .error-header:after, .error404 .default-page .error-404 .error-header:before {
    content: none;
}

.error404 .default-page .error-404 .error-header .hero {
    margin: 0;
    color: #001B74;
    font-size: 140px;
    line-height: 150px;
}

.error404 .default-page .error-404 .error-content p {
    margin: 0;
}

.error404 .default-page .error-404 .error-content .btn {
    margin-top: 30px;
}

.goingclear {
    font-size: 9px;
    color: #999999;
    text-align: center;
    margin-top: 5px;
}

/***********************************
BASIC WORDPRESS STYLES
***********************************/
.alignleft {
    float: left;
    height: auto;
    max-width: 100%;
    display: inline;
    margin-right: 1.5em;
}

.alignright {
    height: auto;
    float: right;
    display: inline;
    max-width: 100%;
    margin-left: 1.5em;
}

.aligncenter {
    clear: both;
    height: auto;
    display: block;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.alignnone {
    height: auto;
    max-width: 100%;
    margin-bottom: 30px;
}

.gallery {
    flex-wrap: wrap;
    display: inline-flex;
    margin-left: -9px !important;
    margin-right: -9px !important;
    margin-bottom: 12px !important;
}

.gallery br {
    display: none;
}

.gallery .gallery-item {
    height: 220px;
    overflow: hidden;
    padding-left: 9px;
    padding-right: 9px;
    text-align: center;
    margin-bottom: 18px;
    vertical-align: top;
    display: inline-block;
    float: none !important;
    width: 100% !important;
    margin-top: 0 !important;
}

@media (max-width: 767px) {
    .gallery .gallery-item {
        height: 200px;
    }
}

@media (max-width: 575px) {
    .gallery .gallery-item {
        height: 180px;
    }
}

.gallery .gallery-item .gallery-icon {
    height: 100%;
    width: 100%;
}

.gallery .gallery-item a {
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
    position: relative;
}

.gallery .gallery-item a:before, .gallery .gallery-item a:after {
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    position: absolute;
}

.gallery .gallery-item a:before {
    bottom: 0;
    z-index: 1;
    opacity: 0;
    content: '';
    background: rgba(0, 0, 0, 0.8);
    transition: 0.5s opacity, 0.5s background-color;
}

.gallery .gallery-item a:after {
    top: 0;
    opacity: 0;
    content: "+";
    color: #FFFFFF;
    font-size: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translateY(10px);
    transition: .4s transform .2s,.4s opacity .2s;
}

.gallery .gallery-item a:hover:before {
    opacity: 1;
}

.gallery .gallery-item a:hover:after {
    opacity: 1;
    transform: translateY(0);
}

.gallery .gallery-item a:hover img {
    transform: scale(1.2);
}

.gallery .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 0 !important;
    transition: all 0.3s;
}

.gallery .gallery-item:nth-child(3n+1), .gallery .gallery-item:nth-child(3n+2) {
    width: 35% !important;
}

.gallery .gallery-item:nth-child(4n+2), .gallery .gallery-item:nth-child(4n+3) {
    width: 65% !important;
}

.gallery-caption {
    display: block;
}

@media only screen and (max-width: 767px) {
    .gallery .gallery-item:nth-child(3n+1), .gallery .gallery-item:nth-child(3n+2) {
        width: 40% !important;
    }
    .gallery .gallery-item:nth-child(4n+2), .gallery .gallery-item:nth-child(4n+3) {
        width: 60% !important;
    }
}

@media only screen and (max-width: 575px) {
    .gallery .gallery-item {
        width: 100% !important;
    }
}

/***********************************
BASIC TEMPLATE STYLES
***********************************/
.basic_container {
    padding: 40px 0 48px 0;
}

.basic_container .btn {
    display: flex;
    justify-content: center;
    align-content: center;
    flex-direction: column;
    text-align: center;
    text-decoration: none !important;
}

.first-section {
    padding: 50px 0;
}

.basic {
    padding: 0 0 80px;
}

.basic:first-child {
    padding-top: 50px;
}

.basic h1, .basic h2, .basic h3, .basic h4, .basic h5, .basic h6 {
    margin-bottom: 12px;
}

.basic ul {
    margin-left: 30px;
    list-style-type: disc;
}

.basic ul li {
    margin-bottom: 15px;
}

.basic ul, .basic ol {
    padding: revert;
    margin-bottom: 30px;
}

.basic ul.list-unstyled, .basic ol.list-unstyled {
    padding: 0;
    list-style: none;
}

.basic ul.list-unstyled li, .basic ol.list-unstyled li {
    padding-left: 0;
}

.basic ul.list-unstyled li:before, .basic ol.list-unstyled li:before {
    display: none;
}

.basic p:last-child {
    margin-bottom: 25px;
}

/* left */
.basic_left img {
    max-width: 100%;
    display: block;
    float: left;
}

.basic_left p {
    display: block;
    padding: 0;
}

/* middle */
.middle_box {
    padding: 0 15px;
}

.basic_middle img {
    max-width: 100%;
    display: block;
    float: none;
    margin: 0 auto 50px auto;
    max-width: 1008px;
    max-width: 100%;
}

.basic_middle h2 {
    text-align: center;
}

.basic_middle p {
    margin-bottom: 0 !important;
    margin: 10px 0;
    columns: 2;
    column-gap: 50px;
}

.basic_middle .btn {
    float: none;
    margin: 25px auto 0 auto;
}

.basic_single .btn {
    float: none;
    margin: 25px auto 0 auto;
}

/* right */
.basic_right img {
    max-width: 100%;
    display: block;
    float: right;
    margin: 0 auto;
}

.basic_right p {
    display: block;
    padding: 0;
}

.gcbase-home {
    width: 100%;
    background: #008cc6;
    background: linear-gradient(45deg, #008cc6 0%, #8ec652 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#008cc6', endColorstr='#8ec652',GradientType=1 );
}

@keyframes bounce {
    0%, 20%, 60%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-5px);
    }
    80% {
        transform: translateY(-3px);
    }
}

@keyframes shake {
    0%, 20%, 60%, 100% {
        transform: translateX(0);
    }
    40% {
        transform: translateX(-5px);
    }
    80% {
        transform: translateX(-3px);
    }
}

/* Buzz Out */
@keyframes hvr-buzz-out {
    10% {
        transform: translateX(3px) rotate(2deg);
    }
    20% {
        transform: translateX(-3px) rotate(-2deg);
    }
    30% {
        transform: translateX(3px) rotate(2deg);
    }
    40% {
        transform: translateX(-3px) rotate(-2deg);
    }
    50% {
        transform: translateX(2px) rotate(1deg);
    }
    60% {
        transform: translateX(-2px) rotate(-1deg);
    }
    70% {
        transform: translateX(2px) rotate(1deg);
    }
    80% {
        transform: translateX(-2px) rotate(-1deg);
    }
    90% {
        transform: translateX(1px) rotate(0);
    }
    100% {
        transform: translateX(-1px) rotate(0);
    }
}

@keyframes move1 {
    0% {
        transform: translate(-45%, -52%);
    }
    50% {
        transform: translate(-54%, -40%);
    }
    100% {
        transform: translate(-45%, -52%);
    }
}

@keyframes parallax {
    0% {
        transform: translateY(-20px);
    }
    100% {
        transform: translateY(20px);
    }
}

@keyframes zoom {
    100% {
        transform-origin: center center;
        transform: scale(0.412) translate(-120%, -120%);
    }
}

@keyframes rotating {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/************************ 
Media Queries
/**********************/
@media only screen and (max-width: 1460px) {
    h1, .h1 {
        font-size: 90px;
        line-height: 90px;
    }
    h1.md, .h1.md {
        font-size: 72px;
        line-height: 72px;
    }
    .banner .entry-title {
        max-width: 375px;
    }
    /***********************************
	CONTACT STYLES
	***********************************/
    .contact-page {
        padding: 80px 0px 110px;
    }
    .contact-page .entry-title .title {
        margin-bottom: 0;
        letter-spacing: -1.35px;
    }
    /***********************************
	SERVICE PAGE
	***********************************/
    .service-page {
        padding: 60px 0;
    }
    .service-detail-page {
        padding: 80px 0 90px;
    }
    /***********************************
	ABOUT PAGE
	***********************************/
    .about-page {
        padding: 70px 0px 140px;
    }
    .about-page .entry-title {
        margin-bottom: 250px;
    }
    .about-detail {
        margin-bottom: 70px;
    }
    .about-counter {
        padding: 130px 0;
    }
    .team {
        padding: 100px 0;
    }
    /***********************************
	BLOG PAGE
	***********************************/
    .blog-page {
        padding: 60px 0px 100px;
    }
    .blog-page .entry-title .title {
        letter-spacing: -1.35px;
    }
    .modal-triger {
        right: 3%;
        width: 60px;
        height: 60px;
        font-size: 22px;
        line-height: 22px;
    }
    .modal.drawer .modal-dialog .modal-content .modal-header .text .modal-title {
        font-size: 65px;
        line-height: 68px;
    }
    .northwestern {
        padding-bottom: 80px;
    }
    /***********************************
	HOME PAGE
	***********************************/
    .banner {
        padding: 60px 0 180px;
    }
    .clients {
        padding: 100px 0;
    }
    .our-work {
        padding: 90px 0 110px;
    }
}

/* 1460 */
@media only screen and (max-width: 1366px) {
    h1, .h1 {
        font-size: 60px;
        line-height: 65px;
    }
    h1.md, .h1.md {
        font-size: 60px;
        line-height: 65px;
    }
    /***********************************
	CONTACT STYLES
	***********************************/
    .contact-page {
        padding: 80px 0px 90px;
    }
    .contact-page .entry-title .title {
        margin-bottom: 0;
        letter-spacing: -0.9px;
    }
    /***********************************
	SERVICE PAGE
	***********************************/
    .service-page {
        padding: 55px 0;
    }
    .service-detail-page {
        padding: 80px 0;
    }
    .contracting-work {
        margin-bottom: 80px;
    }
    /***********************************
	ABOUT PAGE
	***********************************/
    .about-page {
        padding: 70px 0px 120px;
    }
    .about-page .entry-title {
        margin-bottom: 200px;
    }
    .about-detail {
        margin-bottom: 60px;
    }
    .about-detail .about-title {
        font-size: 50px;
        line-height: 60px;
    }
    .about-counter {
        padding: 100px 0;
    }
    .about-counter_item .icon i {
        font-size: 50px;
        line-height: 50px;
    }
    .about-counter_item .counter-text {
        font-size: 100px;
        line-height: 100px;
    }
    .team {
        padding: 80px 0;
    }
    .team .entry-title .about-title {
        font-size: 50px;
        line-height: 60px;
    }
    /***********************************
	BLOG PAGE
	***********************************/
    .blog-page {
        padding: 60px 0px 80px;
    }
    .blog-page .entry-title .title {
        letter-spacing: -0.9px;
    }
    .modal-triger {
        right: 2%;
        width: 55px;
        height: 55px;
        font-size: 20px;
        line-height: 20px;
    }
    /***********************************
	HOME PAGE
	***********************************/
    .banner .entry-title .title {
        font-size: 80px;
        line-height: 80px;
    }
    .clients {
        padding: 80px 0;
    }
    .our-work {
        padding: 90px 0 100px;
    }
    /***********************************
    FOOTER STYLES
    ***********************************/
    .call-action {
        padding-bottom: 90px;
    }
}

/* 1366 */
@media only screen and (max-width: 1199px) {
    h1, .h1 {
        font-size: 52px;
        line-height: 57px;
    }
    h1.md, .h1.md {
        font-size: 52px;
        line-height: 57px;
    }
    .btn {
        padding: 8px 14px;
    }
    .mfp-move-from-top .mfp-container .mfp-content {
        padding: 0 85px;
    }
    .mfp-move-from-top .mfp-container .mfp-arrow {
        width: 60px;
        height: 60px;
        margin-top: -30px;
    }
    .mfp-move-from-top .mfp-container .mfp-arrow:before {
        line-height: 0;
        font-size: 12px;
        margin-top: 31px;
    }
    /***********************************
	HEADER STYLES
	***********************************/
    .header .navbar .navbar-collapse .navbar-nav li {
        padding: 17px 25px;
    }
    .header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap.search-show .search-box {
        right: 0;
        top: 100%;
        opacity: 1;
        opacity: 1;
        visibility: visible;
        background: #F2F3F4;
        visibility: visible;
        box-shadow: 0px 0px 18px rgba(0, 0, 0, 0.12);
    }
    .header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap.search-show .search-toggle {
        color: #FFFFFF;
        background: #DD3310;
    }
    .header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap.search-show .search-toggle i.icon-search:before {
        content: '';
        font-family: "genserv";
    }
    .header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-box {
        top: 100%;
        opacity: 0;
        right: -100%;
        min-width: 387px;
        position: absolute;
        visibility: hidden;
        background: #f0efe7;
        transition: all 0.3s ease;
        box-shadow: 0px 0px 18px black;
    }
    .header .navbar .navbar-collapse .navbar-nav.navbar-right li.mobile-navbar-toggler {
        margin-left: 0;
    }
    /***********************************
	CONTACT STYLES
	***********************************/
    .contact-page {
        padding: 80px 0px;
    }
    .contact-page .entry-title .sub-title {
        margin-bottom: 10px;
    }
    .contact-page .entry-title .title {
        margin-bottom: 0;
        letter-spacing: -0.78px;
    }
    .contact-page .entry-title .quick-contact {
        margin-top: 30px;
    }
    .contact-form p {
        font-size: 22px;
        line-height: 34px;
    }
    /***********************************
	SERVICE PAGE
	***********************************/
    .service-page {
        padding: 50px 0;
    }
    .service-page .entry-title .sub-title {
        margin-bottom: 5px;
    }
    .service-page .entry-title p {
        margin-bottom: 25px;
    }
    .service-item {
        padding: 25px;
    }
    .service-item .text .title {
        margin-bottom: 5px;
    }
    .service-item .text i {
        margin-top: 15px;
    }
    .service-detail-page {
        padding: 70px 0;
    }
    .contracting-work {
        margin-bottom: 70px;
    }
    /***********************************
	ABOUT PAGE
	***********************************/
    .about-page {
        padding: 70px 0px 100px;
    }
    .about-page .entry-title {
        margin-bottom: 180px;
    }
    .about-detail {
        margin-bottom: 50px;
    }
    .about-detail .about-title {
        font-size: 45px;
        line-height: 55px;
    }
    .about-counter {
        padding: 80px 0;
    }
    .about-counter_item .icon i {
        font-size: 45px;
        line-height: 45px;
    }
    .about-counter_item .counter-text {
        font-size: 80px;
        line-height: 80px;
    }
    .team {
        padding: 70px 0;
    }
    .team .entry-title {
        margin-bottom: 40px;
    }
    .team .entry-title .about-title {
        font-size: 45px;
        line-height: 55px;
    }
    /***********************************
	BLOG PAGE
	***********************************/
    .blog-page {
        padding: 60px 0px;
    }
    .blog-page .entry-title .title {
        letter-spacing: -0.78px;
    }
    .modal-triger {
        font-size: 18px;
        line-height: 18px;
    }
    .modal.drawer .modal-dialog .modal-content .modal-header .text .modal-title {
        font-size: 55px;
        line-height: 58px;
    }
    .blog-detail-page hr {
        margin-top: 50px;
    }
    .northwestern {
        padding-bottom: 70px;
    }
    .northwestern .content .entry-title {
        padding: 40px;
    }
    .northwestern .content .northwestern-contact .media {
        padding: 40px 40px 25px 30px;
    }
    .northwestern .back {
        margin-top: 50px;
    }
    /***********************************
	HOME PAGE
	***********************************/
    .banner {
        padding: 60px 0 150px;
    }
    .banner .noticebar {
        margin-bottom: 60px;
    }
    .banner .entry-title .title {
        font-size: 70px;
        line-height: 75px;
    }
    .ebook-genserv {
        margin-bottom: 60px;
    }
    .contracting .container {
        padding-top: 60px;
        padding-bottom: 20px;
    }
    .contracting .entry-title {
        padding-left: 30px;
    }
    .clients {
        padding: 70px 0;
    }
    .clients-item {
        padding: 30px 54px 40px 30px;
    }
    .our-work {
        padding: 80px 0;
    }
    .our-work .container {
        padding: 65px 15px;
    }
    .our-work .entry-title {
        padding-left: 0px;
        padding-right: 0px;
    }
    /***********************************
    FOOTER STYLES
    ***********************************/
    .call-action {
        padding-top: 50px;
        padding-bottom: 80px;
    }
    .call-action .content .entry-title .title {
        margin-bottom: 5px;
    }
    .call-action .content .entry-title .btn {
        margin-top: 10px;
    }
}

/* 1199 */
@media only screen and (max-width: 991px) {
    h1, .h1 {
        font-size: 48px;
        line-height: 55px;
    }
    h1.md, .h1.md {
        font-size: 48px;
        line-height: 55px;
    }
    h2, .h2 {
        font-size: 40px;
        line-height: 47px;
    }
    .goingclear {
        text-align: center;
        margin-bottom: 15px;
        margin-top: 10px;
    }
    .coming-soon {
        padding: 40px 50px;
        font: 400 20px/30px "europa", sans-serif;
    }
    .coming-soon .content .logo img {
        max-width: 200px;
    }
    .coming-soon .content .title {
        font-size: 74px;
        line-height: 84px;
        letter-spacing: -1.11px;
    }
    /***********************************
	HEADER STYLES
	***********************************/
    .header .navbar .navbar-collapse .navbar-nav:not(.navbar-right) > li:not(:nth-last-child(1)):not(:nth-last-child(2)):not(:nth-last-child(4)) {
        display: none;
    }
    .header .navbar .navbar-collapse .navbar-nav li {
        padding: 17px 20px;
    }
    .header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-box {
        min-width: 320px;
    }
    /***********************************
	CONTACT STYLES
	***********************************/
    .contact-page {
        padding: 60px 0px;
    }
    .contact-page .entry-title .sub-title {
        margin-bottom: 5px;
    }
    .contact-page .entry-title .title {
        letter-spacing: -0.72px;
    }
    .contact-page .entry-title .quick-contact li {
        margin-bottom: 20px;
    }
    .contact-page .entry-title .quick-contact li .text a {
        font-size: 20px;
        line-height: 30px;
    }
    .contact-form {
        margin-top: 30px;
    }
    .contact-form p {
        font-size: 20px;
        line-height: 30px;
    }
    .contact-form .media img {
        width: 100%;
    }
    /***********************************
	SERVICE PAGE
	***********************************/
    .service-page {
        padding: 45px 0;
    }
    .service-page .entry-title .sub-title {
        margin-bottom: 0;
    }
    .service-page .entry-title .title {
        margin-bottom: 0;
    }
    .service-page .entry-title p {
        max-width: 100%;
        font-size: 20px;
        line-height: 32px;
        margin-bottom: 15px;
    }
    .service-item {
        padding: 20px;
    }
    .service-item.mini-description {
        padding: 20px;
    }
    .service-item .text .title {
        margin-bottom: 0;
    }
    .service-item .text i {
        margin-top: 12px;
    }
    .service-detail-page {
        padding: 60px 0;
    }
    .contracting-work {
        margin-bottom: 60px;
    }
    .contracting-work .entry-title {
        margin-bottom: 35px;
    }
    /***********************************
	ABOUT PAGE
	***********************************/
    .about-page {
        padding: 70px 0px 80px;
    }
    .about-page .entry-title {
        margin-bottom: 100px;
    }
    .about-detail {
        margin-bottom: 40px;
    }
    .about-detail .about-title {
        font-size: 40px;
        line-height: 50px;
    }
    .about-counter {
        padding: 70px 0;
    }
    .about-counter_item .icon i {
        font-size: 40px;
        line-height: 40px;
    }
    .about-counter_item .counter-text {
        font-size: 60px;
        line-height: 60px;
    }
    .team {
        padding: 60px 0;
    }
    .team .entry-title {
        margin-bottom: 35px;
    }
    .team .entry-title .about-title {
        font-size: 40px;
        line-height: 50px;
    }
    /***********************************
	BLOG PAGE
	***********************************/
    .blog-page {
        padding: 50px 0px;
    }
    .blog-page .entry-title {
        margin-bottom: 50px;
    }
    .blog-page .entry-title .title {
        letter-spacing: -0.72px;
    }
    .modal.drawer .modal-dialog .modal-content .modal-header .text .modal-title {
        font-size: 50px;
        line-height: 53px;
    }
    .blog-detail-page hr {
        margin-top: 40px;
    }
    .northwestern {
        padding-bottom: 50px;
    }
    .northwestern .content .entry-title {
        padding: 35px;
    }
    .northwestern .content .entry-title .title {
        margin-bottom: 20px;
    }
    .northwestern .content .northwestern-contact .media {
        padding: 35px 35px 20px 25px;
    }
    .northwestern .back {
        margin-top: 40px;
    }
    /***********************************
	HOME PAGE
	***********************************/
    .banner {
        padding: 50px 0 130px;
    }
    .banner .noticebar {
        margin-bottom: 50px;
    }
    .banner .entry-title {
        max-width: 480px;
        margin-bottom: 40px;
    }
    .banner .cta-box {
        padding: 35px 25px 35px 30px;
    }
    .ebook-genserv {
        margin-bottom: 50px;
    }
    .who-are .entry-title .sub-title {
        margin-bottom: 5px;
    }
    .who-are .entry-title .title {
        margin-bottom: 5px;
    }
    .contracting .container {
        padding-top: 50px;
    }
    .contracting .container:after {
        left: 0;
    }
    .contracting .entry-title {
        padding-left: 0px;
    }
    .contracting .entry-title .btn {
        margin-top: 15px;
    }
    .clients {
        padding: 60px 0;
    }
    .clients-item {
        margin-top: 25px;
        padding: 25px 40px 30px 25px;
    }
    .clients-item .icon {
        max-width: 30px;
        margin-right: 10px;
    }
    .clients-item .quote p {
        font-size: 16px;
        line-height: 26px;
    }
    .our-work {
        padding: 60px 0;
    }
    .our-work .container {
        padding: 50px 15px;
    }
    .our-work .entry-title {
        margin-top: 0;
    }
    /***********************************
    FOOTER STYLES
    ***********************************/
    .call-action {
        padding-top: 40px;
        padding-bottom: 60px;
    }
    .call-action .content {
        flex-direction: column-reverse;
    }
    .call-action .content .entry-title {
        max-width: 100%;
        margin-right: auto;
    }
    .call-action .content .media {
        position: inherit;
        margin-bottom: 15px;
    }
    .footer {
        padding: 40px 0;
    }
    .footer .footer-logo {
        padding-bottom: 30px;
    }
    .footer .footer-menu {
        padding-bottom: 25px;
    }
    .footer .search-form {
        margin-bottom: 30px;
    }
}

/* 991px */
@media only screen and (max-width: 767px) {
    h1, .h1 {
        font-size: 40px;
        line-height: 47px;
    }
    h1.md, .h1.md {
        font-size: 40px;
        line-height: 47px;
    }
    h2, .h2 {
        font-size: 36px;
        line-height: 44px;
    }
    h3, .h3 {
        font-size: 32px;
        line-height: 40px;
    }
    h4, .h4 {
        font-size: 28px;
        line-height: 38px;
    }
    .btn {
        padding: 7px 12px;
    }
    .mfp-move-from-top .mfp-container .mfp-content {
        padding: 0 70px;
    }
    .coming-soon {
        padding: 35px 40px;
    }
    .coming-soon .content .logo {
        margin-bottom: 15px;
    }
    .coming-soon .content .logo img {
        max-width: 180px;
    }
    .coming-soon .content .title {
        font-size: 64px;
        line-height: 74px;
        margin-bottom: 10px;
        letter-spacing: -0.96px;
    }
    /***********************************
	HEADER STYLES
	***********************************/
    .header .navbar .navbar-header .logo .navbar-brand {
        max-width: 150px;
    }
    .header .navbar .navbar-collapse .navbar-nav:not(.navbar-right) > li:not(:nth-last-child(1)):not(:nth-last-child(2)) {
        display: none;
    }
    .header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-box {
        min-width: 300px;
    }
    /***********************************
	CONTACT STYLES
	***********************************/
    .contact-page {
        padding: 40px 0px;
    }
    .contact-page .entry-title .sub-title {
        margin-bottom: 0;
    }
    .contact-page .entry-title .title {
        letter-spacing: -0.6px;
    }
    .contact-page .entry-title .quick-contact {
        margin-top: 25px;
    }
    .contact-page .entry-title .quick-contact li {
        margin-bottom: 15px;
    }
    .contact-page .entry-title .quick-contact li .text a {
        font-size: 18px;
        line-height: 28px;
    }
    .contact-form p {
        font-size: 18px;
        line-height: 28px;
    }
    /***********************************
	SERVICE PAGE
	***********************************/
    .service-page {
        padding: 40px 0;
    }
    .service-page .entry-title p {
        font-size: 18px;
        line-height: 28px;
        margin-bottom: 10px;
    }
    .service-item .text i {
        margin-top: 10px;
    }
    .service-detail-page {
        padding: 50px 0;
    }
    .service-detail .entry-content p {
        font-size: 20px;
        line-height: 32px;
    }
    .service-detail .entry-content ul {
        margin-top: 15px;
    }
    .service-detail .entry-content ul li {
        font-size: 20px;
        line-height: 32px;
        margin-bottom: 5px;
    }
    .contracting-work {
        margin-bottom: 50px;
    }
    .contracting-work .entry-title {
        margin-bottom: 30px;
    }
    /***********************************
	ABOUT PAGE
	***********************************/
    .about-page {
        padding: 60px 0;
    }
    .about-page .entry-title {
        margin-bottom: 70px;
    }
    .about-page .entry-title .sub-title {
        letter-spacing: 2.1px;
    }
    .about-detail {
        margin-bottom: 40px;
    }
    .about-detail .about-title {
        font-size: 35px;
        line-height: 45px;
        margin-bottom: 15px;
    }
    .about-detail .entry-content {
        max-width: 100%;
    }
    .about-detail .entry-content h1, .about-detail .entry-content .h1, .about-detail .entry-content h2, .about-detail .entry-content .h2, .about-detail .entry-content h3, .about-detail .entry-content .h3, .about-detail .entry-content h4, .about-detail .entry-content .h4, .about-detail .entry-content h5, .about-detail .entry-content .h5, .about-detail .entry-content h6, .about-detail .entry-content .h6 {
        margin-bottom: 10px;
    }
    .about-detail .entry-content p {
        font-size: 20px;
        margin: 0 0 25px;
        line-height: 30px;
    }
    .about-detail .entry-content .btn {
        margin-bottom: 15px;
    }
    .about-counter {
        padding: 60px 0;
    }
    .about-counter_item .icon i {
        font-size: 35px;
        line-height: 35px;
    }
    .about-counter_item .counter-text {
        font-size: 45px;
        line-height: 45px;
    }
    .team {
        padding: 50px 0;
    }
    .team .entry-title {
        margin-bottom: 30px;
    }
    .team .entry-title .about-title {
        font-size: 35px;
        line-height: 45px;
    }
    .team-detail {
        margin-bottom: 35px;
        padding-bottom: 35px;
    }
    .team-detail .entry-content {
        margin-top: 10px;
        margin-left: 0px;
        max-width: 100%;
    }
    .team-detail .entry-content .content-header {
        margin-bottom: 10px;
    }
    .team-detail .entry-content h1, .team-detail .entry-content .h1, .team-detail .entry-content h2, .team-detail .entry-content .h2, .team-detail .entry-content h3, .team-detail .entry-content .h3, .team-detail .entry-content h4, .team-detail .entry-content .h4, .team-detail .entry-content h5, .team-detail .entry-content .h5, .team-detail .entry-content h6, .team-detail .entry-content .h6 {
        margin-bottom: 10px;
    }
    .team-detail .entry-content p {
        margin: 0 0 25px;
    }
    .team-detail .entry-content .btn {
        margin-bottom: 15px;
    }
    .team-detail .media img {			
            object-fit: contain;        
    }
    /***********************************
	BLOG PAGE
	***********************************/
    .blog-page {
        padding: 40px 0px;
    }
    .blog-page .entry-title {
        margin-bottom: 40px;
    }
    .blog-page .entry-title .title {
        letter-spacing: -0.6px;
    }
    .modal.drawer .modal-dialog .modal-content .modal-header {
        padding: 18px 22px !important;
    }
    .modal.drawer .modal-dialog .modal-content .modal-header .text .modal-title {
        font-size: 45px;
        line-height: 48px;
    }
    .modal.drawer .modal-dialog .modal-content .modal-header .text p {
        font-size: 19px;
        line-height: 29px;
    }
    .modal.drawer .modal-dialog .modal-content .modal-header .close span i {
        font-size: 19px;
    }
    .modal.drawer .modal-dialog .modal-content .modal-body {
        padding: 30px 20px !important;
    }
    .modal.drawer .modal-dialog .modal-content .modal-body ul li {
        padding: 7px;
        margin-bottom: 20px;
    }
    .blog-detail-page {
        padding: 40px 0;
    }
    .blog-detail-page hr {
        margin-top: 35px;
    }
    .blog-detail-page .entry-title {
        margin-bottom: 30px;
    }
    .blog-detail-page .gallery-item {
        height: 350px;
    }
    .northwestern {
        padding-bottom: 40px;
    }
    .northwestern .content {
        flex-direction: column;
    }
    .northwestern .content .entry-title {
        padding: 30px;
        max-width: 100%;
    }
    .northwestern .content .entry-title .title {
        margin-bottom: 10px;
    }
    .northwestern .content .northwestern-contact {
        max-width: 100%;
    }
    .northwestern .content .northwestern-contact .media {
        padding: 30px 30px 15px 20px;
    }
    .northwestern .content .northwestern-contact .media img {
        width: 100%;
    }
    .northwestern .back {
        margin-top: 30px;
    }
    .northwestern .back .icon {
        width: 60px;
        height: 60px;
    }
    /***********************************
	HOME PAGE
	***********************************/
    .banner {
        padding: 40px 0 120px;
    }
    .banner .noticebar {
        margin-bottom: 40px;
    }
    .banner .cta-box {
        padding: 30px 20px 30px 22px;
    }
    .ebook-genserv {
        margin-bottom: 40px;
    }
    .contracting .container {
        padding-top: 40px;
        padding-bottom: 20px;
    }
    .contracting .entry-title {
        margin-top: 0;
        margin-bottom: 20px;
        padding-right: 200px;
    }
    .clients {
        padding: 50px 0;
    }
    .our-work {
        padding: 50px 0;
    }
    .our-work .container {
        padding: 40px 15px;
    }
    .our-work .row [class^="col"]:nth-child(3) {
        display: none;
    }
    /***********************************
    FOOTER STYLES
    ***********************************/
    .call-action {
        padding-bottom: 40px;
        padding-top: 35px;
    }
    .call-action .content {
        padding: 25px 30px;
    }
    .call-action .content .media {
        margin-bottom: 10px;
    }
    .footer {
        padding: 35px 0;
    }
    .footer .footer-logo {
        padding-bottom: 25px;
    }
    .footer .footer-menu {
        padding-bottom: 20px;
    }
    .footer .search-form {
        margin-bottom: 25px;
    }
}

/* 767px */
@media only screen and (max-width: 575px) {
    h1, .h1 {
        font-size: 36px;
        line-height: 44px;
    }
    h1.md, .h1.md {
        font-size: 36px;
        line-height: 44px;
    }
    h2, .h2 {
        font-size: 32px;
        line-height: 40px;
    }
    h3, .h3 {
        font-size: 28px;
        line-height: 38px;
    }
    h4, .h4 {
        font-size: 25px;
        line-height: 31px;
    }
    h5, .h5 {
        font-size: 22px;
        line-height: 28px;
    }
    .coming-soon {
        padding: 30px 35px;
        font: 400 18px/28px "europa", sans-serif;
    }
    .coming-soon .content .logo {
        margin-bottom: 10px;
    }
    .coming-soon .content .logo img {
        max-width: 160px;
    }
    .coming-soon .content .title {
        font-size: 54px;
        line-height: 64px;
        letter-spacing: -0.81px;
    }
    /***********************************
	HEADER STYLES
	***********************************/
    .header .navbar .navbar-header .logo .navbar-brand {
        max-width: 130px;
    }
    .header .navbar .navbar-collapse .navbar-nav li {
        padding: 11px 20px;
    }
    .header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-box {
        min-width: 280px;
    }
    .header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-toggle {
        width: 50px;
        font-size: 20px;
        line-height: 50px;
    }
    .header_gutter {
        height: 50px;
    }
    .navbar-toggle {
        width: 50px;
    }
    /***********************************
	CONTACT STYLES
	***********************************/
    .contact-page {
        padding: 30px 0px;
    }
    .contact-page .entry-title .title {
        letter-spacing: -0.6px;
    }
    .contact-page .entry-title .quick-contact {
        margin-top: 20px;
    }
    .contact-page .entry-title .quick-contact li {
        margin-bottom: 12px;
    }
    .contact-form {
        margin-top: 25px;
        padding: 25px;
    }
    .gform_wrapper form .gform_footer .btn {
        padding: 15px;
    }
    /***********************************
	SERVICE PAGE
	***********************************/
    .service-page {
        padding: 30px 0;
    }
    .service-detail-page {
        padding: 40px 0;
    }
    .service-detail .entry-content p {
        font-size: 18px;
        line-height: 30px;
    }
    .service-detail .entry-content ul li {
        font-size: 18px;
        line-height: 30px;
        margin-bottom: 3px;
    }
    .contracting-work {
        margin-bottom: 40px;
    }
    .contracting-work .entry-title {
        margin-bottom: 20px;
    }
    .work-item .text .bottom .title {
        margin-bottom: 5px;
    }
    .work-item .media img {
        min-height: 350px;
    }
    /***********************************
	ABOUT PAGE
	***********************************/
    .about-page {
        padding: 40px 0;
    }
    .about-page .entry-title {
        margin-bottom: 50px;
    }
    .about-page .entry-title .sub-title {
        letter-spacing: 1.875px;
    }
    .about-detail {
        margin-bottom: 35px;
    }
    .about-detail .about-title {
        font-size: 30px;
        line-height: 40px;
        padding-bottom: 10px;
    }
    .about-detail .about-title:before {
        height: 8px;
    }
    .about-detail .entry-content p {
        font-size: 18px;
        line-height: 28px;
    }
    .about-counter {
        padding: 50px 0;
    }
    .about-counter_item .icon i {
        font-size: 30px;
        line-height: 30px;
    }
    .about-counter_item .counter-text {
        font-size: 35px;
        line-height: 35px;
    }
    .team {
        padding: 40px 0;
    }
    .team .entry-title .about-title {
        font-size: 30px;
        line-height: 40px;
    }
    .team .entry-title .about-title.separator {
        padding-bottom: 10px;
    }
    .team .entry-title .about-title.separator:before {
        height: 8px;
    }
    .team-detail {
        margin-bottom: 30px;
        padding-bottom: 30px;
    }
    /***********************************
	BLOG PAGE
	***********************************/
    .blog-page {
        padding: 30px 0px;
    }
    .blog-page .entry-title {
        margin-bottom: 30px;
    }
    .blog-page .entry-title .title {
        letter-spacing: -0.54px;
    }
    .modal.drawer .modal-dialog .modal-content .modal-header {
        padding: 15px 20px !important;
    }
    .modal.drawer .modal-dialog .modal-content .modal-header .text .modal-title {
        font-size: 40px;
        line-height: 43px;
    }
    .modal.drawer .modal-dialog .modal-content .modal-header .text p {
        font-size: 18px;
        line-height: 28px;
    }
    .modal.drawer .modal-dialog .modal-content .modal-header .close span i {
        font-size: 18px;
    }
    .modal.drawer .modal-dialog .modal-content .modal-body {
        padding: 22px 18px !important;
    }
    .modal.drawer .modal-dialog .modal-content .modal-body ul li {
        padding: 6px;
        margin-bottom: 15px;
    }
    .blog-detail-page {
        padding: 30px 0;
    }
    .blog-detail-page hr {
        margin-top: 30px;
    }
    .blog-detail-page .entry-title {
        margin-bottom: 25px;
    }
    .blog-detail-page .gallery-item {
        height: 320px;
    }
    .northwestern {
        padding-bottom: 30px;
    }
    .northwestern .content .entry-title {
        padding: 25px;
    }
    .northwestern .content .northwestern-contact {
        padding: 30px 30px 40px;
    }
    .northwestern .content .northwestern-contact .media {
        padding: 25px 25px 15px 18px;
    }
    .northwestern .back {
        margin-top: 25px;
    }
    .northwestern .back .icon {
        width: 50px;
        height: 50px;
    }
    .northwestern .back .icon i {
        font-size: 11px;
        line-height: 11px;
    }
    /***********************************
	HOME PAGE
	***********************************/
    .banner {
        padding: 30px 0 115px;
    }
    .banner .noticebar {
        margin-bottom: 30px;
    }
    .banner .scrollDown i {
        font-size: 40px;
        line-height: 40px;
    }
    .banner .entry-title .title {
        font-size: 60px;
        line-height: 70px;
    }
    .banner .cta-box {
        padding: 30px 18px 30px 18px;
    }
    .ebook-genserv {
        margin-bottom: 30px;
    }
    .ebook-genserv .content .entry-title {
        margin-left: 15px;
    }
    .ebook-genserv .content .entry-title .title {
        margin-bottom: 5px;
    }
    .who-are .entry-title .sub-title {
        margin-bottom: 0;
    }
    .who-are .entry-title .title {
        margin-bottom: 0;
    }
    .clients {
        padding: 35px 0;
    }
    .clients-item {
        padding: 20px 25px 25px 25px;
    }
    .our-work {
        padding: 40px 0;
    }
    .our-work .row [class^="col"]:nth-child(3) {
        display: block;
    }
    /***********************************
    FOOTER STYLES
    ***********************************/
    .call-action {
        padding: 30px 0;
    }
    .call-action .content {
        padding: 20px 25px;
    }
    .footer .footer-logo {
        padding-bottom: 20px;
    }
    .footer .footer-menu li {
        margin-bottom: 2px;
    }
    .footer .search-form {
        margin-bottom: 20px;
    }
}

/* 575px */
@media only screen and (max-width: 480px) {
    h1, .h1 {
        font-size: 32px;
        line-height: 40px;
    }
    h1.md, .h1.md {
        font-size: 32px;
        line-height: 40px;
    }
    h2, .h2 {
        font-size: 28px;
        line-height: 38px;
    }
    h3, .h3 {
        font-size: 25px;
        line-height: 31px;
    }
    h4, .h4 {
        font-size: 22px;
        line-height: 28px;
    }
    h5, .h5 {
        font-size: 20px;
        line-height: 26px;
    }
    /***********************************
	BREADCRUMB STYLES
	***********************************/
    .breadcrumb {
        font-size: 12px;
        line-height: 22px;
        letter-spacing: 0.9px;
    }
    .coming-soon {
        padding: 30px 30px;
        font: 400 17px/27px "europa", sans-serif;
    }
    .coming-soon .content .logo img {
        max-width: 140px;
    }
    .coming-soon .content .title {
        font-size: 48px;
        line-height: 54px;
        letter-spacing: -1.2px;
    }
    /***********************************
	HEADER STYLES
	***********************************/
    .header .navbar .navbar-header .logo .navbar-brand {
        max-width: 120px;
    }
    .header .navbar .navbar-collapse .navbar-nav:not(.navbar-right) > li {
        display: none;
    }
    .header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-box {
        min-width: 240px;
    }
    .header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-toggle {
        width: 50px;
        font-size: 20px;
        line-height: 50px;
    }
    .service-detail-page {
        padding: 30px 0;
    }
    .service-detail .entry-content ul li {
        margin-bottom: 0px;
    }
    .contracting-work {
        margin-bottom: 30px;
    }
    .work-item .text .bottom .title {
        margin-bottom: 3px;
    }
    /***********************************
	ABOUT PAGE
	***********************************/
    .about-page {
        padding: 30px 0;
    }
    .about-page .entry-title {
        margin-bottom: 40px;
    }
    .about-page .entry-title .sub-title {
        letter-spacing: 1.65px;
    }
    .about-detail {
        margin-bottom: 30px;
    }
    .about-detail .about-title {
        font-size: 28px;
        line-height: 38px;
    }
    .about-counter {
        padding: 45px 0;
    }
    .about-counter_item .counter-text {
        font-size: 30px;
        line-height: 30px;
    }
    .team {
        padding: 30px 0;
    }
    .team .entry-title .about-title {
        font-size: 28px;
        line-height: 38px;
    }
    .team-detail {
        margin-bottom: 25px;
        padding-bottom: 25px;
    }
    /***********************************
	BLOG PAGE
	***********************************/
    .blog-page .entry-title .title {
        letter-spacing: -0.48px;
    }
    /***********************************
	HOME PAGE
	***********************************/
    .banner .scrollDown {
        margin-top: 15px;
    }
    .ebook-genserv .content {
        flex-direction: column;
    }
    .ebook-genserv .content .media {
        width: 100%;
        height: auto;
        margin-bottom: 15px;
    }
    .ebook-genserv .content .media img {
        width: 100%;
        height: auto;
    }
    .ebook-genserv .content .entry-title {
        margin-left: 0;
    }
    .contracting .container::after {
        width: calc(100% - 120px);
    }
    .contracting .entry-title {
        padding-right: 120px;
    }
    .contracting .entry-title .sub-title {
        margin-bottom: 0;
    }
    .contracting .entry-title .title {
        margin-bottom: 0;
    }
    .contracting .viewAllBtn {
        font-size: 13px;
        line-height: 23px;
        margin-right: 0;
        border-bottom: 4px solid #DD3310;
    }
    .contracting .viewAllBtn i {
        margin-left: 5px;
    }
    .contracting .row .col-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .clients-item .icon {
        max-width: 25px;
        margin-right: 5px;
    }
    .clients-item .quote p {
        font-size: 15px;
        line-height: 25px;
    }
    .northwestern .content .northwestern-contact {
        padding: 30px 20px;
    }
}

/* 480px */
@media only screen and (max-width: 380px) {
    h1, .h1 {
        font-size: 30px;
        line-height: 38px;
    }
    h1.md, .h1.md {
        font-size: 30px;
        line-height: 38px;
    }
    h2, .h2 {
        font-size: 26px;
        line-height: 37px;
    }
    h3, .h3 {
        font-size: 24px;
        line-height: 30px;
    }
    h4, .h4 {
        font-size: 21px;
        line-height: 27px;
    }
    h5, .h5 {
        font-size: 19px;
        line-height: 25px;
    }
    .coming-soon {
        padding: 30px 30px;
        font: 400 17px/27px "europa", sans-serif;
    }
    .coming-soon .content .logo img {
        max-width: 140px;
    }
    .coming-soon .content .title {
        font-size: 48px;
        line-height: 54px;
        letter-spacing: -1.2px;
    }
    /***********************************
	HEADER STYLES
	***********************************/
    .header .navbar .navbar-collapse .navbar-nav:not(.navbar-right) > li {
        display: none;
    }
    .header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-box {
        min-width: 240px;
    }
    .header .navbar .navbar-collapse .navbar-nav.navbar-right li.header-search .search-wrap .search-toggle {
        width: 50px;
        font-size: 20px;
        line-height: 50px;
    }
    /***********************************
	ABOUT PAGE
	***********************************/
    .about-page .entry-title .sub-title {
        letter-spacing: 1.575px;
    }
    /***********************************
	BLOG PAGE
	***********************************/
    .blog-page .entry-title .title {
        letter-spacing: -0.45px;
    }
}

/* 380px */
