/*
Theme Name: Divi Child - DoitUK
Theme URI: https://doituk.com/
Template: Divi
Author: DoitUK
Author URI: https://doituk.com/
Description: Custom Divi child theme developed by DoitUK.
Version: 1.0.0
Updated: 2026-09-02 09:44:42

*/

/*--------------------------------------------------------------
# MCW - Centre Search Icon In Max Mega Mobile Toggle Bar
--------------------------------------------------------------*/

.mega-toggle-blocks-right {
	display: flex !important;
	align-items: center !important;
}

#mega-toggle-block-2 {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 70px !important;
}

#mega-toggle-block-2 .reveal_button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 44px !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 1 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

#mega-toggle-block-2 .reveal_search_icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 44px !important;
	line-height: 1 !important;
}

#mega-toggle-block-2 .reveal_search_icon:before {
	content: "\55";
	font-family: ETmodules;
	font-size: 28px;
	line-height: 1 !important;
	color: #25345c;
}

/*--------------------------------------------------------------
# MCW - Remove Divi Button Arrow From Mobile Search Icon
--------------------------------------------------------------*/

.reveal_button:after,
#mega-toggle-block-2 .reveal_button:after {
	display: none !important;
	content: none !important;
}

.reveal_button:hover:after,
#mega-toggle-block-2 .reveal_button:hover:after {
	display: none !important;
	content: none !important;
}

/*--------------------------------------------------------------
# Smooth Reveal Content By Default
--------------------------------------------------------------*/

.reveal_section .reveal_content {
	display: block !important;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transform: translateY(-8px);
	transition:
		max-height 0.35s ease,
		opacity 0.25s ease,
		transform 0.25s ease;
}

.reveal_section .reveal_content.reveal_visible {
	max-height: 220px;
	overflow: visible;
	opacity: 1;
	transform: translateY(0);
}

/* Keep this mobile only */
@media only screen and (min-width: 981px) {
	.reveal_section .reveal_content {
		display: none !important;
	}
}


/*--------------------------------------------------------------
# MCW Applications - Hide project content section when no posts found
--------------------------------------------------------------*/

.mcw-project-content-section:has(.not-found-title),
.mcw-project-content-section:has(.et_pb_ajax_pagination_container > .entry:only-child .not-found-title) {
	display: none !important;
}

/*--------------------------------------------------------------
# MCW Applications - Hide Blog module project title
--------------------------------------------------------------*/

.mcw-project-content-section .entry-title {
	display: none !important;
}


/*--------------------------------------------------------------
# MCW Applications - Hide taxonomy block section when module is empty
--------------------------------------------------------------*/

.mcw-taxonomy-blocks-section:has(.et_pb_column_empty) {
	display: none !important;
}

/*--------------------------------------------------------------
# MCW FAQ Accordion - Q and A labels
--------------------------------------------------------------*/

.mcw-faq-accordion .et_pb_toggle {
	border: 1px solid #e2e2e2;
	border-radius: 8px;
	margin-bottom: 14px;
	background: #ffffff;
	overflow: hidden;
}

.mcw-faq-accordion .et_pb_toggle_title {
	position: relative;
	padding-left: 58px !important;
	padding-right: 45px !important;
	font-weight: 700;
	line-height: 1.4;
}

.mcw-faq-accordion .et_pb_toggle_title:after {
	content: "Q";
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #93acd5;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	line-height: 28px;
	text-align: center;
}

.mcw-faq-accordion .et_pb_toggle_content {
	position: relative;
	padding-left: 58px !important;
	padding-right: 30px !important;
	line-height: 1.7;
}

/*--------------------------------------------------------------
# MCW FAQ Accordion - A badge alignment
--------------------------------------------------------------*/

.mcw-faq-accordion .et_pb_toggle_content:before {
	content: "A";
	position: absolute;
	left: 18px;
	top: 1.2em;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #414664;
	color: #ffffff;
	font-size: 16px;
	font-weight: 700;
	line-height: 28px;
	text-align: center;
}

.mcw-faq-accordion .et_pb_toggle_content p:first-child {
	margin-top: 0;
	padding-top: 0;
}

/*--------------------------------------------------------------
# MCW FAQ Accordion - mobile adjustment
--------------------------------------------------------------*/

@media only screen and (max-width: 767px) {

	.mcw-faq-accordion .et_pb_toggle_title {
		padding-left: 50px !important;
		padding-right: 38px !important;
	}

	.mcw-faq-accordion .et_pb_toggle_content {
		padding-left: 50px !important;
		padding-right: 20px !important;
	}

	.mcw-faq-accordion .et_pb_toggle_title:after,
	.mcw-faq-accordion .et_pb_toggle_content:before {
		left: 14px;
		width: 26px;
		height: 26px;
		font-size: 14px;
		line-height: 26px;
	}
	
	.mcw-faq-accordion .et_pb_toggle_title:after {
		top: 0.1em;
		transform: none;
	}

	.mcw-faq-accordion .et_pb_toggle_content:before {
		top: 1.5em;
	}

}

/*--------------------------------------------------------------
# MCW FAQ Accordion - Simple Learn More block
--------------------------------------------------------------*/

.mcw-faq-accordion .et-learn-more {
	margin-top: 16px;
	margin-bottom: 0;
	border: 1px solid #8aa8e8;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.65);
	overflow: hidden;
}

.mcw-faq-accordion .et-learn-more h3.heading-more {
	margin: 0;
	padding: 12px 48px 12px 18px;
	background: rgba(255, 255, 255, 0.75);
	color: #2b3558;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	border: none;
	cursor: pointer;
}

.mcw-faq-accordion .et-learn-more h3.heading-more:hover {
	background: rgba(255, 255, 255, 0.95);
}

.mcw-faq-accordion .et-learn-more .learn-more-content {
	padding: 18px 22px;
	background: rgba(255, 255, 255, 0.85);
	color: #2b3558;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.7;
	border-top: 1px solid #d9e2f5;
}

.mcw-faq-accordion .et-learn-more .learn-more-content p {
	margin-bottom: 8px;
}

.mcw-faq-accordion .et-learn-more .learn-more-content p:last-child {
	margin-bottom: 0;
}

.mcw-faq-accordion .et-learn-more .learn-more-content ul {
	margin-top: 6px;
	margin-bottom: 0;
	padding-left: 22px;
}

.mcw-faq-accordion .et-learn-more .learn-more-content li {
	margin-bottom: 6px;
	line-height: 1.6;
}

.mcw-faq-accordion .et-learn-more .learn-more-content li:last-child {
	margin-bottom: 0;
}

/* Keep Divi's built-in arrow area tidy */
.mcw-faq-accordion .et-learn-more .et_learnmore_arrow {
	right: 16px;
}

/*--------------------------------------------------------------
# MCW FAQ Accordion - Simple Learn More mobile
--------------------------------------------------------------*/

@media only screen and (max-width: 767px) {

	.mcw-faq-accordion .et-learn-more {
		margin-top: 14px;
	}

	.mcw-faq-accordion .et-learn-more h3.heading-more {
		padding: 11px 42px 11px 14px;
		font-size: 14px;
		line-height: 1.4;
	}

	.mcw-faq-accordion .et-learn-more .learn-more-content {
		padding: 14px 16px;
		font-size: 14px;
		line-height: 1.65;
	}

	.mcw-faq-accordion .et-learn-more .learn-more-content ul {
		padding-left: 20px;
	}

	.mcw-faq-accordion .et-learn-more .learn-more-content li {
		margin-bottom: 6px;
		line-height: 1.55;
	}

}

/*--------------------------------------------------------------
>>Show menu items only on Sticky
----------------------------------------------------------------*/

/* Hide the menu item initially */
li.mega-sticky-only {
    display: none !important;
}

/* Show the menu item when the header section is sticky */
.et_pb_sticky.et_pb_sticky--top li.mega-sticky-only {
    display: inline-block!important;
}

/*--------------------------------------------------------------
>>bullet list item spacing
----------------------------------------------------------------*/

.list_spacing ul > li,
.list_spacing ol > li { 
	margin-top: 10px; 
}



/*--------------------------------------------------------------
>>center Blurb Module Content + icon
----------------------------------------------------------------*/

#blurb-cent .et_pb_main_blurb_image,
#blurb-cent .et_pb_blurb_container {
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

#blurb-cent .et_pb_blurb_content {
  text-align: center;
}

/*--------------------------------------------------------------
>>>module to bottom column
----------------------------------------------------------------*/

.bot-col {
	display: flex;
flex-flow: column;
}

.bot-mod {
margin-top: auto;	
}

.flex-mod {
	display: flex;
flex-direction: column;
justify-content: center;
flex-grow: 1;
}


/*--------------------------------------------------------------
>>>Hide Captcha badge
----------------------------------------------------------------*/

.grecaptcha-badge { 
    visibility: hidden!important;
}

/*--------------------------------------------------------------
>>>PDF full screen button
----------------------------------------------------------------*/

.pdfjs-fullscreen , .pdfjs-fullscreen a {
	color: #000;
	margin-top:3%;
	font-size: 12px;
}


/*--------------------------------------------------------------
# MCW - Controlled Responsive Column Layouts
--------------------------------------------------------------*/

/*
 * Tablet only:
 * Retain the requested multi-column arrangements between
 * Divi's desktop breakpoint and the phone breakpoint.
 */
@media only screen and (min-width: 768px) and (max-width: 980px) {

	.two-columns .et_pb_column {
		width: 50% !important;
		margin-bottom: 0;
	}

	.three-columns .et_pb_column {
		width: 33.3333% !important;
		margin-bottom: 0;
	}

	.four-columns .et_pb_column {
		width: 25% !important;
		margin-bottom: 0;
	}

}

/*
 * Phones:
 * Allow Divi columns to stack normally instead of forcing
 * two, three or four columns into the available screen width.
 */
@media only screen and (max-width: 767px) {

	.two-columns .et_pb_column,
	.three-columns .et_pb_column,
	.four-columns .et_pb_column {
		width: 100% !important;
		margin-right: 0 !important;
	}

}


/*--------------------------------------------------------------
# MCW Sticky Header Logo Reveal
--------------------------------------------------------------*/

.mcw-sticky-menu-row {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
}

.mcw-sticky-menu-row .et_pb_column {
	float: none !important;
	margin-right: 0 !important;
}

.mcw-sticky-logo-column {
	position: absolute;
	left: 0;
	top: 50%;
	z-index: 5;

	width: 230px !important;
	max-width: 230px !important;
	margin: 0 !important;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate(-18px, -50%);

	transition:
		opacity 0.28s ease,
		visibility 0.28s ease,
		transform 0.28s ease;
}

.mcw-sticky-logo-column .et_pb_module {
	margin-bottom: 0 !important;
}

.mcw-sticky-logo-column img {
	display: block;
	width: auto;
	max-width: 210px;
	max-height: 52px;
	height: auto;
}

.mcw-sticky-main-menu-column {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 100% !important;
	margin: 0 auto !important;

	display: flex !important;
	align-items: center;
	justify-content: center;

	transition: padding-left 0.28s ease;
}

body.mcw-header-scrolled .mcw-sticky-logo-column {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(0, -50%);
}

body.mcw-header-scrolled .mcw-sticky-main-menu-column {
	padding-left: 240px;
	box-sizing: border-box;
}

@media (max-width: 980px) {
	.mcw-sticky-logo-column {
		display: none !important;
	}

	body.mcw-header-scrolled .mcw-sticky-main-menu-column {
		padding-left: 0;
	}
}

/*--------------------------------------------------------------
>>> anchor top space
----------------------------------------------------------------*/

.et_pb_section {
	scroll-margin-top: 4rem;
}

/*--------------------------------------------------------------
>>> center unordered List
----------------------------------------------------------------*/

.center-list .et_pb_text_inner ul {
  display: table;
  margin: 0 auto;
}


/*--------------------------------------------------------------
>>> row/column flex
----------------------------------------------------------------*/

.row-flex {
display: flex;
	flex-wrap: nowrap;
	  align-items: center;
}

.col-flex {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  flex-direction: row;
  justify-content: space-between;
}


/*--------------------------------------------------------------
>>> Category Filter
----------------------------------------------------------------*/

.wpfFilterButton.wpfButton, .wpfClearButton.wpfButton {
	  background: #224068;
  color: #C6D334;
}

.wpfFilterButtons {
  text-align: center!important;
}

/*--------------------------------------------------------------
>>> Product Tab
----------------------------------------------------------------*/

#dwn-tab {
	  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  margin-bottom: 2em;
}

#dwn-tab img {
	  margin-right: 2em;
}

/*--------------------------------------------------------------
# MCW - Mobile Flex Layout Corrections
--------------------------------------------------------------*/

@media only screen and (max-width: 767px) {

	.col-flex,
	#dwn-tab {
		flex-wrap: wrap;
		width: 100%;
		flex-direction: column;
		align-items: stretch;
	}

	.col-flex > *,
	#dwn-tab > * {
		max-width: 100%;
		box-sizing: border-box;
	}

	#dwn-tab img {
		display: block;
		max-width: 100%;
		height: auto;
		margin: 0 0 16px;
	}

}

/*--------------------------------------------------------------
# MCW - Mobile / Tablet Footer Utility Icon Menu
--------------------------------------------------------------*/

@media only screen and (max-width: 980px) {

	.mcw-mobile-icon-menu {
		display: flex !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	.mcw-mobile-icon-menu .et_pb_column {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		justify-content: space-around !important;
		align-items: center !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		float: none !important;
	}

	.mcw-mobile-icon-menu .et_pb_module {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 1 1 0 !important;
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		float: none !important;
		clear: none !important;
	}

	.mcw-mobile-icon-menu .et_pb_icon,
	.mcw-mobile-icon-menu .et_pb_icon_wrap,
	.mcw-mobile-icon-menu .et_pb_module_inner,
	.mcw-mobile-icon-menu a {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		min-height: 44px !important;
		margin: 0 !important;
		line-height: 1 !important;
	}

	.mcw-mobile-icon-menu .et_pb_icon {
		margin-bottom: 0 !important;
	}

}
/*--------------------------------------------------------------
>>>Remove Divi sidebar in results
----------------------------------------------------------------*/

#sidebar {
	display:none;
}

/* Remove thin line */
#main-content .container:before {
	background: none;
}

/* Make content 100% width */
@media (min-width: 981px){
#left-area {
	width: 100%;
	padding-right: 0px !important;
}}

#search-result .entry-featured-image-url, #search-result .post-meta {
 display: none;
}

/*--------------------------------------------------------------
>>> Center Column content
----------------------------------------------------------------*/

.center-col {
margin:auto!important;
}

.cent-col {
	margin:auto 0!important;
}


/*--------------------------------------------------------------
>>> Remove apple styling for phone link
----------------------------------------------------------------*/

a[href^=tel]{
    color:inherit;
    text-decoration: inherit;
    font-size:inherit;
    font-style:inherit;
    font-weight:inherit;
}



/*--------------------------------------------------------------
>>> Woocommerce Styling
----------------------------------------------------------------*/

/*--------------------------------------------------------------
>>> different size font VAT and EX VAT
----------------------------------------------------------------*/

.ex-vat-price {
	color:#414566;
	font-size: 26px!important;
}

.inc-vat-price {
	font-size: 14px!important;
}


/*--------------------------------------------------------------
>>> Product specifications within table
----------------------------------------------------------------*/

.custom-attributes-grid {
    display: grid;
    grid-template-columns: repeat(2, max-content auto); /* Adjust columns for labels and values */
    gap: 10px; /* Reduce the space between grid items */
    align-items: center; /* Align labels and values vertically */
}

.custom-attributes-grid .attribute-label::after {
    content: ":"; /* Add a colon after the label */
    margin-right: 5px; /* Add a small space after the colon */
}

.custom-attributes-grid .attribute-label {
    font-weight: bold;
    text-align: left;
    margin: 0; /* Remove default margin */
}

.custom-attributes-grid .attribute-value {
    text-align: left;
    background-color: #f9f9f9;
    padding: 5px;
    border-radius: 4px;
    margin: 0; /* Remove default margin */
}

/* For screens smaller than 768px, stack labels and values in a 2-column layout */
@media (max-width: 768px) {
    .custom-attributes-grid {
        grid-template-columns: repeat(2, 1fr); /* Switch to 2-column layout */
    }
}

/* For screens smaller than 480px, stack labels and values in a single column */
@media (max-width: 480px) {
    .custom-attributes-grid {
        grid-template-columns: 1fr; /* Switch to a single column */
    }
}


/*--------------------------------------------------------------
# WooCommerce / Divi Shop Builder - Hide Quantity On Variable Products
--------------------------------------------------------------*/

.woocommerce ul.products li.product.product-type-variable .quantity,
.et_pb_module ul.products li.product.product-type-variable .quantity,
.et_pb_db_shop_loop ul.products li.product.product-type-variable .quantity {
	display: none !important;
}

/*--------------------------------------------------------------
# MCW WooCommerce - Stack Variation Labels Above Dropdowns On Mobile
--------------------------------------------------------------*/

@media only screen and (max-width: 767px) {

	body.single-product .et_pb_wc_add_to_cart table.variations,
	body.single-product .et_pb_wc_add_to_cart table.variations tbody,
	body.single-product .et_pb_wc_add_to_cart table.variations tr,
	body.single-product .et_pb_wc_add_to_cart table.variations th.label,
	body.single-product .et_pb_wc_add_to_cart table.variations td.value {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		clear: both !important;
		box-sizing: border-box !important;
	}

	body.single-product .et_pb_wc_add_to_cart table.variations {
		margin: 0 0 18px !important;
	}

	body.single-product .et_pb_wc_add_to_cart table.variations tr {
		margin: 0 0 18px !important;
	}

	body.single-product .et_pb_wc_add_to_cart table.variations th.label {
		padding: 0 0 8px !important;
		text-align: left !important;
	}

	body.single-product .et_pb_wc_add_to_cart table.variations th.label label {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		line-height: 1.4 !important;
	}

	body.single-product .et_pb_wc_add_to_cart table.variations td.value {
		padding: 0 !important;
		text-align: left !important;
	}

	body.single-product .et_pb_wc_add_to_cart table.variations td.value > span {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	body.single-product .et_pb_wc_add_to_cart table.variations td.value select {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		float: none !important;
		box-sizing: border-box !important;
	}

	body.single-product .et_pb_wc_add_to_cart table.variations .reset_variations {
		display: inline-block;
		margin-top: 8px;
	}

}

