.video-wrap:not(.tf_local_video) {
    padding-bottom: 53.25%!important;
}

.keyfeatures .module-image .image-wrap img {
    max-height: 90px;
}

.keyfeatures .module_column {
    padding: 32% 8% 32% 8%! important;
}

.keyfeatures .module_column {
    padding: 8% 8% 8% 8%! important;
}

.one-half {
    position: relative;
    margin-right: 1%;
    float: left;
        margin-bottom: 0px;
 
}
 
.one-half { width: 49%; }
 
@media only screen and (max-width: 800px) {
    .one-half {
        width: 100%;
        margin-right: 0;
    }
}

@media only screen and (max-width: 800px) {
.one-half.\.last {
    margin-top: -6%;
}}

input#fl-name {
    width: 100%;
    background-color: #F2F2F2;
    border: none;
    color: #282755;
}

input#fl-email {
    width: 100%;
    background-color: #F2F2F2;
    border: none;
    color: #282755;
}

input#fl-tel {
    width: 100%;
    background-color: #F2F2F2;
    border: none;
    color: #282755;
}

textarea#fl-enquiry {
    height: 129px;
    min-height: 129px;
    max-height: 129px;
    background-color: #F2F2F2;
    border: none;
    color: #282755;
}

input#fl-submit {
    width: auto;
    font-weight: 500;
    background-color: #272755;
    margin-top: 2%;
    letter-spacing:3px;
}

@media only screen and (max-width: 800px) { input#fl-submit {
    margin-top: 6%;
    width: 100%;
    text-align: left;
}}

input#fl-submit:hover {
  box-shadow: 0 5px 10px rgba(0,0,0,0);
  transform: translateY(0px);
  background-color:#1d1d31c;
}

.rpihomeprojects:hover:after {
    content: "VIEW OUR PORTFOLIO";
    position: absolute;
    bottom: 0;
    z-index: 2;
    color: #ffffff;
    font-family: 'Montserrat';
    background-color: #1B185C;
    padding: 1% 1%;
    letter-spacing: 3px;
    font-size: 14px;
    width: 98%;
    text-align: center;
}

.rpiteam:hover:after {
    content: "MEET THE TEAM";
    position: absolute;
    bottom: 0;
    z-index: 2;
    color: #ffffff;
    font-family: 'Montserrat';
    background-color: #1B185C;
    padding: 1% 1%;
    letter-spacing: 3px;
    font-size: 14px;
    width: 98%;
    text-align: center;
}

.rpirequirements:hover:after {
    content: "VIEW REQUIREMENTS";
    position: absolute;
    bottom: 0;
    z-index: 2;
    color: #ffffff;
    font-family: 'Montserrat';
    background-color: #1B185C;
    padding: 1% 10%;
    letter-spacing: 3px;
    font-size: 14px;
    padding: 1% 1%;
    letter-spacing: 3px;
    font-size: 14px;
    width: 100%;
    text-align: center;
}

span.wpcf7-list-item-label {
    font-size: 12px;
    line-height: 1.2em;
    display: block;
    margin-left: 30px;
    margin-top: -15px;
}

.back-top.tf_textc.tf_clearfix.back-top-float {
    display: none! important;
}

.video-wrap-outer {
    height: auto;
    overflow: hidden;
}

@media only screen and (max-width: 800px) { .video-wrap-outer {
    height: auto;
}}

@media only screen and (max-width: 800px) { .keyfeatures .module_column {
    padding: 20% 8% 20% 8%! important;
}}

@media screen and (max-width: 800px) {
  a[href^="tel"] {
    color: #ffffff;
}}

.rpihead img {
  height:650px;
  object-fit: cover;
}

.quote strong {
    position: absolute;
    left: -25px;
    font-family: system-ui;
    font-size: 40px;
    top: 5px;
}

.quote em {
    position: absolute;
    right: -10px;
    font-family: system-ui;
    font-size: 40px;
    bottom: 55px;
    font-weight: 700;
}

.teammember em {
    font-style: normal;
    font-weight: 300;
    font-size: 16px;
}

.ptb_module.ptb_text.ptb_rpi_projects_location.tf_clearfix:before {
    content: url(/wp-content/uploads/2023/11/location-dot-solid-blue.svg);
    width: 20px! important;
    display: inline-block;
    vertical-align: middle;
    vertical-align: -webkit-baseline-middle;
}

#main-nav-wrap #main-nav a:hover, #main-nav-wrap #main-nav > li > a:hover {
    text-underline-position: under;
    text-decoration: underline;
}

#main-nav-wrap #main-nav > .current_page_item > a, #main-nav-wrap #main-nav > .current-menu-item > a {
    text-underline-position: under;
    text-decoration: underline;
}

@media only screen and (max-width: 800px) { .rpihead img {
    height: auto! important;
}}

.module.module-text.tb_8jd9465 {
    text-align: center;
    padding-top: 5%;
}

.module.module-text.tb_andu764 {
    text-align: center;
    padding-top: 5%;
}

.module.module-text.tb_rgyo697 {
    text-align: center;
    padding-top: 5%;
}