/*   
Theme Name: Engineered Systems Inc.
Theme URI: https://esiboston.com/
Description: Custom WordPress theme for Engineered Systems Inc.
Author: Torro Media
Author URI: https://torro.io/
Version: 1.0
*/

@CHARSET "UTF-8";

/* =WordPress Core from http://codex.wordpress.org/CSS#WordPress_Generated_Classes
-------------------------------------------------------------- */

/*Required Styles*/

.alignnone {
    margin: 5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}
.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}
.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}
.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}
a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}
a img.alignnone {
    margin: 5px 20px 20px 0;
}
a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}
a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}
.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}
.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}
.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}
.wp-caption p.wp-caption-text {
    font-size: 13px;
    line-height: 17px;
    margin: 0;
    padding: 0.5rem 0;
}

/*CUSTOM SCSS
-------------------------------------------------------------- */

:root{

    --font-body:"Inter", sans-serif;
    --font-heading:"Oswald", sans-serif;

    --color-gold:#C3AE6A;
    --color-forest:#092B22;
    --color-green:#367B69;
    --color-grey:#F2F0E9;

    --gradient:linear-gradient(180deg, #092B22 0%, #367B69 100%);

    --color-text:black;

    --container-width:1140px;
    --container-margin:calc((100vw - 1140px) / 2);
}

html, body{
    font-family:var(--font-body);
    overflow-x:hidden;
    scroll-behavior: smooth;
    scroll-padding:150px 0 0;
}
a:hover, a:focus{
    text-decoration: none;
}
main{
    margin-top:85px;
}
main.tm_main_flush{
    margin-top:0;
}
h1, .h1{
    font-family:var(--font-heading);
    font-weight:700;
    font-size:80px;
    line-height:1.25;
}
h2, .h2{
    font-family:var(--font-heading);
    font-weight:700;
    font-size:48px;
    line-height:1.25;
}
h3, .h3{
    font-family:var(--font-heading);
    font-weight:700;
    font-size:32px;
    line-height:1.25;
}
h4, .h4{
    font-family:var(--font-heading);
    font-weight:700;
    font-size:24px;
    line-height:1.25;
}
h5, .h5{
    font-family:var(--font-heading);
    font-weight:700;
    font-size:18px;
    line-height:1.25;
}
h6, .h6{
    font-family:var(--font-heading);
    font-weight:700;
    font-size:16px;
    line-height:1.25;
}
p{
    font-size:18px;
    line-height:1.5;
    color:var(--color-text);
}
.centered{
    text-align:center;
}
.right{
    text-align:right;
    float:right;
}
.tm_flex_container{
    height:100%;
    display:flex;
    align-items: center;
}

/*BUTTONS & LINKS*/

.tm_button{
    background:var(--color-gold);
    color:var(--color-forest);
    font-family:var(--font-heading);
    display:inline-block;
    padding:0.75rem 1.5rem;
    border-radius:5px;
    font-weight:400;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    font-size:16px;
    text-align:center;
}
.tm_button:hover{
    background:var(--color-forest);
    color:var(--color-gold);
}
.tm_button_outline{
    background:transparent;
    border:1px solid var(--color-forest);
    color:var(--color-forest);
}
.tm_button_outline:hover{
    background:var(--color-forest);
    color:white;
}
.tm_link,
.tm_link a{
    color:var(--color-forest);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    font-family: var(--font-heading);
}
.tm_link::after{
    content:'';
    width:20px;
    height:12px;
    background-image:url(public/img/arrow.svg);
    background-size:cover;
    background-position: center center;
    background-repeat: no-repeat;
    display:inline-block;
    margin-left:0.5rem;
    transition-duration: 0.5s;
}
.tm_link i{
    margin-left:0.5rem;
    transition-duration: 0.5s;
}
.tm_link:hover i,
.tm_link a:hover i,
.tm_link:hover::after,
a:hover span.tm_link i,
a:hover span.tm_link::after{
    margin-left:1rem;
}
.tm_link:hover,
.tm_link a:hover{
    color:var(--color-gold);
}


/*HEADER*/

.tm_header,
.tm_header_logo{
    height:85px;
}
.tm_header{
    background:white;
    box-shadow:0 0 5px rgba(0,0,0,0.25);
    position:fixed;
    z-index:9999;
    width:100%;
}
.tm_header.tm_header_transparent:not(.scrolled){
    background:transparent;
    box-shadow:none;
}
.tm_header.tm_header_transparent.scrolled{
    background:white;
}
.tm_header_logo a{
    display:block;
    width:100%;
    height:100%;
}
.tm_header_logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position: left;
    padding:0.5rem 0;
}
.tm_header.tm_header_transparent:not(.scrolled) .tm_header_logo img{
    filter:brightness(0) invert(1);
}
.tm_header_mobile_toggle{
    display:none;
    height:100%;
    width:100%;
    align-items:center;
    justify-content:right;
    font-size:24px;
}
.tm_header.tm_header_transparent:not(.scrolled) .tm_header_mobile_toggle{
    color:white;
}
.tm_header_right{
    width:100%;
    display:flex;
    justify-content: right;
    align-items: center;
    gap:2rem;
}
.tm_header_menu{
    list-style:none;
    margin:0;
    padding:0;
    font-size:16px;
}
.tm_header_menu li{
    display:inline-block;
}
.tm_header_menu li a{
    padding:30.5px 1rem;
    display:block;
    color:var(--color-text);
}
.tm_header.tm_header_transparent:not(.scrolled) .tm_header_menu li a:not(.tm_header_submenu a){
    color:white;
}
.tm_header_menu li a:not(.tm_header_submenu a):hover,
.tm_header_menu li:hover a:not(.tm_header_submenu a){
    color:var(--color-green);
}
.tm_header.tm_header_transparent:not(.scrolled) .tm_header_menu li a:hover,
.tm_header.tm_header_transparent:not(.scrolled) .tm_header_menu li:hover a:not(.tm_header_submenu a){
    color:var(--color-5);
}
.tm_header_submenu{
    display:none;
    margin:0;
    padding:0;
    list-style:none;
    position:absolute;
    background:white;
    box-shadow:0 5px 5px rgba(0,0,0,0.1);
    text-align:left;
    width:250px;
    text-transform:none;
    letter-spacing: auto;
}
.tm_header_menu li:hover .tm_header_submenu{
    display:block;
}
.tm_header_submenu li{
    display:block;
}
.tm_header_submenu li a{
    display:block;
    padding:0.75rem 1rem;
    color:var(--color-text);
}
.tm_header_submenu li a:hover{
    background:var(--color-forest);
    color:white;
}
.tm_header_submenu_toggle{
    display:none;
    position:absolute;
    top:0;
    right:0;
    padding:1rem 2rem;
    color:var(--color-gold);
    font-size:18px;
}

/*HERO & TITLE BAR*/

.tm_hero{
    background-size:cover;
    background-position: center center;
    background-repeat: no-repeat;
    width:100%;
    height:auto;
    position: relative;
    overflow:hidden;
    clip-path: polygon(0 0, 100% 0, 100% 85%, 0% 100%);
}
.tm_hero.tm_title_bar{
    background-size:cover;
    background-position: center center;
    background-repeat: no-repeat;
    width:100%;
    height:auto;
    padding-bottom:0;
    position: relative;
    overflow:hidden;
}
.tm_hero_video{
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
}
.tm_hero_overlay{
    position:relative;
    width:100%;
    height:100%;
    top:0;
    left:0;
    background:rgba(16,76,60,0.75);
    display:flex;
    align-items: center;
    justify-content: center;
    padding:10rem 0;
}
.tm_hero_overlay::before{
    content:'';
    position:absolute;
    top:0;
    right:0;
    height: 100%;
    width:45%;
    background-image:url(public/img/hero-pattern.png);
    background-size:100% 100%;
    background-repeat: no-repeat;
    z-index:0;
}
.tm_hero.tm_title_bar .tm_hero_overlay{
    padding:5rem 0;
}
.tm_hero_video video{
    width:100%;
    height:auto;
}
.tm_hero h1,
.tm_title_bar h1,
.tm_hero p{
    color:white;
    line-height: 1.1;
}
.tm_hero h1 strong,
.tm_title_bar h1 strong{
    color:var(--color-gold);
}   
.tm_hero h1{
    margin:0 0 1rem;
    font-weight:400;
}
.tm_hero h1 strong{
    display:block;
    font-weight:400;
}
.tm_hero span.h5{
    text-transform: uppercase;
    color:var(--color-gold);
    font-weight:400;
}
.tm_hero p{
    font-size:18px;
}
.tm_hero_content{
    width:65%;
    position: relative;
    z-index:1;
}
.tm_hero .tm_content_button{
    margin:2rem 0 0;
}

/*CONTENT*/

.tm_content{
    position:relative;
    padding:5rem 0;
}
.tm_content_top_large{
    padding-top:10rem;
}
.tm_content_top_small{
    padding-top:2.5rem;
}
.tm_content_top_none{
    padding-top:0;
}
.tm_content_bottom_large{
    padding-bottom:10rem;
}
.tm_content_bottom_small{
    padding-bottom:2.5rem;
}
.tm_content_bottom_none{
    padding-bottom:0;
}
.tm_content_overlap{
    margin-top:-5rem;
}
.tm_content_grey{
    background:var(--color-grey);
}
.tm_content_forest{
    background:var(--color-forest);
}
.tm_content_forest::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    height: 100%;
    width:45%;
    background-image:url(public/img/content-pattern-left.png);
    background-size:100% 100%;
    background-repeat: no-repeat;
    z-index:0;
}
.tm_content_button:not(.tm_title_area .tm_content_button){
    margin:1.5rem 0 0;
}
.tm_content_image{
    width:100%;
    min-height:100%;
    position:relative;
    padding-bottom:70%;
    overflow:hidden;
}
.tm_content_image img{
    width: 100%;
    height: 100%;
    position:absolute;
    transition-duration: 0.5s;
}
.tm_content_image_cover img{
    object-fit:cover;
}
.tm_content_image_contain img,
.tm_content_icon img{
    object-fit:contain;
}
.tm_content_icon{
    width:60px;
    height:60px;
    overflow:hidden;
    background:var(--gradient);
    border-radius:5px;
}
.tm_content_icon img{
    width:100%;
    height:100%;
    padding:0.75rem;
}
.tm_block.tm_block_solo .tm_content_icon{
    width:210px;
    height:210px;
    flex:0 0 210px;
}
.tm_block.tm_block_solo .tm_content_icon img{
    padding:3rem;
}


/*TEXT STYLES*/

.tm_text_padded{
    padding:4rem 0;
}
.tm_text_full{
    padding:5rem 3rem;
}
.order-lg-1 .tm_text_full{
    padding-left:var(--container-margin);
}
.order-lg-2 .tm_text_full{
    padding-right:var(--container-margin);
}
.tm_text h1{
    font-size:48px;
    color:var(--color-gold);
}
.tm_text h2{
    font-weight:400;
    color:var(--color-green);
    line-height: 1.25;
}
.tm_text h2,
.tm_text h3,
.tm_text h4{
    margin:0 0 1rem;
}
.tm_text h3{
    color:var(--color-green);
    font-weight:400;
}
.tm_text h5{
    margin:0 0 0.5rem;
    color:var(--color-forest);
}
.tm_text h6{
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 14px;
    color:var(--color-gold);
    margin:0 0 0.5rem;
}
.tm_text p a,
.tm_text li a{
    color:var(--color-forest);
}
.tm_text p a:hover,
.tm_text li a:hover{
    color:var(--color-gold);
}
.tm_text ul,
.tm_text ol,
.tm_text li{
    font-size:18px;
}
.tm_text hr{
    border-color:var(--color-gold);
}
.tm_content_forest .tm_text h2{
    color:var(--color-gold);
}
.tm_title_area{
    display:flex;
    justify-content: space-between;
    align-items: center;
}
.tm_title_area h2{
    margin:0;
}
.tm_text_longlist{
    columns:2;
}


/*BLOCKS*/

.tm_blocks .tm_col{
    margin:2rem 0 0;
}
.tm_block{
    position: relative;
    height:100%;
    border:1px solid var(--color-gold);
    background:white;
}
.tm_block:hover{
    border-color:var(--color-forest);
}
/*.tm_block a:not(.tm_button, .tm_link){
    display:block;
}*/
.tm_block .tm_content_image,
.tm_block .tm_content_icon{
    margin:0 0 1rem;
}
.tm_block h3{
    color:var(--color-gold);
}
.tm_block p{
    color:var(--color-text);
    margin:0;
}
.tm_block_padded,
.tm_block a{
    padding:2rem;
    display:flex;
    gap:2rem;
    align-items:flex-start;
}
.tm_block .tm_content_icon{
    flex:0 0 60px;
}
.tm_block_bg{
    width:100%;
    padding-bottom:70%;
    min-height:100%;
    background-size:cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
}
.tm_block_bg .tm_block_overlay,
.tm_block_bg a:not(.tm_button, .tm_link){
    width:100%;
    height:100%;
    position: absolute;
    top:0;
    left:0;
    background:rgba(0,0,0,0.5);
    display:flex;
    align-items: center;
    justify-content: center;
    padding:3rem 2rem;
    text-align:center;
}
.tm_block.tm_block_bg h3,
.tm_block.tm_block_bg p,
.tm_block.tm_block_bg a:hover h3,
.tm_block.tm_block_bg a:hover p,
.tm_end_block h3,
.tm_end_block p,
.tm_end_block a,
.tm_end_block a.tm_link:hover,
.tm_end_block a:hover h3,
.tm_end_block a:hover p{
    color:white;
}
.tm_block_bg a:not(.tm_button, .tm_link):hover{
    background:rgba(0,0,0,0.8);
}
.tm_end_block:not(.tm_block_bg){
    background:var(--color-green);
    padding:1rem;
}
.tm_end_block.tm_block_padded{
    padding-bottom:2.5rem;
}
.tm_end_block.tm_block_padded a.tm_link{
    position:absolute;
    bottom:1rem;
    left:1rem;
}
.tm_end_block .tm_content_icon img{
    filter:brightness(0) invert(1);
}
.tm_side_blocks .tm_block_bg{
    height:auto;
    padding-bottom:0;
}
.tm_side_blocks .tm_block_bg .tm_block_overlay,
.tm_side_blocks .tm_block_bg a:not(.tm_button, .tm_link){
    position:relative;
    padding:1.5rem;
}
.tm_side_blocks .tm_block_bg h3{
    font-size:22px;
}
.tm_side_blocks .tm_block_bg p{
    font-size:15px;
}
.tm_side_blocks .tm_col{
    margin:0.5rem 0;
}
.tm_end_block.tm_block_bg .tm_block_overlay,
.tm_end_block.tm_block_bg a:not(.tm_button, .tm_link){
    position:absolute;
    background:rgba(0,0,0,0.25);
}
.tm_end_block.tm_block_bg .tm_block_overlay:hover,
.tm_end_block.tm_block_bg a:not(.tm_button, .tm_link):hover{
    background:rgba(0,0,0,0.8);
}
.tm_end_block.tm_block_bg i{
    font-size:24px;
    margin:1rem 0 0;
}
.col-lg-4 .tm_block{
    display:block;
}
.tm_block_content h3{
    font-size: 28px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    color:var(--color-green);
}
.tm_block_content p{
    text-transform: none;
    font-weight:400;
}
.tm_process .row{
    align-items: center;
}
.tm_text_block{
    background:transparent;
    border:none;
    text-align: center;
}
.tm_content_forest .tm_text_block h3,
.tm_content_forest .tm_text_block p{
    color:white;
}
.tm_content_forest .tm_button:hover{
    background:var(--color-green);
    color:var(--color-forest);
}
.tm_process_arrow{
    width:58px;
    height:32px;
    background-image:url(public/img/arrow.svg);
    background-size:contain;
    background-position: center center;
    background-repeat: no-repeat;
    flex:0 0 32px;
}
.tm_blocks_2,
.tm_blocks_3,
.tm_blocks_4{
    display:flex;
    flex-wrap:wrap;
    gap:1.5rem;
    align-items: center;
}
.tm_blocks_2 .tm_block{
    flex:1;
}
.tm_blocks_3 .tm_block{
    flex:1;
}
.tm_blocks_4 .tm_block{
    flex:1;
}
.tm_block_solo{
    border:none;
    background:transparent;
    align-items:center;
    padding:0;
    gap:5rem;
}
.tm_block_solo h2{
    font-weight:400;
    line-height: 1.25;
    text-transform:none;
    color:var(--color-green);
}
.tm_block_simple a{
    align-items: center;
}
.tm_block_simple h3,
.tm_block_simple .tm_content_icon{
    margin:0;
}
.tm_block_simple .tm_content_icon{
    width:100px;
    height:100px;
    flex:0 0 100px;
}


/*FOOTER*/

.tm_footer{
    background:var(--color-forest);
    padding:4rem 0 2rem;
}
.tm_footer hr{
    border-color:rgba(255,255,255,0.5);
    margin:2rem 0 1.5rem;
}
.tm_footer h5,
.tm_footer a,
.tm_footer p{
    color:white;
}
.tm_footer h5{
    margin:0 0 1rem;
    font-family: var(--font-body);
    color:var(--color-gold);
}
.tm_footer a:not(.tm_button):hover{
    color:var(--color-gold);
}
.tm_footer_menus{
    display:flex;
    gap:4rem;
}
.tm_footer_list{
    list-style:none;
    margin:0;
    padding:0;
}
.tm_footer_list li{
    margin:0.75rem 0 0;
}
.tm_footer_list li a:hover{
    color:var(--color-5);
}
.tm_footer_contact i{
    width:25px;
    text-align:center;
    padding:3px;
}
.tm_footer_contact{
    display:flex;
    align-items: top;
    gap:3px;
}
.tm_footer_button{
    margin:1.5rem 0 0;
    display:block;
}
.tm_footer_button .tm_button{
    display:block;
    color:var(--color-forest);
}
.tm_footer_button .tm_button:hover{
    background:var(--color-green);
}
.tm_footer_logo{
    width:100%;
    max-width:250px;
    text-align:center;
    margin:0 auto;
}
.tm_footer_logo img{
    max-width:100%;
}
.tm_footer_social{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    gap:0.75rem;
    font-size:18px;
}
.tm_footer_social li a{
    color:var(--color-gold);
}
.tm_footer_social li a:hover{
    color:white !important;
}
.tm_footer_copy{
    font-size:13px;
    text-align:right;
    margin:0.25rem 0 0;
}
.tm_footer_copy a:hover{
    color:var(--color-gold);
}

/*TABS*/

.tm_content .nav-pills{
    gap:1rem;
    margin:0 0 3rem;
}
.tm_content .nav-pills.centered{
    justify-content: center;
}
.tm_content .nav-pills .nav-link{
    border:none;
}
.tm_content .nav-pills .nav-link.active,
.tm_content .nav-pills .show>.nav-link{
    background:var(--color-green);
}


/* BLOG & POSTS*/

.tm_categories{
    list-style:none;
    margin:0 0 3rem;
    padding:0;
    text-align:center;
    font-weight:700;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size:14px;
    width:100%;
}
.tm_categories li{
    display:inline-block;
    margin:0 2rem;
}
.tm_categories li a{
    display:block;
    color:var(--color-gold);
}
.tm_categories li.active a,
.tm_categories li:hover a,
.tm_categories li a:hover{
    color:var(--color-green);
}

.tm_post a{
    display:block;
}
.tm_post_image{
    width:100%;
    padding-bottom:50%;
    position: relative;
    overflow:hidden;
    margin:0 0 1rem;
    background-color:var(--color-5);
    border:none;
}
.tm_post_image img{
    position:absolute;
    top:auto;
    bottom:auto;
    left:auto;
    right:auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition-duration: 0.5s;
}
.tm_post a:hover .tm_post_image img{
    transform:scale(1.1);
}
.tm_post_cats{
    position: absolute;
    top:0;
    left:0;
    width:100%;
    display:flex;
    justify-content: right;
    padding:1rem;
    gap:0.5rem;
}
.tm_post_cats span{
    color:white;
    font-size:10px;
    text-transform: uppercase;
    background:var(--color-forest);
    padding:0.5rem;
    letter-spacing:1px;
}
.tm_text .tm_post_cats{
    position:relative;
    padding:1rem 0;
    justify-content: left;
}
.tm_post_date{
    text-transform:uppercase;
    margin:0 0 0.75rem;
    font-size:80%;
    color:var(--color-forest);
}
.tm_post h4{
    color:var(--color-gold);
}
.tm_post a:hover h4{
    color:var(--color-green);
}
.tm_post_info{
    display:flex;
    justify-content: space-between;
    gap:2rem;
    align-items: center;
    margin:0 0 1rem;
}
.tm_post_info .tm_post_date{
    margin:0;
}
.tm_post_info .tm_post_cats{
    width:auto;
    padding:0;
}
.tm_main_post .tm_text h2{
    font-size:36px;
    margin:0 0 1rem;
}
.tm_main_post .tm_text h3{
    font-size:24px;
}
.tm_main_post .tm_text h4{
    font-size:20px;
}
.tm_main_post .tm_text h5{
    font-size:18px;
}
.tm_main_post .tm_text h6{
    font-size:16px;
}

/*PAGINATION & BREADCRUMBS*/

.tm_pagination{
    display:flex;
    width:100%;
    justify-content: space-between;
    margin:3rem 0 0;
}
.tm_breadcrumbs{
    list-style:none;
    margin:0 0 2rem;
    padding:0;
}
.tm_breadcrumbs li{
    display:inline-block;
}
.tm_breadcrumbs li:not(:last-child)::after{
    content:">";
    margin:0 0.75rem;
}
.tm_breadcrumbs li a{
    color:var(--color-forest);
}
.tm_breadcrumbs li a:hover{
    color:var(--color-4);
}

/* GRAVITY FORMS*/

.tm_form .gform_required_legend{
    display:none !important;
}
.tm_form .gform_wrapper.gravity-theme .gfield_required{
    color:var(--color-green) !important;
}
.tm_form .gform_wrapper.gravity-theme .gfield input:not([type="submit"]),
.tm_form .gform_wrapper.gravity-theme .gfield select,
.tm_form .gform_wrapper.gravity-theme .gfield textarea{
    border:1px solid var(--color-gold) !important;
    border-radius:3px !important;
    padding:0.75rem !important;
}
.tm_form .gform_wrapper.gravity-theme .gform_footer button, 
.tm_form .gform_wrapper.gravity-theme .gform_footer input, 
.tm_form .gform_wrapper.gravity-theme .gform_page_footer button, 
.tm_form .gform_wrapper.gravity-theme .gform_page_footer input{
    background:var(--color-gold);
    color:var(--color-forest);
    font-family:var(--font-heading);
    display:inline-block;
    padding:0.75rem 1.5rem;
    border-radius:5px;
    font-weight:400;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    font-size:16px;
    text-align:center;
    border:none;
}
.tm_form .gform_wrapper.gravity-theme .gform_footer button:hover, 
.tm_form .gform_wrapper.gravity-theme .gform_footer input:hover, 
.tm_form .gform_wrapper.gravity-theme .gform_page_footer button:hover, 
.tm_form .gform_wrapper.gravity-theme .gform_page_footer input:hover{
    background:var(--color-forest);
    color:var(--color-gold);
    border:none;
}
.tm_form .gform_wrapper.gravity-theme .gfield_label{
    text-transform: uppercase;
    font-family:var(--font-heading);
    font-weight:400;
}
.tm_form .gform_wrapper.gravity-theme .ginput_counter{
    padding-top:0;
}
.tm_form .gform_wrapper.gravity-theme .gfield_description{
    padding-top:0;
}

/*ACCORDIONS*/

.tm_accordions{
    margin:2rem 0 0;
}
.tm_accordion{
    background:white;
    border:1px solid var(--color-5);
    margin:1rem 0 0;
}
.tm_accordion_title{
    display:block;
    padding:1rem;
    position:relative;
}
.tm_accordion_title span.h5{
    margin:0;
}
.tm_accordion_title span.icon{
    position:absolute;
    top:0;
    right:0;
    font-size:18px;
    padding:1rem;
    display:block;
}
.tm_accordion_content{
    display:none;
    width:100%;
    padding:0 1rem 1rem;
    transition-duration:0.5s;
}
.tm_accordion.opened .tm_accordion_content{
    display:block;
}
.tm_accordion_content p:last-of-type{
    margin-bottom:0;
}

/*BANNER IMAGE*/

.tm_banner_image{
    width:100%;
    position:relative;
    background-size:cover;
    background-position:center center;
    background-repeat: no-repeat;
    overflow:hidden;
}
.tm_banner_image_only{
    padding-bottom:40%;
}
.tm_banner_image_overlay{
    background:rgba(0,0,0,0.5);
    padding:5rem 0;
    width:100%;
    min-height:500px;
    display:flex;
    align-items: center;
    justify-content: center;
}
.tm_banner_image_overlay .tm_text h2,
.tm_banner_image_overlay .tm_text h3,
.tm_banner_image_overlay .tm_text h4,
.tm_banner_image_overlay .tm_text h5,
.tm_banner_image_overlay .tm_text h6,
.tm_banner_image_overlay .tm_text p,
.tm_banner_image_overlay .tm_text ul,
.tm_banner_image_overlay .tm_text ol,
.tm_banner_image_overlay .tm_text li{
    color:white;
    max-width:60%;
    margin-left:auto;
    margin-right:auto;
}
.tm_banner_image_overlay .tm_text a:not(.tm_button){
    color:var(--color-5);
    text-decoration: underline;
}
.tm_banner_image_overlay .tm_text a:not(.tm_button):hover{
    color:var(--color-4);
}

/*LOGO SLIDER*/

.tm_logo_slider .slick-list{
    padding:0 !important;
}
.tm_logo_slide{
    margin:0 1rem;
}
.tm_logo_frame,
.tm_logo_slide a{
    width: 100%;
    padding-bottom: 60%;
    position: relative;
    overflow: hidden;
    display: block;
}

.tm_logo_slide img {
    object-fit: contain;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}

/*IMAGES & GALLERIES*/

.tm_image_slider .tm_image,
.tm_thumbnail_slider .tm_image{
    width:100%;
    padding-bottom:100%;
    position:relative;
    overflow:hidden;
}
.tm_thumbnail_slider .tm_image{
    padding-bottom:100%;
}
.tm_image_slider .tm_image img,
.tm_thumbnail_slider .tm_image img{
    object-fit:cover;
    width: 100%;
    height: 100%;
    position:absolute;
    z-index:-1;
    transition-duration: 0.5s;
}
.tm_thumbnail_slider .tm_image:hover img{
    transform:scale(1.1);
}
.tm_thumbnail_slider{
    width: calc(100% + 1rem);
    margin: 1rem -0.5rem;
}
.tm_thumbnail_slider .tm_image_slide{
    margin:0 0.5rem;
}
.tm_thumbnail_slider .tm_image_slide.slick-current .tm_image{
    box-shadow: inset 0 0 0 4px var(--color-green); 
}
.tm_image_slider .slick-arrow{
    width:auto;
    height:auto;
    z-index:100;
}
.tm_image_slider .slick-prev:before,
.tm_image_slider .slick-next:before{
    color:white;
    padding:1rem;
}
.tm_image_slide{
    margin:0 0.5rem;
}
.tm_image_slider .slick-dots{
    position:relative;
    padding:1rem 0 0;
    bottom:auto;
}
.tm_image_slider .slick-dots li button:before{
    font-weight:700;
    color:#D9D9D9;
}
.tm_image_slider .slick-dots li.slick-active button:before{
    color:var(--color-green);
}

/*PROJECTS*/

.tm_project{
    background:white;
    border:1px solid var(--color-gold);
}
.tm_project a{
    display:block;
    padding:2rem;
}
.tm_project_image{
    width:100%;
    padding-bottom:50%;
    position: relative;
    background-size:cover;
    background-position: center center;
    background-repeat: no-repeat;
    margin:0 0 1rem;
}
.tm_project h4{
    text-transform:uppercase;
    color:var(--color-green);
    font-weight:400;
}
.tm_project_slider{
    margin:2rem 0 0;
    display:block;
}
.tm_project_slider .slick-arrow::before{
    color:var(--color-gold);
}
.tm_project_slider .slick-prev{
    left:-2rem;
}
.tm_project_slider .slick-next{
    right:-2rem;
}
.tm_project_slider .tm_project{
    margin:0 1rem;
}
.tm_projects{
    display:flex;
    gap:2rem;
}
.tm_projects .tm_project{
    flex:0 0 calc(50% - 1rem);
}

/*MAP*/

.tm_content_map{
    display: flex;
    align-items: center;
    height: 100%;
    width: 100%;
}
.tm_content_map svg{
    max-width:100%;
}

/*CTA BLOCK*/

.tm_cta_block{
    position: relative;
    background-size:cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.tm_cta_block_overlay{
    padding:5rem 25% 5rem 5rem;
    background:rgba(16,76,60,0.75);
}
.tm_cta_block_inner{
    position: relative;
    z-index:1;
}
.tm_cta_block h2{
    color:white;
}
.tm_cta_block h2 strong{
    color:var(--color-gold);
    font-weight: 400;
}
.tm_cta_block p{
    color:white;
    padding-right:10%;
}
.tm_cta_block::after{
    content:'';
    position: absolute;
    right:0;
    top:0;
    height:100%;
    width:15%;
    background-image: url(public/img/cta-pattern.png);
    background-size:auto 100%;
    background-position: left;
    z-index:0;
}

/*ANCHOR LINKS*/

.tm_anchor_links{
    display:flex;
    gap:1rem;
    width:100%;
    justify-content: stretch;
    position: relative;
    z-index:100;
}
.tm_anchor_links a{
    padding:0.75rem 2rem;
    display:inline-block;
    border:1px solid var(--color-gold);
    background:white;
    color:var(--color-forest);
    font-family:var(--font-heading);
    font-weight:400;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    font-size:16px;
    text-align:center;
    flex:1;
}
.tm_anchor_links a:hover{
    background:var(--color-gold);
}

/*TEAM*/

.tm_team .tm_col{
    margin:2rem 0 0;
}
.tm_team_member{
    background:white;
    border:1px solid var(--color-gold);
    padding:1rem;
    height:100%;
}
.tm_team_image{
    width:100%;
    position: relative;
    overflow:hidden;
    margin:0 0 1rem;
}
.tm_team_image img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
}
.tm_team_member h3{
    color:var(--color-green);
    font-weight:400;
}
.tm_team_member span.h6{
    text-transform:uppercase;
    font-weight:400;
}
.tm_team_member .tm_text{
    margin:1rem 0 0;
}
.tm_team_member .tm_text p,
.tm_team_member .tm_text ul,
.tm_team_member .tm_text ol,
.tm_team_member .tm_text li{
    font-size:16px;
}

/*CONTACT*/

.tm_contact{
    padding:1rem;
    background:white;
    border:1px solid var(--color-gold);
}
.tm_contact h3{
    margin:0;
}
.tm_contact h5,
.tm_contact h6{
    text-transform: uppercase;
    font-weight:400;
    margin:1rem 0;
}

