h1 {
    font-weight: 700;
}
h2,
h3,
h4,
h5,
h6 {
    font-weight: 400;
}

*{scroll-behavior: smooth;}

.btn-primary {
    background-color: #d82020;
    border-color: #d83939;
}
.btn-primary:hover, .btn-primary:active, .btn-primary:focus {
    background-color: #881414 !important;
    border-color: #881414 !important;
    box-shadow: none !important;
}

.text-primary {
    color: #d82020 !important;
}

header.masthead {
    position: relative;
    background: #343a40 url("/static/img/hero.jpg") no-repeat center center;
    background-size: cover;
    padding-top: 8rem;
    padding-bottom: 8rem;
}

header.masthead .overlay {
    position: absolute;
    background-color: #212529;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    opacity: 0.6;
}

header.masthead h1 {
    font-size: 2rem;
}

.navbar-brand {
    font-size: 1.65rem;
    padding-top: 0;
    padding-bottom: 0;
}

@media (min-width: 768px) {
    header.masthead {
        padding-top: 12rem;
        padding-bottom: 12rem;
    }
    header.masthead h1 {
        font-size: 3rem;
    }
}

.showcase .showcase-text {
    padding: 3rem;
}

.showcase .showcase-img {
    min-height: 30rem;
    background-size: cover;
    background-position: center center;
}

@media (min-width: 768px) {
    .showcase .showcase-text {
        padding: 7rem;
    }
}

.features-icons {
    padding-top: 7rem;
    padding-bottom: 7rem;
}

.features-icons .features-icons-item {
    max-width: 20rem;
}

.features-icons .features-icons-item .features-icons-icon {
    height: 7rem;
}

.features-icons .features-icons-item .features-icons-icon i {
    font-size: 4.5rem;
}

.features-icons .features-icons-item:hover .features-icons-icon i {
    font-size: 5rem;
}

.testimonials {
    padding-top: 7rem;
    padding-bottom: 7rem;
}

.testimonials .testimonial-item {
    max-width: 18rem;
}

.testimonials .testimonial-item img {
    max-width: 12rem;
    box-shadow: 0 5px 5px 0 #adb5bd;
}

.call-to-action {
    position: relative;
    background: #343a40 url("/static/img/hero.jpg") no-repeat center center;
    background-size: cover;
    padding-top: 7rem;
    padding-bottom: 7rem;
}

.call-to-action .overlay {
    position: absolute;
    background-color: #212529;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    opacity: 0.3;
}

footer.footer {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.carousel, .carousel-inner, .carousel-item {
    height: 100%;
}
.carousel-item img {
    height: 100%;
    object-fit: cover;
}
