/*
Theme Name: Cyberfrog (Shaun)

Author: Shaun Hearnden

Version: 999999999999999999999999999999

*/

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}input[type="search"]{-webkit-appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}


h1, h2, h3, h4, h5, h6, p {
    margin-top: 0; /* Removes default top margin */
    margin-bottom: 16px; /* Standard bottom margin */
    line-height: 1.5; /* Line height for readability */
}

/* Specific Heading Styles */

h1 {
    font-size: 48px;
    line-height: 1.2;
    margin-bottom: 24px; /* Extra space below larger headings */
}

h2 {
    font-size: 36px;
    line-height: 1.3;
    margin-bottom: 20px;
}

h3 {
    font-size: 30px;
    line-height: 1.4;
    margin-bottom: 18px;
}

h4 {
    font-size: 24px;
    line-height: 1.4;
    margin-bottom: 16px;
}

h5 {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 14px;
}

h6 {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 12px;
}

/* Paragraph Styles */

p {

    color: #000;

font-size: 16px;
font-style: normal;
font-weight: 400;
line-height:28px;
    
    
}


a{text-decoration:none;}


#logo{display:block; max-width:370px; margin:15px 0 10px 0; }

.client_story > .title{
    
    
    color: #CCDEE1;
    text-align: right;
   
    font-size: 48px;
    font-style: normal;
    font-weight: 900;
    line-height: 96px;
    letter-spacing: -0.96px;
    text-transform: uppercase;
    position: absolute;
    top: -85px;
    right: 0;
    z-index: 1;
}
    
    


#logo img{width:100%;}
p, html, body, div, a, input, textarea, span, select, button{font-family: "acumin-pro", sans-serif!important;}

select{-webkit-appearance:none;}

h1,h2,h3,h4,h5,h6{font-weight:800;}
h1,h2,h3,h4,h5,h6, .figtree, .backy,  .top_banner a, .text_image .text a, .linky, .tags span, .tags a, .team_square .name, .top_bar a, #menu a, .latest_three_section > span, input#gform_submit_button_1, .news_list a{  font-family: "Figtree", sans-serif!important; text-transform:uppercase;}

.home .top_banner{height:90vh; max-height:1000px; padding-top:100px;}

.home .top_banner p:first-child{margin-bottom:30px;}

.top_banner{display:block; position: relative; width:97%;margin:0 auto; height:450px; padding-top:50px;}

.top_banner .wrapper > span{display:block; max-width:750px;}

.top_banner p{color:#fff; text-shadow: 0 4px 10px rgba(0, 0, 0, 0.50); font-size:18px; font-weight:300; max-width:500px;}

.home .top_banner h1{
    
    color: #FFF;
text-shadow: 0 4px 10px rgba(0, 0, 0, 0.60);
margin-bottom:10px;
font-size: 64px;
font-style: normal;
font-weight: 900;
line-height: 72px; /* 112.5% */
letter-spacing: -1.28px;
text-transform: uppercase;
    
    
}

.top_banner h1{
    
    color: #FFF;
text-shadow: 0 4px 10px rgba(0, 0, 0, 0.60);
margin-bottom:10px;
font-size: 48px;
font-style: normal;
font-weight: 900;
line-height: 64px;
letter-spacing: -0.96px;
text-transform: uppercase;
    
    
}

.image{position:relative;}
.image > img{
    
        
        position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    height: 100%;
    object-position: 50% 50%;
    
}

.top_banner .wrapper > span > span{display:block; margin:40px 0;padding-left:20px;border-left:10px solid #FDC100;}
.opening_right > span{
    
    display:block;padding-left:20px;border-left:10px solid #FDC100
}
.top_banner a {
    color: #FFF;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
    line-height: 100%;
    text-transform: uppercase;
    border: 2px solid #FDC100;
    display: inline-block;
    margin-top: 20px;
    padding: 15px 50px 15px 20px;
    
    
      background:url('https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/Arrow-2.png');
    background-repeat:no-repeat;
    background-position: 92% 50%;
    background-size:30px;
    
    
}

.home_team_section .link a:hover, .top_banner a:hover{
         background-color:#FDC100!important;
    
    transition:0.3s;
    color:#000;
     background-image:url('https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/arrow.png')!important;
       background-repeat:no-repeat!important;
    background-position: 92% 50%!important;
    background-size:30px!important;

}

.foot_3 a.link:hover{
    
             background-color:#FDC100!important;
    
    transition:0.3s;
    color:#000!important;
     background-image:url('https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/arrow.png')!important;
       background-repeat:no-repeat!important;
    background-position: 92% 50%!important;
    background-size:30px!important;
    
}


.opening_right span > p{
    color: #246A73;

font-size: 16px;
font-style: normal;
font-weight: 600;
line-height: 28px; /* 175% */
    
    
}

.opening_right h2, .opening_right h3, .opening_right h4{
    

color: #246A73;

font-size: 32px;
font-style: normal;
font-weight: 300;
line-height: 48px; /* 150% */
    text-transform:none;
    margin-bottom:30px;
}

.home_tiles {
    display: block;
    padding: 140px 0 80px;
}

.home_tiles .tile_row{
    margin-bottom:150px;
    max-width:1220px;
       display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap:80px; /* Adjust the gap between grid items as needed */
    
}


.review{display:block; text-align: center;max-width:950px; margin: 0 auto;}

.review > span{
    
    color: #244C73;
text-align: center;

font-size: 32px;
font-style: normal;
font-weight: 300;
line-height: 48px; /* 150% */
letter-spacing: 0.32px;
    
    
}

.review > div{
    color: #000;
display:block;
    margin-top:20px;
font-size: 18px;
font-style: normal;
font-weight: 400;
line-height: 28px;
letter-spacing: 0.18px;
    
}

.home_tiles .tile_row.first_row{margin-left:80px;}
.home_tiles .tile_row.middle_row{margin-left:160px;}
.home_tiles .tile_row.last_row{margin-left:240px;margin-bottom:0;}
.home_tiles .tile{
    padding:15px 15px 20px 130px;
    border: 1px solid #F2F2F2;
background: #FFF;
box-shadow: 6px 12px 20px 0 rgba(0, 0, 0, 0.07);
    position: relative;
    width:500px;
}





.home_tiles .tile a {
    color: #244C73;
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
    line-height: 30px;
    text-transform: uppercase;
    border: 2px solid #244C73;
    padding: 5px 60px 5px 20px;
    display: inline-block;
    margin-top: 10px;
    
    
    background:url('https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/arrow.png');
    background-repeat:no-repeat;
    background-position: 92% 50%;
    background-size:30px;
    
}


strong{font-weight:900;}

span.close_submenu {
    position: absolute;
    top: 20px;
    right: 20px;
    max-width: 36px;
}

span.close_submenu:hover{cursor:pointer;opacity:0.7; transition:0.3s;}

span.close_submenu img{width:100%;}

 .service_submenu .text a:hover, .home_tiles .tile a:hover, .client_story .text > a:hover, .page-template-TEMPLATE-layout-1 .trainee-benefits-section .text a:hover, input#gform_submit_button_1:hover, .text_image .text a:hover, .news_list a:hover, .linky:hover{
    
    
       transition:0.3s;
    color:#FDC100;
   
     background:url('https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/Arrow-5.png')!important;
    background-repeat:no-repeat!important;
    background-position: 92% 50%!important;
    background-size:30px!important;
     background-color:#244C73!important;
    
}

.backy:hover{
    
         transition:0.3s;

   color:#000;
      border-color:#FDC100;
    
     background-color:#FDC100!important;
    
}
  
    



.home_tiles .tile .image {
    width: 200px;
    height: 200px;
    position: absolute;
    top: -70px;
    left: -100px;
}
.home_tiles .tile h3{
    
    
    color: #244C73;

font-size: 24px;
font-style: normal;
font-weight: 900;
line-height: 32px; /* 133.333% */
letter-spacing: -0.48px;
text-transform: uppercase;
}


.top_banner h1 strong{
    color: #FDC100;
}

.top_banner > img{
        
        position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    height: 100%;
    object-position: 50% 50%;
}

.single-post .top_banner,
.single-client_stories .top_banner{
    overflow:hidden;
}

.single-post .top_banner > img,
.single-client_stories .top_banner > img{
    animation: langtonsSingleBannerZoom 4s ease-in-out infinite alternate;
    transform-origin:center center;
    will-change:transform;
}

@keyframes langtonsSingleBannerZoom{
    from{transform:scale(1.1);}
    to{transform:scale(1.6);}
}

@media (prefers-reduced-motion: reduce){
    .single-post .top_banner > img,
    .single-client_stories .top_banner > img{
        animation:none;
        transform:none;
    }
}

.wrapper{max-width:1500px; margin:0 auto; display:block; position:relative; z-index:2;}
.wrapper.uneven{max-width:1650px;}
.wrapper.uneven  > div{position: relative; right:-50px;}
#header .wrapper{max-width:90%;}
.opening_section{width:100%; display:block; padding:80px 0}

.about-sustainability .opening_left {
    align-items: center;
    display: flex;
    justify-content: center;
}

.about-sustainability .opening_left img {
    display: block;
    height: auto;
    max-width: 100%;
}

.about-sustainability__commitment-image {
    align-items: center;
    display: flex;
    justify-content: center;
}

.about-sustainability__commitment-image img {
    display: block;
    filter: brightness(0) invert(1);
    height: auto;
    max-height: 220px;
    max-width: 100%;
    width: auto;
}

.about-sustainability__commitment .text h3 {
    margin-bottom: 10px;
}

.about-sustainability__commitment-copy {
    margin-top: 30px;
}

.about-sustainability__commitment-copy p {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 28px;
    margin: 0 0 20px;
}

.about-sustainability__commitment-copy p:last-child {
    margin-bottom: 0;
}

.service_sections.about-sustainability .about-sustainability__commitment + .opening_section {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0px;
        padding-bottom: 75px;
        background: #234c73;
}

.service_sections.about-sustainability .about-sustainability__commitment + .opening_section * {
    color: white;
}

.service_sections.about-sustainability .opening_section:last-child .wrapper {
    max-width: 1500px;
    width: 90%;
}

.service_sections.about-sustainability .opening_section:last-child .wrapper > div {
    grid-template-columns: 62% 33%;
    right: 0;
}

@media only screen and (max-width: 768px) {
    .service_sections.about-sustainability .about-sustainability__commitment + .opening_section {
        padding-top: 50px;
    }

    .service_sections.about-sustainability .opening_section:last-child .wrapper > div {
        grid-template-columns: 100%;
    }
}

.service_sections{overflow:hidden;}

.service_sections .opening_section:last-child{
    
    padding:0px 0 80px 200px;
    
}

.service_sections .opening_section:last-child .wrapper > div {
      display: grid;
    grid-template-columns: 900px 31%;
    gap: 5%;
}
    
    
    


.service_sections .opening_section:last-child .opening_right {
    order: -1;
}


.opening_left{
    
    color: #CCDEE1;

font-size: 48px;
font-style: normal;
font-weight: 900;
line-height: normal;
letter-spacing: -0.96px;
text-transform: uppercase;
    
}

.opening_section .wrapper > div{
    
    
     display: grid;
    grid-template-columns: 33% 62%; /* Adjust these values as needed */
    gap: 5%; /* Optional: Adjust the gap between columns if needed */
    
}

.home_tiles div.right_hand_title {
    color: #CCDEE1;
    font-size: 48px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    letter-spacing: -0.96px;
    text-transform: uppercase;
    position: absolute;
    top: -130px;
    right: 0;
}

.home .text_image_section {
    margin: 40px 0 220px 0;
}

.text_image_section{display:block; width:100%;}


.logos{max-width:900px; margin: 40px auto 0 auto;}
.logos img{width:100%;}

.text_image{
    
    
max-width:1010px;
    display:block;
    
}

.text_image .text{
    position: relative;
    right:-50px;
    top:50px;
    padding:40px 80px 40px 50px;
    border: 1px solid #DDE4E5;
background: #E9F0F1;
box-shadow: 6px 12px 20px 0 rgba(0, 0, 0, 0.07);
    
    
}

.background_title{
    
    color: #244C73;

font-size: 48px;
font-style: normal;
font-weight: 900;
line-height: 66px; /* 200% */
letter-spacing: -0.96px;
text-transform: uppercase;
    margin-bottom:20px;
    display:block;
}

.client_story_deets img{width:100%;}
@media only screen and (min-width: 769px){
    .client_story_deets_image{min-height:675px; overflow:hidden; position:relative; width:100%;}
    .client_story_deets_image img{height:100%; left:0; object-fit:cover; object-position:50% 50%; position:absolute; top:0; width:100%;}
}
.client_story_deets{

    max-width:1200px;

    min-width:1200px;
}

.client_story_deets > div.text {
    padding: 50px 0;
    display: block;
    max-width: 800px;
    border-bottom: 1px solid #FDC100;
}

.yellow_banner_text{
    
color: #FDC100;
text-shadow: 0 4px 10px rgba(0, 0, 0, 0.40);

font-size: 20px;
font-style: normal;
font-weight: 900;
line-height: 48px; /* 240% */
letter-spacing: -0.4px;
text-transform: uppercase;
    
}

.about_section_1 {
    display: block;
    margin: 70px 0 180px 0;
    position: relative;
    display:none!important;
}

.client_story_details{;margin:140px 0; position: relative;}

.client_story_deets h2, .client_story_deets h3, .client_story_deets h4{
    
    color: #233542;

font-size: 16px;
font-style: normal;
font-weight: 800;
line-height: normal;
text-transform: uppercase;
    
    
}

.client_story_details .wrapper{display:flex; justify-content:right;s}

 .background_box{
    border: 1px solid #DDE4E5;
background: #E9F0F1;
box-shadow: 6px 12px 20px 0 rgba(0, 0, 0, 0.07);
       padding:30px 80px 30px 50px;
    max-width:580px; display:block;
    position: absolute;
    top: -60px;
    left: 0;
     z-index: 1;
}

.text_image .text h3,.text_image .text h2, .text_image .text h4{
    color: #244C73;

font-size: 36px;
font-style: normal;
font-weight: 900;
line-height: 60px; /* 266.667% */
letter-spacing: -0.72px;
text-transform: uppercase;
    
    
}

.home_team_section{
    position: relative;
  
    display:block; padding:80px 0 60px 0;
background:#244B73;    width:100%;
}

.page-template-TEMPLATE-about .home_team_section {
        margin-top: 150px;
}

.home_team_section > .title {
    color: #CCDEE1;
    font-size: 48px;
    font-style: normal;
    font-weight: 900;
    line-height: 96px;
    letter-spacing: -0.96px;
    text-transform: uppercase;
    position: absolute;
    top: -90px;
    left: 80px;
}


.service_submenu .title{
    
    color: #244C73;

font-size: 36px;
font-style: normal;
font-weight: 900;
line-height: 96px; /* 266.667% */
letter-spacing: -0.72px;
text-transform: uppercase;
    
}
.service_submenu > div{
    max-width:100%;
    display: grid;
    grid-template-columns: 600px 1fr;
    gap: 100px; /* Adjust the gap between grid items as needed */
    align-items:start;
    
    
}
.service_submenu  .text p{
        padding-left: 20px;
    border-left: 10px solid #FDC100;
    margin:0 0 30px 0;
    
}

.service_submenu  .text {max-width:600px;}
.service_submenu {
    background: #E9F0F1;
    padding: 30px 50px;
    min-height: 320px;
    position: fixed;
    z-index: 999;
    width: 97%;
    top: 135px;
    left:1.5%;
    max-height: calc(100vh - 135px);
    overflow-y: auto;
}

.admin-bar .service_submenu {
    top: 167px;
    max-height: calc(100vh - 167px);
}


.service_submenu .inside_menu {
    padding-left: 20px;
    border-left: 10px solid #FDC100;
    display: grid;
    grid-template-columns: repeat(2, max-content);
    justify-content:start;
    column-gap: clamp(40px, 5vw, 60px);
    row-gap: 14px;
    grid-auto-rows:max-content;
    align-content:start;
    max-height: none;
    margin-top:90px;
    align-items:start;
    align-self:start;
}
.service_submenu .inside_menu a {
    color: #233542;
    display:block;
    font-size: 16px;
    font-style: normal;
    font-weight: 800;
    line-height: 22px;
    text-transform: uppercase;
    white-space:nowrap;
}

.inside_menu a:hover{color:#FDC100; transition:0.3s;}

.service_submenu .text a{
    
    
    color: #244C73;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
    line-height: 30px;
    text-transform: uppercase;
    border: 2px solid #244C73;
    padding: 10px 60px 10px 20px;
    display: inline-block;
    margin-top: 10px;
    background: url(https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/arrow.png);
    background-repeat: no-repeat;
    background-position: 92% 50%;
    background-size: 30px;
    
    
    
}


.home_team_section *{color:#fff;}

.home_team_section .yellow_text{
    
    color: #FDC100;

font-size: 20px;
font-style: normal;
font-weight: 900;
line-height: 48px; /* 240% */
letter-spacing: -0.4px;
text-transform: uppercase;
    
    
}


.home_team_section .wrapper > div{
    
     display: grid;
    grid-template-columns: 30% 60% 5%; /* Adjust these values as needed */
    gap: 2.5%; /* Optional: Adjust the gap between columns if needed */
    
    
    
}


.home_team_section .link a {
    color: #FFF;
    text-align: center;
    font-size: 15px;
    font-style: normal;
    font-weight: 900;
    line-height: 100%;
    text-transform: uppercase;
    border: 2px solid #FDC100;
    display: inline-block;
    margin-top: 20px;
    padding: 15px 50px 15px 20px;
    background: url(https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/Arrow-2.png);
    background-repeat: no-repeat;
    background-position: 92% 50%;
    background-size: 30px;
    position: absolute;
    width: 210px;
    bottom: 16px;
    right: -100px;
}

.home_team_section .members{
    
    
       display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px; /* Adjust the gap between grid items as needed */
}

.home_team_section .text p{
    padding-left: 20px;
    border-left: 10px solid #FDC100;
 color: #FFF;

font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 28px; /* 175% */
letter-spacing: 0.16px;
    
}

.home_team_section .members *{color:#fff!important;}
.home_team_section h3, .home_team_section h2{
    
    color: #FFF;

font-size: 48px;
font-style: normal;
font-weight: 900;
line-height: 64px;
letter-spacing: -0.96px;
text-transform: uppercase;
    
}
.text_image .text a{
    
    color: #244C73;
text-align: center;
font-size: 16px;
font-style: normal;
font-weight: 900;
line-height: 30px; /* 187.5% */
text-transform: uppercase;
        border: 2px solid #244C73;
    padding: 10px 60px 10px 20px;
    display: inline-block;
    margin-top: 10px;
    
    
      background:url('https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/arrow.png');
    background-repeat:no-repeat;
    background-position: 92% 50%;
    background-size:30px;
    
    
    
}
/* .home .text_image .text{min-height:450px;} */

.text_image .image{position:absolute; width:450px; aspect-ratio:1 /1; right:0; top:0;}


.latest_three_section{
    margin:120px 0 80px 0;
    background:#E9F0F1;
    padding:60px 0px;
    position: relative;
    display:block; width:100%;
}

.latest_three_section > span{
    position: absolute;
    top:-70px;
    left:80px;
    color: #CCDEE1;
    font-size: 48px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    letter-spacing: -0.96px;
    text-transform: uppercase;
    
}

.latest_things{display:block; position: relative; margin-left:80px;}

.latest_things .image{width:100%; aspect-ratio:1 / 1;}

.latest_things > div{
    
    
     display: grid;
    grid-template-columns: 350px 350px 350px auto; /* Adjust these values as needed */
    gap: 40px; /* Optional: Adjust the gap between columns if needed */
}

.latest_things h3, .latest_things h4 {
    margin-top:10px;
    margin-bottom:0;
    color: #233542;
display:block;
font-size: 16px;
font-style: normal;
font-weight: 800;
line-height: 24px;
text-transform: uppercase;
    
    
}
.contact_grid{
    
     display: grid;
    grid-template-columns: 100px auto; /* Adjust these values as needed */
    gap: 10px; /* Optional: Adjust the gap between columns if needed */
    
}

.contact_grid .blue_text{
    
    color: #246A73;

font-size: 14px;
font-style: normal;
font-weight: 700;
line-height: 36px; /* 257.143% */
letter-spacing: -0.28px;
text-transform: uppercase;
    
}

.contact_grid .black_text{
    
    color: #000;

font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 28px; /* 175% */
    
}

.latest_things a:hover img{opacity:0.8}

.latest_things a > span {
    color: #233542;

font-size: 13px;
font-style: normal;
font-weight: 500;
line-height: 32px;
    
}

.latest_things > div > div{position:relative;}

input#gform_submit_button_1 {
    
            color: #244C73;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 900!important;
    line-height: 30px;
    text-transform: uppercase;
    border: 2px solid #244C73!important;
    padding: 10px 60px 10px 20px!important;
    display: inline-block;
    margin-top: 10px;
    background: url(https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/arrow.png);
    background-repeat: no-repeat;
    background-position: 92% 50%;
    background-size: 30px;
      position: absolute;
    bottom: 30px;
    right: 0;
    cursor:pointer!important;
    
}
.form {
    position: relative;
    margin-top: 90px;
}



.linky{
    
        color: #244C73;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
    line-height: 30px;
    text-transform: uppercase;
    border: 2px solid #244C73;
    padding: 10px 60px 10px 20px;
    display: inline-block;
    margin-top: 10px;
    background: url(https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/arrow.png);
    background-repeat: no-repeat;
    background-position: 92% 50%;
    background-size: 30px;
       position: absolute;
    top: 285px;left: 0;
    
}

.backy{
    
        color: #244C73;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
    line-height: 30px;
    text-transform: uppercase;
    border: 2px solid #244C73;
    padding: 10px 20px 10px 60px;
    display: inline-block;
    margin-top: 10px;
    background: url(https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/Arrow-3.png);
    background-repeat: no-repeat;
    background-position: 15% 50%;
    background-size: 30px;
margin-top:60px;
    
}


.news_list a {
    color: #244C73;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
    line-height: 30px;
    text-transform: uppercase;
    border: 2px solid #244C73;
    padding: 10px 60px 10px 20px;
    display: inline-block;
    margin-top: 10px;
    background: url(https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/arrow.png);
    background-repeat: no-repeat;
    background-position: 92% 50%;
    background-size: 30px;
    position: absolute;
    top: 195px;
    left: 175px;
}

.foot_3 a.link{
    
        color: #244C73;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
    line-height: 30px;
    text-transform: uppercase;
    border: 2px solid #FDC100;
    padding: 10px 60px 10px 20px;
    display: inline-block;
    margin-top: 10px;
    background: url(https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/Arrow-2.png);
    background-repeat: no-repeat;
    background-position: 92% 50%;
    background-size: 30px;
    width:190px;
    
}


.foot_1 *, .foot_2 *{font-size:14px;}
.reviews_logos {
    display: block;
    margin: 100px 0 150px 0;
}
.client_story:nth-child(odd){padding-left:250px;}
.client_story:nth-child(even){padding-right:250px;}


.client_story:nth-child(odd) .text{padding-left:290px;}
.client_story:nth-child(even) .text{padding-right:290px;}

.client_story {margin-bottom:140px; position: relative;}



.client_story .image{width:500px; aspect-ratio: 1 / 1;position: absolute; left:-0px; top:-55px;}


.client_story:nth-child(even) .image{
    
    
     left:auto; top:-55px; right:0px;
    
}

.client_story .text{
    
    min-height:500px;
    position: relative;
        padding: 40px 80px 40px 50px;
    border: 1px solid #DDE4E5;
background: #E9F0F1;
box-shadow: 6px 12px 20px 0 rgba(0, 0, 0, 0.07);
    
}

.careers-trainee-opportunities .client_story .text{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.careers-trainee-opportunities .client_story .text > a{
    align-self:flex-start;
}

.client_story .text h2, .client_story .text h3{
    
    color: #244C73;

font-size: 36px;
font-style: normal;
font-weight: 900;
line-height: normal; /* 266.667% */
letter-spacing: -0.72px;
text-transform: uppercase;
    
}
.tags{display:block; margin:30px 0;}
.tags span, .tags a{display:inline-block;
color: #246A73;
margin-right:20px;
font-size: 16px;
font-style: normal;
font-weight: 800;
line-height: 36px; /* 225% */
text-transform: uppercase;


}
.client_stories_list{display:block; margin:140px 0 100px 0;}



.client_story  .text a{
    
    color: #244C73;
text-align: center;
font-size: 16px;
font-style: normal;
font-weight: 900;
line-height: 30px; /* 187.5% */
text-transform: uppercase;
        border: 2px solid #244C73;
    padding: 10px 60px 10px 20px;
    display: inline-block;
    margin-top: 10px;
    
    
      background:url('https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/arrow.png');
    background-repeat:no-repeat;
    background-position: 92% 50%;
    background-size:30px;
    
    
    
}

.tags span:last-child, .tags a:last-child{margin-right:0;}

.client_story .text .tags a {
    background: none;
    border: 0;
    color: #246A73;
    margin-top: 0;
    padding: 0;
    text-align: left;
}

.client-stories-filter-status {
    align-items: center;
    background: #E9F0F1;
    color: #244C73;
    display: flex;
    justify-content: space-between;
    margin: 0 0 120px;
    padding: 20px 25px;
    margin-top: -75px;
}

.client-stories-filter-status span {
    font-size: 16px;
    line-height: 26px;
}

.client-stories-filter-status strong {
    font-weight: 800;
}

.client-stories-filter-status a {
    color: #244C73;
    font-size: 14px;
    font-weight: 900;
    margin-left: 25px;
    white-space: nowrap;
}

.client-stories-empty {
    color: #244C73;
    font-size: 18px;
    line-height: 30px;
    margin: 0 0 100px;
    text-align: center;
}

@media only screen and (max-width: 600px) {
    .client-stories-filter-status {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 70px;
    }

    .client-stories-filter-status a {
        margin: 12px 0 0;
    }
}


.team_square{max-width:270px; min-width:200px;}

.team_square .image{display:block; width:100%; aspect-ratio:1 / 1;}
.team_square .name{
    
    color: #233542;
display:block;margin-top:10px;
font-size: 16px;
font-style: normal;
font-weight: 800;
line-height: normal;
text-transform: uppercase;
    
}

.team_archive{display:block;     margin: 150px 0;}

.team_square .role{
    
display:block;
color: #233542;
font-family: "Acumin Pro";
font-size: 13px;
font-style: normal;
font-weight: 500;
line-height: 24px;
    
}
.team_archive .wrapper > .grid{
    
       display: grid;
    grid-template-columns: repeat(5, 1fr);
    row-gap: 50px;
column-gap: 20px;
    
}

.team_square_trigger{
    appearance:none;
    background:transparent;
    border:0;
    color:inherit;
    cursor:pointer;
    display:block;
    font:inherit;
    padding:0;
    text-align:left;
}
.team_square_trigger .image{overflow:hidden;}
.team_square_trigger .image img{transition:transform 0.3s ease;}
.team_square_trigger:hover .image img{transform:scale(1.04);}
.team_square_trigger:focus-visible{outline:2px solid #FDC100; outline-offset:6px;}

body.team_member_modal_open{overflow:hidden;}
.team_member_modal{
    align-items:center;
    display:none;
    inset:0;
    isolation:isolate;
    justify-content:center;
    padding:20px;
    position:fixed;
    z-index:2147483647;
}
.team_member_modal.is-open{display:flex;}
.team_member_modal__overlay{
    background:rgba(35, 53, 66, 0.52);
    inset:0;
    position:absolute;
}
.team_member_modal__dialog{
    background:#fff;
    box-shadow:0 24px 70px rgba(0, 0, 0, 0.22);
    max-height:min(690px, calc(100vh - 40px));
    max-width:900px;
    isolation:isolate;
    overflow-y:auto;
    padding:28px 34px 34px;
    position:relative;
    width:100%;
    z-index:1;
}
.team_member_modal__close{
    appearance:none;
    background:transparent;
    border:0;
    cursor:pointer;
    display:block;
    height:34px;
    padding:0;
    position:absolute;
    right:18px;
    top:18px;
    width:34px;
    z-index:2;
}
.team_member_modal__close img{display:block; height:auto; width:100%;}
.team_member_modal__grid{
    display:grid;
    grid-template-columns:360px minmax(0, 1fr);
    gap:5%;
}
.team_member_modal__image{aspect-ratio:1 / 1; background:#E9F0F1; overflow:hidden; width:100%;}
.team_member_modal__image img{display:block; height:100%; object-fit:cover; width:100%;}
.team_member_modal__contact{
    border:1px solid #DDE4E5;
    background:#E9F0F1;
    box-shadow:6px 12px 20px 0 rgba(0, 0, 0, 0.07);
    margin-top:34px;
    padding:24px 26px 28px;
}
.team_member_modal__name{
    color:#233542;
    display:block;
    font-size:18px;
    font-style:normal;
    font-weight:900;
    line-height:24px;
    text-transform:uppercase;
}
.team_member_modal__role{
    color:#233542;
    font-size:15px;
    font-style:normal;
    font-weight:400;
    line-height:24px;
    margin-top:5px;
}
.team_member_modal__contact_line{
    align-items:center;
    color:#000;
    display:flex;
    font-size:17px;
    gap:18px;
    font-style:normal;
    font-weight:400;
    line-height:24px;
    margin-top:18px;
}
.team_member_modal__contact_line img{display:block; flex:0 0 24px; height:auto; max-height:24px; object-fit:contain; width:24px;}
.team_member_modal__contact_line[hidden]{display:none;}
.team_member_modal__contact_line:hover{color:#246A73; transition:0.2s;}
.team_member_modal__right{padding-top:28px;}
.team_member_modal__right h2{
    color:#246A73;
    font-size:18px;
    font-style:normal;
    font-weight:900;
    line-height:24px;
    margin:0 44px 36px 0;
    text-transform:uppercase;
}
.team_member_modal__bio{
    border-left:10px solid #FDC100;
    padding-left:25px;
}
.team_member_modal__bio p{
    color:#000;
    font-size:16px;
    font-style:normal;
    font-weight:400;
    line-height:30px;
    margin-bottom:20px;
}
.team_member_modal__bio p:last-child{margin-bottom:0;}

@media only screen and (max-width: 980px){
    .team_member_modal__dialog{max-width:900px; padding:24px;}
    .team_member_modal__grid{grid-template-columns:300px minmax(0, 1fr); gap:4%;}
    .team_member_modal__bio p{font-size:16px; line-height:30px;}
}

@media only screen and (max-width: 768px){
    .team_member_modal{align-items:stretch; justify-content:stretch; padding:0;}
    .team_member_modal__dialog{
        box-shadow:none;
        height:100vh;
        height:100dvh;
        max-height:none;
        max-width:none;
        overflow-y:auto;
        padding:20px;
        width:100vw;
    }
    .team_member_modal__close{position:fixed; right:16px; top:16px;}
    .team_member_modal__grid{grid-template-columns:1fr; gap:30px;}
    .team_member_modal__image{max-width:none; width:70%;}
    .team_member_modal__right{padding-top:0;}
    .team_member_modal__right h2{margin-right:48px; margin-bottom:22px;}
    .team_member_modal__contact{margin-top:20px; max-width:420px;}
    .team_member_modal__bio{padding-left:18px;}
    .team_member_modal__bio p{font-size:14px; line-height:25px; margin-bottom:18px;}
}

#header .wrapper > div{
    
    display:flex; justify-content: space-between;
    
    
}


.team_intro_box {
    border: 1px solid #DDE4E5;
    background: #E9F0F1;
    box-shadow: 6px 12px 20px 0 rgba(0, 0, 0, 0.07);
    position: absolute;
    width: 38%;
    padding: 30px;
    top: -100px;
    left: -20px;
}

.team_intro_box h3, .team_intro_box h2{
    
 color: #244C73;

font-size: 48px;
font-style: normal;
font-weight: 900;
line-height: 96px; /* 200% */
letter-spacing: -0.96px;
text-transform: uppercase;
    
}

.top_bar{background:#244B73; display:block; padding:8px 0; text-align: right; color:#fff;}
.top_bar .wrapper{max-width:90%;}
.top_bar a{
    
    color: #FFF;
margin-left:20px;
font-size: 14px;
font-style: normal;
font-weight: 800;
line-height: normal;
text-transform: uppercase;
    
}

@media only screen and (min-width: 769px){
    .top_bar a{transition:color 0.25s ease;}
    .top_bar a:hover, .top_bar a.is-active{color:#FDC100;}
}

.top_banner .grady {
    position: absolute;
    left: 0;
    top: 0;
    width: 50%;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.60) 48.56%, rgba(0, 0, 0, 0.00) 100%);
    z-index: 1;
    height: 100%;
}

#menu{display:flex;}

#menu a{
    color: #233542;
    padding: 0 20px;
font-size: 16px;
font-style: normal;
font-weight: 800;
line-height: 96px; /* 600% */
text-transform: uppercase;
    height:100%;
    
}

/*
#menu a:first-child{padding-left:0;}
#menu a:last-child{padding-right:0;}
*/

#menu a:hover{color: #246A73; transition:0.3s;}



blockquote, blockquote p{
    
    color: #000!important;

font-size: 20px!important;
font-style: normal!important;
font-weight: 300!important;
line-height: 36px!important; /* 180% */
letter-spacing: 0.2px!important;
    
}


.abso_left_text {
    padding: 30px 80px 30px 50px;
    border: 1px solid #DDE4E5;
    background: #E9F0F1;
    box-shadow: 6px 12px 20px 0 rgba(0, 0, 0, 0.07);
    max-width: 580px;
    /* position: absolute; */
    top: -0px;
    position: relative;
    z-index: 1;
}

.about_bigger_text{ 
    padding: 20px 30px 10px 30px;
    
    border: 1px solid #DDE4E5;
    background: #E9F0F1;
    box-shadow: 6px 12px 20px 0 rgba(0, 0, 0, 0.07);
    max-width: 580px;}

.about_section_1 .image {
    width: 100%;
    height: 350px;
    position: absolute;
    top: 70px;
    right: 0;
    max-width: 1200px;
}

.about_bigger_text h2, .abso_left_text h2, .abso_left_text h3 {
    
    
    color: #244C73;

font-size: 48px;
font-style: normal;
font-weight: 900;
line-height: 66px; /* 200% */
letter-spacing: -0.96px;
text-transform: uppercase;
}

.about_bigger_text h3{
    

color: #233542;

font-size: 24px;
font-style: normal;
font-weight: 800;
line-height: 42px; /* 175% */
letter-spacing: 0.24px;
text-transform: uppercase;
}

.news_list{display:block; padding:0px 0 60px 0;}

.news_list .wrapper > div{
  margin-bottom:120px;
       display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 100px; /* Adjust the gap between grid items as needed */
    
}

.news_list .wrapper > div:nth-child(even){}


.news_list .image{width:300px; aspect-ratio: 1 / 1;position: absolute; left:0; top:-40px;z-index: 2;}

.news_list .wrapper > div > div{width:100%; position: relative;display:flex; justify-content: right;}

.news_list .text {
    border: 1px solid #DDE4E5;
    background: #E9F0F1;
    box-shadow: 6px 12px 20px 0 rgba(0, 0, 0, 0.07);
    min-height: 300px;
    max-width: 550px;
    position: relative;
    padding: 20px 20px 20px 175px;
}


.news_list h3, .news_list h4{
    
    color: #244C73;

font-size: 24px;
font-style: normal;
font-weight: 900;
line-height: 32px; /* 133.333% */
letter-spacing: -0.48px;
text-transform: uppercase;
    
}

.about_text_blocks{display:block; margin:60px 0;}



.about_text_blocks .wrapper > div{
    
          grid-template-columns:  580px 1fr; /* Adjust these values as needed */
    gap:5%; /* Optional: Adjust the gap between columns if needed */
     display: grid;
  margin-bottom:80px;
    
    
}

.about_text_blocks .wrapper > div:nth-child(even){
      grid-template-columns:  1fr 588px; /* Adjust these values as needed */
    gap:5%; /* Optional: Adjust the gap between columns if needed */
    
}

.about_other_text{dipslay:flex;}
.about_other_text > div{max-width:600px;}
.about_other_text > div > span{
    display:block;
    margin-top:40px;
    padding-left: 20px;
    border-left: 10px solid #FDC100;
}

.about_text_blocks .wrapper > div:nth-child(even) .about_other_text{}

.about_text_blocks .wrapper > div:nth-child(even) .about_other_text{order:-1; justify-content: right; display:flex}

.get_in_touch{display:block; width:100%; padding:0px 0 70px 0;}

.get_in_touch .wrapper{right:-80px;}

.contact_strip{
    color: #CCDEE1;
text-align: right;
border-bottom:1px solid #9AA5B0;
font-size: 48px;
font-style: normal;
font-weight: 900;
line-height: 96px; /* 200% */
letter-spacing: -0.96px;
text-transform: uppercase;
    
    margin-bottom:50px;
}

.get_in_touch .grid{
    
     display: grid;
    grid-template-columns: 31% 60%; /* Adjust these values as needed */
    gap: 9%; /* Optional: Adjust the gap between columns if needed */
    max-width:1280px;
}

.get_in_touch .title{
    
    color: #244C73;

font-size: 36px;
font-style: normal;
font-weight: 900;
line-height: 96px; /* 266.667% */
letter-spacing: -0.72px;
text-transform: uppercase;
}


.get_in_touch p:last-child{border-bottom:1px solid #FDC100;padding-bottom:40px;}


body .form textarea{height:150px!important;}

.form input, .form textarea, .form select{
    
    
    border:none!important;
    border-bottom:1px solid #246A73!important;
    padding:10px 0px!important;    
    
    
}

.form select.gfield_select:has(option.gf_placeholder:checked),
.form select.gfield_select option.gf_placeholder {
    color: #757575;
}

.form select.gfield_select option:not(.gf_placeholder) {
    color: #000;
}

.service_tabs{display:block; padding:20px 0 100px 0;}

.service_tabs .wrapper > div{
    
     display: grid;
    grid-template-columns: 32% 60%; /* Adjust these values as needed */
    gap: 8%; /* Optional: Adjust the gap between columns if needed */
    
    
}

.single .top_banner .wrapper > span {
    display: block;
    max-width: 900px;
}
.tab > .big_title {
    color: #244C73;
    font-size: 30px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
    letter-spacing: -0.72px;
    text-transform: uppercase;
    margin:20px 0;
    display:block;
}
    
    /* Style the tab */
.tab {
    overflow: hidden;
    border: 1px solid #DDE4E5;
    background: #E9F0F1;
    box-shadow: 6px 12px 20px 0 rgba(0, 0, 0, 0.07);
    padding: 20px 30px 30px 30px;
}

/* Style the buttons that are used to open the tab content */
.tab button {
background:none!important;
  display:block;
  border: none;
  outline: none;
  cursor: pointer;
text-align: left;
    color: #246A73;

font-size: 15px;
font-style: normal;
font-weight: 800;
line-height: 36px; /* 240% */
text-transform: uppercase;
    
  transition: 0.3s;
}

/* Change background color of buttons on hover */
.tab button:hover {
color: #000;
text-align: left;

font-size: 15px;
font-style: normal;
font-weight: 800;
line-height: 36px; /* 240% */
text-transform: uppercase;
}

/* Create an active/current tablink class */
.tab button.active {
color: #000;
text-align: left;
padding-left:0;
font-size: 15px;
font-style: normal;
font-weight: 800;
line-height: 36px; /* 240% */
text-transform: uppercase;
}

@media only screen and (min-width: 769px){
    .service_tabs .tab{overflow:visible;}
    .service_tabs .tab button{box-sizing:border-box; position:relative; width:100%; padding-right:10px; line-height:20px; margin-bottom:15px;}
    .service_tabs .tab button.active::after{
        background:url('https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/black.png') center center / contain no-repeat;
        content:'';
        display:block;
        height:12px;
        pointer-events:none;
        position:absolute;
        right:-7px;
        top:50%;
        transform:translateY(-50%);
        width:38px;
    }
}
/* Style the tab content */
.tabcontent {
  display: none;
margin-top:100px;
    max-width: 800px;
    border-bottom: 1px solid #FDC100;
    padding-bottom: 40px;

}
.tabcontent p { padding-left: 30px;}
.tabcontent p:first-child{
    color: #234c73;

font-size: 16px;
font-style: normal;
font-weight: 600;
   display:block;
    border-left: 10px solid #FDC100;
    padding-left:20px;
    
}
    
.blue_strip_text_bullets{background:#244C73; siplay:block; padding:70px 0; color:#fff;}

.blue_strip_text_bullets .grid{
    
     display: grid;
    grid-template-columns: 40% 50%; /* Adjust these values as needed */
    gap: 5%; /* Optional: Adjust the gap between columns if needed */
    
}

h1 > strong, h2 > strong, h3 > strong, h4 > strong{color:#FDC100;}

.single h2 > strong, .single h3 > strong, .single h4 > strong {color:#244C73;}

.blue_strip_text_bullets.big_text .grid{
    
        grid-template-columns: 32% 63%; /* Adjust these values as needed */
    
}

.text p span{color: #246A73!important;}
.single .text p span{color:#000!important}

.blue_strip_text_bullets .yellow_text{
    color: #FDC100;

font-size: 20px;
font-style: normal;
font-weight: 900;
line-height: 48px; /* 240% */
letter-spacing: -0.4px;
text-transform: uppercase;
    
}

.blue_strip_text_bullets .bullets .yellow_text {margin-bottom:30px;}
.blue_strip_text_bullets h3, .blue_strip_text_bullets h4 {
    
  color: #FFF;
margin-bottom:30px;
font-size: 48px;
font-style: normal;
font-weight: 900;
line-height: 64px;
letter-spacing: -0.96px;
text-transform: uppercase;  
}

.blue_strip_text_bullets .text p {
    display: block;
    border-left: 10px solid #FDC100;
    padding-left: 20px;
    color: #fff;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 28px;
    letter-spacing: 0.18px;
    max-width: 350px;
}

.blue_strip_text_bullets.no_snip_p .text p {

    max-width: 100%;
}


.blue_strip_text_bullets.no_snip_p  .grid {
    display: grid;
    grid-template-columns: 40% 50%;
    gap: 10%;
}

.client_story_deets ul, .client_story ul, .blue_strip_text_bullets ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.blue_strip_text_bullets .bullets{margin-top:80px;}

.blue_strip_text_bullets .bullets > p:last-child{color:#fff; margin-top:30px;}

.client_story_deets ul li, .client_story ul li, .blue_strip_text_bullets ul li {
    position: relative;
    padding-left: 20px;
    color: #fff;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px;
}

.blue_strip_text_bullets ul li a{
    

    color: #fff;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 28px;
    
}
.client_story_deets ul{margin-bottom:30px;}

.client_story_deets ul li:before, .client_story ul li::before, .blue_strip_text_bullets ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 8px;
    height: 8px;
    background: #FDC100;
    border-radius: 50%;
}
.client_story_deets ul li, .client_story ul li{color:#000;}

.faq_title{
    margin-bottom:30px;
    
    color: #CCDEE1;

font-size: 48px;
font-style: normal;
font-weight: 900;
line-height: normal;
letter-spacing: -0.96px;
text-transform: uppercase;
    
}

.blue_strip_text_bullets .statement {

 display: grid;
    grid-template-columns: 100px auto; /* Adjust these values as needed */
    gap: 30px; /* Optional: Adjust the gap between columns if needed */  
    margin-top: 50px;
}

.blue_strip_text_bullets .statement img{width:100px;position: relative; top:14px;}

.blue_strip_text_bullets .statement > span{
    
    
      color: #FFF;
    font-size: 32px;
    font-style: normal;
    font-weight: 300;
    line-height: 48px;
    letter-spacing: 0.32px;
}

/* About: community scrapbook */

.about-community {
    background:
        linear-gradient(rgba(36, 76, 115, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(36, 76, 115, 0.035) 1px, transparent 1px),
        #e9f0f1;
    background-size: 32px 32px;
    color: #244c73;
    overflow: hidden;
    padding: 105px 0 120px;
}

.about-community__layout {
    align-items: center;
    display: grid;
    gap: clamp(45px, 5vw, 90px);
    grid-template-columns: minmax(320px, 0.72fr) minmax(650px, 1.28fr);
}

.about-community__copy {
    max-width: 560px;
    position: relative;
    z-index: 5;
}

.about-community__eyebrow {
    color: #246a73;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 1.8px;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.about-community__title h2,
.about-community__title h3 {
    color: #244c73;
    font-size: clamp(48px, 4vw, 68px);
    font-weight: 900;
    letter-spacing: -1.2px;
    line-height: 1;
    margin: 0 0 30px;
    text-transform: uppercase;
}

.careers-culture-collage .about-community__title h2 {
    font-size: clamp(44px, 3.6vw, 60px);
}

.page-template-TEMPLATE-about .about-community__title h2 {
    font-size: clamp(44px, 3.6vw, 60px);
}

@media only screen and (max-width: 768px) {
    .careers-culture-collage .about-community__title h2,
    .page-template-TEMPLATE-about .about-community__title h2 {
        font-size: 38px;
    }
}

@media only screen and (max-width: 520px) {
    .careers-culture-collage .about-community__title h2,
    .page-template-TEMPLATE-about .about-community__title h2 {
        font-size: 32px;
    }
}

.about-community__text {
    border-left: 9px solid #fdc100;
    padding-left: 24px;
}

.about-community__text p {
    color: #244c73;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.05px;
    line-height: 28px;
    margin: 0;
}

.about-community__pinboard {
    align-items: stretch;
    display: grid;
    gap: 14px;
    grid-auto-flow: dense;
    grid-auto-rows: 88px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 22px 8px 26px;
    position: relative;
}

.about-community__photo {
    background: #fff;
    box-shadow: 8px 14px 30px rgba(28, 48, 67, 0.22);
    grid-row: span 2;
    margin: 0;
    min-width: 0;
    padding: 9px 9px 30px;
    position: relative;
    z-index: 1;
}

.about-community__photo img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.about-community__photo--1,
.about-community__photo--4,
.about-community__photo--7,
.about-community__photo--8,
.about-community__photo--10 {
    grid-column: span 2;
}

.about-community__photo--1,
.about-community__photo--6,
.about-community__photo--11 {
    transform: rotate(-2deg);
}

.about-community__photo--2,
.about-community__photo--7,
.about-community__photo--9 {
    transform: rotate(2deg);
}

.about-community__photo--3,
.about-community__photo--8 {
    transform: rotate(-1deg);
}

.about-community__photo--4,
.about-community__photo--10 {
    transform: rotate(1.25deg);
}

.about-community__photo--5 {
    transform: rotate(-2.5deg);
}

.about-community__tape {
    background: rgba(253, 193, 0, 0.74);
    height: 30px;
    left: 50%;
    position: absolute;
    top: -15px;
    transform: translateX(-50%) rotate(-2deg);
    width: 90px;
    z-index: 2;
}

.about-community__photo:nth-child(even) .about-community__tape {
    transform: translateX(-50%) rotate(3deg);
}
  

.faqs{display:block; padding:70px 0 20px 0;}

.faqs .wrapper > div{
    
    display:block; max-width:900px;
    
    
}

.faqs .accordion {

color: #246A73;
padding:10px 0;
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: 28px; /* 175% */
  cursor: pointer;
border:none!important;
    outline:none;
    background:none!important;
  width: 100%;

  text-align: left;
  outline: none;
border-top:1px solid #FDC100!important;
  transition: 0.4s;
}

.faqs .active, .faqs .accordion:hover {

}

.faqs .panel {

  display: none;
 
  overflow: hidden;
}

.faqs .panel{border-left: 10px solid #FDC100;
    padding-left: 20px;
margin-bottom:20px;
    margin-top:10px;
}


div#field_1_5 {
    max-width: 520px;
}


#footer{
    position: relative;
        padding: 30px 0 40px 0;
/*    background: #244B73*/
    background: rgba(36, 76, 115, 0.32);
    
}


#footer > img{
    
        
        position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    height: 100%;
    object-position: 50% 50%;
    
    
}

#footer *{color:#fff;}

#footer .wrapper > div {
    display: grid;
    grid-template-columns: 25% 50% 15%;
    gap: 5%;
}

.link_list{

    display:block;
    margin-bottom:20px;

}

.link_list > div{width:80px;}
.link_list > *{display:inline-block; margin-left:20px}

#footer .yellow_text{
    
    color: #FDC100;

font-size: 14px;
font-style: normal;
font-weight: 700;
line-height: 36px; /* 257.143% */
letter-spacing: -0.28px;
text-transform: uppercase;
    
}


.foot_1 img {
    max-width: 350px;
    display: block;
    margin-bottom: 30px;
}

.foot_1 .grid{
    
    
    display: grid;
    grid-template-columns: 30% 60%; /* Adjust these values as needed */
    gap: 5%; /* Optional: Adjust the gap between columns if needed */ 
    
}

.foot_1 .white_text{
    
    color: #FFF;

font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 28px; /* 200% */
letter-spacing: 0.14px;
    
}

.linked_in{width: 125px;; display:inline-block; margin-top:20px;}

.linked_in:hover{opacity:0.7; transition:0.3s}

.linked_in img{width:100%;}
.foot_2 {
    margin-top: 85px;
}

.foot_3 {
    text-align: right;
    margin-top: 80px;
}
#copyright{display:block; padding:10px 0;}
#copyright, #copyright a{
    
    color: #244C73;

font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: 28px; /* 233.333% */
    
}


.careers_colleagues_section{display:block; padding:90px 0 65px;}
.careers_colleagues_grid{
    display:grid;
    grid-template-columns:580px minmax(0, 1fr);
    gap:70px;
    align-items:end;
}
.careers_colleagues_text{
    border:1px solid #DDE4E5;
    background:#E9F0F1;
    box-shadow:6px 12px 20px 0 rgba(0, 0, 0, 0.07);
    padding:30px 40px 30px 40px;
}
.careers_colleagues_text h2, .careers_colleagues_text h3{
    color:#244C73;
    font-size:36px;
    font-style:normal;
    font-weight:900;
    line-height:normal;
    letter-spacing:-0.72px;
    margin-bottom:20px;
    text-transform:uppercase;
}
.careers_colleagues_text p{
    color:#000;
    font-size:16px;
    font-style:normal;
    font-weight:400;
    line-height:30px;
    margin-bottom:20px;
}
.careers_colleagues_text p:last-child{margin-bottom:0;}
.careers_colleagues_members{
    display:block;
    min-width:0;
}
.careers_colleagues_slider_header{
    align-items:center;
    display:flex;
    gap:30px;
    justify-content:space-between;
    margin-bottom:35px;
    min-height:32px;
}
.careers_colleagues_slider_header .opening_left{
    margin:0;
}
.careers_colleagues_slider_arrows{
    align-items:center;
    display:flex;
    gap:18px;
    justify-content:flex-end;
    margin-left:auto;
}
.careers_colleagues_slider_arrows:empty{
    display:none;
}
.careers_colleagues_slider_arrows .about-approach-slider__arrow{
    align-items:center;
    bottom:auto;
    border:0;
    cursor:pointer;
    display:flex;
    font-size:0;
    height:28px;
    justify-content:center;
    left:auto;
    line-height:normal;
    margin:0;
    outline:0;
    overflow:hidden;
    padding:0;
    position:relative;
    right:auto;
    top:auto;
    transform:none;
    width:42px;
        background: none !important;
}
.careers_colleagues_slider_arrows .about-approach-slider__arrow img{
    display:none!important;
}
.careers_colleagues_slider_arrows .about-approach-slider__arrow::after{
    animation:none;
    background:#244b73;
    border-radius:50%;
    content:"";
    height:12px;
    opacity:1;
    width:15px;
}
.careers_colleagues_slider_arrows .about-approach-slider__arrow::before{
    animation:none;
    background:#244b73;
    color:transparent;
    content:"";
    height:3px;
    opacity:1;
    width:35px;
}
.careers_colleagues_slider_arrows .about-approach-slider__arrow:first-child{
    transform:rotate(180deg);
}
.careers_colleagues_slider_arrows .about-approach-slider__arrow:hover,
.careers_colleagues_slider_arrows .about-approach-slider__arrow:focus{
    background:#244b73;
    color:transparent;
    outline:0;
}
.careers_colleagues_slider{
    margin:0 -12px;
    min-width:0;
    position:relative;
}
.careers_colleagues_slider:not(.slick-initialized){
    display:grid;
    gap:24px;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    margin:0;
}
.careers_colleagues_slider .slick-list{
    min-width:0;
}
.careers_colleague_slide{
    min-width:0;
    padding:0 12px;
}
.careers_colleagues_slider:not(.slick-initialized) .careers_colleague_slide{
    padding:0;
}
.careers_colleagues_slider_arrows .about-approach-slider__arrow.slick-disabled{
    cursor:default;
    opacity:0.35;
}
.careers_colleague_card{color:inherit; display:block; text-decoration:none;}
.careers_colleague_card .image{width:100%; aspect-ratio:1 / 1; background:#E9F0F1; overflow:hidden;}
.careers_colleague_card .image img{display:block; width:100%; height:100%; object-fit:cover; transition:transform 0.3s ease;}
.careers_colleague_card:hover .image img{transform:scale(1.03);}
.careers_colleague_card .name{
    color:#233542;
    display:block;
    font-size:14px;
    font-style:normal;
    font-weight:900;
    line-height:18px;
    margin-top:16px;
    text-transform:uppercase;
}
.careers_colleague_card .role{
    color:#000;
    font-size:12px;
    font-style:normal;
    font-weight:400;
    line-height:18px;
    margin-top:5px;
}

.trainee-voices-section {
    margin-bottom: 120px;
    padding-left: 0;
    padding-right: 0;
}

.page-template-TEMPLATE-layout-1 .client_story.trainee-benefits-section {
    align-items: stretch;
    background: #E9F0F1;
    border: 1px solid #DDE4E5;
    box-shadow: 6px 12px 20px 0 rgba(0, 0, 0, 0.07);
    display: grid;
    gap: 0;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    margin-bottom: 140px;
    padding: 0;
}

.page-template-TEMPLATE-layout-1 .client_story.trainee-benefits-section .text {
    background: transparent;
    border: 0;
    box-sizing: border-box;
    box-shadow: none;
    display: block;
    min-height: 0;
    min-width: 0;
    padding: 45px 55px;
    width: 100%;
}

.page-template-TEMPLATE-layout-1 .trainee-benefits-section .text h3 {
    margin-bottom: 20px;
}

.page-template-TEMPLATE-layout-1 .trainee-benefits-section .text ul {
    margin-bottom: 0;
}

.trainee-benefits-gallery {
    background: #FFFFFF;
    box-sizing: border-box;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
    padding: 18px;
    width: 100%;
}

.trainee-benefits-gallery__item {
    aspect-ratio: 3 / 2;
    margin: 0;
    min-height: 0;
    overflow: hidden;
}

.trainee-benefits-gallery__item img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

@media only screen and (max-width: 1400px){
    .careers_colleagues_grid{grid-template-columns:500px minmax(0, 1fr); gap:55px;}
    .careers_colleagues_text h2, .careers_colleagues_text h3{font-size:33px; line-height:normal;}
}

@media only screen and (max-width: 1180px){
    .careers_colleagues_grid{grid-template-columns:1fr; gap:35px; align-items:start;}
    .careers_colleagues_text{max-width:620px;}
}

@media only screen and (max-width: 768px){
    .careers_colleagues_section{padding:40px 0 45px;}
    .careers_colleagues_text{padding:25px;}
    .careers_colleagues_text h2, .careers_colleagues_text h3{font-size:30px; line-height:normal;}
    .careers_colleagues_text p{font-size:14px; line-height:25px;}
    .careers_colleague_card{max-width:none; min-width:100%;}
    .careers_colleague_card .name{font-size:13px; line-height:17px; margin-top:10px;}
    .careers_colleague_card .role{font-size:12px; line-height:18px;}
    .trainee-voices-section{margin-bottom:70px;}
    .careers_colleagues_slider:not(.slick-initialized){grid-template-columns:repeat(2, minmax(0, 1fr));}
}

@media only screen and (max-width: 520px){
    .careers_colleagues_slider:not(.slick-initialized){grid-template-columns:1fr;}
}

.careers_quote_section{display:block; padding:30px 0;}

.page-template-TEMPLATE-service_page .careers_quote_section { padding:0px 0px 80px 0;}

.careers_quotes_grid{
    display:grid;
    gap:30px;
    grid-template-columns:repeat(2, minmax(0, 1fr));
}

.careers_quote{display:block; max-width:none; width:66%; margin-left:34%; margin-right:0; text-align:left;}
.careers_quotes_grid .careers_quote{height:100%; margin:0; width:auto;}
.careers_quote .careers_quote_text{margin-top:0;}
.careers_quote .careers_quote_text blockquote, .careers_quote .careers_quote_text blockquote p{
    color:#244C73!important;
    text-align:left;
    font-size:32px!important;
    font-style:normal!important;
    font-weight:300!important;
    line-height:48px!important;
    letter-spacing:0.32px!important;
}
.careers_quote .careers_quote_text blockquote{margin:0 0 20px;}
.careers_quote .careers_quote_text blockquote p:last-child{margin-bottom:0;}
.careers_quote .careers_quote_text > p, .careers_quote .careers_quote_citation{
    color:#000!important;
    display:block;
    margin-top:20px;
    text-align:left;
    font-size:18px!important;
    font-style:normal!important;
    font-weight:400!important;
    line-height:28px!important;
    letter-spacing:0.18px!important;
}
.careers_quote .careers_quote_text > p strong, .careers_quote .careers_quote_citation strong{font-weight:900!important;}
.careers_quote .careers_quote_citation span:before{content:' (';}
.careers_quote .careers_quote_citation span:after{content:')';}

.career_bottom_section{display:block; padding:0px; position:relative; overflow:hidden;}
.career_bottom_inner{width:100%;}
.career_bottom_inner h2{
    color:#CCDEE1;
    font-size:48px;
    font-style:normal;
    font-weight:900;
    line-height:normal;
    letter-spacing:-0.96px;
    margin-bottom:40px;
    text-transform:uppercase;
}
.career_bottom_intro{
    border-left:10px solid #FDC100;
    margin-bottom:35px;
    padding-left:20px;
}
.career_bottom_intro p{
    color:#246A73;
    font-size:16px;
    font-style:normal;
    font-weight:600;
    line-height:28px;
    margin-bottom:25px;
}
.career_bottom_intro p:last-child{margin-bottom:0;}
.career_bottom_list ul{
    list-style:none;
    margin:0;
    padding:0;
}
.career_bottom_list li{
    color:#000;
    font-size:16px;
    font-style:normal;
    font-weight:400;
    line-height:28px;
    padding-left:20px;
    position:relative;
}
.career_bottom_list li:before{
    background:#FDC100;
    border-radius:50%;
    content:'';
    height:8px;
    left:0;
    position:absolute;
    top:10px;
    width:8px;
}

@media only screen and (max-width: 768px){
    .page-template-TEMPLATE-service_page .careers_quote_section { padding:0px 0px 40px 0;}
    

    
    .career_bottom_section{padding:0px;}
    .career_bottom_inner{width:100%;}
    .career_bottom_inner h2{font-size:30px; line-height:normal; letter-spacing:-0.72px; margin-bottom:28px;}
    .career_bottom_intro p{font-size:15px; line-height:26px;}
    .career_bottom_list li{font-size:14px; line-height:25px;}
}

@media only screen and (max-width: 1400px){
    .careers_quote .careers_quote_text blockquote, .careers_quote .careers_quote_text blockquote p{font-size:26px!important; line-height:44px!important;}
}

@media only screen and (max-width: 1180px){
    .careers_quote_section{padding:0px;}
    .careers_quote{width:100%; margin-left:0;}
}

@media only screen and (max-width: 768px){
    .careers_quote_section{padding:0px;}
    .careers_quotes_grid{gap:25px; grid-template-columns:1fr;}
    .careers_quote .careers_quote_text blockquote, .careers_quote .careers_quote_text blockquote p{font-size:22px!important; line-height:34px!important;}
    .careers_quote .careers_quote_text > p, .careers_quote .careers_quote_citation{font-size:16px!important; line-height:24px!important;}
}

.careers_quotes_grid .careers_quote .careers_quote_text blockquote,
.careers_quotes_grid .careers_quote .careers_quote_text blockquote p,
.careers_quotes_grid .careers_quote .careers_quote_text > p{
    color:#000!important;
    font-size:16px!important;
    line-height:28px!important;
}

.careers_quotes_grid .careers_quote .careers_quote_text{
    display:flex;
    flex-direction:column;
    height:100%;
}

.careers_quotes_grid .careers_quote .careers_quote_text blockquote{
    flex:1;
    margin-bottom:0;
}

.careers-vacancies-section{
    background:#fff;
    padding:60px 0 70px;
}

.careers-vacancies-intro{
    margin:0 auto 35px;
    max-width:850px;
    text-align:center;
}

.careers-vacancies-intro h2{
    color:#244C73;
    font-size:40px;
    font-weight:900;
    letter-spacing:-0.96px;
    line-height:1.15;
    margin-bottom:18px;
    text-transform:uppercase;
}

.careers-vacancies-intro p{
    color:#000;
    font-size:16px;
    line-height:28px;
    margin:0;
}

.vacancies-contact-link{
    background-color:transparent;
    background-image:url('https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/arrow.png');
    background-position:calc(100% - 18px) 50%;
    background-repeat:no-repeat;
    background-size:30px;
    border:2px solid #244C73;
    color:#244C73;
    display:inline-block;
    font-size:14px;
    font-weight:900;
    line-height:24px;
    margin-top:25px;
    min-width:190px;
    padding:10px 58px 10px 18px;
    text-align:left;
    text-transform:uppercase;
    transition:background-color 0.25s ease, color 0.25s ease;
}

.vacancies-contact-link:hover{
    background-color:#244C73;
    background-image:url('https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/Arrow-5.png');
    color:#FDC100;
}

.careers-vacancies-panel{
    background:#fff;
    border:1px solid #DDE4E5;
    box-shadow:6px 12px 20px 0 rgba(0, 0, 0, 0.07);
    margin:0 auto;
    max-width:1250px;
}

.vacancies-list-grid{
    display:block!important;
}

.vacancies-list-grid.is-loading{
    opacity:0.45;
    pointer-events:none;
    transition:opacity 0.2s ease;
}

.vacancy-listing{
    border-bottom:1px solid #DDE4E5;
}

.vacancy-listing:last-child{
    border-bottom:0;
}

.vacancy-listing__link{
    align-items:center;
    display:grid;
    gap:35px;
    grid-template-columns:minmax(0, 1fr) auto;
    padding:30px 35px;
    transition:background-color 0.25s ease;
}

.vacancy-listing__link:hover{
    background:#E9F0F1;
}

.vacancy-listing__content{
    display:block;
    min-width:0;
}

.vacancy-listing__label{
    color:#246A73;
    display:block;
    font-size:13px;
    font-weight:900;
    letter-spacing:1.3px;
    line-height:20px;
    margin-bottom:5px;
    text-transform:uppercase;
}

.vacancy-listing__title{
    color:#244C73;
    display:block;
    font-size:20px;
    font-weight:900;
    letter-spacing:-0.3px;
    line-height:32px;
    text-transform:uppercase;
}

.vacancy-listing__action,
.vacancies-list-load-more button{
    background-color:transparent;
    background-image:url('https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/arrow.png');
    background-position:calc(100% - 18px) 50%;
    background-repeat:no-repeat;
    background-size:30px;
    border:2px solid #244C73;
    color:#244C73;
    cursor:pointer;
    display:inline-block;
    font-size:14px;
    font-weight:900;
    line-height:24px;
    min-width:190px;
    padding:10px 58px 10px 18px;
    text-align:left;
    text-transform:uppercase;
    transition:background-color 0.25s ease, color 0.25s ease;
}

.vacancy-listing__link:hover .vacancy-listing__action,
.vacancies-list-load-more button:hover{
    background-color:#244C73;
    background-image:url('https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/Arrow-5.png');
    color:#FDC100;
}

.vacancies-list-empty{
    color:#244C73;
    font-size:18px;
    font-weight:700;
    margin:0;
    padding:45px 30px;
    text-align:center;
}

.vacancies-list-empty p{
    margin:0;
}

.vacancies-list-load-more{
    display:block;
    margin:40px 0 0;
    text-align:center;
}

.vacancies-list-load-more button{
    text-align:center;
}

.vacancies-list-load-more button[hidden]{
    display:none;
}

@media only screen and (max-width: 768px){
    .careers-vacancies-section{padding:45px 0 55px;}
    .careers-vacancies-intro{margin-bottom:25px;}
    .careers-vacancies-intro h2{font-size:30px; letter-spacing:-0.6px;}
    .vacancy-listing__link{align-items:start; gap:20px; grid-template-columns:1fr; padding:24px 20px;}
    .vacancy-listing__title{font-size:18px; line-height:26px;}
    .vacancy-listing__action{min-width:180px;}
    .vacancies-list-load-more{margin-top:30px;}
}

.services_team_reviews{display:block; margin-bottom:100px;}
.services_team_reviews .wrapper{display:flex; justify-content:end;}

.service_team{max-width:1080px;}

.service_team .members{
    
       display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px; /* Adjust the gap between grid items as needed */
    
}


.service_team .title{
    color: #CCDEE1;
text-align: right;

font-size: 48px;
font-style: normal;
font-weight: 900;
line-height: 96px; /* 200% */
letter-spacing: -0.96px;
text-transform: uppercase;
    
    
}


.big_text{
    
    color: #FFF;
padding-top:50px;
font-size: 32px;
font-style: normal;
font-weight: 300;
line-height: 48px; /* 150% */
letter-spacing: 0.32px;
    
}

.bullets h5, .bullets h6{
  
    color: #FDC100!important;

font-size: 20px;
font-style: normal;
font-weight: 900;
line-height: 48px; /* 240% */
letter-spacing: -0.4px;
text-transform: uppercase;
    
}



span.banner_location {
    position: absolute;
    bottom: 70px;
    right: 100px;
    background: #244B73;
    padding: 7px 20px;
    border-radius: 50px;
    color: #fff;
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.60);
    font-family: "Figtree", sans-serif !important;
    TEXT-TRANSFORM: UPPERCASE;
    font-weight: 600;
}


/* ============ Matt's Tweaks (please don't mind the !important spam) ============ */

/* filter for the banner */

.page-template-TEMPLATE-homepage .top_banner .grady {
    display: block !important; 
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.50) 57.56%, rgba(0, 0, 0, 0.00) 100%);
}

/* removal of statements */

.statement {
    display: none !important;
}

/* auto quote marks for reviews */

.review p::before {
    font-family: Georgia, 'Times New Roman', Times, serif;
    content: '"';
    display: inline;
}

.review p::after {
     font-family: Georgia, 'Times New Roman', Times, serif;
    content: '"';
    display: inline;
}

/* background for quotes */

.home-review-slider {
    background: #e9f0f1;
    padding-block: 50px !important;
    max-width: 1400px !important;
}

.careers_quote {
    padding: 50px;
    background: #e9f0f1;
}

/* centring of reviews */

.home-review-slider__slide.is-active {
    display: flex !important;
    align-items: center !important;
}

.home-review-slider img {
    filter: brightness(0) saturate(100%) invert(26%) sepia(32%) saturate(919%) hue-rotate(169deg) brightness(96%) contrast(97%);
}

.home-review-slider__arrow--next {
    right: 25px !important;
}

.home-review-slider__arrow--prev {
    left: 25px !important;
}

@media screen and (max-width: 768px) {
    .home-review-slider__arrow--next {
        right: 0 !important;
    }

    .home-review-slider__arrow--prev {
        left: 0 !important;
    }
}

/* next button for service tabs */

.next-tab {
    cursor: pointer;
    color: #244C73;
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
    line-height: 30px;
    text-transform: uppercase;
    border: 2px solid #244C73;
    padding: 5px 60px 5px 20px;
    display: inline-block;
    margin-top: 10px;
    background: url(https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/arrow.png);
    background-repeat: no-repeat;
    background-position: 92% 50%;
    background-size: 30px;
}

.next-tab:hover {
    transition: 0.3s;
    color: #FDC100;
    background: url(https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/Arrow-5.png) !important;
    background-repeat: no-repeat !important;
    background-position: 92% 50% !important;
    background-size: 30px !important;
    background-color: #244C73 !important;
}

/* hover effect for list items */

li {
    position: relative;
    transition: 0.3s;
}

li:hover {
    cursor: default;
    transform: translateX(15px);
}

li::after {
    opacity: 0;
    position: absolute;
    left: -15px;
    display: block;
    content: "";
    height: 2px;
    width: 15px;
    top: 0.875em;
    transform: translateY(-50%);
    background: #FDC100;
    transition: 0.3s;
}

.service_sections {
    padding-top: 50px;
}

li:hover::after {
    opacity: 1;
}

/* accordions on about page  */

.page-template-TEMPLATE-about .client_stories_list p:not(:has(strong)) {
    display: none;
}

.page-template-TEMPLATE-about .client_stories_list p:has(strong)::after {
    content: ">";
    display: inline-block;
    margin-left: 10px;
    transform: rotate(90deg);
    transition: 0.3s;
    color: #246A73;
}

.page-template-TEMPLATE-about .client_stories_list p:has(strong) {
    cursor: pointer;
}

.page-template-TEMPLATE-about .client_stories_list p:has(strong).active::after {
    transform: rotate(270deg);
}

/* sticky header */

header {
    position: fixed;
    top: 35px;
    width: 100%;
    height: 100px;
    z-index: 1000;
    background: white;
}

.top_bar {
    position: fixed;
    top: 0px;
    width: 100%;
    height: 35px;
    z-index: 1000;
}

body {
    margin-top: 135px;
}

body:has(#wpadminbar) .top_bar {
    top: 32px;
}

body:has(#wpadminbar) header {
    top: 67px;
}

.opening_right a {
    color: #246A73;
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
    line-height: 30px;
    text-transform: uppercase;
    border: 2px solid #246A73;
    padding: 5px 60px 5px 20px;
    display: inline-block;
    margin-top: 10px;
    background: url(https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/arrow.png);
    background-repeat: no-repeat;
    background-position: 92% 50%;
    background-size: 30px;
}

.opening_right a:hover {
        transition: 0.3s;
    color: #FDC100;
    background: url(https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/Arrow-5.png) !important;
    background-repeat: no-repeat !important;
    background-position: 92% 50% !important;
    background-size: 30px !important;
    background-color: #244C73 !important;
}

/* auto height expanding for banners */

.top_banner {
    height: auto !important;
    padding-bottom: 50px !important;
    min-height: 450px;
}

@media screen and (max-width: 1150px) {
    .top_banner {
        min-height: 400px !important;
    }
}

/* extra padding for text-heavy banner CTAs */

.top_banner a {
    padding-right: 75px !important;
}

/* z-index bug for clicking team page link */

.team_intro_box {
    z-index: 10 !important;
}

/* limits on images inside wysiwygs */

p img {
    max-width: 250px;
}

/* extra CTAs on the home page */

.home_team_section .text a {
    color: #FFF;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 900;
    line-height: 100%;
    text-transform: uppercase;
    border: 2px solid #FDC100;
    display: inline-block;
    margin-top: 20px;
    padding: 15px 50px 15px 20px;
    background: url(https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/Arrow-2.png);
    background-repeat: no-repeat;
    background-position: 92% 50%;
    background-size: 30px;
}

.home_team_section .text a:hover {
    background-color: #FDC100 !important;
    transition: 0.3s;
    color: #000;
    background-image: url(https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/arrow.png) !important;
    background-repeat: no-repeat !important;
    background-position: 92% 50% !important;
    background-size: 30px !important;
}

.home_team_section .text p:has(a) {
    border: none;
}

/* highlighted phone number */

.top_bar a:last-child {
    color: #FDC100;
}

/* wide advice CTA strip */

.text_image_section.wide-cta-strip {
    margin: 12px 0 20px;
}

.wide-cta-strip > .wrapper {
    max-width: none !important;
    width: 100%;
}

.wide-cta-strip .text_image {
    align-items: stretch;
    background: #244B73;
    border: 1px solid #244B73;
    box-shadow: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    max-width: none;
    overflow: hidden;
}

.wide-cta-strip .text {
    align-items: center;
    background: transparent;
    border: 0;
    box-shadow: none;
    display: grid;
    gap: 8px 48px;
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: minmax(0, 1fr) auto;
    left: auto;
    min-height: 140px;
    padding: 28px clamp(110px, 11vw, 200px);
    position: relative;
    right: auto;
    top: auto;
}

.wide-cta-strip .text h2,
.wide-cta-strip .text h3,
.wide-cta-strip .text h4 {
    color: #FDC100;
    font-size: 26px;
    grid-column: 1;
    grid-row: 1;
    line-height: 34px;
    margin: 0;
}

.wide-cta-strip .text p {
    color: #FFF;
    margin: 0;
}

.wide-cta-strip .text > p:not(:last-child) {
    grid-column: 1;
    grid-row: 2;
}

.wide-cta-strip .text > p:last-child {
    align-self: center;
    grid-column: 2;
    grid-row: 1 / span 2;
}

.wide-cta-strip .text a {
    background-image: url('https://cfbuild.co.uk/langtons/wp-content/uploads/2026/07/Arrow-2.png');
    border-color: #FDC100;
    color: #FFF;
    margin-top: 0;
    white-space: nowrap;
}

@media only screen and (max-width: 768px) {
    .text_image_section.wide-cta-strip .text {
        gap: 16px;
        grid-template-columns: minmax(0, 1fr);
    }

    .text_image_section.wide-cta-strip .text h2,
    .text_image_section.wide-cta-strip .text h3,
    .text_image_section.wide-cta-strip .text h4,
    .text_image_section.wide-cta-strip .text > p:not(:last-child),
    .text_image_section.wide-cta-strip .text > p:last-child {
        grid-column: 1;
        grid-row: auto;
    }

    .text_image_section.wide-cta-strip .text > p:last-child {
        justify-self: start;
    }
}

.about-approach-slider__arrow {
    position: relative;
    overflow: hidden;
    background: #244b73;
}

.about-approach-slider__arrow img {
    display: none !important;
}

.about-approach-slider__arrow::after {
    content: "";
    width: 15px;
    background: #244B73;
    height: 12px;
    border-radius: 50%;
}

.about-approach-slider__arrow::before {
    content: "";
    width: 35px;
    background: #244B73;
    height: 3px;
}

.about-approach-slider__arrow:first-child {
    transform: rotate(180deg);
}

.about-approach-slider__arrow::before,
.about-approach-slider__arrow::after {
    background: repeating-linear-gradient(
        90deg,
        #244b73 0%,
        #244b73 44%,
        #fdc100 48%,
        #fdc100 52%,
        #244b73 56%,
        #244b73 100%
    );

    background-size: 200% 100%;
    animation: arrowGradient 2.5s linear infinite;
}

@keyframes arrowGradient {
    from {
        background-position: 0 0;
    }

    to {
        background-position: -200% 0;
    }
}

.about-approach-slider__arrow::after {
    animation-delay: -.25s; /* optional, keeps the circle from matching exactly */
}

.about-community__photo--3 img {
    object-position: 50% 0;
}

.about-community__photo--1 img {
        object-position: 50% 25%;
}

.client_story:not(:has(img)) {
    padding-left: 0 !important;
}

.client_story:not(:has(img)) .text {
    padding-left: 50px !important;
    min-height: unset !important;
}

.page-template-TEMPLATE-layout-1 .client_story.client_story--text-only {
    margin-bottom: clamp(50px, 7vw, 100px);
    padding: 0 !important;
}

.page-template-TEMPLATE-layout-1 .client_story.client_story--text-only .text {
    display: block !important;
    min-height: 0 !important;
    overflow-wrap: anywhere;
    padding: clamp(30px, 4vw, 60px) clamp(25px, 5vw, 80px) !important;
    width: 100%;
}

.page-template-TEMPLATE-layout-1 .client_story.client_story--text-only .text a {
    background: none !important;
    border: 0;
    color: #246A73;
    display: inline;
    font-weight: 700;
    margin: 0;
    padding: 0;
    text-align: left;
    text-decoration: underline;
    text-transform: none;
}

.page-template-TEMPLATE-layout-1 .client_story.client_story--text-only .text table {
    border-collapse: collapse;
    display: block;
    margin: 30px 0;
    max-width: 100%;
    overflow-x: auto;
    width: 100%;
}

.page-template-TEMPLATE-layout-1 .client_story.client_story--text-only .text th,
.page-template-TEMPLATE-layout-1 .client_story.client_story--text-only .text td {
    border: 1px solid #D0DCDE;
    line-height: 1.5;
    padding: 12px 15px;
    text-align: left;
    vertical-align: top;
}

.client_stories_list:not(:has(img)) {
    margin-top: 100px !important;
}

.about-approach-slider {
    padding-top: 0px !important;
}

.page-template-TEMPLATE-our_team .text_image_section.wide-cta-strip {
    margin: 50px 0 150px;
}

.page-template-TEMPLATE-layout-1 .client_story .text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.page-template-TEMPLATE-careers .about-community__photo--1 img {
    object-position: 50% 50%;
}

.page-template-TEMPLATE-careers .about-community__photo--4 img {
    object-position: 50% 16%;
}

/* Individual client story banner details */
.single-client_stories .client-story-banner-copy {
    max-width: 980px !important;
}

.single-client_stories .client-story-positioning-statement {
    font-size: 24px;
    font-weight: 400;
    line-height: 1.35;
    margin: 4px 0 24px;
    max-width: 900px;
}

.single-client_stories .client-story-services {
    margin-top: 24px;
}

.single-client_stories .client-story-services__label {
    color: #fdc100;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1;
    margin-bottom: 10px;
    text-shadow: 0 4px 10px rgba(0, 0, 0, .4);
    text-transform: uppercase;
}

.single-client_stories .client-story-services__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
}

.single-client_stories .client-story-services a,
.single-client_stories .client-story-services a:hover,
.single-client_stories .client-story-services a:focus {
    background: none !important;
    border: 0;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
    margin: 0;
    padding: 0 !important;
    text-decoration: none;
}

.single-client_stories .client-story-services a:hover,
.single-client_stories .client-story-services a:focus {
    color: #fdc100;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

@media only screen and (max-width: 768px) {
    .single-client_stories .client-story-positioning-statement {
        font-size: 20px;
        line-height: 1.4;
        margin-bottom: 20px;
    }

    .single-client_stories .client-story-services {
        margin-top: 20px;
    }
}

/* Keep CTA copy inside its own area, clear of the arrow icon. */
.top_banner a,
.home_tiles .tile a,
.service_submenu .text a,
.home_team_section .link a,
.home_team_section .text a,
.text_image .text a,
.linky,
.news_list a,
.foot_3 a.link,
.client_story .text a,
.next-tab,
.opening_right a,
.vacancies-contact-link,
.vacancy-listing__action,
.vacancies-list-load-more button,
.home_client_stories .link a,
.client-stories-load-more button,
.news-list-load-more button {
    background-position: calc(100% - 18px) 50% !important;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal !important;
}

.top_banner a:hover,
.home_tiles .tile a:hover,
.service_submenu .text a:hover,
.home_team_section .link a:hover,
.home_team_section .text a:hover,
.text_image .text a:hover,
.linky:hover,
.news_list a:hover,
.foot_3 a.link:hover,
.client_story .text a:hover,
.next-tab:hover,
.opening_right a:hover,
.vacancies-contact-link:hover,
.vacancy-listing__link:hover .vacancy-listing__action,
.vacancies-list-load-more button:hover,
.home_client_stories .link a:hover,
.client-stories-load-more button:hover,
.news-list-load-more button:hover,
input#gform_submit_button_1:hover {
    background-position: calc(100% - 18px) 50% !important;
}

input#gform_submit_button_1 {
    background-position: calc(100% - 18px) 50% !important;
    max-width: 100%;
}

.backy {
    background-position: 18px 50% !important;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
}

.page-id-25 .client_story img {
    object-fit: contain;
}
