/* HTML section - top gap in mobile view - override */
@media screen and (max-width: 782px) {
    html { margin-top: 32px !important; }
}

/* Admin bar - mobile - fixed in position when logged in */
@media screen and (max-width: 600px) {
    #wpadminbar { position: fixed; }
}

/* BR tag - force display in mobile view */
@media (max-width: 767px) {
    br { display: inline; }
}


/* Body section - to fix the sticky issue */
body { overscroll-behavior: none; }
body:not(.logged-in) { margin-top: -32px; }
body:not(.logged-in) #wpadminbar { display: none; }

body:not(.logged-in) .nav-container,
body:not(.logged-in) .nav-container nav.fixed { top: 0; }

@media (max-width: 990px) {
    body.logged-in .nav-container nav,
    body.logged-in .nav-container nav.fixed { top: 32px; }
}
@media (max-width: 782px) {
    body.logged-in .nav-container nav,
    body.logged-in .nav-container nav.fixed { top: 46px; }
}

/* Body section - reduce font size */
@media (max-width: 575px) {
    html body { font-size: 14px; line-height: 1.5em; }
}


/* Navigator container - also to fix the sticky issue */
.nav-container { position: sticky; top: 32px; z-index: 999; }
.nav-container nav { max-width: 1250px; width: 100%; margin: 0 auto; }
.nav-container nav.fixed { opacity: 1; visibility: visible; }
.nav-container nav.nav-hide { transform: none; -webkit-transform: none; -moz-transform: none; }

.nav-container nav.fixed .nav-utility { display: block; }
.nav-container nav.nav-show .nav-bar:not(.nav-full) { height: 64px; max-height: 64px; line-height: 64px; }

@media (min-width: 991px) {
	.nav-container nav .nav-bar > .module.left,
	.nav-container nav .nav-bar > .module.right { display: none !important; }
}
@media (max-width: 991px) {
    .nav-container nav .nav-bar > .module.left { padding: 0; width: 100%; }
    .nav-container nav .nav-bar > .module.left > a { margin: 0 auto; width: fit-content; }
    .nav-container nav .nav-bar > .module.right { position: absolute; top: 0; }
}


/* Logo - larger from desktop view */
@media (min-width: 991px) {
    .nav-container nav .logo { max-height: 75px; opacity: 1; }
	.nav-container nav .logo:hover { opacity: 0.7; }
}

/* Navigator container left & right sections - anchor tag color changes */
.nav-container nav .text-left a,
.nav-container nav .text-right a { opacity: 0.7; }
.nav-container nav .text-left a:hover,
.nav-container nav .text-right a:hover { color: #fff !important; opacity: 1; }

/* Navigator logo section - increase height & remove opacity */
.nav-container nav .nav-utility.big-utility { height: 110px; line-height: 110px; opacity: 1; }

/* Navigator icon & text - increase size */
.nav-container nav .nav-utility a,
.nav-container nav .nav-utility i { font-size: 16px; }

/* Contact list - add a circle to contact logo */
.nav-container nav .nav-utility .contact-list a {
    display: inline-table;
    border: 1px solid #fff;
    border-radius: 100%;
    width: 35px;
    height: 33px;
    line-height: 33px;
    text-align: center;
}
.nav-container nav .nav-utility .contact-list a > i { font-size: 19px; }

/* Social list - add a circle to social logo */
.nav-container nav .nav-utility .social-list a {
    border: 1px solid #fff;
    border-radius: 100%;
    width: 35px;
    height: 33px;
    line-height: 33px;
}


/* WPBakery main container section BG color set to white */
.main-container section { background-color: #000; }

/* Fullscreen - height fixed adjustment */
@media (max-width: 768px) {
    .main-container .fullscreen { height: calc(100vh - 64px); }
}

/* Container - set width @ 95% from 1200px & above */
@media (max-width: 1199px) {
    .main-container .container { width: 95% !important; }
}

/* Override theme preset */
@media only screen and (min-width: 768px) and (max-width: 768px) {
	div.equal-height .vc_column-inner .vc_column-inner,
	section.vc_row .vc_column_container > .vc_column-inner {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}
}

/* Main container - page title & subtitle adjustments */
.main-container .page-title { height: initial; }
.main-container .page-title .container {
    padding-top: 72px;
    position: relative;
    top: unset;
    transform: unset;
    -webkit-transform: unset;
    -moz-transform: unset;
}    
.main-container .page-title .heading-title {
    color: #fff;
    font-size: 56px;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.main-container .page-title .lead {
	color: #fff !important;
	font-family: inherit;
	font-size: 19px;
	font-style: normal;
	line-height: 24px;
	padding-top: 30px;
	text-transform: uppercase;
}

@media (max-width: 575px) {
	.main-container .page-title .heading-title { font-size: 39px; line-height: 0.9em; }
	.main-container .page-title .lead { font-size: 17px; }
}


/* Container - anchor tag color changes */
.container a { color: #e10012; }
.container a:hover { color: #fff !important; }


/* Contact Form */
.wpcf7 { margin: 0 -15px; }
.wpcf7 form .entry, .wpcf7 form .submit { display: inline-block; width: 100%; }
.wpcf7 form .entry > p { height: 110px; }
.wpcf7 form .entry > p:last-child { height: 150px; }
.wpcf7 form .entry > p:last-child textarea { height: 110px; }
.wpcf7 form label {
    color: #fff;
    font-size: inherit;
    font-weight: normal;
    display: initial;
    letter-spacing: normal;
    text-transform: none;
}
.wpcf7 form input, .wpcf7 form textarea { color: #000; font-size: 17px; height: 45px; margin: 0 0 5px; }
.wpcf7 form .wpcf7-not-valid-tip { color: #fff; display: initial !important; font-size: 15px; }

.wpcf7 form .submit { margin-top: 30px; text-align: center; }
.wpcf7 form .submit > p {
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 200px;
}
.wpcf7 form .submit input {
	border-radius: 5px;
	border-width: 2px;
	margin-left: 56px;
	line-height: initial;
}
.wpcf7 form .submit input:hover { background: #000; color: #fff; }
.wpcf7 form .wpcf7-response-output { text-align: center; }


/* Footer widget */
.footer-widget .sub-footer { max-width: 1200px; width: 100%; margin: 0 auto; padding: 15px 0; }
.footer-widget { padding-bottom: 20px !important; }
.footer-widget a:hover { color: #212121 !important; }

.footer-widget .sub { line-height: 1em; }
.footer-widget .sub-footer .row > div { padding-top: 15px; padding-bottom: 15px; }

@media (max-width: 1280px) {
    .footer-widget .sub-footer { padding: 15px 30px; }
}
@media (max-width: 992px) {
    .footer-widget .sub-footer .row { display: flex; flex-direction: column-reverse; }
    .footer-widget .sub-footer .row > div { padding-top: 8px; padding-bottom: 8px; text-align: center; }
}
@media (max-width: 800px) {
    .footer-widget .sub > span { display: block; line-height: 1.5em; }
    .footer-widget .sub > .pipe { display: none; }
}


/* 404 Page */
.error404 .message { color: #fff; margin-top: 20px; }


/* Footer Mobile Social menu */
.mobile-corner-menu {
    position: fixed;
    bottom: 120px;
    display: flex;
    flex-direction: column;
    right: 20px;
    z-index: 9999;
    gap: 10px;
}
.mobile-corner-menu > a {
    width: 50px;
    height: 50px;
    background-color: #A00122;
    border-radius: 50%;
    border: 2px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
}
.mobile-corner-menu > a > i { color: #fff; font-size: 22px; transition: color 0.3s ease; }
.mobile-corner-menu > a:hover { background-color: #fff; border-color: #A00122; }
.mobile-corner-menu > a:hover > i { color: #A00122; }

@media (min-width: 991px) {
    .mobile-corner-menu { display: none; }
}

/* For touch devices, use active state */
@media (hover: none) and (pointer: coarse) {
    .mobile-corner-menu > a:hover {
        background-color: #A00122;
        border-color: #fff;
    }
    
    .mobile-corner-menu > a:hover > i {
        color: white;
    }
    
    .mobile-corner-menu > a:active {
        background-color: white;
        border-color: #A00122;
    }
    
    .mobile-corner-menu > a:active i {
        color: #A00122;
    }
}


/* Back to Top button */
@media (max-width: 1500px) {
    .back-to-top { right: 22px; bottom: 50px !important; }
}

/* Recaptcha badge */
.grecaptcha-badge { display: none !important; }
