@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;600;700&family=Roboto:wght@400;500;700&family=Pacifico&display=swap');

@font-face {
    font-family: 'CameraPlainVariable';
    src: url('https://cdn.gpteng.co/mcp-widgets/v1/fonts/CameraPlainVariable.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

html, body {
    height: 100%;
}

body {
    background-color: #FFFFFF !important;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 400;
    overflow-x: hidden;
}

main {
    min-height: 70%;
}

img, object, embed, video {
    max-width: 100%;
}

/* IE 6 does not support max-width so default to width 100% */
.ie6 img {
    width: 100%;
}

img {
    border: none;
    outline: none;
}

hr {
    clear: both;
}

a:active {
    outline: none;
}

/* Bella Concrete Styles */

.bc-body, .bc-body p, .bc-body li {
    font-family: 'Roboto', system-ui, sans-serif;
}

.bc-script {
    font-family: 'Pacifico', cursive;
    color: #EE7A2B;
}

.bc-heading {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: .02em;
    font-weight: 700;
}

body {
    padding-top: 206px; /* Initial navbar height (170px logo + 1rem*2 padding + 4px border) */
}

@media (max-width: 991.98px) {
    body {
        padding-top: 130px; /* Reduced padding for mobile as logo/padding might be smaller or just different layout */
    }
    .bc-logo {
        height: 100px;
    }
    .bc-navbar:not(.bc-navbar--scrolled) {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
}

.bc-navbar {
    background: #fff;
    border-bottom: 4px solid #EE7A2B;
    transition: padding .25s ease;
}

.bc-navbar:not(.bc-navbar--scrolled) {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.bc-navbar.bc-navbar--scrolled {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.bc-navbar .nav-link {
    color: #000 !important;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: .05em;
    padding: .75rem 1rem !important;
}

.bc-navbar .nav-link:hover {
    color: #EE7A2B !important;
}

.bc-navbar .collapse {
    visibility: visible;
}

.bc-logo {
    height: 170px;
    width: auto;
    transition: height .25s ease;
}

.bc-navbar.bc-navbar--scrolled .bc-logo {
    height: 90px;
}

.bc-btn-primary {
    background: #EE7A2B;
    border-color: #EE7A2B;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700;
    padding: .9rem 2rem;
    border-radius: 0;
}

.bc-btn-primary:hover {
    background: #d96a1e;
    border-color: #d96a1e;
    color: #fff;
}

.bc-btn-outline {
    background: transparent;
    border: 2px solid #fff;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700;
    padding: .9rem 2rem;
    border-radius: 0;
}

.bc-btn-outline:hover {
    background: #fff;
    color: #151515;
}

.bc-hero .d-flex.flex-wrap {
    justify-content: flex-start;
}

.bc-hero {
    position: relative;
    min-height: 88vh;
    color: #fff;
    display: flex;
    align-items: center;
}

.bc-hero h1 {
    font-size: clamp(2.5rem, 6vw, 5rem);
    line-height: 1;
    color: #fff;
}

.bc-hero .accent-bar {
    display: block;
    height: 4px;
    width: 80px;
    background: #EE7A2B;
    margin-bottom: 1.5rem;
    margin-left: 0;
    margin-right: auto;
}

.bc-tag {
    display: inline-block;
    background: #EE7A2B;
    color: #fff;
    padding: .35rem .9rem;
    font-family: 'Oswald', sans-serif;
    letter-spacing: .15em;
    text-transform: uppercase;
    font-size: .8rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.bc-section {
    padding: 6rem 0;
}

.bc-section-dark {
    background: #151515;
    color: #f2f2f2;
}

.bc-section-dark p {
    color: #c9c9c9;
}

.bc-stat {
    border-left: 4px solid #EE7A2B;
    padding-left: 1rem;
}

.bc-stat .num {
    font-family: 'Oswald', sans-serif;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
}

.bc-service-card {
    background: #fff;
    border: 1px solid #ececec;
    padding: 2rem 1.75rem;
    height: 100%;
    transition: .2s;
    border-top: 4px solid transparent;
}

.bc-service-card:hover {
    border-top-color: #EE7A2B;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
    transform: translateY(-4px);
}

.bc-service-icon {
    width: 56px;
    height: 56px;
    background: #EE7A2B;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
}

.bc-project {
    position: relative;
    overflow: hidden;
}

.bc-project img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    transition: transform .5s;
}

.bc-project:hover img {
    transform: scale(1.05);
}

.bc-project .overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1.25rem;
    background: linear-gradient(transparent, rgba(0, 0, 0, .85));
    color: #fff;
}

.bc-project .overlay h5 {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    margin: 0;
}

.bc-project .overlay small {
    color: #EE7A2B;
    letter-spacing: .15em;
    font-weight: 700;
}

.bc-cert {
    background: #fff;
    color: #151515;
    padding: 1.25rem 1.5rem;
    border-left: 4px solid #EE7A2B;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    font-weight: 700;
}

.bc-values {
    background: #f7f5f2;
}

.bc-value {
    padding: 1.5rem 0;
}

.bc-value h4 {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    color: #EE7A2B;
    letter-spacing: .05em;
}

.bc-cta {
    background: #EE7A2B;
    color: #fff;
    padding: 4rem 0;
}

.bc-cta h2 {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
}

.bc-footer {
    background: #0a0a0a;
    color: #9a9a9a;
    padding: 5rem 0 2rem;
}

.bc-footer h6 {
    font-family: 'Oswald', sans-serif;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 1.25rem;
}

.bc-footer p {
    line-height: 1.7;
}

.bc-footer li {
    margin-bottom: .6rem;
}

.bc-footer li:last-child {
    margin-bottom: 0;
}

.bc-footer a {
    color: #c9c9c9;
}

.bc-footer a:hover {
    color: #EE7A2B;
    text-decoration: none;
}

.bc-safety-strip {
    background: #151515;
    color: #fff;
    padding: 2.5rem 0;
    border-top: 4px solid #EE7A2B;
}

.bc-testimonial {
    background: #fff;
    padding: 2.5rem;
    border: 1px solid #ececec;
}

.bc-testimonial .quote {
    font-size: 1.15rem;
    font-style: italic;
    color: #333;
}

.bc-mitten {
    max-width: 340px;
    width: 100%;
}

/*
a {
	transition: all 0.2s ease-in-out 0s;
	-webkit-transition: all 0.2s ease-in-out 0s;
	-moz-transition: all 0.2s ease-in-out 0s;
}
*/

/* Bounce Stuff */
.bounceit {
    margin-top: 50px;
    width: 100%;
    text-align: center;
    bottom: 0px;
    animation: bounce 1s infinite alternate;
    -webkit-animation: bounce 1s infinite alternate;
    position: absolute;
}

@keyframes bounce {
    from {
        transform: translateY(0px);
    }
    to {
        transform: translateY(-15px);
    }
}

@-webkit-keyframes bounce {
    from {
        transform: translateY(0px);
    }
    to {
        transform: translateY(-15px);
    }
}

/*Page Fade In*/
/* make keyframes that tell the start state and the end state of our object */
@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@-moz-keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@media screen {
    body {
        opacity: 0; /* make things invisible upon start */
        -webkit-animation: fadeIn ease-in 1; /* call our keyframe named fadeIn, use animattion ease-in and repeat it only 1 time */
        -moz-animation: fadeIn ease-in 1;
        animation: fadeIn ease-in 1;

        -webkit-animation-fill-mode: forwards; /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1)*/
        -moz-animation-fill-mode: forwards;
        animation-fill-mode: forwards;

        -webkit-animation-duration: 1s;
        -moz-animation-duration: 1s;
        animation-duration: 1s;

        -webkit-animation-delay: 0.1s;
        -moz-animation-delay: 0.1s;
        animation-delay: 0.1s;
    }
}

/*Page Fade End*/


.user-panel .card-body {
    padding: 1rem;
}

#message-outer {
    position: absolute;
    width: 100%;
    text-align: center;
    z-index: 5000;
}

#message-inner {
    display: inline-block;
    margin: 0 auto;
    width: 45%;
    padding-top: 30px;
}

/*
    X-Small devices (portrait phones, less than 576px)
    No media query for `xs` since this is the default in Bootstrap
*/

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {

}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
}

@media (max-width: 767px) {
    .bc-section {
        padding: 4rem 0;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
    .logo-size {
        width: 55%;
    }
}