/*
Theme Name: ITP
Theme URI: https://itpltd.com/
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: 2024.2.1733741268
Updated: 2024-12-09 10:47:48

*/

@import url("css/fonts.css");
@import url("css/nav.css");
@import url("css/footer.css");

/* Custom Core CSS */
html{
    overflow-x: hidden;
}
body{
    font-family: "PT Sans", sans-serif;
    font-optical-sizing: auto;
    color: #1d1d1b;
    font-weight: 400;
    overflow-x: hidden;
    /* overflow-wrap:break-word; */
}
.e-con{
    padding:0 !important;
}
.padding-h{
    padding-left: calc(1.5rem + 3%);
    padding-right: calc(1.5rem + 3%);
}
.padding-v{
    padding-top: calc(10px + 2%);
    padding-bottom: calc(10px + 2%);
}
.background-img{
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.elementor video{
    margin-bottom: -6px !important;
}
iframe {
    aspect-ratio: 16 / 9;
    width: 100% !important;
}

/* Text */
.uppercase{
    text-transform: uppercase;
}
.text-align-center{
    text-align: center;
}
.text-align-right{
    text-align: right;
}
.light-text{
    font-weight: 300;
}
.reg-text{
    font-weight: 400;
}
.med-text{
    font-weight: 500;
}
.semi-bld-text{
    font-weight: 600;
}
.bld-text, b, strong{
    font-weight: 700;
}
h1{
    font-size: 4.8em;
    font-weight: 800;
    margin-bottom: 15px;
    line-height: 1.1;
}
h2{
    font-size: 3.5em;
    font-weight: 800;
    margin-bottom: 15px;
}
h3{
    font-size: 2.5em;
    font-weight: 800;
    margin-bottom: 15px;
}
h4{
    font-size: 1.6em;
    margin-bottom: 15px;
    font-weight: 800;
}
p, ul, ol, table{
    font-size: 1.2em;
    line-height: 1.2;
    margin-bottom: 15px;
}
ul{
    list-style: none;
    padding-left: 0;
}
ul.list, .wp-block-list{
    padding-left:1.75rem;
    list-style: disc;
}
ul ul{
    font-size: 1em;
}
table{
    background-color: #fff;
}
thead, tbody tr:nth-child(even){
    background-color: #f6f6f6;
}
th, td{
    padding:10px;
    border: solid 1px #999999;
}
hr{
    border:1px solid #c10230;
    opacity: 1;
}
a{
    transition: .3s ease;
    text-decoration: none !important;
    overflow-wrap:anywhere;
    color: #1d1d1b;
}
.white-text a{
    color: #fff;
}
a:hover{
    color: #c10230;
}
.red-back.white-text a:hover{
    color: #1d1d1b;
}
@media (max-width:995px) {
    h1{
        font-size: 2.6em;
    }
    h2{
        font-size: 2.1em;
    }
    h3{
        font-size: 1.7em;
        margin-bottom: 15px;
    }
    h4{
        font-size: 1.4em;
    }
}

/* Colors */
.white-text{
    color: #fff;
}
.grey-text{
    color: #1d1d1b;
}
.med-grey-text{
    color: #424242;
}
.light-grey-text{
    color: #ededed;
}
.red-text{
    color: #c10230;
}
.gold-text{
    color: #bc953a;
}

.white-back{
    background-color: #fff;
}
.med-grey-back{
    background-color: #424242;
}
.light-grey-back{
    background-color: #ededed;
}
.grey-back{
    background-color: #1d1d1b;
}
.red-back{
    background-color: #c10230;
}
.gold-back{
    background-color: #bc953a;
}

/* Buttons */
.btn{
    display: inline-block;
    padding:10px 40px;
    font-weight: 600;
    font-size: 1.2em;
    transition: .3s ease;
    line-height: 1;
    border-radius: 100px;
    min-width: 220px;
    text-align: center;
}
.btn-sp{
    margin-right: 15px;
}
.white-btn, .white-text .white-btn{
    background-color: #fff;
    border:1px solid #fff;
    color: #1d1d1b;
}
.white-btn:hover, .white-text .white-btn:hover{
    background-color: transparent;
    border:1px solid #fff;
    color: #fff !important;
}
.white-btn-rev{
    background-color: transparent;
    border:1px solid #fff;
    color: #fff;
}
.white-btn-rev:hover{
    background-color: #fff;
    border:1px solid #fff;
    color: #c10230;
}
.red-btn{
    background-color: #c10230;
    border:1px solid #c10230;
    color: #fff;
}
.red-btn:hover, .red-btn.active{
    background-color: transparent;
    border:1px solid #c10230;
    color: #c10230;
}
.red-btn-rev{
    background-color: transparent;
    border:1px solid #c10230;
    color: #c10230;
}
.red-btn-rev:hover, .red-btn-rev.active{
    background-color: #c10230;
    border:1px solid #c10230;
    color: #fff;
}
.gold-btn{
    background-color: #bc953a;
    border:1px solid #bc953a;
    color: #fff;
}
.gold-btn:hover, .gold-btn.active{
    background-color: transparent;
    border:1px solid #bc953a;
    color: #bc953a;
}
.grey-btn{
    background-color: #1d1d1b;
    border:1px solid #1d1d1b;
    color: #fff;
}
.grey-btn:hover{
    background-color: transparent;
    border:1px solid #1d1d1b;
    color: #1d1d1b;
}
.purple-btn{
    background-color: #3b3a68;
    border:1px solid #3b3a68;
    color: #fff;
}
.purple-btn:hover{
    background-color: transparent;
    border:1px solid #3b3a68;
    color: #3b3a68;
}
@media (max-width:995px) {
    .btn-sp{
        margin-bottom: 10px;
    }
}

/* 404 */
.error-container{
    border-bottom: 4px solid #c10230;
}
.error-row{
    min-height: 60vh;
}
@media (max-width:995px) {
    .error-container{
        padding-top: calc(calc(10px + 2%) + 14vh);
    }
    .error-row{
        min-height: 40vh;
    }
}

/* Home */
.vid-100-max{
    /* max-height: 100vh !important; */
}
.video-hero{
    background-image: unset !important;
    max-height: 100vh;
}
.video-hero .header-row{
    min-height: 76vh;
    max-height: 100vh;
}
.vid-text{
    text-shadow: #1D1D1B 3px 3px 8px;
    max-width:1200px;
}
.vid-text h1{
    font-size: calc(4.8em + 1vw);
}
.vid-text h2{
    font-size: calc(2em + 1vw);
}
.hero ul{
    font-size: 1.6em;
    margin-bottom: 25px;
}
.title-col{
    margin-bottom: 20px;
}
.bottom-btn-col{
    margin-top: 20px;
}
.important-info .info-inner{
    position: relative;
    overflow: hidden;
    height:100%;
}
.important-info .info-inner .info-img{
    position: absolute;
    top: 0;
    left: 0;
    width:100%;
    height:100%;
    z-index: 1;
    filter: blur(3px);
    -webkit-filter: blur(3px);
}
.important-info .info-inner::after{
    content: "";
    background-color: #1d1d1b;
    opacity: .6;
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    width:100%;
    height:100%;
}
.important-info .info-inner .info-text{
    position: relative;
    padding:12vh 5vh;
    z-index: 3;
}
.project-col{
    margin-bottom: 10px;
}
.project-img{
    transition: .3s ease;
    aspect-ratio:16/9;
}
.project-img-link:hover .project-img{
    opacity: .8;
}
.project-text{
    padding:15px 10px;
}
.form-col label, .form-col .wpcf7-form-control{
    /* display: block; */
    width: 100%;
}
.form-col .wpcf7 input[type="text"], .form-col .wpcf7 input[type="email"], .form-col .wpcf7 input[type="tel"], .form-col .wpcf7 textarea{
    border: none;
    padding: 15px;
    margin-bottom: 10px;
}
.form-col .wpcf7-submit{
    width: auto;
}

@media (max-width:995px) {
    .video-hero .header-row{
        min-height: 500px;
    }
    .vid-text h1{
        font-size: 2.6em;
    }
    .vid-text h2{
        font-size: 2.1em;
    }
    .hero-img-col{
        min-height: 300px;
    }
    .important-info{
        margin-bottom: 15px;
    }
    .important-info .info-inner .info-text{
        padding:5vh;
    }
    .title-col{
        margin-bottom: 10px;
    }
    .related-product {
        margin-bottom: 15px;
    }
    .related-product .product-inner {
        padding: 20px 20px 1px;
        /* margin-bottom: 15px; */
    }
}

/* Product Page */
.range-nav-col {
    padding: 1.5rem;
}
.range-nav {
    margin-bottom: 0;
}
.range-nav li{
    display: inline-block;
    padding: 0 10px;
    border-right: 2px solid #fff;
    margin-bottom: 10px;
}
.range-nav li:last-of-type{
    border: unset;
    margin-bottom: 0;
}
.range-nav a:hover{
    color: #1d1d1b;
}
.product-icon-col, .product-btn{
    margin-bottom: 20px;
}
.product-text{
    margin-bottom: 20px;
}
.product-icon{
    max-height: 65px;
    margin-bottom: 5px;
}
.text-left .product-inner{
    padding-right: 1.5rem;
}
.text-right .product-inner{
    padding-left: 1.5rem;
}
.heading-block{
    margin-bottom: calc(10px + 2%);
    margin-top: calc(10px + 2%);
}
.container-fluid .row:first-of-type .heading-block{
    margin-top: 0;
}
.heading-block h3{
    margin-bottom: 0;
}
.carousel-control-next-icon, .carousel-control-prev-icon {
    width: 2.5rem;
    height: 2.5rem;
    background-size: 70% 70%;
    background-color: #fff;
    border-radius: 25px;
}
.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231d1d1b'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231d1d1b'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}
.related-product .product-inner{
    padding:35px 35px 1px;
    height:100%;
}
.related-product-img{
    margin-bottom: 15px;
}
.youtube{
    margin-bottom: 15px !important;
}

@media (max-width:995px) {
    .hero-img, .product-con .carousel{
        margin-bottom: 15px;
    }
    .range-nav-col{
        padding:.75rem;
    }
    .range-nav li{
        border-right:unset;
        padding:10px;
        border-bottom: 2px solid #fff;
    }
    .text-right .product-inner, .text-left .product-inner {
        padding: 0;
    }
    .product-btn-col:last-of-type .product-btn{
        margin-bottom: 0;
    }
    .youtube{
        max-height: 220px;
    }
}

/* Products Page */
.products-con .product-inner{
    /* padding: 25px; */
    max-width: 500px;
    margin:0 auto calc(2.5% + 25px);
}
.products-con .product-inner .product-img{
    min-height: calc(300px + 5vh);
    margin-bottom: 10px;
    transition: .3s ease;
}
.products-con .product-inner .product-img:hover{
    opacity: .8;
}
.products-con .product-inner .product-text{
    margin-bottom: 0;
    padding-bottom: 25px;
}
.product-con .product-inner .add-to-spec-btn p{
    margin:0;
}
.product-con .product-inner .add-to-spec-btn iframe{
    aspect-ratio: unset !important;
    max-height:60px;
    overflow: hidden;
}

/* Projects Page */
.projects-header{
    background-image:url('https://itpltd.com/wp-content/uploads/2025/01/projects-hero.jpg');
    position: relative;
}
.projects-header::after{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width:100%;
    height:100%;
    background-color: #1d1d1b;
    opacity: .5;
    z-index: 1;
}
.header-row{
    position: relative;
    z-index: 2;
    min-height: 40vh;
    max-height: 100vh;
}
.projects-nav-row h3{
    margin-bottom: 0;
}
.projects-nav-col{
    text-align: right;
}
.project-map-btn{
    margin-right: 10px;
}
.project-category-dropdown {
    padding: 10px;
    text-align: left;
}
.projects .project-col{
    padding-right: calc(calc(var(--bs-gutter-x)* .5) + 1%);
    padding-left: calc(calc(var(--bs-gutter-x)* .5) + 1%);
    margin-bottom: 5vh;
}
.projects .project-col .project-inner{
    min-height: 60vh;
    padding:25px;
    position: relative;
    transition: .3s ease;
}
.projects .project-col .project-inner::after{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width:100%;
    height:100%;
    background-color: #1d1d1b;
    opacity: .7;
    z-index: 1;
    transition: .3s ease;
}
.projects .project-col .project-inner .project-text{
    position: relative;
    z-index: 2;
}
.projects-link:hover .project-inner::after{
    opacity: .5;
}
.projects-link:hover .project-inner{
    transform: scale(1.01);
}
.pagination-div{
    font-size: 1.2em;
}
.pagination-div, .pagination-div li{
    display: inline-block;
    font-weight: 600;
}
.pagination-div .pag-nav ul{
    margin-bottom: 0;
}
.pagination-div a{
    margin:0;
    padding:5px;
}
.pagination-div a:hover, .pagination-div .active a{
    color: #1d1d1b;
}
@media (max-width:1250px) {
    .project-map-btn{
        margin-bottom: 10px;
    }
}
@media (max-width:995px) {
    .projects-nav-row h3{
        margin-bottom: 15px;
    }
    .projects-nav-col{
        text-align: left;
    }
    .project-category-dropdown {
        padding: 5px;
        display: block;
    }
    .projects .project-col {
        padding-right: calc(var(--bs-gutter-x)* .5);
        padding-left: calc(var(--bs-gutter-x)* .5);
        margin-bottom: 4vh;
    }
    .projects .project-col .project-inner .project-text {
        padding:0;
    }
    .header-row{
        padding: 10px;
        min-height: 230px;
    }
}

/* single project */
.featured-image{
    max-width: 100%;
    margin-bottom: 25px;
}
.project-detail{
    margin-bottom: 15px;
    padding-bottom: 1px;
    position: relative;
}
.project-detail::after{
    content: "";
    position: absolute;
    bottom: 0;
    left:0;
    height:3px;
    width:30px;
    background-color: #c10230;
}
.project-detail:last-of-type::after{
    display: none;
}
.project-detail p{
    margin-bottom: 0;
    font-size: 1em;
    font-weight: 800;
}

/* Vacancies */
.vacancy{
    margin-bottom: 25px;
}
.vacancy:last-of-type{
    margin-bottom: 0;
}
.vacancy-inner{
    padding:25px;
}
.vacancy-more{
    padding-top:15px;
}

/* News */
.news-col{
    margin-bottom: calc(var(--bs-gutter-x) * 1);
}
.news-img{
    aspect-ratio:16/12;
}
.news-inner{
    height: 100%;
}

/* about */
.product-range{
    margin-bottom: 10px;
}
.product-range img{
    max-height:70px;
    margin-bottom: 10px;
}

/* environmental policy */
.obj-col, .core-measure{
    margin-bottom: 25px;
}
.obj-inner, .measure-inner{
    height:100%;
    padding:25px;
}
.obj-icon, .measure-icon{
    max-height: 80px !important;
    margin-bottom: 15px;
}
.accepted-list li {
    margin-bottom: 10px;
}
.accepted-list li span{
    display: inline-block;
    max-width: calc(100% - 46px);
    vertical-align: middle;
}
.accepted-list li:before{
    content: "\f058";
    font-family: FontAwesome;
    margin-right: 10px;
    color: green;
    font-size: 1.8em;
    vertical-align: middle;
    display: inline-block;
    max-width: 45px;
}
.accepted-list li.x:before{
    content: "\f057";
    color: red;
}
.landfill-row, .collection-row{
    padding-bottom: calc(10px + 2%);
}
@media (max-width:995px) {
    .obj-col, .core-measure{
        margin-bottom: 15px;
    }
    .obj-col:last-of-type, .core-measure:last-of-type{
        margin-bottom: 0;
    }
    .obj-inner, .measure-inner{
        padding:15px;
    }
}

/* Downloads */
.downloads{
    position: relative;
}
.download-category{
    margin-bottom: 25px;
}
.download-sub-category{
    margin-bottom: 15px;
}
.download-categories h3{
    padding-bottom: 15px;
    margin-bottom: 20px;
    border-bottom: 4px solid #c10230;
}
.downloads::after{
    content: "";
    position: absolute;
    bottom: 0;
    left:0;
    height:3px;
    width:80%;
    background-color: #c10230;
}
.downloads:nth-child(odd)::after{
    right: 0;
    left:unset;
}
.downloads:last-of-type::after{
    display: none;
}
.download-col{
    margin-bottom: 15px;
}
.download-inner{
    padding:15px;
}
.download-icon{
    max-height: 50px;
    padding-bottom: 0;
    margin-right: 15px;
}
.document-icon{
    max-height: 50px;
    padding-bottom: 0;
    margin-right: 10px;
}
.document-title{
    display: inline-block;
}
.download-title {
    margin-bottom: 0;
    font-size: 1.4em;
    font-weight: 600;
    display: inline-block;
    max-width: calc(100% - 75px);
    vertical-align: middle;
}
@media (max-width:1250px) {
    .download-icon{
        margin-bottom: 10px;
    }
    .download-title{
        display: block;
        max-width: unset;
        font-size: 1.2em;
    }
    .document-icon{
        margin-bottom: 10px;
    }
}

/* Access Restriction */
#pms-active-gateways-not-available, .pms-subscription-plan-price{
    display: none;
}

/* contact */
.contact-team-col{
    margin-bottom: 15px;
}
.contact-team-col:last-of-type{
    margin-bottom: 0;
}
.contact-icon{
    max-height: 50px;
    margin-bottom: 10px;
}

/* Fire Safety Guidance */
.guidance-inner {
    padding: 10px;
    max-width: 500px;
    margin: 0 auto 10px;
}
.guidance-text{
    padding:10px;
}
.guidance-text h4{
    margin:0;
}

/* Print visualiser */
.print-visualiser-con input[type="file"] {
    display: none;
}
.print-visualiser-con .main-image-container{
    background-image: url('/wp-content/uploads/2025/03/visualiser-main-image.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* width: 1000px;
    height: 562.5px; */
    position: relative;
    margin: 25px auto 0;
    overflow: hidden;
    width: 100%;
    max-width: 1200px;
    aspect-ratio: 500 / 281;
}
.print-visualiser-con #imageContainer{
    position: absolute;
    top: 5.7%;
    left: 0%;
    width: 100%;
    height: 100%;
    opacity: 0.85;
}
.print-visualiser-con #imageContainer img{
    width: 5%;
    height: auto;
    margin: 0.95% 0.5% 5.4%;
}

/* Gallery */
.gallery-item{
    margin:0 !important;
}
.gallery-item img{
    border:none !important;
}
@media (max-width:768px) {
    .elementor-image-gallery .gallery-columns-4 .gallery-item {
        max-width: 50% !important;
        width: 50% !important;
    }
}

/* Feedback form */
.feedback-form p>label{
    width: 100%;
}
.block-radio .wpcf7-list-item{
    display: block;
    margin: 5px 0;
}
.block-check .wpcf7-list-item{
    display: inline-block;
    width:100%;
    max-width: 500px;
}
.form-section{
    margin-bottom: 35px;
}
.cond-field .wpcf7-form-control-wrap, .cond-field input{
    display: block;
    width: 100%;
}
.feedback-form .wpcf7-text, .feedback-form .wpcf7-textarea{
    padding:15px;
    border: none;
    outline: 1px solid #1d1d1b;
    width:100%;
}
:focus-visible {
    outline: #c10230 solid 1px !important;
    border-radius: 0;
}
.wpcf7-response-output{
    text-align: center;
}

.announcement-bar{
    padding-top:5px;
    padding-bottom:5px;
    background-color: #013871;
}
.announcement-bar p{
    margin:0;
}
