/*
Theme Name: Thornley & lumb
Theme URI: https://www.thornleylumb.co.uk/
Template: blankslate
Author: Creative Marketing Services
Author URI: https://www.cmsadvertising.co.uk/
Tags: accessibility-ready,one-column,two-columns,custom-menu,featured-images,microformats,sticky-post,threaded-comments,translation-ready
Version: 2023.1699364659
Updated: 2023-11-07 13:44:19

*/

.elementor-column-gap-default>.elementor-column>.elementor-element-populated, .e-con-full, .e-con>.e-con-inner{
    padding:0 !important;
}
a[href^="mailto"]{
    color: inherit;
}
html{
    overflow-x: hidden;
}
body{
    font-family: 'Montserrat', sans-serif;
    color: #3c3c3b;
    font-weight: 500;
}
p, ul{
    font-size: 1.3em;
    line-height: 1.3;
    margin-bottom: 15px;
}
ul ul{
    font-size: unset;
    list-style: circle !important;
}
.page ul{
    list-style: disc;
    padding-left: 25px;
}
a{
    transition: .3s ease;
    text-decoration: none !important;
    color: #3c3c3b;
}
a:hover{
    color: #2eb2fd;
}
b, strong{
    font-weight: 700;
}
h1{
    font-size: 3.2em;
    margin-bottom: 15px;
}
h2{
    font-size: 2.7em;
    margin-bottom: 15px;
}
h3{
    font-size: 1.7em;
    margin-bottom: 15px;
}
h4{
    font-size: 1.4em;
    margin-bottom: 15px;
}
hr{
    border: 0;
    opacity: 1;
    height: 2px;
    background-color: #3c3c3b !important;
    width: 120px;
    margin-bottom: 15px !important;
}
:focus-visible {
    outline: -webkit-focus-ring-color auto 0px;
}
.grecaptcha-badge{
    z-index: 99999999;
}
.padding-h{
    padding-left: calc(15px + 5%);
    padding-right: calc(15px + 5%);
}
.padding-v{
    padding-top: calc(15px + 2.5%);
    padding-bottom: calc(15px + 2.5%);
}
.e-con-full.padding-h{
    padding-left: calc(15px + 5%) !important;
    padding-right: calc(15px + 5%) !important;
}
.e-con-full.padding-v{
    padding-top: calc(15px + 2.5%) !important;
    padding-bottom: calc(15px + 2.5%) !important;
}
.text-align-center{
    text-align: center;
}
.text-align-right{
    text-align: right;
}
.text-align-left{
    text-align: left;
}
.background-img{
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.blue-text{
    color: #00435f;
}
.blue-back{
    background-color: #00435f;
}
.light-blue-text{
    color: #2eb2fd;
}
.light-blue-back{
    background-color: #2eb2fd;
}
.grey-text{
    color: #3c3c3b;
}
.grey-back{
    background-color: #3c3c3b;
}
.light-grey-text{
    color: #f4f4f4;
}
.light-grey-back{
    background-color: #f4f4f4;
}
.white-back{
    background-color: #fff;
}
.white-text{
    color: #fff;
}
.white-btn, .white-btn-rev, .grey-btn-rev, .blue-btn, .light-blue-btn{
    display: inline-block;
    transition: .3s ease;
    padding: 10px 25px;
    font-weight: bold;
    border-radius: 0;
    letter-spacing: 1px;
    font-size: 16px;
    margin-bottom: 15px;
}
.white-btn{
    color: #3c3c3b;
    background-color: #fff;
    border:1px solid #fff;
}
.white-btn:hover{
    color: #fff;
    background-color: #3c3c3b;
    border:1px solid #3c3c3b;
}
.white-btn-rev{
    color: #fff;
    background-color: transparent;
    border:1px solid #fff;
}
.white-btn-rev:hover{
    color: #3c3c3b;
    background-color: #fff;
    border:1px solid #fff;
}
.grey-btn-rev{
    color: #3c3c3b;
    background-color: transparent;
    border:1px solid #3c3c3b;
}
.grey-btn-rev:hover{
    color: #fff;
    background-color: #3c3c3b;
    border:1px solid #3c3c3b;
}
.blue-btn{
    color: #fff;
    background-color: #00435f;
    border:1px solid #00435f;
}
.blue-btn:hover{
    color: #00435f;
    background-color: #fff;
    border:1px solid #00435f;
}
.light-blue-btn{
    color: #fff;
    background-color: #2eb2fd;
    border:1px solid #2eb2fd;
}
.light-blue-btn:hover{
    color: #2eb2fd;
    background-color: #fff;
    border:1px solid #2eb2fd;
}

@media (max-width:995px) {
    .white-btn{
        font-size: 1em;
    }
    h1{
        font-size: 2.5em;
    }
    h2{
        font-size: 1.8em;
    }
    h3{
        font-size: 1.5em;
    }
    h4{
        font-size: 1.3em;
    }
    p, ul{
        font-size: 1.2em;
    }
}

/* NAV */
.nav-logo{
    /* max-width: 300px; */
    max-height: 60px;
}
.nav-container{
	padding-top:0;
	padding-bottom:0;
	position: absolute;
    width: 100%;
    z-index: 999;
    transition: .3s ease;
    background-color: #fff;
}
.menu{
    margin-bottom: 0;
}
.nav-row{
    padding-top: 25px;
    padding-bottom: 25px;
}
.navigation{
	position:relative;
    padding-top:5px;
    padding-bottom:5px;
    text-align: center;
}
.navigation a{
	color: #3c3c3b;
	text-align: center;
	text-decoration: none;
	padding: 10px;
	margin:0 0 0 5px;
	transition: .3s ease;
	font-size: 1em;
    position: relative;
}
.menu-item, .menu .page_item{
	display: inline-block;
    margin-right: 15px;
}
.menu-item:last-of-type, .menu .page_item:last-of-type{
    margin-right: 0;
}
.navigation a::after{
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50% , 0);
    height: 3px;
    width:0px;
	background-color:#55c0e9 !important;
    transition: .3s ease;
}
.navigation .current_page_item>a::after, .navigation .current-menu-item>a::after, .navigation a:hover::after, .current-menu-parent>a::after{
    width:100%;
}
.navigation .current_page_item>a:hover::after, .navigation .current-menu-item>a:hover::after{
	/* color: #2eb2fd !important; */
    background-color: #3c3c3b !important;
}

.hamburger {
    cursor: pointer;
    z-index: 1000;
    float: right;
	margin: 0 10px 0 0
}
.hamburger div {
    width: 30px;
    height: 2px;
    background-color: #00435f;
    margin: 7px 0;
    opacity: 1;
    transition: .3s ease-in-out;
    text-align: right;
}
.nav-cross div{
	background-color: #2eb2fd;
}
.nav-cross div:nth-child(1) {
    -webkit-transform: rotate(-45deg) translate(-10px, 10px);
    transform: rotate(-45deg) translate(-9px, 9px);
}
.nav-cross div:nth-child(2) {
    opacity: 0;
}
.nav-cross div:nth-child(3) {
    -webkit-transform: rotate(45deg) translate(-5px, -5px);
    transform: rotate(45deg) translate(-4px, -4px);
}
/* .menu-item-has-children{
    position: relative;
}
.sub-menu {
    max-height: 0px;
    position: absolute;
    bottom: 0;
    left: 50%;
    background-color:#131313;
    text-align: center;
    overflow: hidden;
    transform: translate(-50%, calc(100% + 10px));
    transition: .5s ease;
    padding:0 !important;
}
.menu-item-has-children:hover .sub-menu{
    max-height: 1000px;
}
.sub-menu .menu-item{
    margin: 0 0 5px;
    width: max-content;
}
.sub-menu .menu-item a{
    font-size: .6em;
} */
.socials{
    font-size: 2em;
}
.socials a:hover{
    color: #3c3c3b;
}
@media (max-width:995px) {
	.nav-logo{
		max-height: 45px;
		padding:0;
        max-width: 100%;
	}
	.nav-row{
        /* background-color: #fff; */
        padding: 15px 10px;
        align-items: center !important;
	}
	.navigation{
		max-height: 0vh;
	    width: 100%;
	    overflow-y: hidden;
	    transition: 0.3s ease-in-out;
		position: relative;
        text-align: center;
        padding-top:0;
        padding-bottom:0;
	}
	.open-nav{
		max-height: 100vh;
        padding: 4vh 0 2vh;
		overflow-y:auto;
		position:relative;
	}
    .navigation::-webkit-scrollbar {
      display: none;
    }
    .navigation {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
	.menu-main-menu-container{
		width:100%;
		text-align:center;
	}
    /* .navigation .current_page_item>a, .navigation .current-menu-item>a, .navigation a:hover {
        color: #3c3c3b !important;
    } */
    .menu-item{
		display: block !important;
	    margin: 5px 0 15px !important;
	    font-size: 1em;
        padding:0;
	}
    .menu-item a{
		margin:5px 0;
	}
    .navigation a::after{
        /* display: none; */
    }
    .sub-menu {
        max-height: 1000px;
        position: relative;
        bottom: unset;
        left: unset;
        background-color:transparent;
        text-align: center;
        overflow: hidden;
        transform: none;
        padding:0 !important;
    }
    .sub-menu .menu-item{
        display: block;
        width: 100%;
        margin:0 !important;
    }
}
@media (min-width: 995px){
	.hamburger-container {
	    display: none!important;
	}
}
@media (max-width:995px) {
    .current-menu-item{
        margin:0;
    }
}

/* Footer */
.footer{
    background-color: #3c3c3b;
}
.footer a{
    color: #fff;
}
.footer a:hover{
    color: #2eb2fd;
}
.footer-logo{
    max-width: 350px;
    max-height: 60px;
    /* width: 100%; */
    margin-bottom: 40px;
}
.wpcf7-form-control-wrap, .wpcf7 label{
    display: block;
}
.wpcf7 textarea, .wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"]{
    width:100%;
    padding:15px;
    color: #3c3c3b;
    border: none;
    background-color: #fff;
}
.social-links li{
    display: inline-block;
    margin-right: 10px;
}
.copyright{
    font-size: .9em;
}
.footer .social-links{
    padding-left: 0;
    list-style: none;
}

@media (max-width:995px) {
    .footer-logo{
        /* max-width: 120px; */
        max-height: 45px;
        margin-bottom:15px;
    }
}

/* 404 */
.error-row{
    min-height: 70vh;
    padding-top:10vh;
    position: relative;
    z-index: 2;
}


/* Home */
.header-bottom{
    background-color: rgba(0,67,95,.8);
}
.header-bottom .top{
    margin-bottom: 15px;
}
.home-title{
    max-width: 900px;
    margin: 0 auto 15px;
}
.header-bottom img{
    max-width: 125px !important;
    width: 100%;
}
.header-bottom .down-arrow{
    font-size: 3em;
}
.wwa-top-text{
    margin-bottom: calc(15px + 2.5%);
}
ul.list{
    padding-left: 25px;
    list-style: disc;
}
.timeline hr{
    background-color: transparent !important;
    border-top: 5px dotted #55c0e9;
    position: relative;
    width:calc(100% + calc(var(--bs-gutter-x) * 0.5));
    overflow: visible;
}
.timeline hr:after{
    content: "";
    position: absolute;
    right: -11px;
    top: -12.5px;
    width:20px;
    height:20px;
    border-radius: 20px;
    background-color: #00516e;
    display: inline-block;
}
.timeline:nth-child(4) hr:after, .timeline:nth-child(6) hr:after{
    display: none;
}
.home-services{
    background-image: url('https://www.thornleylumb.co.uk/wp-content/uploads/2024/02/services-back.jpg');
    background-size: 62% auto;
    background-position: right center;
}
.home-services .row{
    min-height: 65vh;
}
.home-services-img img{
    max-width: 350px !important;
    width: 100%;
    padding:20px;
    margin-left:14%;
}
.home-services-text{
    position: relative;
    overflow: visible;
}
.home-services-text:before{
    content: "";
    position: absolute;
    right: -18%;
    top: -20px;
    width: 136%;
    height: 80px;
    border-radius: 0;
    background-color: rgba(0, 81, 110, .9);
    z-index: 1;
}
.home-services-text h2{
    position: relative;
    z-index: 2;
    margin-bottom: 50px;
}
.home-services-text ul{
    list-style: none;
    padding-left: 10%;
}
.home-services-text ul li{
    margin-bottom: 20px;
}
.single-project .project-title{
    margin: 20px 0 20px;
}
.single-project .project-text{
    padding-right: calc(12px + 5%);
}
.single-project .project-thumbnail{
    width: 100%;
    max-width: 420px;
    margin-bottom: 30px;
}
.single-project ul{
    list-style: none;
    padding-left: 0;
}
.single-project ul li{
    margin-bottom: 15px;
}
.single-project ul li span{
    min-width:40%;
    display: inline-block;
}
.sector-list h3{
    /* margin-bottom: 0; */
}
@media (max-width:995px) {
    .header-bottom .text-align-right, .header-bottom .text-align-left{
        text-align: center;
    }
    .header-bottom img {
        max-width: 85px !important;
    }
    .header-bottom .down-arrow {
        font-size: 2em;
    }
    .timeline{
        margin-bottom: 20px;
    }
    .timeline:last-of-type{
        margin-bottom: 0px;
    }
    .timeline hr:after{
        display: inline-block !important;
    }
    .home-services{
        background-image: unset;
        overflow: hidden;
    }
    .home-services-img img {
        margin: 0 auto 20px;
    }
    .home-services-text:before{
        height: 70px;
    }
}


/* People / Team */
.top-spacer{
    padding-top:100px;
}
.team .header-title-col{
    margin-bottom:50px;
}
.team .header-title{
    margin-bottom:30px;
}
.team-member-inner{
    padding: 0 calc(12px + 5%) 50px;
}
.team-member-img{
    width:100%;
    margin-bottom: 15px;
}
.team-member-name{
    margin-bottom: 5px;
    text-transform: uppercase;
}
.title-col{
    margin-bottom: 25px;
}
.vacancy{
    padding-top:45px;
    padding-bottom:30px;
    border-bottom: 2px solid #2eb2fd;
}
.vacancy:last-of-type{
    border-bottom: none;
}
.vacancy .job-title, .vacancy .job-date{
    text-transform: uppercase;
}
.vacancy-img{
    max-width: 50px;
}
.image-strip{
    min-height:45vh;
}
.app-img{
    max-width: 100%;
}
.app-bottom-row{
    padding-top: calc(15px + 2.5%);
}
.team-member-img-link{
    opacity: 1;
    transition: .3s ease;
}
.team-member-img-link:hover{
    opacity: .6;
}
.team-member-title-link{
    color: #2eb2fd;
}
.team-member-title-link:hover{
    color: #fff;
}
@media (max-width:995px) {
    .team-member-inner {
        padding: 0 0 30px;
    }
    .title-col {
        margin-bottom: 10px;
        text-align: left;
    }
    .image-strip{
        min-height:25vh;
    }
    .app-img{
        margin-bottom: 20px;
    }
    .app-row{
        margin-bottom: 30px;
    }
    .app-row:nth-child(4){
        margin-bottom: 0px;
    }
}

/* Team Single */
.single-team .job-title{
    margin-top: 15px;
    margin-bottom: 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.single-team .team-thumbnail{
    max-width: 500px;
    margin: 0 auto;
    display: block;
}

/* Projects */
.projects-header{
    background-image: url('https://www.thornleylumb.co.uk/wp-content/uploads/2023/11/projects-hero.jpg');
    background-size:cover;
    background-position: center;
    min-height: calc(100px + 50vh);
}
.projects-inner{
    padding:30px 15px;
}
.projects-overlay{
    min-height: 400px;
    width: 100%;
    background-color: rgba(0, 67, 95, 0.7);
    padding:15px;
    transition: .5s ease;
    opacity: 0;
}
.projects-text{
    width:100%;
}
.projects-overlay:hover{
    opacity: 1;
}
.projects-text a:hover{
    /* color: #2eb2fd; */
}

.selector-col{
    text-align: right;
}
.projects-header-strip .projects-title{
    text-transform: uppercase;
    margin-bottom: 0;
}
.selector-sub-title{
    text-transform: uppercase;
    display: inline-block;
    margin-right: 15px;
    margin-bottom: 0;
}
.selector{
    background-color: #00435f;
    border:1px solid #00435f;
    color: #fff;
    padding:5px;
    font-size: 1.3em;
    border-radius: 0;
}
.selector-sub-title a{
    color: #00435f;
}
.selector-sub-title a:hover{
    color: #fff;
}
.selector-sub-title span{
    /* font-size: 200%; */
}
.projects .title-col .projects-sub-title{
    text-transform: uppercase;
    margin-bottom: 5px;
}

@media (max-width:995px) {
    .projects-header{
        min-height: calc(70px + 25vh);
    }
    .selector-col {
        text-align: left;
        margin-top: 10px;
    }
    .projects-inner {
        padding: 15px 0;
    }
    .projects-overlay{
        opacity: 1;
        min-height: 300px;
    }
}

/* Pagingation */
.pagination-col{
    margin-top: 15px;
    text-align: center;
}
.pagination-left, .pagination-numbers, .pagination-right, .pagination-col ul li{
    display: inline-block;
    margin: 0 10px;
}
.pagination-text{
    font-size: 1.3em;
}

/* Single project */
.bottom-row hr{
    width: 100%;
    background-color: #00435f !important;
    margin: 30px 0 !important;
}
.bottom-row h3{
    max-width: 900px;
    margin: 0 auto;
}

/* Contact */
.contact-header{
    background-image: url('https://www.thornleylumb.co.uk/wp-content/uploads/2023/11/home-mid.jpg');
}
.contact a.blue-text{
    color: #00435f;
}
.contact a.blue-text:hover{
    color: #2eb2fd;
}
.contact-form-container{
/*     max-width: 900px; */
}
.contact-form-container .wpcf7 textarea, .contact-form-container .wpcf7 input[type="text"], .contact-form-container .wpcf7 input[type="email"], .contact-form-container .wpcf7 input[type="tel"] {
    border: 1px solid #00435f;
}
.wpcf7-submit{
    margin-bottom: 0;
}
.office-info-col ul, .contact-bottom ul{
    list-style: none;
    padding-left: 0;
}
.office-info-col ul li{
    margin-bottom: 10px;
}
.hr-con hr{
    width:100%;
    background-color: #00435f !important;
    margin-bottom: 0 !important;
}
.contact-bottom ul li{
    margin-bottom: 10px;
}
.contact-bottom .projects-inner{
    padding: 0;
    text-align: center;
}
.head-office{
    margin-bottom: 25px;
}
.southern-office .office-info-col{
    padding-left: calc(25px + calc(var(--bs-gutter-x) * .5));
}
@media (max-width:995px) {
    .southern-office .office-info-col{
        padding-left: calc(var(--bs-gutter-x) * .5);
    }
}

.client-carousel img{
	filter: grayscale(1);
}
