
/**
Theme Name: HMDG
Author: HMDG
Author URI: https://hmdg.co.uk/
Description: HMDG is a child theme of Astra
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hmdg
Template: astra
*/

/* 
INSTRUCTIONS:

---FOR COLORS: please use astra global colors as possible avoid using widgets individual colors as it is difficult to maintain.
---FOR FONTS: please use astra global fonts as possible avoid using widgets individual fonts as it is diffucult to maintain.
---FOR BUTTONS: as possible use astra global colors & fonts for buttons you can style buttons via elementor but use the global colors & fonts from astra.
---WHEN USING CSS: As possible use astra global variables when declaring a CSS code. For example: a{color:var(--ast-global-color-0)} you can find this variables in the root of astra just use inspect element and search root.
---NOTE: As possible avoid custom code and use widgets
*/
html, body {
	overflow-x: hidden !important;
	width: 100% !important;
}

a {
	text-decoration: none !important;
}

.cc-revoke, .cc-window {
	/*cookie banner font size from 16px to 13px just change the value if you want to modify*/
	font-size: 13px !important;
}

/*Grey Scale Image*/
.img-grey-scale {
	filter: grayscale(100%);
}

.img-grey-scale:hover {
	filter: unset !important;
}

/*end grey scale*/

/* Float column on hover */
.float-column-hover {
	transition-duration: .3s;
	transition-property: transform;
	transition-timing-function: ease-out;
}

.float-column-hover:hover {
	transform: translateY(-8px);
}

/* end */
.remove-underline-line .elementor-heading-title a, .remove-underline-line .elementor-icon-box-title a {
	text-decoration: none;
}

/*Grow column on hover*/
@media (min-width: 1024px) {
	.grow-column .elementor-widget-wrap {
		overflow: hidden;
		-ms-transition: all 1s ease !important;
		-webkit-transition: all 1s ease !important;
		-moz-transition: all 1s ease !important;
		-o-transition: all 1s ease !important;
		transition: all 1s ease !important;
	}
	
	.grow-column .elementor-widget-wrap:hover {
		-ms-transform: scale(1.1, 1.1);
		-webkit-transform: scale(1.1, 1.1);
		-moz-transform: scale(1.1, 1.1);
		-o-transform: scale(1.1, 1.1);
		transform: scale(1.1, 1.1);
	}
}

/* end */

/*Equal height of cards using flex grow*/

/*FLEX GROW: if title*/
.row-flex-direction .elementor-widget-wrap {
	flex-direction: column;
}

.row-flex-direction .elementor-widget-wrap .elementor-widget-heading {
	flex-grow: 2;
}

/*FLEX GROW: if description*/
.row-flex-direction-description .elementor-widget-wrap {
	flex-direction: column;
}

.row-flex-direction-description .elementor-widget-wrap .elementor-widget-text-editor {
	flex-grow: 2;
}

/*fullwidthbtn-mobile*/
@media (max-width:767px) {
	.fullwidth-button-mobile a.elementor-button-link {
		width: 100% !important;
	}
}

/*pulse button on hover*/
.pulse-btn-hover a.elementor-button-link:hover {
	animation: pulse-animation 2s infinite;
}

/*pulse button not hover*/
.pulse-btn-not-hover a.elementor-button-link {
	animation: pulse-animation 2s infinite;
}

/*Elementor icon pulse effect*/
.icononly-pulse-effect .elementor-icon {
	animation: pulse-animation 2s infinite;
}

/*button with text and description pulse effect*/
.icon-with-text-description-pulse-effect .elementor-icon-box-icon .elementor-icon {
	animation: pulse-animation 2s infinite;
}

@keyframes pulse-animation {
	0% {
		box-shadow: 0 0 0 0px rgba(0, 0, 0, .2);
	}
	
	100% {
		box-shadow: 0 0 0 20px rgba(0, 0, 0, 0);
	}
}

/*fixed height of hero in 4k screen/ horizontal */
@media (min-width: 1921px) {
	.fixed-height-on-4k-screen-resolution .elementor-container {
		min-height: 1000px !important;
	}
}

/* verifical big screen */
@media (min-height:1081px) and (min-width: 1920px) {
	.fixed-height-on-4k-screen-resolution .elementor-container {
		min-height: 1000px !important;
	}
	
	.autoheight-container .elementor-container {
		min-height: auto !important;
	}
}

/*set the hero height to 700px height in 320px mobile width*/
@media (max-width:320px) {
	.fixed-height-on-4k-screen-resolution .elementor-container {
		min-height: 700px !important;
	}
	
	/*change button padding on 320px mobile*/
	.elementor-button-link {
		padding-right: 15px !important;
		padding-left: 15px !important;
	}
}

/* remove scrollbar  */
::-webkit-scrollbar {
	width: 0px;
}

/*  Book Now Button CSS */
#getintouch {
	z-index: 999999;
	display: block;
}

#getintouch:hover {
	background: #333;
	border: 2px solid #333;
	color: #fff;
}

@media (min-width:768px) {
	#getintouch {
		top: calc(50% - 40px) !important;
		padding: 6px 14px 14px 14px;
		position: fixed;
		right: -38px;
		-webkit-transform: rotate(90deg);
		transform: rotate(-90deg);
		background: #fc4c54;
		border: 2px solid #fc4c54;
		color: #fff;
	}
}

@media (max-width:767px) {
	#getintouch {
		display: none;
	}
}

/* align child section/container even in 4k resolution using fullwidth parent section/container  */
@media (min-width:768px) {
	.fullwidthsection-fix-right, .fullwidthsection-fix-left {
		width: auto !important;
	}
	
	/* column right */
	.fullwidthsection-fix-right {
		margin-right: auto;
		margin-left: 0;
	}
	
	/* column left */
	.fullwidthsection-fix-left {
		margin-left: auto;
		margin-right: 0;
	}
}

/* if added social media on header, fixed align on header (Only applicable if you use astra social media) */
@media (max-width:767px) {
	.ast-header-social-wrap .ast-builder-social-element {
		margin-left: unset !important;
	}
}

/* underline hover effect */
.addlink-hover-inside-column .elementor-heading-title::after {
	content: "";
	display: block;
	width: 0;
	height: 3px;
	background: #fff;
	transition: width .3s;
}

.addlink-hover-inside-column:hover .elementor-heading-title::after {
	width: 100%;
}

/* fullwidth astra button menu on mobile */
@media (max-width:767px) {
	.ast-builder-button-wrap {
		width: 100% !important;
		text-align: center !important;
	}
}

/* make the elementor section to be fullwidth inside elementor pop up on mobile */
@media (max-width:1023px) {
	#ast-mobile-popup .ast-flex {
		display: unset !important;
	}
}

/* remove focus box shadow of inputs, textarea */
.elementor-field-group .elementor-field-textual:focus {
	box-shadow: unset;
}

/* greyscale map embed */
#mapembed {
	filter: grayscale(1);
}

/* Column background image zoom in hover effects , requires activation of background hover scale */
.zoom-in-hover-effect:hover .elementor-motion-effects-layer {
	transform: scale(1.3) !important;
}

/* remove astra mega menu sub-title if using elementor templates */
.hide-megamenu-sublabel a.menu-link {
	display: none !important;
}

/* Outline Outward button hover effect*/
.outline-outward a.elementor-button-link {
	display: inline-block;
	position: relative;
	-webkit-tap-highlight-color: transparent;
	transform: translateZ(0);
	box-shadow: 0 0 1px transparent;
	cursor: pointer;
}

.outline-outward a.elementor-button-link:before {
	content: "";
	position: absolute;
	border: #fff solid 1px;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transition-duration: .3s;
	transition-property: top right bottom left;
}

.outline-outward a.elementor-button-link:hover:before {
	top: -8px;
	right: -8px;
	bottom: -8px;
	left: -8px;
}

/* end */

/* Button line border moving effects */
@media (min-width:768px) {
	.border-moving-effect {
		width: auto !important;
	}
}

.border-moving-effect a.elementor-button-link {
	display: inline-block;
	border: 1px solid;
	cursor: pointer;
	width: auto;
}

.border-moving-effect a.elementor-button-link span.elementor-button-text {
	display: block;
}

.border-moving-effect a.elementor-button-link:before, .border-moving-effect a.elementor-button-link:after {
	content: "";
	width: 0;
	height: 2px;
	position: absolute;
	transition: all .2s linear;
	background: #fff;
}

.border-moving-effect a.elementor-button-link span.elementor-button-text:before, .border-moving-effect a.elementor-button-link span.elementor-button-text:after {
	content: "";
	width: 2px;
	height: 0;
	position: absolute;
	transition: all .2s linear;
	background: #fff;
}

.border-moving-effect a.elementor-button-link:hover:before, .border-moving-effect a.elementor-button-link:hover:after {
	width: 100%;
}

.border-moving-effect a.elementor-button-link:hover span.elementor-button-text:before, .border-moving-effect a.elementor-button-link:hover span.elementor-button-text:after {
	height: 100%;
}

.border-moving-effect a.elementor-button-link:after {
	left: 0;
	bottom: 0;
	transition-delay: .6s;
}

.border-moving-effect a.elementor-button-link span.elementor-button-text:after {
	transition-delay: .4s;
	right: 0;
	bottom: 0;
}

.border-moving-effect a.elementor-button-link:before {
	right: 0;
	top: 0;
	transition-delay: .2s;
}

.border-moving-effect a.elementor-button-link span.elementor-button-text:before {
	transition-delay: 0s;
	left: 0;
	top: 0;
}

.border-moving-effect a.elementor-button-link:hover:after {
	transition-delay: 0s;
}

.border-moving-effect a.elementor-button-link:hover span.elementor-button-text:after {
	transition-delay: .2s;
}

.border-moving-effect a.elementor-button-link:hover:before {
	transition-delay: .4s;
}

.border-moving-effect a.elementor-button-link:hover span.elementor-button-text:before {
	transition-delay: .6s;
}

/* end */

/* Remove Sub Menu Box Shadow and Top Border */
.ast-desktop .ast-mega-menu-enabled .ast-builder-menu-1 div:not( .astra-full-megamenu-wrapper) .sub-menu, .ast-builder-menu-1 .inline-on-mobile .sub-menu, .ast-desktop .ast-builder-menu-1 .astra-full-megamenu-wrapper, .ast-desktop .ast-builder-menu-1 .menu-item .sub-menu {
	box-shadow: unset;
	padding: 15px;
}

.ast-builder-menu-1 .sub-menu, .ast-builder-menu-1 .inline-on-mobile .sub-menu {
	border-top-width: 0px;
}

/* remove sub menu top border */
.ast-builder-menu-1 .sub-menu, .ast-builder-menu-1 .inline-on-mobile .sub-menu {
	border-top-width: 0px !important;
}

#ast-fixed-header .main-header-bar {
	box-shadow: unset !important;
}

@media (max-width:1023px) {
	.ast-header-html-3, .ast-header-html-2, .ast-header-html-1 {
		display: unset !important;
	}
}

/* SEARCH CSS */
.filter-form-custom {
	display: flex;
	column-gap: 15px;
	align-items: center;
}

.filter-form-custom span.divider-span {
	font-size: 12px;
}

.filter-form-custom select.clinic-option, .filter-form-custom select.job-title-option {
	width: 50%;
}

.filter-form-custom button {
	padding: 15px 30px !important;
}

.filter-form-custom span.divider-span {
	text-align: center;
}

.filter-form-custom button.clear-btn {
	padding: 5px 10px !important;
	font-size: 10px;
	font-weight: 200;
	position: relative;
	left: -10px;
	background-color: var(--text_content_color);
}

.filter-form-custom button.clear-btn:hover {
	background-color: var(--primary_red);
}

.filter-form-custom .clear-container {
	margin-left: -65px;
}

@media (min-width:768px) {
	.filter-form-custom span.divider-span {
		margin-left: -8px;
		margin-right: -8px;
	}
}

@media (max-width:767px) {
	.filter-form-custom {
		display: grid;
		row-gap: 10px;
	}
	
	.filter-form-custom select.clinic-option, .filter-form-custom select.job-title-option, .filter-form-custom button {
		width: 100%;
	}
	
	.filter-form-custom span.divider-span {
		text-align: left !important;
		line-height: 0px;
		margin-top: -10px;
	}
	
	.filter-form-custom button.clear-btn {
		width: 52px;
		text-align: right;
		margin-left: unset;
		left: unset;
		margin-top: -64px;
		right: 15px;
	}
	
	.filter-form-custom .clear-container {
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
}

.filter-form-custom select {
	appearance: none;
	font-weight: 300;
	color: var(--text_content_color);
}

.filter-form-custom select optgroup {
	background-color: #f2f2f2;
	color: var(--primary_matt_black);
}

.filter-form-custom select option {
	background-color: var(--white);
	color: var(--text_content_color);
	font-size: 17px;
}

/*Search Result*/
.search-result-team {
	text-align: center;
	color: var(--primary_red) !important;
}

.team-search-results {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px 30px;
	grid-auto-flow: row;
}

.team-search-results .team-member {
	border: 1px solid var(--text_content_color);
	border-radius: 5px;
	padding: 40px 20px 80px 20px;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: normal;
	align-items: center;
	gap: 20px;
	position: relative;
}

.team-search-results .team-member:hover {
	border-color: var(--primary_red) !important;
}

.team-search-results .team-member img {
	width: 70px;
	height: 70px;
	object-fit: cover;
	object-position: center center;
	border-style: none;
	border-radius: 50% 50% 50% 50%;
}

.team-search-results .team-member h4 {
	margin-bottom: 0px;
	text-align: center;
}

.team-search-results .team-member h4 a {
	color: var(--primary_matt_black) !important;
}

.team-search-results .team-member p, .team-search-results p.cliniclocation {
	font-size: 14px;
	line-height: 1.5em;
	text-align: center;
	margin-top: -10px;
}

.team-search-results a.btn-icon-custom {
	background: var(--primary_matt_black);
	font-size: 17px;
	height: 34px;
	width: 34px;
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	bottom: 40px;
}

.team-search-results a.btn-icon-custom:hover {
	background: var(--primary_red);
}

.team-search-results a.btn-icon-custom svg {
	width: 17px;
}

.team-search-results p.cliniclocation {
	margin-bottom: 0px;
}

.team-search-results .cliniclocation-heading {
	font-size: 14px;
	margin-bottom: 0px;
	margin-top: -15px;
}

@media (max-width:1024px) {
	.team-search-results {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width:767px) {
	.team-search-results .team-member h4 {
		font-size: 21px;
	}
	
	.team-search-results {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	
	.team-search-results .team-member p, .team-search-results p.cliniclocation {
		font-size: 12px;
	}
}

.search-result-count {
	text-align: center;
}
