*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

@font-face{
    font-family:'Homestead';
    src: url('../fonts/Homestead.ttf');
}

@font-face{
    font-family:'SourceSans';
    src: url('../fonts/SourceSans.otf');
}

html,
body{
    width:100%;
    height:100%;
    font-family:'SourceSans';
}

h1, h2, h3, h4, h5, h6{
    margin-bottom:20px;
    text-transform:uppercase;
}

p{
    margin-bottom:20px;
}

.pad-left-50{
    padding-left:50px;
}

.btn{
    display: inline-block;
    padding:10px 30px;
    border: 2px solid #fff;
    background:#fff;
    color:#0D0821;
    text-transform:uppercase;
    text-decoration: none;
    font-size:16px;
    margin-top:20px;
    border-radius:10px;
}
.btn:hover{
    background:#2BB179;
    border:2px solid #2BB179;
    color:#fff;
}

.btn.btn-inverted{
    border: 2px solid #0D0821;
    background:#0D0821;
    color:#fff;
}

.btn.btn-inverted:hover{
    border: 2px solid #2BB179;
    background:#2BB179;
    color:#fff;
}

header{
    height:60px;
    max-height:60px;
    background:#0D0821;
    color:#fff;
    position:fixed;
    top:0;
    width:100%;
    display:flex;
    flex-direction:row;
    justify-content: space-between;
    z-index:100;
}

header .logo a{
    display:block;
    height:100%;
}

header .logo img{
    height:80%;
    margin-top:6px;
}

header .menu.desktop-menu{
    width:80%;
    display: flex;
    flex-direction:row;
    flex-wrap:nowrap;
    justify-content: right;
}

header .menu.desktop-menu .menu-item{
    line-height:60px;
    padding:0 50px;
    color:#fff;
}

header .menu.desktop-menu a:hover{
    color:#2BB179;
}

header .menu.desktop-menu a.active-menu-item{
    border-bottom:3px solid #2BB179;
}

header .menu.desktop-menu a.active-menu-item{
    color:#2BB179;
}

header .menu.desktop-menu a{
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    border-bottom:3px solid #0D0821;
}

header .menu.desktop-menu a:hover{
    border-bottom:3px solid #2BB179;
}

header .menu.desktop-menu .menu-item.menu-button{
    background:#2BB179;
    border-bottom:3px solid #2BB179;
    color:#fff;
}

header .menu.desktop-menu .menu-item.menu-button a{
    border-bottom:none;
}

header .menu.desktop-menu .menu-item.menu-button div{
    color:#fff;
    border-bottom:none;
}

header .mobile-menu{
    display:none;
}

header .mobile-menu .menu-items{
    display:none;
}

.flex{
    display:flex;
    justify-content: space-between;
}

.row{
    flex-direction:row;
    flex-wrap:wrap;
}

.col-12{
    width:100%;
}

.col-6{
    width:50%;
}

.col-5{
    width:41.5%;
}

.col-4{
    width:33%;
}

.col-3{
    width:23%;
}

.col-2{
    width:12%;
}

.hero-section{
    min-height:600px;
    background-color:#0D0821;
    color:#fff;
    background-size:cover;
    background-position:bottom;
}

.hero-section .background{
    position: absolute;
    background: rgba(0, 0, 0, 0.7);
    height: 100%;
    max-height: 600px;
    width: 100%;
}

.hero-section .hero-inner{
    width:60%;
    margin:0 auto;
    padding-top:100px;
}

.hero-text h1{
    font-size:50px;
}

.hero-text p{
    font-size:22px;
}

.hero-cta form input{
    height:40px;
    font-size:16px;
    padding-left:10px;
    border-radius:10px;
    border: 2px solid #fff;
}

input:active,
input:focus,
input:focus-within,
input:focus-visible{
    outline:none;
}

.hero-cta h4{
    margin-bottom:10px;
    margin-top:30px;
}

.hero-cta .btn{
    border-radius:10px;
    height:40px;
    padding:0 20px;
    margin-top:0px !important;
    line-height:36px;
}

section.page{
    width:100%;
    margin:0 auto;
    overflow:hidden;
    padding-top:60px;
}

section.page .section{
    width:100%;
    max-width:1920px;
    margin:0 auto;
    padding:50px 100px 0 100px;
    min-height:400px;
    margin-bottom:40px;
    color:#0D0821;
}

section.page .section.full-width{
    width:100%;
    max-width:none;
}

section.page .section.inverted,
.inverted{
    background-color:#0D0821;
    color:#fff;
}

section.page .section.inverted-accent{
    background-color:#2BB179;
    color:#0D0821;
}

section.page .section.inverted-tertiary{
    background-color:#377058;
    color:#fff;
}

section.page .section.inverted:last-child,
section.page .section.inverted-accent:last-child,
section.page .section.inverted-tertiary:last-child{
    margin-bottom:0;
}

.section.inverted-accent{
    background-color:#2BB179;
    color:#0D0821 !important;
}

.primary{
    color:#0D0821;
}

.accent{
    color:#2BB179;
}

.tertiary{
    color:#377058;
}

.primary-underline{
    text-decoration:underline;
    text-decoration-color:#0D0821;
}

.accent-underline{
    text-decoration:underline;
    text-decoration-color:#2BB179;
}

.tertiary-underline{
    text-decoration:underline;
    text-decoration-color:#377058;
}

.section.inverted-accent .accent{
    color:#0D0821;
}

.section.inverted-accent .accent-underline{
    text-decoration:underline;
    text-decoration-color:#ffffff;
}

.section .section-header{
    font-size:35px;
}

.section .content .content-header{
    font-size:25px;
}

.rounded{
    border-radius:40px;
    padding:30px;
}

.text-centered{
    text-align:center;
}

.content .icon{
    height:100px;
    width:100%;
    margin-bottom:10px;
    font-size:90px;
}

.content .icon i{
    color:#2BB179;
}

i{
    color:#2BB179;
}

.content p.col-text{
    padding: 0 30px;
}

.img-container img{
    width:100%;
}

.img-container.rounded{
    width: 90%;
    overflow: hidden;
    padding: 0;
    max-height:500px;
}

.img-container-small.rounded{
    width:100%;
    overflow:hidden;
    padding:0;
    max-height: 300px;
    margin-bottom: 15px;
}

.img-container-small.rounded img{
    width:100%;
}

.image-offset-top img{
    margin-top:-105px;
}

/*.price-section .price-plan{
    scale:0.9;
}

.price-section .price-plan.active-plan{
    scale:1.1;
}*/

.pricing-container{
    margin-top:50px;
}

.content .cta-block{
    max-width:500px;
    margin:0 auto;
    text-align:center;
    padding:50px 0;
}

.feature-wrapper{
    display:flex;
}

.feature-wrapper > div{
    width:100%;
}

.feature-wrapper .features{
    overflow:hidden;
}

.feature-list{
    display:flex;
    flex-direction:column;
}

.feature{
    width:100%;
    padding:10px 15px;
    text-align:right;
}

.feature i{
    float:left;
}

.feature .sub-features{
    font-size:10px;
}

.feature .sub-features p.sub-feature{
    margin:10px;
    opacity:0.7;
}

section.page section.section.faq-accordion{
    padding:0 10px;
}

.accordion-container{
    width:60%;
    margin:0 auto;
}

.accordion{
    width:100%;
    display:flex;
    flex-direction:column;
}

.accordion .accordion-item{
    width:100%;
    padding:15px;
    margin-bottom:15px;
}

.accordion .accordion-item .accordion-title{
    cursor:pointer;
}

.accordion .accordion-item:last-child{
    border-bottom:none;
}

.accordion .accordion-item h5{
    margin:0;
}

.accordion .accordion-item .accordion-title{
    margin-bottom:0;
}

.accordion .accordion-item .accordion-title i{
    transform:rotate(180deg);
    margin-right:10px;
}

.accordion .accordion-item .accordion-content{
    display:none;
    margin-top:20px;
}

.contact-tab-links{
    width:100%;
    margin-bottom:50px;
}

.contact-tab-links .tab-link-container{
    display:flex;
    flex-direction:row;
    width:100%;
    max-width:800px;
    margin:0 auto;
}

.contact-tab-links .tab-link-container .tab-link{
    width:50%;
    text-align:center;
    font-size:16px;
    text-transform:capitalize;
    border-bottom:3px solid transparent;
    padding:20px 0 0 0;
    cursor:pointer;
}

.contact-tab-links .tab-link-container .tab-link.active-tab-link{
    border-bottom:3px solid #0D0821;
}

.contact.section .tab{
    margin-bottom:50px;
    display:none;
}

.contact.section .tab.active-tab{
    display:block;
}

#contact-form,
#newsletter-form{
    width:100%;
    max-width:800px;
    margin:0 auto;
    display: flex;
    flex-direction:column;
}

.tidycal-embed{
    width:100%;
    max-width:800px;
    margin:0 auto;
}

#contact-form label,
#newsletter-form label{
    margin: 0 auto;
    padding: 5px 10px;
    display: block;
}

#contact-form label input,
#contact-form label select,
#newsletter-form label input,
#newsletter-form label select{
    margin-bottom:10px;
    margin-top:5px;
    width:100%;
    font-size:16px;
    padding-left:10px;
    border-radius:10px;
    height:40px;
}

#contact-form input[type="submit"],
#newsletter-form input[type="submit"]{
    font-size:18px;
    text-transform:capitalize;
    border:2px solid #0D0821;
    border-radius:10px;
    width:130px;
    margin:0 auto;
    padding:10px 0;
    cursor:pointer;
}

footer{
    padding-top:30px;
    border-top: 20px solid #2BB179;
}

footer .footer-links{
    display:flex;
    width:100%;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content: flex-start;
}

footer .footer-links .footer-link{
    width:50%;
    text-align:center;
    padding:10px 0;
}

footer .footer-links .footer-link a{
    color:#fff;
    text-decoration:none;
    text-transform:capitalize;
    font-size:18px;
}

footer .footer-logo{
    width:100%;
}

footer .footer-logo img{
    width:100%;
    max-height:120px;
}

footer .footer-contact form input[type="email"]{
    height:40px;
    font-size:16px;
    padding-left:10px;
    border-radius:10px;
    margin-bottom:20px;
    border:none;
    outline:none;
    border-bottom:3px solid #2BB179;
    background:transparent;
    color:#fff; 
    border-radius:0;
}

footer .footer-contact form input[type="email"]:active,
footer .footer-contact form input[type="email"]:focus,
footer .footer-contact form input[type="email"]:focus-within,
footer .footer-contact form input[type="email"]:focus-visible{
    border-bottom:3px solid #2BB179;
    outline:none;
}

footer .footer-contact .btn{
    border-radius:10px;
    height:40px;
    padding:0 20px;
    margin-top:0;
}

footer .bottom{
    padding:50px 0 10px 0;
    text-align:center;
}

footer .social-row{
    width:100%;
    display:flex;
    flex-direction:row;
    justify-content: space-between;
    align-items:flex-start;
    padding:40px 130px 0 130px;
}

footer .social-row .social-link{
    color:#fff;
}

footer .social-row .social-link a,
footer .social-row .social-link a i{
    color:#fff;
    font-size:25px;
}

footer .newsletter-btn{
    width: 250px;
    padding: 15px 0;
    color: #0D0821;
    background: #ffffff;
    border: 2px solid #ffffff;
    display: block;
    text-align: center;
    border-radius: 10px;
    text-decoration: none;
    margin-bottom: 20px;
}

footer .newsletter-btn:hover{
    background:#2BB179;
    color:#0D0821;
    border:2px solid #2BB179;
}