/*
Theme Name: Bootscore
Theme URI: https://bootscore.me/
Author: Bootscore
Author URI: https://bootscore.me
Description: Flexible Bootstrap WordPress starter-theme for developers with full WooCommerce support. <a href="https://bootscore.me/category/documentation/" target="_blank">Documentation</a>
Version: 6.2.2
Requires at least: 5.0
Tested up to: 6.8
Requires PHP: 7.4
License: MIT License
License URI: https://github.com/bootscore/bootscore/blob/main/LICENSE
Text Domain: bootscore
Tags: featured-images, threaded-comments, translation-ready

Use this theme to make something cool, have fun, and share what you've learned with others.

Bootscore is based on Underscores https://underscores.me/, (C) 2012-2024 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/

/* 
All style editing is done via /assets/scss/_bootscore-custom.scss
*/


/* * * * * * * * * * * * * * *
 * Global Variables
 * * * * * * * * * * * * * * */
:root {
    --themeColor: #000000;
    --bodyBgColor: #FFFFFF;
    --bodyFontColor: #000000;
    --secondaryBgColor: #17276B;
    --darkHeadingColor: #17276B;
    --lightThemeColor: #F5F5F5;
    --lightGreyColor: #F5F5F5;
    --darkGreyColor: #A9A9A9;
    --topNavBgColor: #FFFFFF;
    --topNavFontColor: #000000;
    --footerBgColor: #000000;
    --footerFontColor: #FFFFFF;
    --bottomBarBgColor: #1E1E1E;
    --bodyFontFamily: 'Open Sans', Arial, sans-serif;
    --headingFontFamily: 'Open Sans', Arial, sans-serif;
    --heading1FontSize: 60px;
    --heading2FontSize: 45px;
    --heading3FontSize: 40px;
    --heading4FontSize: 35px;
    --heading5FontSize: 30px;
    --heading6FontSize: 25px;
    --bodyLargeFontSize: 25px;
    --bodyFontSize: 22px;
    --bodySmallFontSize: 18px;
    --captionFontSize: 14px;
    --headerHeight: 127px;
    --borderRadius: 10px;
    --headerPadding: 155px;
    --sectionPadding1: 100px;
    --sectionPadding2: 50px;
    --sectionPadding3: 50px;
}

/* * * * * * * * * * * * * * *
 * General
 * * * * * * * * * * * * * * */
body {
    background: var(--bodyBgColor);
    color: var(--bodyFontColor);
    font-family: var(--bodyFontFamily);
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 300;
    font-size: var(--bodyFontSize);
    letter-spacing: 0.03em;
}
h1, h2, h3, h4, h5, h6 {
    font-family: var(--headingFontFamily);
    font-weight: 300;
    color: inherit;
    line-height: 1.35;
}
h1 {
    font-size: var(--heading1FontSize);
}
h2 {
    font-size: var(--heading2FontSize);
}
h3 {
    font-size: var(--heading3FontSize);
}
h4 {
    font-size: var(--heading4FontSize);
}
h5 { 
    font-size: var(--heading5FontSize);
}
h6 {
    font-size: var(--heading6FontSize);
}
.h1-title {
    font-size: var(--heading1FontSize);
}
.h2-title {
    font-size: var(--heading2FontSize);
}
.h3-title {
    font-size: var(--heading3FontSize);
}
.h4-title {
    font-size: var(--heading4FontSize);
}
.h5-title {
    font-size: var(--heading5FontSize);
}
.large-text {
    font-size: var(--bodyLargeFontSize);
}
.small-text {
    font-size: var(--bodySmallFontSize);
}
.caption-text {
    font-size: var(--captionFontSize);
}
a {
    color: var(--themeColor);
}
b, strong {
    font-family: var(--boldFontFamily);
    font-weight: normal;
}
picture {
    display: block;
}

/* * * * * * * * * * * * * * *
 * Helpers
 * * * * * * * * * * * * * * */
.theme-color-text {
    color: var(--themeColor);
}
.theme-color-dark-text {
    color: var(--darkHeadingColor);
}
.theme-color-secondary-text {
    color: var(--secondaryBgColor);
}
.theme-color-grey-text {
    color: var(--darkGreyColor);
}
.theme-color-bg {
    background: var(--themeColor);
}
.theme-color-light-bg {
    background: var(--lightThemeColor);
}
.theme-color-top-nav-bg {
    background: var(--topNavBgColor);
}
.theme-gradient-bg {
    background: #17276b;
    background: -webkit-linear-gradient(to right,rgba(23,39,107,1),rgba(25,43,186,1));
    background: linear-gradient(to right, rgba(23, 39, 107, 1), rgba(25, 43, 186, 1));
}
.theme-bg-section {
    background: var(--themeColor);
    color: #FFFFFF;
    padding-block: var(--sectionPadding2);
}
.theme-bg-section a.btn.btn-theme {
    background: transparent;
    border: 1px solid;
}
.overlay, .overlay-link, .stretched-link {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
a.overlay-link, a.stretched-link {
    opacity: 0;
    font-size: 0;
    cursor: pointer;
}
.hide {
    display: none !important;
}
.border-radius {
    border-radius: var(--borderRadius);
    overflow: hidden;
}
.gradient-section {
    background: #17276b;
    background: -webkit-linear-gradient(to right,rgba(23,39,107,1),rgba(25,43,186,1));
    background: linear-gradient(to right, rgba(23, 39, 107, 1), rgba(25, 43, 186, 1));
    color: #FFFFFF;
}
.title-only-section {
    padding-block: var(--sectionPadding3);
}
.header-padding {
    padding-block: var(--headerPadding);
}
.section-padding-1 {
    padding-block: var(--sectionPadding1);
}
.section-padding-2 {
    padding-block: var(--sectionPadding2);
}
.section-padding-3 {
    padding-block: var(--sectionPadding3);
}
.mt-section-padding-1 {
    margin-top: var(--sectionPadding1);
}
.mt-section-padding-2 {
    margin-top: var(--sectionPadding2);
}
.mb-section-padding-2 {
    margin-bottom: var(--sectionPadding2);
}
.mb-section-padding-3 {
    margin-bottom: var(--sectionPadding3);
}
.pb-section-padding-1 {
    padding-bottom: var(--sectionPadding1);
}
.pb-section-padding-2 {
    padding-bottom: var(--sectionPadding2);
}
.pb-section-padding-3 {
    padding-bottom: var(--sectionPadding3);
}
.accordion.single-row {max-width: 700px;margin-inline: auto;}
.text-right {
    text-align: right !important;
}
.post-container {
    width: 62.5%;
    min-width: 1080px;
    margin-inline: auto;
}
.post-container .single-post-content {
    line-height: 1.65;
    max-width: 800px;
    margin-inline: auto;
}
.post-container .single-post-content p {
    margin-bottom: 25px;
}
span.chip {
    background: #7C5989;
    color: #fff;
    display: inline-block;
    font-size: 80%;
    vertical-align: middle;
    padding: 5px 14px 7px;
    border-radius: 50px;
    margin-right: 0.4em;
    height: fit-content;
}
span.chip-industrial {
    background: #6a2c30;
}
span.chip-aviation {
    background: #316e6f;
}
span.chip-cladding-remediation {
    background: #D7A52F;
}
span.chip-high-rise {
    background: #7C5989;
}
span.chip-interiors {
    background: #BD4D51;
}
span.chip-international {
    background: #1D7BA5;
}
span[class*="student-accommodation"] {
    background: #556B32;
}
span.chip-residential {
    background: #A29888;
}
span.chip-retail {
    background: #A06679;
}
span.chip-self-storage {
    background: #6A2C30;
}
img.icon-location {
    height: 1.33em;
    position: relative;
    top: -2px;
}

/* * * * * * * * * * * * * * *
 * container size reset
 * * * * * * * * * * * * * * */
body .container {
    max-width: 1728px;
}
@media (max-width: 1740px) {
    body .container {
        max-width: 94%;
        padding-inline: 15px;
    }
}
@media (max-width: 1260px) {
    body .container {
        max-width: 100%;
        padding-inline: 30px;
    }
}
@media (max-width: 992px) {
    body .container {
        padding-inline: 20px;
    }
}
@media (max-width: 570px) {
    body .container {
        padding-inline: 15px;
    }
}

/* * * * * * * * * * * * * * *
 * Buttons
 * * * * * * * * * * * * * * */
a.btn-theme,
button.btn-theme {
    background: var(--themeColor);
    color: #FFFFFF;
    border: 1px solid var(--themeColor);
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    font-family: var(--bodyFontFamily);
    font-size: var(--bodyFontSize);
    font-weight: 300;
    text-decoration: none;
    padding: 10px 25px 11px;
    user-select: none;
    -webkit-appearance: none;
}
a.btn-theme.btn-fluid {
    width: 100%;
}
button, input, select, textarea {
    -webkit-appearance: none;
}
a.btn-theme.btn-stroke,
button.btn-theme.btn-stroke {
    color: var(--themeColor);
    background: #FFF;
    border: 1px solid;
    font-family: var(--boldFontFamily);
    letter-spacing: 0.05em;
    padding: 10px 24px 11px;
    border-radius: 0;
}
.theme-bg-section button.btn.btn-theme.btn-green,
.theme-bg-section a.btn.btn-theme.btn-green,
.gradient-section a.btn.btn-theme.btn-green {
    background: var(--secondaryBgColor);
    padding: 9px 20px 7px;
}
a.btn.btn-full-width {
    width: 100%;
}
a.navbar-brand-footer {
    max-width: 170px;
}
a.nav-link:focus {
    color: inherit;
}
.btn.btn-theme img {
    height: 1em;
    width: auto;
    margin-right: 6px;
    filter: brightness(0) invert(1);
}
.btn-underline,
.btn-link {
    text-decoration: none;
    display: inline-block;
}
.btn-underline {
    border-bottom: 1px solid #000;
}
.contact-hero .col-md-1 {
    margin-right: -30px;
}
.contact-hero .theme-card img {
    height: 84px;
} 
.contact-hero .theme-card h3 {
    margin-block: 40px;
}
.contact-hero .theme-card .btn-link {
    margin-top: 10px;
}
p.location-phone {
    white-space: nowrap;
}

/* * * * * * * * * * * * * * *
 * Header
 * * * * * * * * * * * * * * */
.site-header {
    position: fixed;
    width: 100%;
    height: var(--headerHeight);
    background: var(--topNavBgColor);
    left: 0;
    top: 0;
    z-index: 1040;
    transition: 0.4s;
}
body {
    padding-top: var(--headerHeight);
}
a.navbar-brand {
    width: 126px;
    padding: 0;
    margin: 0;
}
nav#nav-main {
    padding: 30px 0;
}
.book-a-demo-bar {
    padding-block: 11px;
    font-weight: 400;
    font-stretch: condensed;
}
.book-a-demo-bar span {
    transform: scaleX(0.8);
    display: inline-block;
    letter-spacing: 0.05em;
    font-size: 17px;
    border-bottom: 1px solid;
    line-height: 1.25;
    margin-bottom: 3.5px;
}
header .offcanvas.offcanvas-end {
    margin-left: auto;
    margin-top: 4px;
    flex-grow: 0;
    transition: 0s;
}

/* * * * * * * * * * * * * * *
 * Desktop Menu
 * * * * * * * * * * * * * * */
ul#bootscore-navbar {
    margin-top: 2px;
    align-items: center;
}
ul#bootscore-navbar li {
    margin-left: 35px;
}
#bootscore-navbar a.nav-link {
    color: var(--topNavFontColor);
    font-family: var(--bodyFontFamily);
    font-size: var(--bodyFontSize);
    font-weight: 300;
    padding: 2px 2px 0px;
    margin-inline: 2px;
    cursor: pointer;
    background: transparent;
    transition: all 0.3s ease-in-out;
}
#bootscore-navbar a.nav-link:focus,
#bootscore-navbar a.nav-link:hover {
    box-shadow: none;
}
#bootscore-navbar .nav-link.dropdown-toggle {
    padding-right: 1.1em;
}
.nav-link.dropdown-toggle:after {
    border: 0 !important;
    content: '+';
    position: absolute;
    height: auto;
    background: none;
    transform: none;
    font-size: 1.2em;
    vertical-align: middle;
    top: -0.075em;
    width: 0.75em;
    right: 0;
    left: auto;
}
#bootscore-navbar .btn-theme-filled-parent a.nav-link {
    background: var(--themeColor);
    border-radius: 0;
    font-size: var(--bodyFontSize);
    color: #FFFFFF;
    border: 1px solid var(--themeColor);
}
#bootscore-navbar .btn-theme-stroked-parent a.nav-link {
    background: transparent;
    border-radius: 0;
    font-size: var(--bodyFontSize);
    color: var(--themeColor);
    border: 1px solid;
    padding: 10px 15px;
    transition: 0.18s;
}
#bootscore-navbar .btn-theme-stroked-parent a.nav-link:after {
    display: none;
}
/*ul#bootscore-navbar li.current-menu-parent > .nav-link,
ul#bootscore-navbar li.current-menu-item > .nav-link {
    background: var(--lightThemeColor);
}*/
#bootscore-navbar ul.dropdown-menu {
    position: fixed;
    left: 0;
    width: 100%;
    top: 125px;
    border: 0;
    margin: 0;
    border-radius: 0 !important;
    z-index: 1040;
    background: #F7F7F7;
    padding: 40px 4%;
    display: flex;
    justify-content: end;
    border: 0;
    box-shadow: 0 20px 15px rgba(0, 0, 0, 0.05);
    transform: translateY(-30px) scaleY(0);
    transition: all 0.18s;
    opacity: 0;
}
#bootscore-navbar ul.dropdown-menu.show {
    display: flex;
    transform: translateY(0px) scaleY(1);
    transform-origin: top center;
    opacity: 1;
}
/* #bootscore-navbar ul.dropdown-menu > li, #bootscore-navbar ul.dropdown-menu > li > a {
    display: none;
}
#bootscore-navbar ul.dropdown-menu > li:first-child {
    display: block;
    margin: 0;
} */
#bootscore-navbar ul.dropdown-menu > li > a {
    font-size: var(--bodyFontSize);
    font-weight: 300;
    padding: 1px;
    line-height: 1.3;
}
#bootscore-navbar ul.dropdown-menu > li > a.active {
    background: no-repeat;
    color: initial;
}
.mega-menu-post {
    margin-left: auto;
}
.mega-menu-content {
    padding-block: 40px 60px;
    animation: slideDown 0.3s;
}
.mega-menu-col-right {
    width: 420px;
    flex-shrink: 0;
}
.side-mega-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.side-mega-menu-list li {
    margin: 0 0 20px;
    background: var(--topNavBgColor);
    border: 1px solid var(--themeColor);
    padding: 30px;
    border-radius: 10px;
    max-width: 440px;
    animation: slideDownWithoutOpacity 0.45s;
}
.side-mega-menu-list li:nth-child(2) i.mega-menu-icon {
    background: var(--topNavBgColor);
    border-color: var(--themeColor);
}
.side-mega-menu-list li:nth-child(2) {
    background: #fff;
    border-color: var(--themeColor);
}
@keyframes slideDown {
    from {
        transform: translateY(-20px);
        opacity: 0;
    }
    to {
        transform: translateY(0px);
        opacity: 1;
    }
}
@keyframes slideDownWithoutOpacity {
    from {
        transform: translateY(-30px);
    }
    to {
        transform: translateY(0px);
    }
}
.mega-menu-post-card img {
    border-radius: 10px;
}
p.mega-menu-title {
    font-size: var(--bodyFontSize);
    font-weight: 250;
}
p.mega-menu-title:after {
    content: '';
    display: block;
    width: 60px;
    height: 1px;
    background: currentColor;
    margin-block: 10px 25px;
}

ul.mega-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
    column-count: 2;
}
ul#bootscore-navbar ul.mega-menu-list li {
    margin-left: 0;
    margin-right: 25px;
    animation: slideDown 0.3s;
}
ul#bootscore-navbar ul.mega-menu-list li:nth-child(2) {
    animation-duration: 0.35s;
}
ul#bootscore-navbar ul.mega-menu-list li:nth-child(3) {
    animation-duration: 0.4s;
}
ul#bootscore-navbar ul.mega-menu-list li:nth-child(4) {
    animation-duration: 0.45s;
}
ul#bootscore-navbar ul.mega-menu-list li:nth-child(5) {
    animation-duration: 0.5s;
}
ul#bootscore-navbar ul.mega-menu-list li:nth-child(6) {
    animation-duration: 0.55s;
}
ul#bootscore-navbar ul.mega-menu-list li:nth-child(7) {
    animation-duration: 0.6s;
}
.side-mega-menu-list .mega-menu-link {
    text-decoration: none;
}
.side-mega-menu-list .mega-menu-title {
    color: #000;
    line-height: 1.35;
    font-size: 18px;
    font-weight: 250;
    margin-bottom: 4px;
}
ul#bootscore-navbar ul.mega-menu-list li a.mega-menu-link {
    margin-bottom: 30px;
    clear: left;
    break-inside: avoid;
    width: 100%;
    text-decoration: none;
    color: #000;
    line-height: 1.35;
    font-size: 18px;
    font-weight: 250;
}
i.mega-menu-icon {
    background: #fff;
    border: 1px solid var(--themeColor);
    padding: 14px;
    border-radius: 10px;
    width: 54px;
    height: 54px;
    margin-right: 15px;
    flex-shrink: 0;
}
.side-mega-menu-list .mega-menu-link-span {
    text-decoration: underline;
}
.side-mega-menu-list .mega-menu-caption {
    margin-bottom: 10px;
}
.side-mega-menu-list .mega-menu-caption,
ul#bootscore-navbar ul.mega-menu-list li a.mega-menu-link span.mega-menu-caption {
    font-size: 14px;
    color: #A2A2A2;
}
ul#bootscore-navbar ul.mega-menu-list li a.mega-menu-link .mega-menu-title {
    margin-bottom: 4px;
}

/* * * * * * * * * * * * * * *
 * Footer
 * * * * * * * * * * * * * * */
footer.main-footer {
    background: var(--footerBgColor);
    color: var(--footerFontColor);
    position: relative;
    z-index: 5;
}
.bootscore-footer-columns {
    padding-block: 70px;
}
footer.main-footer a {
    color: var(--footerFontColor);
    text-decoration: none;
}
footer.main-footer a.navbar-brand-footer {
    width: 170px;
    display: inline-block;
    max-width: 100%;
}
p.website-by img {
    height: 0.85em;
    position: relative;
    top: -1px;
    margin-left: 6px;
}
ul.social-links-list a img {
    width: 54px;
}
.footer-logo-text {
    margin-block-start: 15px;
    margin-block-end: 20px;

}
footer p {
    font-size: 85%;
    margin: 0 0 4px;
}
footer.main-footer a.footer-logo, .chq-logo-link {
    width: 150px;
    display: inline-block;
}
footer h5 {
    position: relative;
    margin-bottom: 20px;
}
ul#footer-menu {
    justify-content: center;
    margin-bottom: -8px;
}
#footer-menu li a:before {
    content: '';
    background: #fff;
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 12px;
    opacity: 0.6;
    z-index: 2;
    display: block;
}
#footer-menu li:last-child a:before {
    display: none;
}
#footer-menu li.no-link a {
    pointer-events: none;
}
footer a.nav-link {
    padding-block: 10px 8px;
    font-size: var(--bodyFontSize);
}
footer h5.call-link {
    font-weight: 600;
    letter-spacing: 0.04em;
}
footer h5 a.nav-link {
    font-size: inherit;
    padding: 0;
}
.social-menu a {
    margin-right: 12px;
}
.social-menu a img {
    width: 28px;
    margin-right: 12px;
}
.social-menu a:nth-child(1) img {
    width: 25px;
}
.social-menu a:nth-child(2) img {
    width: 21px;
}
.social-menu {
    position: relative;
    justify-content: center;
    margin-top: 70px;
}
.social-menu:before {
    content: '';
    background: #fff;
    width: 180px;
    height: 1px;
    display: block;
    position: absolute;
    top: -30px;
    margin-left: -18px;
}
.bootscore-footer-info {
    background-color: rgba(0, 0, 0, 0.2);
    padding-block: 40px;
    font-size: var(--heading5FontSize);
}
.bootscore-footer-info p {
    margin-top: 15px;
    margin-bottom: 5px;
    font-size: var(--bodyFontSize);
}
ul#legal_menu {
    justify-content: flex-start !important;
}
.footer-sticky-block {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 12;
}
.footer-sticky-block a#footer_sticky_button {
    box-shadow: 0 1px 2px 1px rgba(255,255,255,0.2);
}
.footer-sticky-block a#footer_sticky_button img {
    width: 24px;
    display: inline-block;
    margin-right: 3px;
    position: relative;
    top: -1px;
}

/* * * * * * * * * * * * * * *
 * Btn direction
 * * * * * * * * * * * * * * */
.btn-directions {
    position: relative;
}
.btn-directions .arrow {
    display: inline-flex;
    position: absolute;
    margin-left: 8px;
    width: 24px;
    height: 12px;
    top: 50%;
    transform: translateY(-55%) rotate(-18deg);
}
.btn-directions .arrow:before {
    content: '';
    width: 16px;
    height: 1.5px;
    background: currentColor;
    display: inline-block;
    position: absolute;
    transform-origin: bottom left;
    transform: rotate(-30deg);
    bottom: 0;
}
.btn-directions .arrow:after {
    content: '';
    width: 10px;
    height: 10px;
    display: inline-block;
    position: absolute;
    transform-origin: bottom left;
    transform: rotate(15deg);
    bottom: 3px;
    border-top: 1.5px solid;
    border-right: 1.5px solid;
    left: 3px;
}


/* * * * * * * * * * * * * * *
 * Static Pages
 * * * * * * * * * * * * * * */
.hero-banner {
    overflow: hidden;
    position: relative;
    background: #e9e9e9;
    height: 480px;
}
section.hero-fixed-viewport {
    position: relative;
    height: 100svh;
    height: calc( 100svh - 125px );
    overflow: hidden;
    flex-direction: row;
}
.hero-fixed-viewport .overlay {
    background: rgba(0, 0, 0, 0.3);
    z-index: 1;
}
.hero-content {
    z-index: 2;
    max-width: 720px;
}
h1.hero-title {
    max-width: 15em;
    margin-bottom: 80px;
}
h1.hero-title p br + br {
    display: none;
}
.hero-overlay-content {
    width: fit-content;
    margin: 0 auto;
    text-align: center;
    background-color: rgba(255, 255, 255, 1);
    padding: 30px 50px 25px;
    max-width: 76%;
}
.shimmer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0) 100%);
    animation: shimmer 1.5s 3;
    z-index: 1;
}
section.hero-text-block {
    background: var(--lightGreyColor);
}
@keyframes shimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}
.hero-banner .overlay {
    z-index: 3;
}
.hero-banner [class*="attachment-"] {
    position: relative;
    z-index: 2;
    display: block;
}
.hero-overlay-content h1 {
    color: var(--darkHeadingColor);
    font-weight: 800;
    text-transform: uppercase;
    margin: 0;
}
.hero-overlay-content h1 + p {
    color: var(--darkHeadingColor);
    font-weight: 800;
    text-transform: uppercase;
    font-size: 32px;
}
.hero-banner img:first-child {
    position: relative;
    z-index: 2;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    display: block;
    max-width: none;
    height: 100%;
    width: auto;
}
img.banner-top-right-logo {
    position: absolute;
    right: 0;
    top: 30px;
    z-index: 3;
}
.partner-image {
    height: 260px;
    width: auto;
}
.theme-bg-section h3,
.default-page-section h3,
h4.theme-title-h3,
h3.theme-title-h3 {
    color: var(--themeColor);
}
.theme-bg-section h4.theme-title-h3,
.theme-bg-section h3 {
    color: #FFFFFF;
}
.icon-image {
    max-width: 64px;
}
.title-with-dash:after,
.single-post-content h2:after,
.single-post-content h3:after,
.theme-bg-section h3:after,
.default-page-section h3:after,
h4.theme-title-h3:after,
h3.theme-title-h3:after {
    width: 40px;
    content: '';
    height: 1px;
    display: table;
    margin-block: 18px 32px;
    background: currentColor;
}
.title-with-dash.text-center:after,
.text-center .title-with-dash:after,
h3.text-center:after,
.single-post-content .text-center h2:after,
h4.text-center:after,
.text-center h4:after,
.text-center h3:after {
    margin-inline: auto;
}
.title-with-dash.mini-dash:after {
    width: 25px;
    margin-block: 14px 26px;
}
.default-page-section h3 {
    margin-top: 70px;
}
.default-page-section li,
.default-page-section p {
    margin-top: 30px;
}
.card.theme-card {
    border-radius: var(--borderRadius);
    border-color: #9C9C9C;
    overflow: hidden;
}
.card.theme-card .card-body {
    padding-block: 40px;
}
div#octopus-newsletter-container .form-container {
    margin-inline: 0 !important;
}
.single-post-content hr.mb4, .single-post-content hr.mb-4 {
    margin-block: 70px !important;
}
.theme-bg-section .content {
    max-width: 900px;
    margin-inline: auto;
}
.theme-bg-section .content p {
    margin-bottom: 30px;
}
.two-third-section .content {
    max-width: 75%;
    margin-inline: auto;
}
ul.theme-list i.list-icon {
    background: var(--themeColor);
    width: 30px;
    height: 30px;
    display: inline-flex;
    border-radius: 50%;
    align-content: center;
    padding: 6px;
    flex-shrink: 0;
    margin-right: 15px;
}
ul.theme-list i.list-icon.no-bg {
    background: none;
    padding: 2px;
}
i.list-icon img {display: block;}
ul.theme-list li {
    display: flex;
    margin-bottom: 20px;
}
.theme-blockquote,
.image-with-text-section blockquote {
    font-size: var(--captionFontSize);
    border: 1px solid #eee;
    padding: 20px;
    border-left-width: 5px;
    font-style: oblique;
}
.theme-blockquote .icon-quote {
    width: 42px;
    height: 42px;
    opacity: 0.2;
}
.swiper-slide.logo-item figure {
    padding-inline: 20px;
}
.logo-slider-swiper .swiper-button-prev, .logo-slider-swiper .swiper-button-next {
    filter: grayscale(1);
    opacity: 0.3;
}
.logo-slider-swiper .swiper-button-prev {
    left: 0;
}
.logo-slider-swiper .swiper-button-next {
    right: 0;
}
.default-page-section .container >  h3 {
    margin-top: 20px;
}
ul.theme-list.benefits-list li {
    margin-bottom: 10px;
    margin-top: 0;
}

ul.theme-list.benefits-list {
    margin-block: 20px;
}

ul.theme-list.benefits-list li i.list-icon {position: relative;top: -2px;}
button.accordion-button.btn.btn-theme.btn-inline {
    width: fit-content;
    margin-inline: auto;
}
.accordion.single-button-accordion button.accordion-button.btn.btn-theme,
button.accordion-button.btn.btn-theme.btn-fit {
    width: fit-content;
    padding-right: 50px;
    margin-inline: auto;
    display: block;
    padding: 15px 50px 15px 30px;
    border-radius: 10px !important;
}
.accordion.single-button-accordion .accordion-item {
    background: none;
    border: 0;
}
.accordion.single-button-accordion .accordion-body {
    background: #fff;
}
.accordion.single-button-accordion .accordion-collapse {
    margin-top: 50px;
}

.accordion.single-button-accordion button.accordion-button.btn.btn-theme::after {
    content: '';
    background: none;
    width: 10px;
    height: 10px;
    border-right: 2px solid;
    border-bottom: 2px solid;
    flex-shrink: 0;
    position: absolute;
    right: 20px;
    margin-top: 4px;
    transform: rotate(45deg);
}
.theme-card {
    background: #fff;
    border-radius: 10px;
    padding: 55px;
}
.equal-height-col {
    min-height: 100%;
}


/* * * * * * * * * * * * * * *
 * FAQs Page
 * * * * * * * * * * * * * * */
.faqs-block {
    max-width: 78%;
    min-width: 540px;
    margin-inline: auto;
}
.faqs-block .accordion-item {
    border: 1px solid var(--lightThemeColor);
    border-radius: var(--borderRadius);
    overflow: hidden;
}
.faqs-block .accordion-item + .accordion-item {
    margin-top: var(--sectionPadding3);
}
.faqs-block .accordion-button {
    color: var(--themeColor);
    font-weight: 250;
    padding: 25px 30px;
    border-radius: 0;
    box-shadow: none;
    font-size: var(--heading5FontSize);
    align-items: flex-start;
}
.faqs-block .accordion-button::after {
    margin-left: 15px;
    position: relative;
    top: 7px;
}
.faqs-block .accordion-button:not(.collapsed) {
    background: none;
}
.faqs-block .accordion-body {
    padding: 0 75px 50px 95px;
}
.faq-section .accordion-body {
    padding-block: 30px;
    padding-left: 81px;
}
i.faq-icon {
    display: inline-block;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    padding: 8px;
    border-radius: 50%;
    margin-right: 20px;
}
i.faq-icon img {
    display: block;
}
.journey-table th {
    background: #f8f6ff;
    padding-block: 15px;
    color: var(--themeColor);
    font-weight: 300;
}
.journey-table td {
    padding-block: 12px;
    font-size: var(--bodyFontSize);
    vertical-align: middle;
}
.journey-box i.features-icon img {
    filter: brightness(0) invert(1);
}
.journey-seperator i.icon-seperator {
    width: 40px;
    height: 40px;
    border-right: 2px solid #04cbb4;
    display: block;
    border-bottom: 2px solid #04cbb4;
    transform: rotate(-45deg);
    margin-right: 10px;
    margin-bottom: 40px;
}
.journey-seperator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.journey-seperator-5 {
    display: none;
}
@media screen and (min-width: 993px) {
    .journey-seperator-3 {
        display: none;
    }
}
@media screen and (min-width: 768px) and (max-width: 992px) {
    .journey-seperator-2, .journey-seperator-4 {
        display: none;
    }
}
.theme-table-wrapper table th {
    background: var(--themeColor);
    color: #fff;
}
.theme-table-wrapper table th, .theme-table-wrapper table td {
    padding-block: 15px;
}
.accordion-button:focus {
    box-shadow: none !important;
}

/* * * * * * * * * * * * * * *
 * Reviews Page
 * * * * * * * * * * * * * * */
.reviews-block .accordion-item {
    border: 0;
}
.reviews-block .accordion-item + .accordion-item {
    margin-top: var(--sectionPadding2);
}
.reviews-block .accordion-item:after {
    width: 80px;
    content: '';
    height: 1px;
    display: table;
    margin-block: var(--sectionPadding3);
    background: var(--themeColor);
}
.reviews-block .accordion-item h4 {
    color: var(--themeColor);
}
.reviews-block .accordion-item .reviewer-job {
    color: var(--darkGreyColor);
    margin-bottom: 30px;
}
button.accordion-button.btn.btn-theme.btn-green {
    width: fit-content;
    border-radius: 10px !important;
    color: #FFF;
    box-shadow: none !important;
}
button.accordion-button.btn.btn-theme.btn-green:after {
    position: relative;
    display: inline-block;
    opacity: 1 !important;
    mix-blend-mode: plus-lighter;
    filter: contrast(0);
    vertical-align: middle;
    margin-left: 6px;
}
i.workflow-icon {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    top: -3px;
    margin-right: 8px;
    max-width: 27px;
}
i.workflow-icon img {
    max-width: 100%;
    display: block;
}
.reviews-block .accordion-body {
    padding: 30px 0 0;
}
.meet-rhodri-section .row .content {
    padding-inline: 40px;
}
.meet-rhodri-section .row .content {
    padding-inline: 40px;
}
.content-rhodri-quote h4 {
    max-width: 75%;
    margin: 0 auto 30px;
}


/* * * * * * * * * * * * * * *
 * Features section
 * * * * * * * * * * * * * * */
.features-row {
    margin-bottom: -30px;
}
.features-row > div {
    margin-bottom: 30px;
}
.features-card {
    padding: 30px;
    background: var(--lightGreyColor);
    border-radius: var(--borderRadius);
    min-height: 100%;
}
.theme-color-top-nav-bg .features-card {
    background: #FFF;
}
.features-card i.features-icon {
    display: flex;
    background: var(--themeColor);
    width: 72px;
    height: 72px;
    border-radius: 50%;
    margin-bottom: 30px;
    align-items: center;
    justify-content: center;
    padding: 14px;
}
.text-center .features-card i.features-icon {
    margin-inline: auto;
}
.software-features-section .features-card i.features-icon {
    background: #FFFFFF;
    box-shadow: 0 0 1px #bbb;
}
p.features-text {
    font-size: var(--bodyFontSize);
    margin: 12px 0 20px;
}
.partnered-with-rics figure {max-width: 470px;overflow: hidden;}
.partnered-with-rics figure img {
    width: 100.5%;
    max-width: 100.5%;
}
.swiper.logo-slider-swiper {
    position: static !important;
}
.logo-slider {
    position: relative;
    padding-inline: 30px;
}
i.subscribe-icon img {
    width: 42px;
}

/* * * * * * * * * * * * * * *
 * USP section
 * * * * * * * * * * * * * * */
.usp-card {
    min-height: 100%;
    background: #17276b;
    background: -webkit-linear-gradient(to right,rgba(23,39,107,1),rgba(25,43,186,1));
    background: linear-gradient(to right, rgba(23, 39, 107, 1), rgba(25, 43, 186, 1));
    color: #fff;
    padding: var(--sectionPadding3);
    border-radius: 10px;
}
.filled-buttons-row a.usp-card {
    display: block;
    text-decoration: none;
}
.filled-buttons-row a.usp-card i.usp-icon img {
    filter: brightness(0) invert(1);
}
.filled-buttons-row a.usp-card.plain {
    background: var(--themeColor);
}
.theme-bg-section .testimonial-block img {
    height: 48px;
    margin-bottom: 25px;
    filter: brightness(0) invert(1);
}
.usp-card p {
    margin: 20px 0 0;
    font-size: var(--bodyFontSize);
}
i.usp-icon {
    max-width: 64px;
    display: inline-block;
    margin-bottom: 30px;
}
.text-left {
    text-align: left !important;
}
.reports-row,
.workflow-row {
    margin-bottom: -30px;
}
.col-reports-card,
.col-workflow-card {
    margin-bottom: 30px;
}
.reports-card,
.workflow-card {
    padding: 30px;
    background: var(--lightGreyColor);
    border-radius: 10px;
}
.reports-card img,
.workflow-card img {
    max-width: 84px;
}
span.chip.workflow-step {
    display: inline-block;
    background: var(--themeColor);
    color: #fff;
    line-height: 1;
    padding: 10px 25px 9px;
    border-radius: 40px;
    margin-bottom: 20px;
}


/* * * * * * * * * * * * * * *
 * Fluent Forms
 * * * * * * * * * * * * * * */
label[aria-label="Consent"] {
    display: none !important;
}
.ff-t-container.ff-column-container {
    margin-bottom: 30px;
}
.ff-default .ff-el-input--label label {
    font-weight: 200 !important;
}
.ff-default .ff-t-container .ff-el-form-control {
    border-color: #000;
}
.fluent_form_1 [data-name="ff_cn_id_4"], .fluent_form_1 [data-name="ff_cn_id_4"] .ff-custom_html,
[data-name="ff_cn_id_6"], [data-name="ff_cn_id_6"] .ff-custom_html {
    margin-bottom: 0 !important;
}
button.ff-btn.ff-btn-submit {
    background: #17276b;
    background: -webkit-linear-gradient(to right,rgba(23,39,107,1),rgba(25,43,186,1));
    background: linear-gradient(to right, rgba(23, 39, 107, 1), rgba(25, 43, 186, 1));
    color: #FFFFFF;
    border: 0 none;
    border-radius: var(--borderRadius);
    cursor: pointer;
    display: inline-block;
    font-family: var(--bodyFontFamily);
    font-size: var(--bodyFontSize);
    font-weight: 350;
    text-decoration: none;
    padding: 10px 25px 8px;
    user-select: none;
    -webkit-appearance: none;
    display: table;
    margin: 30px auto 0;
}
i.subscribe-icon {
    display: table;
    margin-inline: auto;
}
.page-contact .contact-content {
    max-width: 670px;
}
.col-contact-link:nth-child(2) {
    margin-inline: 60px;
}
.col-contact-link img {
    max-height: 28px;
}
.col-contact-link a {
    text-decoration: none;
    color: inherit;
}
.col-contact-link a span {
    text-decoration: underline;
}
i.contact-icon {
    background: var(--themeColor);
    width: 55px;
    height: 55px;
    display: inline-flex;
    border-radius: 50%;
    align-items: center;
    padding: 12px;
    justify-content: center;
    margin-right: 15px;
    vertical-align: middle;
}


/* * * * * * * * * * * * * * *
 * Home page
 * * * * * * * * * * * * * * */
.hero-slider-swiper .content {
    max-width: 45%;
    padding-right: 5%;
}
.hero-slider-swiper .content h1 {
    margin-bottom: var(--sectionPadding3);
    font-size: var(--heading2FontSize);
}
span.swiper-pagination-bullet {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 1px solid;
    background: #fff;
    border-radius: 10px;
    position: relative;
    opacity: 1 !important;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    width: 30px;
    background: #000;
}
.swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal {
    width: auto !important;
}
.layout_testimonials_carousel .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: none;
    position: relative;
    left: 0 !important;
    transition: all 0.2s !important;
}
span.swiper-pagination-bullet:before {
    content: '';
    position: absolute;
    left: 0;
    height: 15px;
    width: 100%;
    top: -5px;
}
.swiper-pagination.swiper-pagination-clickable {
    position: relative;
    margin-top: var(--sectionPadding3);
}
div.swiper-cube .swiper-cube-shadow:before {
    opacity: 0;
}
.video-embeded iframe {
    width: 900px;
    height: 480px;
    border: 1px solid #5d29c8;
}
.video-embed-container iframe {
    width: 100%;
    height: 480px;
}
.review-box {
    background: #fff;
    color: #000;
    padding: var(--sectionPadding3) 30px;
    margin-bottom: var(--sectionPadding3);
}
.review-box p.theme-color-grey-text {
    margin: 0;
}
.review-box p.review-title:after {
    content: '';
    background: #000;
    width: 80px;
    height: 1px;
    display: block;
    margin: 30px auto;
}


/* * * * * * * * * * * * * * *
 * Accordion
 * * * * * * * * * * * * * * */
.home-reviews-accordion .accordion-item {
    background: none;
    border: 0;
    display: flex;
    width: 100%;
    flex-direction: column;
}
.home-reviews-accordion .accordion-item .accordion-header {
    order: 1;
}
.home-reviews-accordion .accordion-item .accordion-body {
    padding: 0;
}
.home-reviews-accordion .reviews-row .review-item .review-box {
    margin-bottom: 0;
    min-height: 100%;
}
.home-reviews-accordion .reviews-row .review-item {
    margin-bottom: 30px;
    min-height: 100%;
}



/* * * * * * * * * * * * * * *
 * Posts
 * * * * * * * * * * * * * * */
 .theme-figure,
.post-item figure {
    margin-bottom: 28px;
    overflow: hidden;
    border-radius: var(--borderRadius);
}
.theme-figure img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.team-figure img {
    aspect-ratio: 34/41;
}
.news-card .theme-figure img {
    aspect-ratio: 30 / 25;
}
.post-card .theme-figure img {
    aspect-ratio: 30 / 22;
}
.sector-item .theme-figure img,
.project-card .theme-figure img {
    aspect-ratio: 68 / 49;
}
.featured-article .theme-figure img {
    aspect-ratio: 20 / 13;
}
.section-sector-projects .project-card .theme-figure img {
    aspect-ratio: 20 / 11;
}
.mb--5 {
    margin-bottom: -3rem !important;
}
.post-item figure img {
    border-radius: var(--borderRadius);
    aspect-ratio: 2 / 1.33;
    object-fit: cover;
}
.post-item h4 {
    margin-bottom: 20px;
}
.post-short-content {
    margin-bottom: 20px;
}
hr.wp-block-separator {
    margin-block: var(--sectionPadding2);
}
.single-sector .layout_50_50_split_text_media .content p:first-child {
    font-size: var(--heading4FontSize);
}
.single-post-content h2,
.single-post-content h3 {
    color: var(--themeColor);
    margin-bottom: 0;
}
.single-post-content p img.size-full {
    display: block;
    margin-bottom: var(--sectionPadding2);
}
.single-post-content p + h2,
.single-post-content p + h3 {
    margin-top: var(--sectionPadding2);
}
figure.wp-block-image {
    margin-bottom: var(--sectionPadding2);
}
.post-item {
    margin-bottom: var(--sectionPadding3);
}
.blogs-grid {
    margin-bottom: -50px;
}
a.sectors-link {
    text-decoration: none;
}
a.sectors-link i {
    margin-right: 0.3em;
    color: #1D7BA5;
}
a[class*="sector-link-claddingremediation"] i,
a.sector-link-cladding-remediation i,
a.sector-link-claddingremediation i {
    color: #D7A52F;
}
a.sector-link-interiors i,
a.sector-link-interior i {
    color: #BD4D51;
}
a.sector-link-high-rise i {
    color: #7C5989;
}
a.sector-link-industrial i {
    color: #6a2c30;
}
a.sector-link-retail i {
    color: #A06679;
}
a.sectors-link.sector-link-self-storage i {
    color: #6A2C30;
}
a.sectors-link.sector-link-residential i {
    color: #A29888;
}
a.sector-link-pbsa-student-accommodation i,
a[class*="studentaccommodation"] i {
    color: #556B32;
}
a.sector-link-aviation i,
a[class*="aviation"] i {
    color: #316e6f;
}

i.box-icon img {
    width: 2.5em;
    margin-bottom: 25px;
    filter: brightness(0) invert(1);
}
.box-item {
    border: 1px solid #fff;
    padding: 25px;
    border-radius: 10px;
}
.accordion-body > ul li {
    margin-bottom: 15px;
}


/* * * * * * * * * * * * * * *
 * Breadcrumbs
 * * * * * * * * * * * * * * */
.breadcrumb > * {
    margin-right: 18px;
    text-decoration: none;
}
.breadcrumb a {
    color: inherit;
    border-bottom: 1px solid;
}
.breadcrumb a:hover {
    color: var(--themeColor);
    text-decoration: none;
}
p:empty {
    display: none;
}
.reviews-slider-swiper .swiper-pagination.swiper-pagination-clickable {
    margin-top: 10px;
}
.reviews-slider-swiper h5 {
    margin-block: 30px 15px;
}
p.podcast-subtitle {
    font-size: var(--heading5FontSize);
    max-width: 750px;
    margin: 15px auto 0;
}
.testimonials-box {
    border: 1px solid #eee;
    border-radius: 10px;
}
.box-bordered {
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 25px;
}
.swiper-slide.review-item {
    padding: 50px 100px;
}
.section-two-columns h3 + h5 {
    margin-top: 4rem;
}
.section-two-columns p + figure.theme-figure {
    margin-top: 4rem;
}
.links-group .location-phone {
    margin-bottom: -0.15em;
}
.post-container figure.mb-section-padding-3 {
    margin-bottom: 4rem;
}
.section-thumbnails-content .content {
    max-width: 32em;
}
.section-thumbnails-content .thumbnail-text p {
    margin: 0;
}
.mb--4 {margin-bottom: -1.5rem !important;}
.layout_50_50_split_title_text_text .row.align-items-center,
.page-AboutUs section.layout_50_50_split_title_text_text .row.align-items-center {
    align-items: flex-start !important;
}
.page-AboutUs section.section-two-columns h3.title-with-dash:after {
    display: none;
}
section.layout_cta_block_visual_bg {
    padding-block: 120px;
}
figure.bg-decorative-shape.position-absolute.end-0 {
    max-height: 95%;
}
.single-project section.layout_wide_media {
    padding-top: 0;
}
.single-project .layout_50_50_split_title_text_media h3 + p {
    font-size: var(--heading4FontSize);
}
.layout_project_information .title-with-dash.mini-dash:after {
    margin-block: 10px 20px;
}
.form-control.articles-search-input {
    border-color: var(--themeColor);
    border-radius: 10px;
    box-shadow: none !important;
    padding: 12px 20px 12px 50px;
    font-size: var(--bodyFontSize);
    width: 380px;
}
.articles-search-box img.icon-search {
    position: absolute;
    width: 26px;
    left: 11px;
    top: 50%;
    margin-top: -13px;
}
.featured-article .theme-figure {
    position: relative;
}
.featured-article .theme-figure:after {
    background: #000;
    content: 'Featured Post';
    position: absolute;
    color: #fff;
    left: 40px;
    top: 40px;
    padding: 10px 15px;
    border-radius: 60px;
    font-size: 0.9em;
}
section .wp-video,
section .wp-video .mejs-container,
section .wp-video .mejs-inner, 
section .wp-video .wp-video video {
    width: 100% !important;
    height: 100% !important;
}
.theme-figure img {
    border-radius: 10px;
}

/* * * * * * * * * * * * * * *
 * Hover Effects
 * * * * * * * * * * * * * * */
#bootscore-navbar a.nav-link.show.dropdown-toggle:after {
    content: '-';
}
@media (hover: none) {
    .btn-link:hover {
        color: #000;
    }
    .btn-link.active {
        border-bottom: 1px solid;
    }
}
@media (hover: hover) {
    ul.social-links-list a img,
    span.mega-menu-caption,
    .mega-menu-post-card img,
    i.mega-menu-icon,
    .post-card figure img,
    .news-card figure img,
    a, button, .mega-menu-post-card, .mega-menu-post-card p {
        transition: all 0.3s ease-in-out;
        user-select: none;
    }
    .mega-menu-post-card:hover {
        border-color: var(--themeColor);
        box-shadow: 0 12px 15px rgba(0,0,0,0.12);
    }
    ul#bootscore-navbar ul.mega-menu-list li a.mega-menu-link:hover i.mega-menu-icon {
        border-color: var(--themeColor);
        box-shadow: 0 6px 8px rgba(0, 0, 0, 0.12);
    }
    .news-card figure,
    .post-card figure,
    .mega-menu-post-card figure {
        overflow: hidden;
        border-radius: 10px;
    }
    .news-card:hover figure img,
    .post-card:hover figure img,
    .mega-menu-post-card:hover img {
        transform: scale(1.05);
    }
    .mega-menu-post-card:hover p,
    ul#bootscore-navbar ul.mega-menu-list li a.mega-menu-link:hover span.mega-menu-caption,
    ul#bootscore-navbar ul.mega-menu-list li a.mega-menu-link:hover {
        color: var(--themeColor);
    }
    button.accordion-button.btn.btn-theme:hover,
    #bootscore-navbar .btn-theme-filled-parent.current-menu-item a.nav-link,
    #bootscore-navbar .btn-theme-filled-parent a.nav-link:hover {
        background: #000;
        color: #fff;
    }
    ul#bootscore-navbar ul.mega-menu-list li a.mega-menu-link:hover .mega-menu-title {
        font-weight: normal;
    }
    /* .post-item:hover a.btn.btn-theme.btn-green, */
    .gradient-section a.btn.btn-theme.btn-green:hover,
    .gradient-section a.btn.btn-theme.btn-green:hover {
        background: #059c8a;
    }
    .btn-link:hover {
        color: var(--themeColor);
    }
    footer.main-footer a {
        width: fit-content;
        position: relative;
        display: block;
    }
    footer.main-footer a:hover {
        color: #fff;
    }
    footer.main-footer a:after {
        content: '';
        background: #fff;
        transform: scale(0);
        width: 100%;
        height: 1px;
        display: block;
        transition: transform 0.3s ease-in-out;
    }
    footer a.nav-link:hover:after {
        transform: scale(1);
    }
    .post-item figure img {
        transition: all 0.3s ease-in-out;
    }
    .post-item:hover figure img,
    ul.social-links-list a:hover img {
        transform: scale(1.05);
    }
    a.nav-link,
    .btn-link {
        text-decoration: none;
        display: inline-block;
        position: relative;
        overflow: hidden;
    }
    a.sectors-link {
        display: inline-flex;
        align-items: center;
    }
    #bootscore-navbar ul.dropdown-menu > li > a {
        position: relative;
        overflow: hidden;
    }
    #bootscore-navbar ul.dropdown-menu > li > a:hover {
        background: none;
    }
    a.sectors-link span {
        display: inline-block;
        position: relative;
        margin-left: 4px;
        overflow: hidden;
    }
    .footer-locations-section a:after,
    .nav-link.dropdown-toggle:before,
    #bootscore-navbar ul.dropdown-menu > li > a:after,
    a.sectors-link span:after,
    a.nav-link:after,
    .btn-link:after {
        content: '';
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 1px;
        background: currentColor;
        left: 0;
        transition: 0.3s;
        transform: scaleX(0);
    }
    .footer-locations-section a:hover:after,
    .nav-link.dropdown-toggle:hover:before,
    #bootscore-navbar ul.dropdown-menu > li > a.active:after,
    #bootscore-navbar ul.dropdown-menu > li > a:hover:after,
    a.sectors-link:hover span:after,
    a.sectors-link.active span:after,
    a.nav-link:hover:after,
    .btn-link:hover:after {
        transform: scaleX(1);
    }
    a.btn-theme, button.btn-theme {
        background: none;
        position: relative;
        backface-visibility: hidden;
        overflow: hidden;
        transition: 0.2s;
        z-index: 1;
    }
    a.btn-theme.btn-stroke, button.btn-theme.btn-stroke {
        background: none;
    }
    #bootscore-navbar .btn-theme-stroked-parent a.nav-link:before,
    #bootscore-navbar .btn-theme-stroked-parent a.nav-link:after,
    .btn-theme:before, .btn-theme:after {
        content: '';
        display: block;
        position: absolute;
        background: #000;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
    }
    #bootscore-navbar .btn-theme-stroked-parent a.nav-link:after,
    .btn-theme:after {
        background: #fff;
        transform: translateY(-100%);
        transition: 0.2s;
    }
    .post-card:hover .btn-stroke.btn-theme:after,
    .news-card:hover .btn-stroke.btn-theme:after,
    .post-item:hover a.btn.btn-theme:after,
    #bootscore-navbar .btn-theme-stroked-parent a.nav-link:hover:after,
    .btn-theme:hover:after {
        transform: translateY(0%);
    }
    a.btn.btn-theme:hover {
        border-color: #000;
        color: #000;
    }
    a.btn.btn-theme.btn-stroke:hover {
        color: #fff;
    }
    .post-item:hover a.btn.btn-theme,
    .post-card:hover .btn-stroke.btn-theme,
    .news-card:hover .btn-stroke.btn-theme,
    .btn-stroke.btn-theme:hover,
    #bootscore-navbar .btn-theme-stroked-parent a.nav-link:hover {
        border-color: #000;
        color: #fff;
    }
    #bootscore-navbar .btn-theme-stroked-parent a.nav-link,
    a.btn-theme.btn-stroke, button.btn-theme.btn-stroke {
        background: none;
    }
    #bootscore-navbar .btn-theme-stroked-parent a.nav-link:before,
    a.btn-theme.btn-stroke:before, button.btn-theme.btn-stroke:before {
        background: #fff;
    }
    #bootscore-navbar .btn-theme-stroked-parent a.nav-link:after,
    a.btn-theme.btn-stroke:after, button.btn-theme.btn-stroke:after {
        background: #000;
    }
    a.active.btn-theme.btn-stroke:before {
        background: #000;
    }
    a.active.btn-theme.btn-stroke:after {
        background: #fff;
    }
    a.active.btn-theme.btn-stroke {
        color: #fff;
        border-color: #000;
    }
    a.active.btn-theme.btn-stroke:hover {
        color: #000;
    }
}


/* * * * * * * * * * * * * * *
 * Animations
 * * * * * * * * * * * * * * */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}


/* * * * * * * * * * * * * * *
 * Performance
 * * * * * * * * * * * * * * */
.contentVisibility {
    content-visibility: auto;
}
.willTransform {
    will-change: transform;
}
.hardwareAcceleration {
    transform: translateZ(0);
    backface-visibility: hidden;
}
.re-render-aos [data-aos] {
    opacity: 1 !important;
    transform: none !important;
}
p.copyright-text a {
    display: inline-block;
    vertical-align: middle;
}

/* * * * * * * * * * * * * * * * * *
 * Smooth scroll and anchor offset
 * * * * * * * * * * * * * * * * * */
html {
  scroll-behavior: smooth;
}
:target {
  scroll-margin-top: 120px;
}


/* * * * * * * * * * * * * * *
 * Large Desktop
 * * * * * * * * * * * * * * */
@media only screen and (min-width: 768px) {
    .reports-card, .workflow-card, .features-card, .usp-card {
        min-height: 100%;
    }
    .mb-4.mb-md-0 {
        margin-bottom: 0 !important;
    }
    .section-featured-articles .d-md-flex p,
    .section-featured-projects .d-md-flex p {
        margin: 0;
    }
    .links-group .location-phone {
        margin-bottom: -0.15em;
    }
    .locations-grid .location-card {
        padding-inline: 20px;
    }
    .locations-grid.row {
        margin-inline: -20px;
    }
    .footer-social-section {
        text-align: right;
    }
    ul.social-links-list {
        justify-content: end;
    }
    .post-item h4 {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .post-item .post-short-content p,
    .post-card .post-short-content,
    .col-lg-3 p.news-card-title,
    .col-xxl-3 p.news-card-title {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}
@media only screen and (min-width: 993px) {
    .col-lg-5.footer-useful-links {
        padding-left: 30px;
    }
    .mega-menu-content {
        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.12);
    }
    .footer-col-contact {
        text-align: center;
    }
    .footer-col-sponcer {
        text-align: right;
    }
    .footer-col-sponcer img {
        position: relative;
        top: -12px;
    }
    .home .site-header {
        background: rgba(255, 255, 255, 1);
    }
    body.home  {
        padding-top: 0;
    }
    .home section.hero-fixed-viewport {
        height: 100svh;
    }
    .home #bootscore-navbar .btn-theme-stroked-parent a.nav-link:before {
        opacity: 0;
    }
    .layout_project_information h4.title-with-dash {
        max-width: 40%;
    }
    .footer-bottom {
        margin-top: -45px;
    }
}
@media only screen and (min-width: 1280px) {
    .section-two-columns h3 {
        max-width: 80%;
    }
    .section-two-columns h3.w-100,
    .page-AboutUs section.layout_50_50_split_media_title_text h3.title-with-dash,
    .page-AboutUs section.layout_50_50_split_title_text_media h3.title-with-dash {
        max-width: none;
    }
    .page-AboutUs section.layout_50_50_split_title_text_text h3.title-with-dash {
        max-width: 85%;
    }
    .single-sector .layout_50_50_split_text_media .theme-figure {
        margin-right: 15%;
    }
    .filter.filter-categories {
        max-width: 75%;
    }
    .footer-bottom {
        margin-top: -70px;
    }
}

/* * * * * * * * * * * * * * *
 * Laptop and Desktop
 * * * * * * * * * * * * * * */
@media only screen and (min-width: 1180px) and (max-width: 1600px) {
}

/* * * * * * * * * * * * * * *
 * Tablet landscape
 * * * * * * * * * * * * * * */
@media only screen and (min-width: 993px) and (max-width: 1200px) {
    .filter.filter-categories {
        order: 1;
        margin-top: 1.5rem;
        width: 100%;
    }
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
    .reports-card, .workflow-card, .features-card, .usp-card {
        padding: 25px;
    }
}
@media only screen and (min-width: 768px) and (max-width: 992px) {
    .journey-seperator i.icon-seperator {
        width: 30px;
        height: 30px;
        margin-bottom: 35px;
        margin-right: 0;
        position: relative;
        left: -5px;
    }
}
@media only screen and (max-width: 1740px) {
    :root {
        --heading1FontSize: 50px;
        --heading2FontSize: 39px;
        --heading3FontSize: 34px;
        --heading4FontSize: 29px;
        --heading5FontSize: 25px;
        --heading6FontSize: 22px;
        --bodyLargeFontSize: 22px;
        --bodyFontSize: 17px;
        --bodySmallFontSize: 16px;
        --captionFontSize: 14px;
    }
}
@media only screen and (max-width: 1480px) {
    :root {
        --heading1FontSize: 45px;
        --heading2FontSize: 36px;
        --heading3FontSize: 32px;
        --heading4FontSize: 26px;
        --heading5FontSize: 22px;
        --heading6FontSize: 20px;
        --bodyLargeFontSize: 20px;
        --bodyFontSize: 17px;
        --bodySmallFontSize: 14px;
        --captionFontSize: 12px;
    }
}

/* * * * * * * * * * * * * * *
 * Small Laptop and Tablet
 * * * * * * * * * * * * * * */
 @media only screen and (max-width: 1280px) {
    :root {
        --heading1FontSize: 32px;
        --heading2FontSize: 24px;
        --heading3FontSize: 21px;
        --heading4FontSize: 19px;
        --heading5FontSize: 19px;
        --heading6FontSize: 18px;
        --bodyLargeFontSize: 18px;
        --bodyFontSize: 16px;
        --bodySmallFontSize: 13px;
        --captionFontSize: 12px;
        --borderRadius: 10px;
        --sectionPadding1: 80px;
        --sectionPadding2: 50px;
        --sectionPadding3: 50px;
        --headerPadding: 100px;
    }
    figure.bg-decorative-shape.position-absolute.end-0 {
        max-height: 70%;
        height: 70%;
    }
    figure.bg-decorative-shape.position-absolute.end-0 img {
        object-position: bottom right;
        object-fit: contain !important;
    }
    section.layout_cta_block_visual_bg {
        padding-block: 100px;
    }
    .post-container {
        width: 100%;
        min-width: 0;
        padding-inline: 30px;
    }
    .d-flex.post-meta {
        justify-content: flex-start !important;
        gap: 35px;
    }
    footer.main-footer a.footer-logo, .chq-logo-link {
        width: 100px;
    }
}


/* * * * * * * * * * * * * * *
 * Tablet portrait
 * * * * * * * * * * * * * * */
@media only screen and (max-width: 992px) {
    :root {
        --captionFontSize: 11px;
        --headerHeight: 90px;
    }
    .two-third-section .content {
        max-width: 100%;
    }
    ul#bootscore-navbar li {
        margin-left: 0;
    }
    li#menu-item-72 {
        margin-left: 0 !important;
        margin-block: 30px 15px;
    }
    #bootscore-navbar .btn-theme-filled-parent a.nav-link, #bootscore-navbar .btn-theme-stroked-parent a.nav-link {
        text-align: center;
        margin-top: 20px;
    }
    #bootscore-navbar a.nav-link {
        padding: 10px 0;
        font-size: var(--bodyLargeFontSize);
    }
    .col-usp-card {
        margin-bottom: 30px;
    }
    img.alignright {
        clear: left;
        float: none;
        display: block;
        margin: 0 0 30px;
    }
    footer h5 {
        font-size: 18px;
    }
    [data-aos] {
        opacity: 1 !important;
        transform: none !important;
    }
    .video-embeded iframe {
        height: 280px;
    }
    .hero-slider-swiper .content {
        max-width: none;
        padding-right: 0;
        text-align: center;
    }
    #bootscore-navbar ul.dropdown-menu {
        position: static;
        display: none;
    }

    a.navbar-brand {
        width: 112px;
    }
    nav#nav-main {
        padding: 15px 0;
    }
    ul.mega-menu-list {
        column-count: initial;
    }
    ul#bootscore-navbar ul.mega-menu-list li {
        margin-right: 0;
    }
    .container > p.mega-menu-title {
        display: none;
    }
    .mega-menu-content .container {
        padding: 0;
    }
    .mega-menu-content {
        padding-block: 15px;
    }
    ul#bootscore-navbar ul.mega-menu-list li a.mega-menu-link {
        font-size: 16px;
    }
    ul#bootscore-navbar ul.mega-menu-list li a.mega-menu-link span.mega-menu-caption {
        font-size: 12px;
    }

    .header-actions button.btn.btn-outline-secondary {
        border: 0;
        padding-inline: 5px;
        padding-top: 8px;
    }
    .header-actions button.btn.btn-outline-secondary i {
        font-size: 24px;
        color: var(--themeColor);
        transform: scaleX(1.25);
        font-weight: 600;
        position: relative;
        width: 22px;
        height: 24px;
        display: inline-block;
        border-top: 2px solid;
        margin-left: 3px;
        margin-top: 7px;
    }
    .header-actions button.btn.btn-outline-secondary i:before,
    .header-actions button.btn.btn-outline-secondary i:after {
        background: #000;
        content: '';
        position: absolute;
        right: 0;
        height: 2px;
    }
    .header-actions button.btn.btn-outline-secondary i:before {
        width: 14px;
        margin-top: 7.5px;
    }
    .header-actions button.btn.btn-outline-secondary i:after {
        width: 8px;
        margin-top: 16px;
    }
    button.btn-close.text-reset {
        color: var(--themeColor);
        opacity: 1;
        background: none;
        margin-right: 2px;
        position: relative;
        top: -5px;
        margin-left: 10px;
    }
    button.btn-close.text-reset:before {
        content: '\00d7';
        display: inline-block;
        color: var(--themeColor);
        font-size: 40px;
        font-weight: 100;
        line-height: 20px;
    }
    #bootscore-navbar .btn-theme-filled-parent a.nav-link {
        margin-top: 20px;
    }
    .offcanvas.offcanvas-end {
        height: auto;
        bottom: auto;
    }
    .offcanvas-backdrop.show {
        opacity: 0;
    }
    #bootscore-navbar .btn-theme-stroked-parent {
        display: none;
    }
    ul#bootscore-navbar li {
        width: 100%;
    }
    .offcanvas-body {
        background: #F7F7F7;
        box-shadow: 0 15px 10px rgba(0,0,0,0.1);
        transition: transform 0.25s ease-in-out;
        transform: translateY(-15px);
    }
    .show .offcanvas-body {
        transform: translateY(0);
    }
    .offcanvas-header {
        padding: 15px 19px;
    }
    .mega-menu-col-right {
        width: 100%;
    }
    .side-mega-menu-list li {
        padding: 15px;
    }
    i.mega-menu-icon {
        width: 42px;
        height: 42px;
        padding: 8px;
    }
    .side-mega-menu-list .mega-menu-title {
        font-size: inherit;
        font-weight: 300;
    }
    footer h5.call-link {
        justify-content: flex-start !important;
    }
    #bootscore-navbar ul.dropdown-menu.show {
        display: block;
        padding: 10px 20px;
        background: #fff;
        margin-inline: -20px;
        width: auto;
        box-shadow: none !important;
        border: 0;
    }
    .nav-link.dropdown-toggle:after {
        right: auto;
        top: 0.5em;
        line-height: 1;
    }
    #bootscore-navbar ul.dropdown-menu > li > a {
        padding: 10px 0;
    }
    .row {
        --bs-gutter-x: 15px;
    }
    
    .social-menu {
        justify-content: flex-start;
        margin-bottom: 30px;
    }
    
    .social-menu:before {
        margin-left: 0;
    }
    
    .bootscore-footer-columns {
        padding-block: 50px;
    }
    
    .col-lg-3.footer-col-sponcer img {
        width: 130px;
    }
    
    ul#footer-menu {
        margin-bottom: 20px;
    }
    
    .col-lg-3.footer-col-logo p {
        font-size: 16px;
    }
    .faq-section .accordion-body {
        padding-left: 25px;
    }
    section.hero-fixed-viewport {
        height: calc(100svh - 90px);
    }
    h1.hero-title br {
        display: none;
    }

    .hero-fixed-viewport .overlay {
        background: rgba(0, 0, 0, 0.4);
    }

    .w-75 {
        width: 100% !important;
    }
    h3.h1-title {
        max-width: 240px;
    }
    .articles-search {
        order: -1;
        margin-bottom: 1.5rem;
        width: 100%;
    }
    a.filter-link.me-5 {
        margin-right: 1.5rem !important;
    }
    .post-container {
        padding-inline: 20px;
    }
    .theme-card {
        padding: 30px 25px;
    }
    .contact-hero .theme-card img {
        height: 63px;
    }
    .contact-hero .theme-card h3 {
        margin-block: 30px;
    }
    .location-card {
        margin-bottom: 60px;
    }
    .locations-grid {
        margin-bottom: -60px;
    }
    h4.location-city.mb-4 {
        margin-bottom: 1rem !important;
    }
    .location-content.mb-3 {
        margin-bottom: 0.2rem !important;
    }
    header .offcanvas.offcanvas-end {
        width: 100%;
        margin-top: 0;
    }
    figure.bg-decorative-shape.position-absolute.end-0 {
        display: none;
    }
}

/* * * * * * * * * * * * * * *
 * Mobile screen
 * * * * * * * * * * * * * * */
@media only screen and (max-width: 767px) {
    :root {
        --heading1FontSize: 30px;
        --heading2FontSize: 24px;
        --heading3FontSize: 22px;
        --heading4FontSize: 20px;
        --heading5FontSize: 18px;
        --heading6FontSize: 18px;
        --bodyLargeFontSize: 18px;
        --bodyFontSize: 16px;
        --bodySmallFontSize: 13px;
        --captionFontSize: 11px;
        --borderRadius: 10px;
        --sectionPadding1: 60px;
        --sectionPadding2: 50px;
        --sectionPadding3: 40px;
        --headerHeight: 90px;
        --headerPadding: 50px;
    }
    .bootscore-footer-info {
        font-size: var(--captionFontSize);
    }
    #footer-menu li a, footer.main-footer a {
        font-size: var(--bodyFontSize);
    }
    .d-flex.contact-links-row {
        justify-content: flex-start !important;
    }
    .col-contact-link:nth-child(2) {
        margin: 30px 0;
    }
    .image-with-text-section .row > div:first-child figure {
        margin-bottom: 40px !important;
    }
    .image-with-text-section .row > div:last-child figure {
        margin-top: 40px !important;
    }
    .col-usp-card + .col-usp-card {
        margin-top: 40px;
    }
    .offcanvas-header {
        padding: 15px 14px;
    }
    .meet-rhodri-section .row .content {
        padding-inline: 0;
    }
    .content-rhodri-quote h4 {
        max-width: none;
    }
    .card.theme-card {
        margin-bottom: 30px;
    }
    .faqs-block {
        min-width: 0;
        max-width: none;
    }
    .faqs-block .accordion-button {
        padding: 20px;
    }
    i.faq-icon {
        width: 30px;
        height: 30px;
        padding: 7px;
        margin-right: 12px;
    }
    .faqs-block .accordion-button {
        font-size: 20px;
    }
    .faqs-block .accordion-body {
        padding: 0 30px 30px 62px;
    }
    .homepage-slide {
        opacity: 0;
    }
    .swiper-slide-active .homepage-slide {
        opacity: 1;
    }
    .swiper-button-next:after, .swiper-button-prev:after {
        transform: scale(0.66);
    }
    .journey-seperator i.icon-seperator {
        transform: rotate(45deg);
        margin-block: -15px 40px;
        position: relative;
        left: -5px;
        width: 30px;
        height: 30px;
        margin-right: 0;
    }
    .surveyor-type-boxes .col-md-6 {
        margin-bottom: 30px;
    }
    .header-actions > a.btn-theme {
        padding: 10px 24px 11px;
        margin-right: 4px;
    }
    .partner-image {
        height: 160px;
    }
    .hero-overlay-content h1 + p {
        font-size: 18px;
        letter-spacing: 0;
    }
    .hero-overlay-content {
        max-width: none;
        padding: 20px;
    }
    .hero-banner {
        height: 420px;
    }
    img.banner-top-right-logo {
        width: 90px;
        top: 20px;
    }
    .section-padding-2 + .section-padding-2 {
        padding-top: 0;
    }
    .single-post-content h2:after, .single-post-content h3:after, .theme-bg-section h3:after, .default-page-section h3:after, h4.theme-title-h3:after, h3.theme-title-h3:after {
        margin-block: 15px;
    }
    .mt-5 {
        margin-top: 2rem !important;
    }
    .mb-5 {
        margin-bottom: 2rem !important;
    }
    .footer-logo-section {
        margin-block: 20px;
    }
    a.footer-logo {
        width: 156px;
        display: inline-block;
    }
    .footer-logo-text {
        max-width: 200px;
    }
    #bootscore-navbar ul.dropdown-menu.show { 
        margin-inline: -15px;
        padding-inline: 15px;
        margin-bottom: -16px;
    }
    .layout_50_50_split_text_list_media .row .row .col-md-6:first-child ul {
        margin: 0;
    }
    .section-two-columns p + figure.theme-figure,
    .section-two-columns h3 + h5 {
        margin-top: 2.4rem;
    }
    .layout_50_50_split_text_list_media .row .row .col-md-6 ul {
        margin-bottom: 2rem;
    }
    .title-with-dash:after, .single-post-content h2:after, .single-post-content h3:after, .theme-bg-section h3:after, .default-page-section h3:after, h4.theme-title-h3:after, h3.theme-title-h3:after {
        width: 30px;
        margin-block: 12px 24px;
    }
    .mb--m3 {
        margin-bottom: -1rem !important;
    }
    .blockquote {
        font-size: 1em;
    }
    section.layout_cta_block_visual_bg {
        padding-block: var(--sectionPadding1);
    }
    .featured-article .theme-figure:after {
        left: 20px;
        top: 20px;
        padding: 12px 20px;
        font-size: 0.85em;
    }
    .form-control.articles-search-input {
        width: auto;
    }
    .filter.d-flex {
        flex-wrap: nowrap !important;
        overflow: auto;
    }
    .filter.d-flex > a {flex-shrink: 0;}
    .post-container {
        padding-inline: 15px;
    }
    .contact-hero .cta-thumbnails-wrapper .col-lg-1 + div {
        margin-top: 2rem;
    }
    .layout_50_50_split_media_title figure.theme-figure.mb-0,
    .layout_50_50_split_media_title_text  figure.theme-figure.mb-0 {
        margin-bottom: 2.4rem !important;
    }
    .layout_50_50_split_title_text_text  h3.w-100 {
        margin-bottom: 1.5rem;
    }
    .layout_50_50_split_media_title h4 p {
        margin-bottom: 0;
    }
    ul.social-links-list a img {
        width: 40px;
    }
    .footer-bottom.text-right {
        text-align: left !important;
        margin-top: 1.5rem;
    }
    footer h5 {
        font-size: 19px;
        margin-bottom: 12px;
        margin-top: 26px;
    }
    #footer-menu li a, footer.main-footer a {
        font-size: inherit;
    }
}

@media only screen and (max-width: 440px) {
    figure.partner-logo-list img {
        width: auto;
        height: 90px;
    }
    figure.partner-logo-list img:first-child {
        height: 120px;
        margin-bottom: 20px;
    }
    span.swiper-pagination-bullet {
        margin-inline: 3px !important;
    }
    i.contact-icon {
        width: 42px;
        height: 42px;
        margin-right: 12px;
    }
    .reports-card img, .workflow-card img {
        max-width: 48px;
    }
    i.workflow-icon {
        max-width: 22px;
        top: -2px;
        margin-right: 6px;
    }
    span.chip.workflow-step {
        font-size: 14px;
        padding: 8px 15px 7px;
    }
    i.usp-icon {
        max-width: 48px;
    }
    .features-card i.features-icon {
        width: 48px;
        height: 48px;
        padding: 10px;
    }
    h3.h1-title {
        max-width: none;
    }
    .d-flex.post-meta {
        flex-wrap: wrap;
        gap: 10px;
    }
    .d-flex.post-meta span.post-date {
        margin-left: auto;
    }
    .categories.d-inline-flex > .chip:nth-child(3) {
        display: none;
    }
}
