/* ==========================================================================
   BOYD METALS — migrated custom CSS
   --------------------------------------------------------------------------
   Source 1: Divi-Child/style.css                       (theme file)
   Source 2: Appearance > Customize > Additional CSS    (wp_posts ID 7157;
             Divi also kept a synced copy in et_divi['divi_custom_css'])

   Only theme-independent rules live here — custom classes, IDs and plugin
   selectors that keep working on Elementor pages.

   Divi-only selectors (.et_pb_*, #main-header, #top-header, #et-main-area, …)
   are kept separately in assets/css/legacy-divi.css
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. GLOBAL
   -------------------------------------------------------------------------- */

/* TODO: once Elementor Site Settings > Typography is configured, remove these
   two rules and manage them from there. Kept for now so the look does not
   change during the migration. */
h2 {
	font-family: 'plateia' !important;
}

body {
	background-color: #fff !important;
}
.page-id-8931{
	background-color: #dfe2e9!important;
}

/* --------------------------------------------------------------------------
   2. DOWNLOAD PDF POPUP
   Script lives in assets/js/custom.js (was inline in Divi-Child/footer.php)
   -------------------------------------------------------------------------- */

#download-pdf {
	position: fixed;
	bottom: 0;
	right: 0;
	box-shadow: 1px 1px 10px #000;
	opacity: 0;
	z-index: -1;
	transition: all ease 0.5s;
	height: 500px;
	width: 700px;
	padding: 20px 10px 0;
	overflow-x: hidden;
	overflow-y: auto;
}

.popup-show #download-pdf {
	display: block;
	opacity: 1;
	z-index: 1222;
}

#download-pdf iframe {
	width: 100% !important;
}

#download-pdf h5 {
	font-size: 18px;
	line-height: 1.3;
	font-weight: bold;
}

.close-btn {
	height: 40px;
	width: 40px;
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
}

.close-btn:before {
	content: "+";
	font-size: 40px;
	color: #000;
	font-weight: 400;
	transform: rotate(45deg);
	position: absolute;
	left: 10px;
	top: 10px;
}

/* HubSpot embedded form inside the popup */
.hbspt-form-1620798318770-4131314701 .field {
	margin-bottom: 5px;
}

@media (max-width: 768px) {
	#download-pdf {
		height: 470px;
		width: 100%;
		overflow-x: hidden;
		overflow-y: auto !important;
		overflow: scroll !important;
		-webkit-overflow-scrolling: touch !important;
	}
}

@media (max-height: 450px) {
	#download-pdf {
		height: 180px;
		width: 100%;
		overflow-x: hidden;
		overflow-y: auto !important;
	}
}


/* --------------------------------------------------------------------------
   3. FEATURE BOXES
   -------------------------------------------------------------------------- */

.feature-wrap .feature-item {
	width: 25%;
	float: left;
	padding: 0 27px;
}

.features_row {
	display: flex;
	margin: 0 auto;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}


/* --------------------------------------------------------------------------
   4. BUTTONS / LINKS
   -------------------------------------------------------------------------- */

span.view_all a {
font-size: 18px;
    color: #40b93a;
    letter-spacing: 0.4px;
    font-weight: 400 !important;
    margin-left: 30px;
    font-family: 'plateia' !important;
}

.green_btn {
	background: #3FB93A;
	font-size: 18px;
	padding: 6px 20px 6px 20px !important;
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
	color: #ffffff;
	text-transform: uppercase;
	line-height: 28px;
	font-weight: 700;
	border-radius: 10px;
	border: 2px solid #f46f2c;
	transition: all 0.5s ease;
}

.green_btn:hover {
	color: #3FB93A;
}

.orange_btn:hover {
	color: #f46f2c;
}


/* --------------------------------------------------------------------------
   5. LASER CUTTING PAGE
   -------------------------------------------------------------------------- */

.laser_main {
	width: 85%;
	margin: 0 auto;
}

.laser1 {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	background: linear-gradient(90deg, #005C3B 0%, #007342 100%);
	border-radius: 100px;
	padding: 10px 28px;
}

.laser1 a {
	display: flex;
	align-items: center;
}

.laser1 img {
	width: 90%;
	position: relative;
	top: 8px;
}

p.lsr_txt {
	margin-left: 20px;
	color: #fff;
	font-size: 24px;
	line-height: 26px;
	padding-bottom: 0 !important;
	font-family: 'plateia';
	font-weight: 400;
}

div#rdm_more {
	border: 0.996px solid #005C3B;
	box-shadow: 0 3.983px 7.966px 4.979px rgba(0, 0, 0, 0.25);
	border-radius: 20px;
	background: #fff;
	padding-top: 45px;
}

div#lsr_capb h2,
div#M3D-Laser-Cutt h2,
div#download_frm h2,
div#TDF_hd h2 {
	color: #005C3B;
	font-size: 29px;
	font-family: 'Karla';
	line-height: normal;
	font-weight: 700;
}

div#lsr_capb p,
div#M3D-Laser-Cutt p,
div#lc_ftures p,
div#rltt p {
	color: #000;
	font-size: 16px;
	font-weight: 400;
	line-height: 25px;
}

.TDFd_hd h2 {
	margin-top: 16px;
	margin-bottom: -18px;
}

div#lc_ftures {
	border: 1px solid #005C3B;
	border-radius: 20px;
	padding: 50px 33px;
	margin-top: 3px;
}

div#ls_ky_fture {
	text-align: center;
}

div#ls_ky_fture h2 {
	color: #005C3B;
	font-family: 'plateia';
	font-size: 30px;
	line-height: normal;
	font-weight: 400;
}

div#fiber_lsr_kf {
	box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.40);
	padding-left: 45px;
	padding-right: 45px;
}

div#fl1 {
	text-align: center;
	border: 2px solid #fff;
	width: 100%;
	padding: 20px;
}

div#fl1 p {
	color: #fff;
}

div#rltt {
	border: 1px solid #005C3B;
	border-radius: 20px;
	padding: 45px 28px;
}

div#lcskf {
	width: 88%;
	margin: 0 auto;
}

div#lcskf p {
	font-size: 16px;
	color: #000;
	line-height: 25px;
	font-weight: 700;
}

div#lcskf a {
	margin-top: 15px;
}

div#lcskf a:hover {
	background: #f46f2c;
}

div#lcc_mn p {
	font-size: 16px;
	line-height: 25px;
	font-weight: 400;
	margin-bottom: 38px;
}

div#ftl1 {
	border: 2px solid #fff;
	text-align: center;
	color: #fff;
	padding: 45px 20px 40px;
	height: 157px;
}

div#ftl2,
div#ftl3 {
	border: 2px solid #fff;
	text-align: center;
	padding: 50px 20px 57px;
	height: 157px;
}

div#ftl4 {
	border: 2px solid #fff;
	text-align: center;
	padding: 20px;
	height: 157px;
}

div#ftl1 p,
div#ftl2 p,
div#ftl3 p,
div#ftl4 p {
	color: #fff;
}


/* --------------------------------------------------------------------------
   6. ICON LIST BLOCKS
   -------------------------------------------------------------------------- */

p.icn_hd {
	display: flex;
	align-items: center;
	padding-bottom: 0;
}

p.icn_hd img {
	margin-right: 7px;
	position: relative;
	top: 3px;
}

p#icn_sp1 {
	margin-top: 15px;
}

p#icn_s2 {
	margin-top: 13px;
	margin-bottom: 13px;
}

p.icn_hd_cnt {
	margin-left: 47px;
	margin-top: -5px;
}

.sp_stt p {
	padding-bottom: 0;
}

.sp_stt p.icn_hd_cnt {
	margin-left: 50px;
	margin-top: -34px;
	margin-bottom: 15px;
}


/* --------------------------------------------------------------------------
   7. HEADINGS / IMAGE-TEXT BLOCKS
   -------------------------------------------------------------------------- */

div#hbfrm_ston h2 {
	font-size: 29px;
	line-height: normal;
	color: #000;
	font-weight: 700;
	text-transform: uppercase;
}

h2.ebm_l {
	text-transform: uppercase;
	color: #000;
	font-size: 29px;
	font-weight: 700;
	padding-bottom: 0;
}

h2.bms_hd {
	text-transform: uppercase;
	color: #fff;
	font-size: 29px;
	font-weight: 700;
	padding-bottom: 20px;
}

div#by_img2 {
	margin-left: -35px;
	margin-top: -95px;
	position: relative;
	z-index: -1;
}

.img_text {
	color: #FFF;
	font-family: Karla;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 22px;
	border-radius: 20px;
	border: 2px solid #FFF;
	box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
	position: relative;
	padding: 31px 39px 31px 50px;
	z-index: -1;
	min-height: 232px;
	align-items: center;
	display: grid;
}

.img_text h4 {
	color: #fff;
	font-weight: 700;
}

.img_round {
	margin-right: -50px;
}

.img_round img {
	width: 300px;
}

.img-box {
	display: flex;
	align-items: center;
	position: relative;
}


/* --------------------------------------------------------------------------
   8. TEAM  (plugin: tlp-team)
   -------------------------------------------------------------------------- */

.rt-team-container-8229 {
	margin-top: -29px;
}

.tlp-team-isotope {
	margin-top: 15px;
}

.tlp-content {
	background: transparent !important;
	text-align: center;
	padding-bottom: 2px !important;
}

.tlp-content h3 {
	color: #fff;
	font-size: 22px;
	line-height: 1.3;
	font-weight: 500;
	margin-bottom: 0 !important;
}

.teamd_main .tlp-content h3 {
	color: #333;
	font-size: 21px;
	font-weight: 500;
	line-height: 1em;
}

.rt-team-container h3 a {
	text-decoration: none !important;
	color: #333;
	font-size: 21px;
	font-weight: 500;
	line-height: 1em;
}

.rt-team-container .button-group button {
	background: transparent !important;
	font-weight: 600 !important;
	padding: 11px 16px;
	font-size: 14px;
	color: #5e5e5e;
	text-transform: uppercase;
	letter-spacing: 0.015em;
	line-height: 1.4;
	cursor: pointer;
}

.rt-team-container .button-group button:hover {
	opacity: unset;
	color: #40b93a;
}

.rt-team-container .button-group .selected {
	background: #40b93a !important;
	color: #fff;
}

.rt-team-container .button-group .selected:hover {
	color: #fff;
}

.short-bio {
	text-align: center;
	color: #898989;
	font-weight: 500;
	font-size: 15px;
	line-height: 18px;
	margin-top: 10px !important;
	height: auto;
}

.short-bio p {
	margin-bottom: 3px !important;
}

.contact-info ul li {
	display: flex;
	align-items: center;
	justify-content: center;
}

.rt-team-container .contact-info i {
	color: #34b34a;
}

li.tlp-email a {
	color: #898989 !important;
	text-decoration: none;
	font-weight: 500;
	font-size: 15px;
}

.single-team-area img {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
	-webkit-transition: all .6s;
	-o-transition: all .6s;
	transition: all .6s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.teamd_main .single-team {
	height: 253px;
	position: relative;
	overflow: hidden;
	display: block;
}

.teamd_main .single-team img {
	min-height: 300px;
	max-height: 300px;
	object-fit: cover;
	object-position: 54% 50%;
}


/* --------------------------------------------------------------------------
   9. WEIGHT CALCULATOR / QUOTE / LOCATIONS / VIDEOS
   -------------------------------------------------------------------------- */

.wg_ft .fs1 {
	padding-bottom: 0;
	font-weight: bold;
}

div#wg_phg p {
	color: #000;
	font-size: 15px;
	font-weight: 400;
	line-height: 20px;
}

div#wsg_qt h2 {
	text-align: left;
	font-size: 30px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: normal;
	color: #000;
}

div#wsg_qt p {
	text-align: left;
	font-size: 16px;
	color: #000;
	line-height: 30px;
	font-weight: 400;
}

.fs {
	margin-top: 20px;
}

.fs p,
.jp p,
.LR p {
	font-weight: bold !important;
}

.fs ul,
.jp ul,
.LR ul {
	padding-left: 28px;
	padding-bottom: 3px;
}

.lct_up h2 {
	font-weight: 700;
	font-size: 30px;
	text-transform: uppercase;
}

div#mre_wtch h2 {
	color: #000;
	font-size: 30px;
	text-transform: uppercase;
	font-weight: 700;
}

div#mre_wtch p {
	font-size: 16px;
	color: #000;
	font-weight: 400;
	line-height: 20px;
}

.wtcvd_st {
	box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
	border-radius: 20px;
	border: 1px solid #DCDCDC;
	padding-bottom: 30px;
}

.wtcvd_st p {
	text-align: center;
	color: #000;
	font-weight: 400;
	font-size: 16px;
	line-height: 20px;
}

.wtcvd_st img {
	width: 100%;
}

.mi_prg {
	padding-left: 30px;
	padding-right: 30px;
}

/* plugin: wp-carousel-free */
.wpcp-single-item {
	border: none !important;
}


/* --------------------------------------------------------------------------
   10. BLOG LISTING  (plugin: wp-show-posts)
   -------------------------------------------------------------------------- */

#wpsp-127 .wp-show-posts-inner .wpsp-read-more a.wp-show-posts-read-more {
	padding: 0;
	border: none;
	color: #40b93a;
	font-size: 17px;
	font-weight: 600;
	text-transform: capitalize;
	transition: all 0.5s ease;
}


/* --------------------------------------------------------------------------
   11. FOOTER  (already targets Elementor markup)
   -------------------------------------------------------------------------- */

@media (max-width: 1300px) {
	div#footer_main {
		display: block;
	}
	div#footer_logo {
		width: 100%;
		margin-bottom: 50px;
	}
	div#footer_mid {
		width: 100%;
	}
	div#footer_mid > .elementor-element:last-child {
		padding: 0;
		margin-bottom: 50px;
	}
}

@media (max-width: 767px) {
	div#footer_mid > .elementor-element:last-child,
	div#footer_logo {
		margin-bottom: 20px;
	}
}


/* --------------------------------------------------------------------------
   12. RESPONSIVE — misc
   -------------------------------------------------------------------------- */

@media only screen and (max-width: 667px) {
	.laser1 img {
		width: 100%;
	}
	p.lsr_txt {
		margin-left: 12px;
		color: #fff;
		font-size: 10px;
		line-height: 18px;
		padding-bottom: 0 !important;
		font-family: 'plateia';
		font-weight: 400;
	}
	div#lcp_m {
		display: block;
	}
	div#by_img2 {
		margin-left: 6px;
		margin-top: 0;
		position: relative;
		z-index: -1;
	}
}

@media (min-width: 1400px) {
	.teamd_main .single-team {
		height: 262px;
	}
}

@media (min-width: 1600px) {
	.teamd_main .single-team {
		height: 270px;
	}
}

@media (min-width: 1800px) {
	.teamd_main .single-team {
		height: 275px;
	}
}
