/*
Theme Name: PHR3
Theme URI: https://som.agency/
Author: the SOM Agency Team
Author URI: https://som.agency/
Description:
Version: 3.2.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: awwwesome
*/


/**
*  INDEX
*
*  # Utilities
*  #.# Borders
*  #.# Colours
*  #.# Embed
*  # Layout
*  # Content
*  #.# Reboot
*  #.# Typography
*  # Components
*
*/
h2.widget-title {
    border-top: 1px solid #f47920;
    padding-top: .5rem;
}
a.tag-cloud-link {
    display: inline-block;
    font-size: .8rem!important;
    padding: .125rem .25rem;
    border: 1px dashed #f47920;
    margin-bottom: .25rem;
}
.job-title {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
}

@media ( max-width: 700px ) {
    .carousel-item-img {
        height: calc(100vh - 62px);
        object-fit: cover;
    } 
    #hc-1, #hc-2 {
        object-position: 68%;
    }
    .carousel-caption-title {
        font-size: 2rem;
    }
}

#capabilities td {
    padding: .75rem 0;
}

.expertise-entry-title {
    font-size: 1.25rem;
    font-weight: 500;
    margin-bottom: 1rem;
    cursor: pointer;
}
.expertise-entry-description {
    color: #484848;
}
.expertise-entry-feature {
    font-size: .9rem;
}
.content-expand::after {
    position: absolute;
    bottom: 0;
    content: "";
    display: block;
    width: 100%;
    height: 50%;
    background: linear-gradient(0deg,#fff,hsla(0,0%,100%,.5) 45%,hsla(0,0%,100%,0));
    text-align: right;
}
.content-expand.active::after {
    display: none;
}
.content-expand {
    position: relative;
    max-height: 100px;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}
.content-expand-gradient {
    position: absolute;
    bottom: 0;
    content: '';
    display: block;
    width: 100%;
    height: 50%;
    max-height: 75px;
    background: linear-gradient( 0deg, #fff, hsla(0,0%,100%,.5) 70%, hsla(0,0%,100%,0) );
    pointer-events: none;
}
.text-secondary a {
    color: #f47920;
}

.input-group>.custom-select:not(:last-child), .input-group>.form-control:not(:last-child) {
    border-color: #f47920;
    border-width: 1px;
}
.nav-previous::before {
    content: '\f060';
    font-family: 'Font Awesome 5 Pro';
    margin-right: .5rem;
}
.posts-navigation {
    background: #ddd;
    width: 100%;
    padding: .5rem 15px;
    margin: 1rem;
}
.section-title a {
    position: relative;
    padding-right: 1.5rem;
}
.section-title a:after {
    content: '\f061';
    font-family: 'Font Awesome 5 Pro';
    line-height: 1;
    position: absolute;
    opacity: 1;  
    top: 0rem;;
    right: 0;
    transition: 0.5s;
}
.section-title a:hover::after {
    opacity: 1;
    right: -10px;
}
.widget {
    width: 100%;
}
.widget ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;

}
main .widget ul li {
    padding: .75rem 0;
    border-top: 1px solid #ddd;
    font-weight: 500;
}
main .widget ul li a {
    border-bottom: none;
}
.widget ul li span {
    font-size: .8rem;
    display: block;
    color: #666;
}
.widget select {
    width: 100%;
    padding: .75rem .5rem;
    border-radius: .25rem;
}
.wpcf7-not-valid-tip {
    padding-right: 1.75rem;
    color: red;
}
/* Text meant only for screen readers. */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal !important;
    /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 0.313rem;
    line-height: normal;
    padding: 0.938rem 1.438rem 0.875rem;
    text-decoration: none;
    top: 0.313rem;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
    outline: 0;
}



/*
* # Utilities
*
* Utility/helper classes to quickly style elements without using any CSS code
*/


/**
* #.# Borders 
*/

.bb-1 { 
    border-bottom: 1px solid; 
}
.bt-1 { 
    border-top: 1px solid; 
}
.br-1 { 
    border-right: 1px solid; 
}


/**
* #.# Colours
*/

.bg-primary-dark { 
    background: #000; 
}
.bg-primary-light { 
    background: #222; 
}


/**
* #.# Embed
*/

.wp-block-embed {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
}
.wp-block-embed::before {
    content: "";
    display: block;
}
.wp-embed-aspect-16-9::before {
    padding-top: 56.25%;
}
.wp-block-embed__wrapper embed, 
.wp-block-embed__wrapper iframe, 
.wp-block-embed__wrapper object, 
.wp-block-embed__wrapper video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%!important;
    height: 100%!important;
    border: 0;
}


/**
* # Layout
*
* Components and options for laying out the project.
*/


.grid {
    -webkit-box-flex: 1; 
    -ms-flex: 1; 
    flex: 1; 
    display: grid;
    grid-template-columns: repeat(1,1fr);
}



/**
* # Content
*
* Reboot, Typography, Code, Images, Tables, Figures.
*/


/**
* #.# Reboot
*/

body.lock-scroll {
    height: 100%;
    position: fixed;
    width: 100%;
}
a > img:not(.logo) {
    filter: brightness(100%);
    transition: all .4s ease;
}
a > img:not(.logo):hover {
    filter: brightness(75%);
}
button:focus {
    outline: none;
    outline: none;
}
footer {
    font-size: .9rem;
}
footer .menu li {
    padding: 0 0 .5rem;
}
ul.menu {
    padding-left: 0;
    list-style: none;
}
p a, main li a { 
    border-bottom: 1px solid;
}
p a:hover, main li a:hover { 
    color: inherit;
    text-decoration: none;
    border-color: #f47920;
}

h1 a:hover, h2 a:hover, h3 a:hover {
    color: #333;
}
header a, footer a {
    color: rgba(255,255,255,.64);
    transition: .3s all ease;
}
header a:hover, footer a:hover {
    color: rgba(255,255,255,1);
}
main .bg-primary p a, #intro a:not(.btn), .breadcrumbs a {
    color: rgba(255,255,255,.87);
}
.bg-primary .border-top {
    border-top: 1px solid rgba(255,255,255,.24)!important;
}
/* Typography */
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    color: #000;
    font-weight: 700;
}
.h1, h1 {
    font-size: 1.75rem;
}
.h2, h2 {
    font-size: 1.25rem;
}
.h3, h3 {
    font-size: .9rem;
}
.display-1, .display-2, .display-3, .display-4 {
    font-weight: 700;
}
.display-3 {
    font-size: 1.4rem;
    line-height: 1.25;
}
.display-4 {
    font-size: 1.3rem;
    line-height: 1.25;
}
.h4, h4 {
    font-size: 1rem;
}
footer .h1 {
    font-size: 1.9rem;
}
.footer-title, footer h3 {
    font-size: 1rem;
    font-weight: 400;
    color: #fff;
}
.pretitle {
    font-size: 1rem;
    font-weight: 400;
    display: block;
}
.bg-primary-dark .pretitle {
    color: rgba(255,255,255,.64);
}
.hr-8 {
    background: repeating-linear-gradient( 45deg, #111, #111 10px, #f47920 10px, #f47920 20px );
    height: 4px;
    border-top: 0!important;
}
/* Quotes */
blockquote {
    font-size: 1rem;
    font-style: italic;
    margin-bottom: 20px;
    padding: 0;
    line-height: 1.5;
    position: relative;
}
blockquote:before {
    color: #f47920;
    content: "\f10d";
    font-family: "Font Awesome 5 Pro";
    font-size: 2.5rem;
    font-weight: 300;
    display: block;
    line-height: 1;
    position: absolute;
    right: 15px;
    bottom: 15px;
}


/**
* #.# Figures 
*/

figure {
    margin: 0 0 .5rem;
}
.figure-caption {
    font-size: 90%;
    color: unset;
}
.wp-block-image figcaption {
    color: unset;
}



/**
* # Components
*
* 
*/


.video-play {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    color: #fff;
    cursor: pointer;
    padding: 1rem;
    border: 2px solid;
    border-radius: 5px;
    font-size: .9rem;
}


/**
* #.# Hero Image 
*/

.hero-image {
    position: relative;
}
.hero-image:before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(bottom,rgba(0,0,0,.97),transparent);
    background-image: -moz-linear-gradient(bottom,rgba(0,0,0,.97) 0,transparent 100%);
    background-image: -webkit-linear-gradient(bottom,rgba(0,0,0,.97),transparent);
    background-image: -o-linear-gradient(bottom,rgba(0,0,0,.97) 0,transparent 100%);
    background-image: -ms-linear-gradient(bottom,rgba(0,0,0,.97) 0,transparent 100%);
    background-image: -webkit-gradient(linear,left bottom,left top,color-stop(0,rgba(0,0,0,.97)),color-stop(100%,transparent));
}
.hero-image-img {
    object-fit: cover; object-position: center;
    height: calc(100vh - 90px);
}
.hero-image-img-md {
    max-height: 420px!important;
}
.hero-image-caption {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 2rem 0;
}
.hero-image-scroller {
    position: absolute;
    bottom: 2rem;
    left: calc(50% - 24px);
    width: 24px;
    height: 24px;
    -webkit-animation: scroll 2s infinite;
    animation: scroll 2s infinite;
    box-sizing: border-box;
}
.hero-image a {
    border-bottom-color: rgba(255,255,255,.34);
}
@-webkit-keyframes scroll {
    0%{ -webkit-transform: translate(0, 0); }
    20%{ -webkit-transform: translate(0, -10px); }
    40%{ -webkit-transform: translate(0, 0); }
}
@keyframes scroll {
    0%{ transform: translate(0, 0); }
    20%{ transform: translate(0, -10px); }
    40%{ transform: translate(0, 0); }
}


/**
* #.# Buttons
*/

.btn-link {
    font-weight: 500;
    color: #f47920!important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    margin-left: -.75rem;
}
.btn-link:hover {
    background: rgba(244,121,32, 0.12);
    color: #f47920;
    text-decoration: none;
    border: 1px solid transparent;
}
.btn-caf {
    position: absolute;
    top: 21px;
    color: #000!important;
}


/**
* #.# Carousel
*/

.carousel-control-next, 
.carousel-control-prev {
    z-index: 90;
}
.carousel-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    padding-top: 2rem;
    padding-bottom: 4rem;
    color: #fff;
    text-align: left;
/*    background-image: linear-gradient(bottom,rgba(0,0,0,.97),transparent);
    background-image: -moz-linear-gradient(bottom,rgba(0,0,0,.97) 0,transparent 100%);
    background-image: -webkit-linear-gradient(bottom,rgba(0,0,0,.97),transparent);
    background-image: -o-linear-gradient(bottom,rgba(0,0,0,.97) 0,transparent 100%);
    background-image: -ms-linear-gradient(bottom,rgba(0,0,0,.97) 0,transparent 100%);
    background-image: -webkit-gradient(linear,left bottom,left top,color-stop(0,rgba(0,0,0,.97)),color-stop(100%,transparent));*/
}
.carousel-indicators {
    margin-right: 15px;
    margin-left: 15px;
}
/* Navs */
.nav-link {
    display: flex;
    padding: .75rem 1.5rem;
    height: 100%;
    align-items: center;
}
.nav-pills .nav-link {
    border-radius: .25rem;
    color: rgba(0,0,0,.84);
    font-weight: 500;
}
.nav-pills .nav-link.active, 
.nav-pills .show > .nav-link {
    color: #000;
    background-color: transparent;
    border: 1px solid;
}
.nav-tabs .nav-link {
    color: #000;
    font-weight: 500;
}
.nav-link.dropdown-toggle {
    font-size: 1.5rem;
}
.nav-tabs .nav-link {
    border: 0;
    border-bottom: 2px solid transparent;
}
.nav-tabs .nav-item {
    margin-bottom: 0;
    text-transform: uppercase;
}
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    color: #000;
    background-color: transparent;
    border-color: transparent transparent #f47920;

}
/* Navbar */
.navbar-toggler {
    font-size: 1rem;
    padding: 0;
    line-height: 1;
    background-color: transparent;
    border: 0;
    border-radius: .25rem;
    margin-left: .5rem
}
.navbar-dark .navbar-nav .nav-link:hover {
    color: rgba(255,255,255,.75);
    background: #111;
}
.dropdown.mega-menu {
    position: unset;
}
.mega-menu .dropdown-menu {
    right: 0;
}
/* Dropdown */
.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 10rem;
    padding: 1.25rem 0;
    margin: 0;
    font-size: 1rem;
    color: #212529;
    text-align: left;
    list-style: none;
    background-color: #111;
    background-clip: padding-box;
    border: 0; 
    border-radius: 0;
}
.dropdown-item {
    display: block;
    width: 100%;
    padding: .25rem 1.25rem;
    clear: both;
    font-size: .9rem;
    font-weight: 400;
    color: rgba(255,255,255,.64);
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
}
.dropdown-item:focus, .dropdown-item:hover {
    color: rgba(255,255,255,1);
    text-decoration: none;
    background-color: inherit;
}
.dropdown-toggle::after {
    font-family: "Font Awesome 5 Pro";
    font-weight: 300;
    color: #f47920;
    content: "\f078";
    float: right;
    transition: all .4s ease;
    border:0;
}
.dropdown-toggle[aria-expanded="true"] {
    background: #111;
}
.dropdown-toggle[aria-expanded="true"]::after {
    transform: rotate(180deg);
}
.dropdown-header {
    display: block;
    padding: .5rem 1.25rem;
    margin-bottom: 0;
    font-size: 1rem;
    color: #fff;
    white-space: nowrap;
}
/* Icon Bar */
.icon-bar {
    font-size: .75rem;
    width: 100%;
}
.icon-bar li.nav-item {
    width: 20%;
    text-align: center;
}
.icon-bar li.nav-item a {
    color: #ddd;
    border-radius: 4px;
    padding: .2rem 1rem;
}
.nav-chat a {
    font-size: .6rem!important;
    width: 20%;
}
.btn-chat {
    position: absolute;
    display: block;
    top: -25px;
    z-index: 1999;
}
.btn-chat-icon {
    background: #0ea216;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    text-align: center;
    line-height: 100px;
    vertical-align: middle;
    padding: 19px;
}
/* Forms */
header .form-control, header .form-control:focus {
    border-color: rgba(255,255,255,.12);
    background: #222;
    color: #fff;
}
.form-control:focus {
    border-color: #000;
    outline: 0;
    box-shadow: 0 0 0 0.1rem rgba(255, 255, 255, 0.24);
}
.form-control:active {
    border-color: #000;
}
/* Floating Labels */
.fl {
    position: relative;
    margin-bottom: 1.5rem;
}
.fl > .form-control {
    /* padding: 1.75rem 1.5rem;*/
    background: #fff;
}
.fl > label {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    display: block;
    color: #495057;
    padding-left: 1rem;
    pointer-events: none;
    cursor: text; /* Match the input under the label */
    transition: all .1s ease-in-out;
}
.fl > textarea ~ label {
    position: absolute;
    top: 1.75rem;
    left: 0;
    color: #495057;
    pointer-events: none;
    cursor: text;
    transition: all .2s ease-in-out;
}
.form-row > .fl > label {
    left: 5px;
}
.form-row > .fl > .fl-tooltip {
    right: calc(1.5rem + 5px);
}
.fl .form-control::-webkit-input-placeholder {
    color: transparent;
}
.fl .form-control:-ms-input-placeholder {
    color: transparent;
}
.fl .form-control::-ms-input-placeholder {
    color: transparent;
}
.fl .form-control::-moz-placeholder {
    color: transparent;
}
.fl .form-control::placeholder {
    color: transparent;
}
.fl .form-control:not(:placeholder-shown)  {
    /*padding-top: 1.75rem;
    padding-bottom: 1.75rem;*/
    border-color: #000;
}
.fl .form-control:not(:placeholder-shown) ~ label, 
.fl .form-control:focus ~ label {
    top: 0;
    background: #fff;
    margin-left: 1rem;
    padding: .5rem;
    padding-top: .25rem;
    padding-bottom: .25rem;
    font-size: 12px;
    font-weight: 500;
    color: #000;
}
.fl > .fl-tooltip {
    position: absolute; 
    top: 50%; 
    transform: translateY(-50%); 
    right: 1.5rem; 
    opacity: .32;
}
.fl > textarea ~ span {
    top: 1.75rem;
}

/* Fallback for Edge
-------------------------------------------------- */
@supports (-ms-ime-align: auto) {
    .fl > label {
        display: none;
    }
    .fl input::-ms-input-placeholder {
        color: #777;
    }
}

/* Fallback for IE
-------------------------------------------------- */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .fl > label {
        display: none;
    }
    .fl input:-ms-input-placeholder {
        color: #777;
    }
}
/* Media */

/* Cards */
.card { /* update on BS and remove from here */
    border: 0;
    /*border-radius: 0;*/
}
.card-body { 
    padding: 0; 
} /* update on BS */
.tile { 
    position: relative; 
}
.tile-header {
    position: absolute;
    padding: 2.5rem 1rem 1rem;
    bottom: 0;
    left: 0;
    right: 0;
    background-image: linear-gradient(bottom,rgba(0,0,0,.97),transparent);
    background-image: -moz-linear-gradient(bottom,rgba(0,0,0,.97) 0,transparent 100%);
    background-image: -webkit-linear-gradient(bottom,rgba(0,0,0,.97),transparent);
    background-image: -o-linear-gradient(bottom,rgba(0,0,0,.97) 0,transparent 100%);
    background-image: -ms-linear-gradient(bottom,rgba(0,0,0,.97) 0,transparent 100%);
    background-image: -webkit-gradient(linear,left bottom,left top,color-stop(0,rgba(0,0,0,.97)),color-stop(100%,transparent));
}
.tile a, 
.tile-header h3 a { 
    color: #fff; 
}
/* Thumb */
.thumb {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
}
.thumb-21by9 { padding-bottom: 42.857143%; }
.thumb-1by2 { padding-bottom: 200%; }
.thumb-1by1 { padding-bottom: 100%; }
.thumb-3by2 { padding-bottom: 66.666666%; }
.thumb-2by3 { padding-bottom: 150%; }
.thumb-img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
/* Carousel */
.carousel-multiple .carousel-inner .carousel-item.active,
.carousel-multiple .carousel-inner .carousel-item-next,
.carousel-multiple .carousel-inner .carousel-item-prev {
    display: flex;
}
.carousel-multiple .carousel-inner .carousel-item-right.active,
.carousel-multiple .carousel-inner .carousel-item-next {
    transform: translateX(100%);
}
.carousel-multiple .carousel-inner .carousel-item-left.active, 
.carousel-inner .carousel-item-prev {
    transform: translateX(-100%);
}
.carousel-multiple .carousel-inner .carousel-item-right,
.carousel-multiple .carousel-inner .carousel-item-left{ 
    transform: translateX(0);
}
/* Breadcrumb */
.breadcrumb {
    margin-bottom: 0;
    background-color: inherit;
    color: #fff;
    padding: .75rem 0;
    font-size: 80%;
}
.breadcrumb-item + .breadcrumb-item::before {
    font-family: "Font Awesome 5 Pro";
    font-weight: 300;
    content: "\f054";
    color: rgba(255,255,255,.24);
}
.breadcrumb_last {
    color: #6c757d;
}
/*******************************
* MODAL AS LEFT/RIGHT SIDEBAR
* Add "left" or "right" in modal parent div, after class="modal".
* Get free snippets on bootpen.com
*******************************/
.modal.right .modal-dialog {
    position: fixed;
    margin: auto;
    width: 540px;
    height: 100%;
    -webkit-transform: translate3d(0%, 0, 0);
    -ms-transform: translate3d(0%, 0, 0);
    -o-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0);
}
.modal.right .modal-content {
    height: 100%;
    overflow-y: auto;
}  
/*Right*/
.modal.right.fade .modal-dialog {
    right: -540px;
    -webkit-transition: opacity 0.3s linear, right 0.3s ease-out;
    -moz-transition: opacity 0.3s linear, right 0.3s ease-out;
    -o-transition: opacity 0.3s linear, right 0.3s ease-out;
    transition: opacity 0.3s linear, right 0.3s ease-out;
}

.modal.right.fade.show .modal-dialog {
    right: 0;
}


/* ======== Responsive breakpoints ======== */

@media (min-width: 576px) { /*// Small devices (landscape phones, 576px and up)*/

    /* ==== Layout ==== */
    .hero-image-img {
        object-fit: cover; object-position: center;
        height: auto;
    }
    .grid {
        -webkit-box-flex: 1; 
        -ms-flex: 1; 
        flex: 1; 
        display: grid;
        grid-template-columns: repeat(2,1fr);
        grid-gap: .5rem;
    }
    #about .border-right {
        border: 0!important;
    }

    /* ==== Content ==== */

    /* Typography */
    .h1, h1 {
        font-size: 1.75rem;
    }
    .display-3 {
        font-size: 2rem;
        line-height: 1.25;
    }

    /* ==== Components ==== */
    /* Badge */
    .badge {
        font-size: 80%;
    }
    /* Carousel */
    .carousel-multiple .carousel-inner .carousel-item-right.active,
    .carousel-multiple .carousel-inner .carousel-item-next {
        transform: translateX(50%);
    }
    .carousel-multiple .carousel-inner .carousel-item-left.active, 
    .carousel-inner .carousel-item-prev {
        transform: translateX(-50%);
    }
    .carousel-multiple .carousel-inner .carousel-item-right,
    .carousel-multiple .carousel-inner .carousel-item-left{ 
        transform: translateX(0);
    }
}
@media (min-width: 768px) { /*// Medium devices (tablets, 768px and up)*/
    /* Border */
    .bt-md-0 {
        border-top: 0;
    }
    .bb-md-0 {
        border-bottom: 0;
    }
    .br-md-0 {
        border-right: 0;
    }
    /* Figure */
    figure {
        margin: 0 0 1rem;
    }

    /* ==== Layout ==== */

    .hero-image-img {
        object-fit: cover; object-position: center;
        height: auto;
    }

    .grid {
        -webkit-box-flex: 1; 
        -ms-flex: 1; 
        flex: 1; 
        display: grid;
        grid-template-columns: repeat(1,1fr);
    }

    /* ==== Content ==== */

    /* Typography */
    .h1, h1 {
        font-size: 2rem;
    }
    h2, .h2 {
        font-size: 1.5rem;
    }
    .h3, h3 {
        font-size: 1.1rem;
    }
    .display-3 {
        font-size: 2.5rem;
        line-height: 1.25;
    }
    .display-4 {
        font-size: 3.25rem;
        line-height: 1.25;
    }
    .h4, h4 {
        font-size: 1.5rem;
    }
    blockquote:before {
        left: 0;
        top: 0;
    }
    blockquote {
        font-size: 1.25rem;
        font-style: italic;
        margin-bottom: 20px;
        padding: 1rem 0 0 3.5rem;
        line-height: 1.5;
        position: relative;
    }
    #top .border-top {
        border: 0!important;
    }
    .pretitle {
        font-size: 1.5rem;
        font-weight: 400;
        display: block;
    }

    /* ==== Components ==== */

    /* Card */
    .card-body {
        padding: 1rem;
    }
    /* Carousel */
    .carousel-multiple .carousel-inner .carousel-item-right.active,
    .carousel-multiple .carousel-inner .carousel-item-next {
        transform: translateX(50%);
    }
    .carousel-multiple .carousel-inner .carousel-item-left.active, 
    .carousel-inner .carousel-item-prev {
        transform: translateX(-50%);
    }
    .carousel-multiple .carousel-inner .carousel-item-right,
    .carousel-multiple .carousel-inner .carousel-item-left{ 
        transform: translateX(0);
    }
    /* Navs */
    .navbar.fixed-bottom {
        position: fixed;
        display: flex;
        right: 1rem;
        bottom: 1rem;
    }
}
@media (min-width: 992px) { /*// Large devices (desktops, 992px and up)*/

    /* ==== Content ==== */

    .expertise-entry-btn {
        position: absolute;
        bottom: 1rem;
        right: 0;
    }

    /* Typography */
    .h1, h1 {
        font-size: 2.5rem;
    }
    h2, .h2 {
        font-size: 2rem;
    }
    .display-3 {
        font-size: 3rem;
        line-height: 1.25;
    }
    .section-title a {
        position: relative;
        padding-right: 1.5rem;
    }
    .section-title a:after {
        content: '\f061';
        font-family: 'Font Awesome 5 Pro';
        position: absolute;
        opacity: 0;  
        top: 0rem;;
        right: -20px;
        transition: 0.5s;
    }
    .section-title a:hover::after {
        opacity: 1;
        right: 0;
    }
    .tquote {
        display: block!important; 
        margin-top: -80px;
    }

    /* ==== Components ==== */

    /* Hero Image */
    .hero-image-img {
        object-fit: cover; object-position: center;
        height: calc(100vh - 164px);
    }
    .hero-image-img-md {
        max-height: 600px!important;
    }

    /* Navbar */
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 1.25rem;
        padding-left: 1.25rem;
        border-top: 1px solid transparent;
    }
    .navbar-expand-lg .navbar-nav .nav-link:hover {
        border-top: 1px solid #666;
    }
    header .collapse:not(.show) {
        display: flex;
    }
    .dropdown-menu-append {
        border-left: 1px dashed #333;
    }
    .mega-menu .dropdown-toggle[aria-expanded="true"] {
        border-top: 1px solid #f47920!important;
        transition: .4s border ease;
    }
    .navbar-expand-lg .navbar-nav {
        margin-top: -1px;
    }
    .navbar-expand-lg .navbar-collapse {
        border-top: 1px solid rgba(255, 255, 255, 0.12);
    }
}
@media (min-width: 1200px) { /*// Extra large devices (large desktops, 1200px and up)*/
    /* ==== Content ==== */

    /* Typography */
    .h1, h1, footer .h1 {
        font-size: 2.75rem;
    }
    .display-3 {
        font-size: 3rem;
        line-height: 1.25;
    }
}

@media (min-width: 1367px) { /*// Extra large devices (large desktops, 1200px and up)*/
    /* ==== Content ==== */

    .display-3 {
        font-size: 4.4rem;
        line-height: 1.25;
    }
}
@media (max-width: 575.98px) { /*// Extra small devices (portrait phones, less than 576px)*/}
@media (max-width: 767.98px) { /*// Small devices (landscape phones, less than 768px)*/
    .gutters-xs {
        margin-right: -5px;
        margin-left: -5px;
    }
    .gutters-xs > .col, .gutters-xs > [class*=col-] {
        padding-right: 5px;
        padding-left: 5px;
    }
    .nav-tabs, .nav-pills {
        overflow: auto;
        white-space: nowrap;
        flex-wrap: unset;
    }
    .nav-pills.flex-column {
        flex-direction: unset!important;
    }
    body {
        font-size: 90%;
    }
    .footer-file {
        background: #222;
        padding: 1rem 1rem .5rem;
    }
    .btn-caf {
        position: absolute;
        top: -8px;
        right: 0;
    }
    .footer-title {
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        padding: 1rem 0 .5rem;
    }
    .title-collapse:after {
        font-family: "Font Awesome 5 Pro";
        font-weight: 300;
        content: "\f078";
        float: right;
        transition: all .4s ease;
        opacity: .64;
    }
    .title-collapse.open:after {
        transform: rotate(180deg);
    }
    .content-collapse {
        display: none;
    }
    .content-collapse.open {
        display: block;
    }
    #careers .card-title {
        margin-bottom: 0;
        font-size: 1rem;
    }
    .tiles {
        overflow: auto;
        flex-wrap: nowrap;
    }
    .tiles .col-12 {
        flex: 0 0 66.666666%;
    }
    .w-75, .w-50, .w-25 {
        width: 100%!important;
    }
    .strong-team {
        border-right: 0!important;
        border-bottom: 0!important;
    }
    .gutters-mobile>.col, .gutters-mobile>[class*=col-] {
        padding-right: 7.5px;
        padding-left: 7.5px;
    }
    .modal.right .modal-dialog {
        width: 100%;

    }
}
@media (max-width: 991.98px) { /*// Medium devices (tablets, less than 992px)*/
    /* Offcanvas */
    .nav-offcanvas, .search-offcanvas {
        display: block!important;
        position: fixed;
        top: 0; /* Height of navbar */
        bottom: 0;
        left: 100%;
        width: 100%;
        background-color: #000;
        overflow-y: auto;
        visibility: hidden;
        background-color: rgba(0,0,0,1);
        transition-timing-function: ease-in-out;
        transition-duration: .4s;
        transition-property: left, visibility;
        z-index: 99;
    }
    .nav-offcanvas.open, .search-offcanvas.open {
        left: 0%;
        visibility: visible;
    }
    .navbar-nav {
        margin-bottom: 3rem;
    }
    .offcanvas-collapse .close {
        float: unset;
    }
    .dropdown.mega-menu {
        border-bottom: 1px solid rgba(255,255,255,.12);
    }
    .navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover {
        background: #000;
    }
    .dropdown-menu {
        background-color: #000;
    }
    .lead {
        font-size: .9rem;
        font-weight: 400!important;
    }
    .carousel-caption {
        padding-bottom: 2rem;
        bottom: -2px;
    }
    .dropdown-item {
        padding: .5rem 1.25rem;
    }
    .border-right {
        border-right: 0!important;
    }
}
@media (max-width: 1199.98px) { /*// Large devices (desktops, less than 1200px)*/}

@media (min-width: 768px) and (max-width: 1023.98px) {
    /* Offcanvas */
    .nav-offcanvas, .search-offcanvas {
        display: block!important;
        position: fixed;
        top: 0; /* Height of navbar */
        bottom: 0;
        left: 100%;
        width: 50%;
        background-color: #000;
        overflow-y: auto;
        visibility: hidden;
        background-color: rgba(0,0,0,1);
        transition-timing-function: ease-in-out;
        transition-duration: .4s;
        transition-property: left, visibility;
        z-index: 99;
    }
    .nav-offcanvas.open, .search-offcanvas.open {
        left: 50%;
        visibility: visible;
    }

}

.ticket {
    position: relative;
    font-size: .8rem;
    border: 2px solid white;
    background-color: #f47920;
    color: white;
    text-align: center;
    display: inline-block;
    padding: .25rem .5rem;
}
.ticket:before,
.ticket:after{
    content: '';
    position: absolute;
    top: .6rem;
    height: .6rem;
    width: 0.3rem;
    border: 2px solid white;
    background: white;
}
.ticket:before {
    left: -2px;
    border-radius: 0 .5rem .5rem 0;
    border-left-color: white;
}
.ticket:after {
    right: -2px;
    border-radius: .5rem 0 0 .5rem;
    border-right-color: white;
}



/* ======== Animations ======== */

/* Shine */
.shine::before {
    position: absolute;
    top: 0;
    left: -75%;
    z-index: 2;
    display: block;
    content: '';
    width: 50%;
    height: 100%;
    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
    -webkit-transform: skewX(-25deg);
    transform: skewX(-25deg);
}
.shine:hover::before {
    -webkit-animation: shine .75s;
    animation: shine .95s;
}
@-webkit-keyframes shine {
    100% {
        left: 125%;
    }
}
@keyframes shine {
    100% {
        left: 125%;
    }
}
/* Circle */
.watch-video-inner {
    position: relative;
    background: rgba(255, 255, 255, 0.48); 
    border-radius: 50%; 
    height: 100px; 
    width: 100px; 
    cursor: pointer; 
}
.watch-video-inner i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-38%, -50%);

}
.watch-video-inner::before {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    display: block;
    content: '';
    width: 0;
    height: 0;
    background: rgba(255,255,255,.2);
    border-radius: 100%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    opacity: 0;
}
.watch-video-inner:hover::before {
    -webkit-animation: circle .8s infinite ease-in-out;
    animation: circle .8s infinite ease-in-out;
}
@-webkit-keyframes circle {
    0% {
        opacity: 1;
    }
    40% {
        opacity: 1;
    }
    100% {
        width: 200%;
        height: 200%;
        opacity: 0;
    }
}
@keyframes circle {
    0% {
        opacity: 1;
    }
    40% {
        opacity: 1;
    }
    100% {
        width: 200%;
        height: 200%;
        opacity: 0;
    }
}

nav.pagination {
    position: relative;
    width: 100%;
}
.nav-links {
    position: relative;
}
.nav-links .page-numbers.current {
    padding: 10px 12px;
    background: rgba(244, 121, 32, 0.34);
    border: 1px solid rgba(244, 121, 32, 0.34);
    line-height: 1;
    color: #fff;
}
.nav-links .page-numbers {
    display: inline-block;
    padding: 10px 12px;
    background: #f5f5f5;
    color: #484848;
    text-decoration: none;
    border: 1px solid rgba(0,0,0, .05);
    line-height: 1;
}
.gutters-sm {
    margin-right: -5px;
    margin-left: -5px;
}
.gutters-sm > .col, .gutters-sm > [class*=col-] {
    padding-right: 5px;
    padding-left: 5px;
}
.hero-image img {
    width: 100%; 
    height: 200px;
    object-fit: cover;
}
@media (min-width: 768px) {
    .hero-image img {
        height: 400px;
    }
}
.carousel-item::before {
    position: absolute;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.05) linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0) 30%,rgba(0,0,0,0.75) 100%);
}