/**
Theme Name: Dynamech
Author: Giraffical
Author URI: https://giraffical.co.uk
Description: A custom child theme of Astra for Dynamech Technical Services Ltd
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: dynamech
Template: astra
*/

:root {
  --color-primary: #F4A100;
  --color-secondary: #717F7F;
  --color-dark: #333333;
  --color-light: #F7F6F5;
  --color-white: #ffffff;
}

/* General */
html {
	font-size: 10px;
}
body {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.3;
}
body, button, input, select, textarea, .ast-button, .ast-custom-button,
body p {
	font-size: 18px;
}
.elementor-button, a {
	transition: all ease-in-out 0.6s;
}
.entry-content h1, h1, #page-hero h2 {
	font-size: 4rem;
}
.entry-content h2, h2 {
	font-size: 3.4rem;
}
.entry-content h3, h3 {
	font-size: 3rem;
}
.entry-content h4, h4 {
	font-size: 2.4rem;
}
.entry-content h4.small {
	font-size: 2.4rem;
}
.entry-content h5, h5 {
	font-size: 20px;
	text-transform: uppercase;
}
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
	margin-bottom: 0.5em;
}
.entry-content h4 a, .entry-content h3 a {
	font-size: inherit;
}
body .elementor-button.elementor-size-sm, body .elementor-button.elementor-size-xs, body .elementor-button.elementor-size-md, body .elementor-button.elementor-size-lg, body .elementor-button.elementor-size-xl, body .elementor-button,
.menu-toggle, button, .ast-button, .ast-custom-button, .button, input#submit, input[type="button"], input[type="submit"] {
	font-size: 14px;
}
.entry-content p {
	margin-bottom: 1em;
}
p:empty {
	margin-bottom: 0;
}
a {
	transition: all ease-in-out 0.6s;
}
a, button,
a:hover, button:hover,
a:active, button:active {
	outline: 0 !important;
}
#masthead a.elementor-button-link {
	transition: background-color ease-in-out 0.6s;
}
body a.elementor-button:hover,
body a.elementor-button:active,
body a.elementor-button:focus {
	color: #fff !important;
}
body .elementor-button-wrapper .elementor-button {
	line-height: 1.2;
}
body #masthead .elementor-button-wrapper .elementor-button {
	line-height: 1;
}
body a:where(:not(.wp-element-button)) {
	text-decoration: none !important;
}
hr, .page-id-3 .elementor hr {
  margin-top: 4rem;
  margin-bottom: 3.5rem;
  border-bottom: 0;
  border-top: 1px solid #ddd;
}


/* Spacings */
.pad {
	padding-left: 30px !important;
	padding-right: 30px !important;
}
.pd-left {
	padding-left: 15px;
}
.pd-right {
	padding-right: 15px;
}
.pdt110 {
	padding-top: 11rem;
}
.pdb110 {
	padding-bottom: 11rem;
}
.pdt90 {
	padding-top: 9rem;
}
.pdb90 {
	padding-bottom: 9rem;
}
.mgt110 {
	margin-top: 11rem;
}
.mgt90 {
	margin-top: 9rem;
}
.mgt60 {
	margin-top: 6rem;
}
.mgt40 {
	margin-top: 40px;
}
.mgt30 {
	margin-top: 30px;
}
.mgt10 {
	margin-top: 10px;
}
.mgt20 {
	margin-top: 20px;
}
.mgb110 {
	margin-bottom: 11rem;
}
.mgb90 {
	margin-bottom: 9rem;
}
.mgb60 {
	margin-bottom: 6rem;
}
.mgb40 {
	margin-bottom: 40px;
}
.mgb20 {
	margin-bottom: 20px;
}
.mgb10 {
	margin-bottom: 10px;
}
.mgb0 {
	margin-bottom: 0 !important;
}

/* Header */
body .ast-logo-title-inline .ast-site-identity {
  padding: 25px 0;
}
.main-header-menu a.menu-link {
  color: #333333;
  font-weight: 500;
}
.main-header-menu .menu-item:hover > .menu-link, .main-header-menu .menu-item:hover > .ast-menu-toggle, .main-header-menu .ast-masthead-custom-menu-items a:hover, .main-header-menu .menu-item.focus > .menu-link, .main-header-menu .menu-item.focus > .ast-menu-toggle, .main-header-menu .current-menu-item > .menu-link, .main-header-menu .current-menu-ancestor > .menu-link, .main-header-menu .current-menu-item > .ast-menu-toggle, .main-header-menu .current-menu-ancestor > .ast-menu-toggle,
.current-post-ancestor.current-menu-parent > a, .single-post .main-header-menu .current_page_parent > a {
	color: #F4A100;
}
.single-post.single-format-aside .main-header-menu .current_page_parent > a,
.single-post.single-format-audio .main-header-menu .current_page_parent > a {
	color: #F4A100;
}
.single-post.single-format-aside .main-header-menu .current_page_parent > a:hover,
.single-post.single-format-audio .main-header-menu .current_page_parent > a:hover {
	color: #F4A100;
}
.main-header-bar {
	border-bottom: 0;
}
header .site-logo-img .custom-logo-link img {
	max-width: 220px;
}
.main-navigation {
	font-size: 16px;
}
.main-header-bar .main-header-bar-navigation .menu-item-has-children > .menu-link::after {
	font-size: 1rem;
}
body .ast-menu-toggle {
	border-style: none;
}
body.ast-theme-transparent-header [CLASS*="ast-builder-menu-"] .main-header-menu ul.sub-menu .menu-item > .menu-link {
	color: #4b4f58;
}
body.ast-theme-transparent-header [CLASS*="ast-builder-menu-"] .main-header-menu ul.sub-menu .menu-item > .menu-link:hover {
	color: #F4A100;
}
#linked-in a.elementor-social-icon:hover {
	background: #F4A100;
}
#linked-in a.elementor-social-icon:hover > .fa-linkedin-in {
	color: #fff;
}

/* Homepage */
/*#home-hero #hero-content {
	margin-bottom: 149px;
}*/
#home-hero h1 {
	font-size: 30px;
	text-transform: uppercase;
	font-weight: 600;
}
#home-hero h2 {
	text-transform: none;
	font-weight: 600;
	font-size: 5.2rem;
}
#home-hero p {
	font-size: 20px;
	font-weight: 400;
}
#home-hero .elementor-icon-box-content p {
	font-size: 23px;
	font-weight: 500;
}
#home-carousel .logo-ticker-wrap {
  overflow: hidden;
  width: 100%;
  padding: 20px 0;
}
#home-carousel .logo-ticker-inner {
  display: flex;
  align-items: center;
  gap: 100px;
  width: max-content;
  animation: ticker 25s linear infinite;
}
#home-carousel .logo-ticker-inner img {
  height: 40px;
  width: auto;
  object-fit: contain;
  opacity: 1;
  transition: all 0.3s ease;
}
#home-carousel .logo-ticker-inner img:hover {
  filter: grayscale(0%);
  opacity: 1;
}
#home-carousel .logo-ticker-wrap {
	-webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
	mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
}
@keyframes ticker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-33%); }
}
#home-services h3 {
	font-size: 20px;
}
#home-services p {
	font-size: 20px;
}
#home-services .service p {
	font-size: 16px;
}

/* Other Pages */
#cmplz-document {
	font-size: 16px;
	max-width: 100%;
}
.entry-content ol {
	margin-left: 17px;
}
body .elementor-widget .elementor-icon-list-item, body .elementor-widget .elementor-icon-list-item a {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: start;
	line-height: 1.5;
}
body .elementor-icon-list-item {
	margin-bottom: 5px;
}
.elementor-widget-icon-list .elementor-icon-list-icon i {
	padding-top: 6px;
}
body .ast-container, body .ast-container-fluid {
	padding-left: 30px;
	padding-right: 30px;
}
#page-hero {
	padding-top: 24rem;
	padding-bottom: 0px;
}
body .uael-gf-style .uael-gf-select-custom::after {
	font-family: 'Font Awesome 5 Pro';
	margin-right: 5px;
}
.elementor-popup-modal #gform_confirmation_message_1 {
	margin-bottom: 20px;
	font-size: 18px;
	text-align: center;
	padding-top: 10px;
	padding-bottom: 10px;
}
body .ecs-icon.elementor-widget .elementor-icon-list-icon {
	margin-top: 6px;
}
#compliance h2 {
	font-size: 24px;
	text-transform: uppercase;
}
.page-id-1846 #contact-enquiry input#gform_submit_button_1 {
	margin-top: -10px;
}
#promise .elementor-widget .elementor-icon-list-item a {
	display: inline;
}
#services h2 {
	font-size: 3.4rem;
}
#services p {
	font-size: 20px;
}
body .gform_wrapper.gravity-theme .gfield_label {
	font-weight: 500;
	margin-bottom: 5px;
}
body label.gfield_consent_label::before {
	position: absolute;
	left: -20px;
	top: 3px;
}
body label.gfield_consent_label {
	position: relative;
	left: 20px;
	font-size: 14px;
	display: inline-block;
	width: calc(100% - 25px);
}
body #contact-enquiry label.gfield_consent_label::before {
	border-width: 2px;
	border-style: solid;
	top: 6px;
}


/* Footer */
.ast-footer-html-1 img {
	max-width: 300px;
}
.site-footer-primary-section-1 .ast-builder-html-element p {
	font-size: 18px;
	line-height: 1.4;
}
body #colophon h2.widget-title,
body #colophon h4.widget-title {
	font-size: 20px;
	text-transform: uppercase;
}
body .ast-footer-copyright p {
	font-size: 16px;
}
body #colophon a {
	color: var(--color-primary);
}
body #colophon a:hover {
	color: #F6B833;
}
body #colophon a.menu-link {
	display: inline-block;
	margin: 5px 0;
}
#text-3 a {
	display: inline-block;
	margin-top: 15px;
}

/* Responsive */
@media (min-width: 1315px) {
	#partners .swiper-slide {
		margin-right: 100px !important;
		width: 150px !important;
	}
}
@media (max-width: 1266px) {
	#intro-col {
		width: 80%;
	}
	#spare-col {
		width: 20%;
	}
}
@media (max-width: 1200px) {
	.main-header-menu > .menu-item {
		padding: 0;
	}
	.main-navigation li {
		font-size: 16px;
	}
}
@media (min-width: 1025px) {
  .ast-builder-menu .main-navigation > ul {
	height: 100%;
  }
  .site-header-section .ast-builder-menu {
	padding-right: 0;
	height: 100%;
	}
	body .ast-container {
		max-width: 1260px;
	}
	/*#menu-item-860 a {
		padding-right: 0;
	}*/
}
@media (max-width: 1024px) {
	.mgb20-tab {
		margin-bottom: 20px !important;
	}
	.bg-no-tab {
		background-image: none !important;
	}
	body #masthead .ast-mobile-header-wrap .ast-primary-header-bar, body #masthead .ast-mobile-header-wrap .ast-below-header-bar {
		padding-left: 30px;
		padding-right: 30px;
	}
	#home-intro {
		background-image: linear-gradient(90deg, #F7F6F500 50%, #F7F6F500 50%);
	}
	#ast-mobile-site-navigation ul.main-header-menu {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	#page-hero {
		padding-top: 16rem;
	}
	#home-hero {
		margin-top: 0;
		padding-top: 149px;
	}
	.footer-widget-area[data-section="sidebar-widgets-footer-widget-3"] {
		margin-top: 0;
	  }
}
@media (max-width: 967px) {
	#intro-col {
		width: 90%;
	}
}
@media (max-width: 920px) {
	.ast-small-footer.footer-sml-layout-2 {
		font-size: 15px;
	}
}
@media (max-width: 862px) {
	#home-hero h2 {
		font-size: 40px;
	}
	#home-hero h1 {
		font-weight: 600;
		font-size: 26px;
	}
	#home-hero p {
		font-size: 18px;
	}
}
@media (max-width: 767px) {
	html {
		font-size: 10px;
	}
	body {
		font-size: 16px;
	}
	.pd-left {
		padding-left: 0;
	}
	.pd-right {
		padding-right: 0;
	}
	.mgb0-mob {
		margin-bottom: 0 !important;
	}
	.mgb20-mob {
		margin-bottom: 20px !important;
	}
	.footer-adv-layout-1 .footer-adv-widget {
		text-align: center;
	}
	.bg-no-mob {
		background-image: none !important;
	}
	.site-branding img, .site-header .site-logo-img .custom-logo-link img {
		max-width: 240px;
	}
	#home-hero {
		margin-top: 0;
		padding-top: 0;
	}
	#home-hero #hero-content {
		margin-bottom: 60px;
		margin-top: 60px;
	}
	#intro-col {
		width: 100%;
	}
	#page-hero .elementor-background-overlay {
		opacity: 0;
	}
	body .elementor-widget .elementor-icon-list-item,
	body .elementor-widget .elementor-icon-list-item a {
		font-size: 18px;
	}
	body #colophon p {
		font-size: 16px;
	}
	body #colophon .ast-footer-copyright p {
		font-size: 14px;
	}
	.footer-widget-area[data-section="sidebar-widgets-footer-widget-3"] {
		margin-top: 30px;
	  }
}
@media (max-width: 580px) {
	#home-hero h2 {
		font-size: 30px;
		letter-spacing: 0;
	}
	#home-hero h1 {
		font-weight: 500;
		font-size: 21px;
	}
	#home-hero p {
		font-size: 18px;
	}
	body p {
		font-size: 17px;
	}
}
@media (max-width: 540px) {
	html {
		font-size: 7px;
	}
	.entry-content h1, h1, #page-hero h2 {
		font-size: 3.6rem;
	}
	.entry-content h4, h4, .entry-content h4.small,
	.entry-content .team-profile h4 {
		font-size: 20px;
	}
	.entry-content h5, h5 {
		font-size: 18px;
	}
	body .uael-dual-button-wrap .uael-button-wrapper,
	body .elementor-button-wrapper .elementor-button {
		display: block;
		width: 100%;
		float: none;
	}
}
