/*
Theme Name:   child-theme
Description:  child-theme is WordPress Theme created by Globalgraphics
Author:       Globalgraphics
Author URL:   https://www.globalgraphics.co.uk / https://www.globalgraphicswebdesign.com
Template:     wp-bootstrap-starter
Version:      1.0
Text Domain:  child-theme
*/
/*
Set Elementor > Site Settings > layout settings > content width = 1560px
*/

:root {
	--primary: #D0112B;
	--secondary: #111821;
	--text: #111821;
	--accent: #D0112B;
	--blue: #33337F;
	--grey: #7C878E;
	
	--background-grey: #EEEEEE;
	--background-dark-grey: #555555;
}

html, body { overflow-x: hidden; }
textarea:focus, select:focus, input:focus, button:focus, a:focus { box-shadow: none !important; outline: none !important; }
/*
These are now handled by Elementor, set in Site Settings.

html,body,p,li,td,button,input { color: var(--text); font-family: 'Lato','Arial'; font-size: 16px; font-weight: 400; line-height: 2em; }
h1,h2,h3,h4,h5,h6 { color: var(--heading); font-family: 'Lato','Arial'; font-weight: 700; line-height: 1.4em; }
h1 { font-size: 30px; }
h2 { font-size: 26px; }
h3 { font-size: 22px; }
h4 { font-size: 20px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }

a { color: #3A5A70; }
a:hover { color: #3A5A70; text-decoration: none; }

.dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6, .dark p, .dark li, .dark a, .dark td, .dark div, .dark span { color: #fff !important; }
.largetext p, .largetext a, .largetext span { font-size: 20px; }
*/

#page { position: relative; }
.page-content, .entry-content, .entry-summary { margin-top: 0; }
header#masthead { background: #fff; box-shadow: none; width: 100%; }
.navbar { display: block; }
header#masthead #logo img { height: auto; max-width: 200px; max-height: 80px; width: 100%; }

/* Navigation */
.navbar button { float: right; margin-left: 20px; }
#main-nav { background: #fff; }
header#masthead a { display: inline-block; color: var(--tertiary) !important; font-size: 18px !important; font-weight: 500; }
header#masthead a:hover { text-decoration: none; color: var(--secondary) !important; font-weight: 500 !important; }
header#masthead #navbtn { position: absolute; top: -70px; right: 15px; font-size: 40px; background: none !important; }
header#masthead #iconlinks { position: absolute; top: -90px; right: 15px; }
header#masthead #iconlinks a { margin-left: 20px; font-size: 20px; }
header#masthead #custom_html-2 { display: none; }

#widget_top { display: flex; flex-direction: row; justify-content: space-around; align-items: center; } 


/* Button */
.vc_btn3, .btn, header#masthead .btn, input[type=button], input[type=submit], button.components-button { background: var(--primary) !important; color: #fff !important; padding: 0 25px !important; display: inline-block; font-weight: 700 !important; line-height: 38px; border-radius: 19px; text-transform: uppercase; }
.button:hover, .vc_btn3:hover, .btn:hover, header#masthead .btn:hover, input[type=button]:hover, input[type=submit]:hover, button.components-button:hover { background: var(--secondary) !important; color: #fff !important; font-weight: 700 !important; }
button.navbar-toggler { padding: 10px !important; line-height: 1em !important; }

button.wc-block-components-panel__button { border: none !important; padding: 0 !important; line-height: 1.4em !important; }

/* Woocommerce Cart button with item count */
#topbasket { color: #fff; font-size: 30px; position: relative; vertical-align: middle; }
#topbasket:hover { color: #FF0066; }
#topbasket span { border-radius: 50%; background: #FF0066; display: block; position: absolute; right: -10px; top: -5px; font-size: 10px; color: #fff; text-align: center; vertical-align: middle; width: 20px; height: 20px; padding-top: 3px; line-height: 16px; font-weight: 700; }

/* Content */
#content { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Contact */
.wpb_gmaps_widget .wpb_wrapper { padding: 0; }
.nf-form-fields-required { display: none; }
.nf-form-content .list-select-wrap .nf-field-element>div, .nf-form-content input:not([type=button]), .nf-form-content textarea, .nf-form-content select { background: #fff !important; font-size: 14px !important; color: #000 !important; font-family: Montserrat !important; border-radius: 3px !important; border: 1px solid #c4c4c4 !important; }
.nf-form-content input:not([type=button])::placeholder, .nf-form-content textarea::placeholder { color: #000 !important; }
.nf-form-content textarea { height: 120px; }

/* Footer Contact Banner */
#contactusbanner { background: var(--background-dark-grey) url('/wp-content/uploads/2024/04/genex-background-faded.png') no-repeat bottom center; background-size: 100%; padding: 80px 0; }
#contactusbanner div { align-items: center; }
#contactusbanner h4 { color: #fff; font-family: 'Red Hat Display'; font-size: 40px; font-weight: 600; margin-bottom: 30px; line-height: 1em; }
#contactusbanner p { color: #fff; font-size: 16px; font-weight: 600; }
#contactusbanner .btn { line-height: 60px; padding: 0 60px !important; border-radius: 30px; }


/* Footer */
footer#colophon { background: url('/wp-content/uploads/2024/04/footer-background.jpg') center center; background-size: cover; padding-top: 50px; padding-bottom: 50px; }
footer#colophon * { color: #fff !important; font-size: 16px; text-align: center; vertical-align: top; }
footer#colophon #footerlogo { display: block; text-align: center; margin-bottom: 50px; }
footer#colophon h3 { font-size: 20px; font-weight: 400; }
footer#colophon i { display: inline-block; margin-right: 10px; line-height: 24px; }
footer#colophon span { display: inline-block; width: calc(100% - 35px); }
footer#colophon .custom-html-widget > div { margin-bottom: 10px; }
footer#colophon a.nav-link { padding: 0; margin-bottom: 10px; }
footer#colophon a.nav-link:hover { background: none; text-decoration: underline; }
footer#colophon .site-info #bottomlinks a { display: inline-block; margin: 0 15px; }


/* Content */

.elementor-widget-heading.line { margin-bottom: 30px !important; position: relative; }
.elementor-widget-heading.line::after { display: block; background: var(--primary); width: 200px; height: 4px; content: ''; position: absolute; bottom: -20px; left: 0; }

.elementor-icon-box-title { margin-top: 20px; margin-bottom: 20px; }

.post.hentry { margin-bottom: 20px; }
.wpcap-grid-container .post-grid-thumbnail { margin-bottom: 10px; }
.post-grid-text-wrap h4, .post-grid-text-wrap h4 a { color: var(--secondary) !important; font-size: 18px; font-weight: 400; font-family: 'Montserrat'; }
.post-grid-text-wrap > a { background: var(--primary); height: 32px; width: 32px; border-radius: 16px !important; position: relative; }
.post-grid-inner:hover .post-grid-text-wrap > a { background: var(--secondary); }
.post-grid-text-wrap > a::after { position: absolute; left: 0; top: 0; font-family: "Font Awesome 6 Free"; content: "\f054"; font-weight: 900; color: #fff; font-size: 16px; width: 32px; line-height: 32px; text-align: center; }

.nospacing p { margin-bottom: 0 !important; margin-top: 0 !important; }
.nf-field-label { display: none; }


/* Large devices (Large desktops, more than 1199px) */
/* No media query since this is the default in MM */


/* Extra small devices (phones, less than 768px) */
/* No media query since this is the default in Bootstrap */

/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
	body.admin-bar header#masthead { top: 32px; }

	body.blog article .entry-content .post-thumbnail { float: right; margin-left: 20px; }
	body.blog article .entry-content .post-thumbnail img { width: unset; }
	

}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	#main-nav { background: #fff; width: 100%; }
	#main-nav > ul > li { border-top: 3px solid #fff; border-bottom: 3px solid #fff; }
	#main-nav > ul > li > a { padding: 20px 0 !important; }
	#main-nav > ul > li:hover, #main-nav > ul > li.active { border-bottom-color: var(--primary); }
	#mobile_search { display: none; }
	.navbar-expand-xl .navbar-collapse { display: inline-block !important; }
	
	#main-nav .dropdown > ul { border: none; border-radius: 0; background: var(--background-grey); min-width: 300px; }
	#main-nav .dropdown > ul > li { padding: 0 15px; }
	#main-nav .dropdown > ul > li:hover, #main-nav .dropdown > ul > li.active { background: #fff; }
	
	header#masthead #logo img { max-height: 120px; }
	header#masthead .row { align-items: center; }
	header#masthead #menu-main-menu { display: flex; align-items: center; justify-content: space-around; }
	header#masthead .widget { margin-bottom: 0; }
	header#masthead .tel { font-size: 22px !important; font-weight: 700; }
	header#masthead .tel:hover { color: var(--primary) !important; font-weight: 700 !important; }
	
	#main-nav ul li:hover > ul { display: block; }
	
	#contactusbanner div.col-lg-4 { text-align: right; }
	
	footer#colophon * { text-align: left; }
	
	footer#colophon .site-info p { width: 50%; float: left; }
	footer#colophon .site-info #bottomlinks { width: 50%; float: right; text-align: right; }
	footer#colophon .site-info #bottomlinks a { margin: 0 0 0 30px; }
}
/* Extra Large devices (large desktops, 1200px and up) */
@media (min-width: 1660px) {
	header#masthead #custom_html-2 { display: block; }
	.elementor-widget-heading.line::after { left: -110px; }
}

/* MEDIUM DEVICES ONLY */
@media only screen and (min-width: 992px) and (max-width: 1199px){
}

/* SMALL DEVICES ONLY */
@media only screen and (min-width: 768px) and (max-width: 991px) {
}


/* Elementor Fix so that stretched rows have their content within the container */
.elementor-section-stretched .elementor-container { max-width: 490px !important; }
@media (min-width: 768px) { .elementor-section-stretched .elementor-container { max-width: 660px !important; } }
@media (min-width: 992px) {	.elementor-section-stretched .elementor-container { max-width: 910px !important; } }
@media (min-width: 1200px) { .elementor-section-stretched .elementor-container { max-width: 1090px !important; } }
@media (min-width: 1660px) { .elementor-section-stretched .elementor-container { max-width: 1540px !important; } }

/* Elementor fix so that 4 columns display as 2 columns on tablets and small screens */
@media (min-width: 768px) { .elementor-column.elementor-col-25, .elementor-column[data-col="25"] { width: calc(50% - 20px) !important; } }

/* Allows for ultra wide screen */
@media (min-width:1660px){ 
    .container, .container-lg, .container-md, .container-sm, .container-xl { max-width:1600px }
	.navbar-expand-xxl { -ms-flex-flow: row nowrap; flex-flow: row nowrap; -ms-flex-pack: start; justify-content: flex-start; }
	.navbar-expand-xxl .navbar-toggler { display: none; }
	.navbar-expand-xxl .navbar-collapse { display: -ms-flexbox !important; display: flex !important; -ms-flex-preferred-size: auto; flex-basis: auto; }
	.navbar-expand-xxl .navbar-nav { -ms-flex-direction: row; flex-direction: row; }
	.navbar-expand-xxl .navbar-nav .dropdown-menu { position: absolute; }
}