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

/* Core */
html{
    overflow-x: hidden;
}
body{
    font-family: 'DM Sans', sans-serif;
    color: #fff;
    background-color: #2c2e26;
    font-weight: 400;
}
.elementor-column-gap-default>.elementor-column>.elementor-element-populated{
    padding:0 !important;
}
p, ul{
    font-size: 1.2em;
    line-height: 1.4;
    margin-bottom: 15px;
}
a{
    transition: .3s ease;
    text-decoration: none !important;
    overflow-wrap:anywhere;
    color: #fff;
}
a:hover{
    color: #c6b269;
}
b{
    font-weight: 700;
}
h1, h2{
    margin-bottom: 15px;
}
h3, h4{
    margin-bottom: 15px;
}
h1{
    font-size: 7.5em;
}
h2{
    font-size: 4.2em;
}
h3{
    font-size: 2.3em;
}
h4{
    font-size: 1.7em;
}
h5{
    font-size: 2.3em;
    text-transform: uppercase;
    letter-spacing: 5px;
    margin-bottom: 15px;
}
span{
    position: relative;
    z-index: 1;
}
img{
    width:100%;
}
:focus-visible {
    outline: -webkit-focus-ring-color auto 0px;
}
.g-recaptcha{
    z-index: 99999999;
    position: relative;
}
.serif{
    font-family: 'DM Serif Display', serif;
    font-weight: 400 !important;
}
.yellow-line::before{
    content: "";
    position: absolute;
    bottom:0;
    left:0;
    height:40%;
    width:100%;
    background-color:#c6b269;
    z-index: -1;
}
.padding-h{
    padding-left: calc(15px + 5%);
    padding-right: calc(15px + 5%);
}
.padding-v{
    padding-top: calc(15px + 2.5%);
    padding-bottom: calc(15px + 2.5%);
}
.main-content .container-fluid.padding-v:nth-child(4){
    padding-top: calc(30px + 5%);
}
.main-content .container-fluid.padding-v:last-of-type{
    padding-bottom: calc(30px + 5%);
}
.text-align-center{
    text-align: center;
}
.text-align-right{
    text-align: right;
}
.text-align-left{
    text-align: left;
}
.background-img{
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.yellow-back{
    background-color:#c6b269;
}
.yellow-text{
    color:#c6b269;
}
.yellow-text a{
    color:#c6b269;
}
.green-back{
    background-color:#2c2e26;
}
.green-text{
    color:#2c2e26;
}
.green-text a{
    color:#2c2e26;
}
.white-back{
    background-color: #fff;
}
.white-text{
    color: #fff;
}
.white-text a{
    color: #fff;
}
.white-btn, .white-btn-rev, .yellow-btn{
    display: inline-block;
    transition: .3s ease;
    padding: 10px 60px;
    line-height: 1;
    border-radius: 0;
    font-weight: 400;
    letter-spacing: 3px;
    font-size: 1.2em;
    margin-top: 10px;
    margin-bottom: 0;
}
.white-btn{
    color: #151fe8 !important;
    background-color: #fff;
    border:1px solid #fff;
}
.white-btn:hover{
    color: #fff !important;
    background-color: #151fe8;
    border:1px solid #151fe8;
}
.yellow-btn{
    color: #fff !important;
    background-color: #c6b269;
    border:1px solid #c6b269;
}
.yellow-btn:hover{
    color: #c6b269 !important;
    background-color: #fff;
    border:1px solid #fff;
}
.white-btn-rev{
    color: #fff !important;
    background-color: transparent;
    border:1px solid #fff;
}
.white-btn-rev:hover{
    color: #2c2e26 !important;
    background-color: #fff;
}
@media (max-width:1200px) {
    h1 {
        font-size: 2.5em;
    }
    h2 {
        font-size: 3.4em;
    }
    h4 {
        font-size: 1.4em;
    }
}
@media (max-width:995px) {
    .white-btn, .light-blue-btn, .blue-btn{
        font-size: 1em;
    }
    h1, h2, h3, h4, p{
        margin-bottom: 10px;
    }
    h1, h2{
        font-size: 2.5em;
    }
    h3{
        font-size: 1.5em;
    }
    h4{
        font-size: 1.2em;
    }
    h5{
        font-size: 1.7em;
    }
    p, ul{
        font-size: 1.2em;
        line-height: 1.2;
        margin-bottom: 15px;
    }
}

/* 404 */
.error404 .nav-container{
    background-color: #fff;
    border-bottom:1px solid #5400db;
}
.error-row{
    min-height: 70vh;
    padding-top:10vh;
    position: relative;
    z-index: 2;
}
.error-header{
    color: #5400db;
    font-size: 5em;
    font-weight: 700;
    margin-bottom: 10px !important;
}
.error-sub-header{
    font-size: 3em;
    margin-bottom: 25px;
}
.error-row p{
    max-width: 600px;
}
.error-row a{
    color: #151fe8;
}
.error-row a:hover{
    color: #5400db;
}

/* Home */
#container{
    position: relative;
}
.header{
    background-image: url('../../img/hero.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    position: relative;
    padding-top:calc(12vh + calc(15px + 2.5%));
    border-bottom: 1px solid rgba(225,225,225,.4);
}
.header .header-text-row{
    min-height: 57vh;
    position: relative;
    z-index: 2;
}
.header h3{
    max-width: 800px;
}
.sub-head.padding-v{
    padding-top:calc(1% + 15px);
    padding-bottom:calc(1% + 15px);
    z-index: 2;
}
.container-fluid{
    position: relative;
}
.main-content{
    position: relative;
    z-index: 2;
}
.line{
	position: absolute;
	background-color: #c6b269;
	padding:0;
	margin:0;
	width: 100%;
	height:1px;
	left:0;
	z-index: -1;
    opacity: .4;
}
.line.line-1{
    top: 17%;
    transform: skewY(16deg);
}
.line.line-2{
    top: 50%;
    transform: skewY(164deg);
}
.line.line-3{
    top: 83%;
    transform: skewY(16deg);
}
.service-col{
    margin-bottom: 30px;
}
.service-col:last-of-type{
    margin-bottom: 0;
}
.service-icon{
    max-height: 100px;
    margin-bottom: 15px;
}
.about-img{
    max-width: 85%;
    float: right;
}

@media (max-width:995px) {
    .header{
        padding-top: calc(10vh + calc(15px + 2.5%));
    }
    .header .header-text-row{
        min-height: 60vh;
    }
    .line.line-1{
        transform: skewY(60deg);
    }
    .line.line-2{
        transform: skewY(120deg);
    }
    .line.line-3{
        transform: skewY(60deg);
    }
    .about-img {
        float: left;
        margin: 0 0 20px;
    }
}


/* Contact */
#message-success{
    /* display: block !important; */
    margin:0 auto;
    text-align: center;
}
#message-success p{
    text-align: center;
    margin: 15px 0 0;
    display: inline-block;
    padding: 10px 30px;
    border: 2px solid green;
}
#message-success p i{
    margin-right: 10px;
}
.form-field{
    margin-bottom: 15px;
}
.form-field input, .form-field textarea, .form-field select{
    width: 100%;
    border:1px solid #fff;
    border-radius: 0;
    padding:1rem 1.5rem;
    color:#fff;
    background-color:#2c2e26;
    font-size: 1.2em;
    font-weight: 400;
}
.form-field.last{
    margin-bottom: 0;
}
::placeholder{
    color: #fff;
    opacity: .9;
}

@media (max-width:995px) {
    .form-field input, .form-field textarea, .form-field select {
        padding: 5px 10px;
        font-size: 1.2em;
    }
}
