/*
Theme Name: 3twenty9 Foundation
Author: 3twenty9
Author URI: https://3twenty9.com/
Version: 2024.1
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html

Built with BlankSlate WordPress 2024.1
and Foundation Version 6.8.0
*/


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}

ol li {
    list-style: decimal;
}

/* SMS 

    font-family: "aktiv-grotesk-extended", sans-serif;
    font-family: "aktiv-grotesk-condensed", sans-serif;
    font-family: "aktiv-grotesk", sans-serif;

    red: #a22022

*/

body {
    font-family: "aktiv-grotesk", sans-serif;
}

header {
    background-image: url('inc/assets/img/header-overlay.png');
    background-size: cover;
    padding: 30px 0;
}

h1, h2, h3, h4, h5 {
    font-family: "aktiv-grotesk-extended", sans-serif;
    font-weight: 700;
}

a {
    color: #a22022;
}

a:hover {
    color: #000;
}


.h1, h1 {
    font-size: 3em;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom:.5rem
}

.h2, h2 {
    font-size: 2.25em;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom:.5rem
}

.h3, h3 {
    font-size: 1.75rem;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom:.5rem
}

.h4, h4 {
    font-size: 1.25rem;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom:.5rem
}

p {
    line-height: 1.325em;
    margin-bottom: 10px;
}

ul, ul li, ol, ol li {
    line-height: 1.325em;
}

a {
    transition: all ease-in-out .2s;
}

#sms-intro {
position: absolute;
right: 0;
bottom: 0;
min-width: 100%;
min-height: 100%;
z-index: -1;
}

#sms-intro::-webkit-scrollbar {
display: none !important;
}

.home-header {
min-height: 600px;
overflow: hidden !important;
}

.home-header .widget {
    color: #fff;
    margin: 50px 0;
}

.home-header .widget h1 {
    font-family: "aktiv-grotesk-condensed", sans-serif;
    text-transform: uppercase;
    font-size: 4.5em;
    text-shadow: 0px 0px 10px #000;
    line-height: 1em;
}

.home-header .widget h1 span {
    font-family: "aktiv-grotesk-extended", sans-serif;
    background-color: #a22022;
    padding: 3px 24px;
    font-size: .3em;
    font-weight: 700;
    text-shadow: none;
    letter-spacing: 2px;
}

.header-links {
    display: block;
    text-align: right;
}

.header-links a {
    background-color: #a22022;
    padding: 3px 12px;
    color: #fff;
    display: inline-block;
    font-family: "aktiv-grotesk-condensed", sans-serif;
    text-transform: uppercase;
}

.header-links a:hover {
    color: #fff;
    background-color: #222;
}
  
p.lead {
    margin: 10px 0;
    font-size: 1.25em;
}

a.button, input[type="submit"] {
    background-color: #000;
    font-family: "aktiv-grotesk-extended", sans-serif;
    font-weight: 200 !important;
    font-size: .8em;
    padding: 4px 18px 9px;
    color: #fff;
    border: 0px transparent;
}

a.button:after, input[type="submit"]:after {
    content: " ";
    background-image: url(inc/assets/img/button-arrow.png);
    width: 40px;
    height: 20px;
    background-position: center right;
    background-size: contain;
    display: inline-block;
    background-repeat: no-repeat;
    margin: 1px 0 -5px 5px;
}

a.button:hover, input[type="submit"]:hover {
    background-color: #333;
}

.top-bar {
    display: inline-block;
    float: right;
}

.top-bar, .top-bar ul {
    background-color: transparent !important;
}

.menu a {
    color: #000;
    font-weight: 700;
    font-family: "aktiv-grotesk-extended", sans-serif;
}

.menu a:hover {
    color: #a22022;
}

footer .menu a {
    padding: 0;
    margin: 0 0 10px 0;
}

.menu .is-active>a {
    background: transparent !important;
    color: #a22022 !important;
}

.menu, .menu.horizontal {
    position: relative;
    z-index: 99999;
}

.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu {
    background-color: #fff !important;
    z-index: 999 !important;
    position: absolute;
}

.so-widget-sow-post-carousel-base-97cdb41962f9-6 .sow-carousel-wrapper .sow-carousel-items .sow-carousel-item h3.sow-carousel-item-title {
    margin-top: -25px !important;
    text-align: right !important;
    padding: 0 5px !important;
}

.so-widget-sow-post-carousel-base-97cdb41962f9-6 .sow-carousel-wrapper .sow-carousel-items .sow-carousel-item h3.sow-carousel-item-title a {
    color: #fff !important;
    text-shadow: 0px 0px 5px #000;
}


.header-logo img {
    max-width: 200px;
}

.home .page-title {
    display: none;
}

.intro-block {
    background-color: #fff;
    border: solid 4px #000;
    padding: 30px;
}

.intro-block h2 {
    text-align: center;
    line-height: 1em;
    font-family: "aktiv-grotesk-condensed", sans-serif;
    text-transform: uppercase;
    font-size: 1.5em;
}

.intro-block h2 span {
    font-family: "aktiv-grotesk-extended", sans-serif;
    text-transform: uppercase;
    font-size: .8em;
}

.intro-block h2 span::after {
    content: " ";
    width: 50px;
    height: 5px;
    background-color: #a22022;
    display: block;
    margin: 20px auto 0;
}

.intro-row img {
    max-width: 75px;
    height: auto;
    display: block;
    margin: 45px auto 0;
}

.intro-row h3 {
    font-family: "aktiv-grotesk-condensed", sans-serif;
    text-transform: uppercase;
    font-size: 1.5em;
    color: #fff;
    line-height: 1em;
}

.intro-row h3 img {
    margin-bottom: 15px;
}

.grid-container.intro-team {
    padding: 0 !important;
    max-width: 1170px;
}

.intro-team {
    border: solid 5px #a22022;
    border-right: 0px transparent;
}

.intro-team h2 {
    font-family: "aktiv-grotesk-extended", sans-serif;
    color: #fff;
    border-bottom: solid 5px #000;
    line-height: 1em;
    padding-bottom: 15px;
    margin-bottom: 15px;
    font-weight: 700;
}

.intro-team p {
    color: #fff;
    font-size: 1.25em;
}

.home-profile {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgb(0,0,0);
    background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 30%);
    border-right: solid 5px #a22022;
}

.home-profile h4 {
    text-shadow: 2px 2px 0px #000;
    color: #fff;
    font-size: 1.25em;
    font-family: "aktiv-grotesk-condensed", sans-serif;
    align-self: flex-end;
    border-left: solid 5px #a22022;
    padding-left: 10px;
    line-height: 1.25em;
    position: absolute;
    bottom: 20px;
    left: 30px;
}

.single-testimonial {
    text-align: center;
    color: #fff;
}

.single-testimonial {
    padding: 0 30px;
}

.single-testimonial h4:before {
    content: "";
    width: 80px;
    height: 4px;
    background-color: #a22022;
    display: block;
    margin: 20px auto;
}

.single-testimonial h4 {
    font-family: "aktiv-grotesk-extended", sans-serif;
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.125em;
}

.single-testimonial h4 span {
    display: block;
    font-family: "aktiv-grotesk-condensed", sans-serif;
    color: #fff;
    letter-spacing: 1px;
    font-size: .8em;
}

.single-testimonial img {
    max-width: 60px;
    height: auto;
    margin: 0 0 30px 0;
}

.logo-row {
    background-color: #efefef;
    padding: 30px 0;
    text-align: center;
}

.logo-row img {
    max-height: 100px;
    width: auto;
}

.pre-footer {
    background-image: url('inc/assets/img/prefooter.png');
    background-size: cover;
    padding: 35px 0 350px;
    text-align: center;
    background-position: center top;
}

.pre-footer h2 {
    color: #a22022;
    text-shadow: 1px 1px 0 #fff;
    font-family: "aktiv-grotesk-extended", sans-serif;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.625em;
}

footer {
    background-color: #a22022;
    color: #fff;
    padding: 50px 0 0 0;
}

footer img.footer-logo {
    max-width: 200px;
    height: auto;
}

footer h3 {
    font-family: "aktiv-grotesk-extended", sans-serif;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1em;
}

.copyrights {
    padding: 10px 0;
    background-color: #000;
    font-family: "aktiv-grotesk-extended", sans-serif;
    text-transform: uppercase;
    text-align: center;
    margin-top: 50px;
    display: inline-block;
    width: 100%;
}

.copyrights p {
    margin: 0;
    padding: 0;
    color: #fff;
    font-weight: 700;
    font-size: .8em;
    letter-spacing: 1px;
}

li.widget {
    list-style: none;
}

.footer-border {
    border-right: solid 3px #000;
}

.social-icon {
    max-width: 35px;
    height: auto;
    display: inline-block;
    margin: 0 5px 0 0;
}

.featured-project-intro {
    background-image: url('inc/assets/img/feature-bg.png');
    background-size: cover;
    padding: 30px;
    color: #fff;
}

.featured-project-intro h4 {
    text-transform: uppercase;
    margin: 0;
    font-size: 1em;
    background-color: #fff;
    display: inline-block;
    padding: 2px 12px;
    color: #000;
    font-weight: 700;
    font-family: "aktiv-grotesk-condensed", sans-serif;
}

.featured-project-intro h2 {
    font-family: "aktiv-grotesk-extended", sans-serif;
    font-weight: 700;
    margin: 100px 0 0 0;
    font-size: 3.5em;
    line-height: 1em;
}

.featured-projects {
    border: solid 5px #a22022;
    margin-bottom: 30px;
}

.border-right {
    border-right: solid 5px #a22022;
}

.border-bottom {
    border-bottom: solid 5px #a22022;
}

.featured-project-image {
    background-size: cover;
    min-height: 400px !important;
}

.tags-wrapper {
    display: block;
    margin: 20px 0;
}

.tags-wrapper a {
    color: #fff;
    text-transform: uppercase;
    font-family: "aktiv-grotesk-condensed", sans-serif;
}

.tags-wrapper a:hover {
    color: #fff;
    opacity: .7;
}

.tags-wrapper a:after {
    height: 20px;
    width: 3px;
    content: "";
    display: inline-block;
    background: #000;
    top: 5px;
    position: relative;
    margin-left: 15px;
    right: 5px;
}

.tags-wrapper a:last-child:after {
    height: 0;
    width: 0;
    background: none;
}

.services-header {
    min-height: 400px;
    position: relative;
    background-size: cover;
}

.services-header.service-archive {
    min-height: 0px;
}

.services-header.service-archive h1 {
    padding: 350px 0 10px 0;
    position: relative;
    z-index: 999;
    color: #fff;
    font-family: "aktiv-grotesk-extended", sans-serif;
    font-weight: 700;
}

.service-archive {
    margin-bottom: 50px;
}

.archive-fade {
    background: rgb(162,32,34);
    background: linear-gradient(0deg, rgba(162,32,34,1) 10%, rgba(162,32,34,0) 30%);
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: 0px;
}

.services-fade {
    background: rgb(162,32,34);
    background: linear-gradient(0deg, rgba(162,32,34,1) 0%, rgba(162,32,34,0) 15%);
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: 0px;
}

.services-intro h1 {
    margin: 0;
    padding: 0;
    text-transform: uppercase;
    font-family: "aktiv-grotesk-condensed", sans-serif;
    color: #a22022;
    line-height: 1em;
    font-size: 4em;
}

.services-intro h2 {
    margin: 0;
    padding: 0;
    font-size: 1.125em;
    text-transform: uppercase;
    font-family: "aktiv-grotesk-extended", sans-serif;
    line-height: 1em;
    font-weight: 600;
}

.services-intro {
    padding: 50px 0;
}

.secondary-image {
    width: 50%;
    float: right;
    display: inline-block;
    padding: 0 0 50px 50px;
}

.services-container,
.sms-container {
    max-width: 1170px !important;
    margin: 0 auto;
    display: block;
}

.services-content-background {
    background-color: #efefef;
    padding: 50px 0;
}

.block-links .project {
    border: solid 5px #000;
    min-height: 250px;
    position: relative;
    background-size: 105% auto;
    background-position: center center;
    transition: all ease-in-out .2s !important;
    margin-bottom: 25px;
}

.block-links .project:hover {
    background-size: 120% auto;
    transition: all ease-in-out .2s !important;
}

.block-links .project h3 {
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    color: #fff;
    font-family: "aktiv-grotesk-extended", sans-serif;
    font-size: 1em;
    text-align: center;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all ease-in-out .2s;
}

.block-links .project a {
    z-index: 999;
    display: inline-block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    transition: all ease-in-out .2s;
}

.block-links .project a:hover h3 {
    font-size: 1.1em;
    transition: all ease-in-out .2s;
}

.block-links .project .gradient {
    background: rgb(0,0,0);
    background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 15%);
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
}

h2.service-links {
    text-align: center;
    text-transform: uppercase;
    font-family: "aktiv-grotesk-condensed", sans-serif;
    letter-spacing: 1px;
    margin: 0 0 20px 0;
}

h2.service-links span {
    font-family: "aktiv-grotesk-extended", sans-serif;
    color: #a22022;
    font-weight: 700;
}

.lets-go-cta {
    padding: 30px 50px;
    background-color: #a22022;
    color: #fff;
    max-width: 1170px;
    display: block !important;
    margin: 0 auto -60px;
    text-align: center;
    z-index: 99999;
    position: relative;
}

.lets-go-cta h3 {
    display: inline-block;
    text-transform: uppercase;
    font-family: "aktiv-grotesk-extended", sans-serif;
    font-weight: 700;
}

.lets-go-cta a.button {
    display: inline-block;
    font-size: 1.325em;
    margin: -10px 0 0 20px;
    line-height: 1em;
    font-family: "aktiv-grotesk-condensed", sans-serif;
    text-transform: uppercase;
    padding: 6px 24px 8px;
}

.testimonial p {
    color: #fff;
    margin: 25px 0 0 0;
}

.testimonial h4 {
    font-family: "aktiv-grotesk-extended", sans-serif;
    color: #fff;
    font-size: 1em;
    margin: 0;
    padding: 0;
    font-weight: 700;
    text-transform: uppercase;
}

.testimonial h4 span {
    font-family: "aktiv-grotesk-condensed", sans-serif;
}

.about-header {
    background-image: url('inc/assets/img/about-header.jpg');
    background-size: cover;
    padding: 100px 0;
    margin: 0;
}

.about-header h1 {
    color: #fff;
    font-family: "aktiv-grotesk-extended", sans-serif;
    font-weight: 700;
}

.about-intro p {
    color: #fff;
}

.white-text {
    color: #fff !important;
}

.services-container h2 {
    font-weight: 700;
    font-family: "aktiv-grotesk-extended", sans-serif;
}

.about-team {
    min-height: 300px;
    position: relative;
}

.about-team h4 {
    text-shadow: 2px 2px 0px #000;
    color: #fff;
    font-size: 1.25em;
    font-family: "aktiv-grotesk-condensed", sans-serif;
    align-self: flex-end;
    border-left: solid 5px #a22022;
    padding-left: 10px;
    line-height: 1.25em;
    position: absolute;
    bottom: 10px;
    left: 15px;
}

.page-template-page-about .about-team {
    min-height: 0;
    margin: 0 0 15px 0;
}

.page-template-page-about .about-team h4 {
    text-shadow: none;
    color: #000;
}

.team-wrapper {
    width: 100%;
    padding-bottom: 20px;
}

.sms-container h2 {
    font-weight: 700;
    font-family: "aktiv-grotesk-extended", sans-serif;
}

.project-header {
    background-color: #a22022;
    padding: 30px 0;
    margin-bottom: 50px;
}

.project-header h1 {
    color: #fff;
    margin: 0;
    padding: 0;
    font-family: "aktiv-grotesk-condensed", sans-serif;
}

.project-content {
    margin-bottom: 50px;
}

.project-content h4 {
    font-family: "aktiv-grotesk-extended", sans-serif;
    text-transform: uppercase;
    font-weight: 700;
    color: #a22022;
}

.top-bottom-margin {
    padding: 50px 0;
}

footer .menu li.menu-item {
    display: inline-block;
    width: 100%;
}

footer ul {
    margin: 0 !important;
}

footer .menu li.menu-item a {
    font-family: "aktiv-grotesk-extended", sans-serif;
    text-transform: uppercase;
    font-weight: 700;
    color: #fff;
}

footer .menu li.menu-item ul.sub-menu a {
    font-family: "aktiv-grotesk", sans-serif;
    text-transform: none;
    font-weight: 400;
    padding: 0;
}

label {
    text-transform: uppercase;
    font-family: "aktiv-grotesk-extended", sans-serif;
}

.sow-carousel-container h3 {
    font-family: "aktiv-grotesk-condensed", sans-serif;
}

.single-service {
    text-align: center;
}

.single-service h3 {
    font-family: "aktiv-grotesk-condensed", sans-serif;
    font-size: 1.325em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.single-service a {
    color: #000;
}

.single-service a:hover {
    color: #a22022;
}


/* Small only */
@media screen and (max-width: 39.9375em) {

    .header-logo img {
        max-width: 140px;
    }

    .featured-project-intro h2 {
        margin: 30px 0;
        font-size: 2.5em;
    }

    .is-drilldown li {
        width: 100%;
    }
    
    .is-drilldown {
        width: 100%;
        display: inline-block;
    }

    .title-bar {
        background-color: transparent !important;
        justify-content: flex-end !important;
        color: #a22022 !important; 
    }

    .menu-icon::after {
        background: #a22022 !important; 
        box-shadow: 0 7px 0 #a22022, 0 14px 0 #a22022 !important;
    }

    .drilldown .js-drilldown-back>a::before {
        border-color: transparent #a22022 transparent transparent;
    }

    .menu.vertical {
        text-align: right;
    }

    .drilldown a {
        padding: 10px 15px !important;
        background: transparent !important;
    }

    .is-drilldown-submenu-parent a {
        padding: 10px 30px !important;
    }

    .drilldown .is-drilldown-submenu-parent>a::after  {
        border-color: transparent transparent transparent #a22022 !important;
    }

    .home-header .widget h1 {
        padding: 0px 0 0 30px;
        font-size: 3.5em;
    }

    .intro-row {
        margin-bottom: 30px;
    }

    .border-right {
        border: none;
    }

    footer {
        text-align: center;
    }

    .home-profile {
        position: relative;
        min-height: 250px;
    }

    .footer-border {
        border: none !important;
    }

    .intro-team .panel-grid-cell {
        margin-bottom: 0px !important;
    }

    .intro-team {
        margin-bottom: 50px;
    }

}

/* Medium and up */
@media screen and (min-width: 40em) {
    .is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu {
        right: auto;
        left: 0 !important;
        top: 100%;
    }
}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {}

/* Large and up */
@media screen and (min-width: 64em) {
       
}

/* Large only */
@media screen and (min-width: 64em) and (max-width: 74.9375em) {}







/* Custom App CSS */

/* Small only */
@media screen and (max-width: 39.9375em) {}

/* Medium and up */
@media screen and (min-width: 40em) {}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {}

/* Large and up */
@media screen and (min-width: 64em) {}

/* Large only */
@media screen and (min-width: 64em) and (max-width: 74.9375em) {}