/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type="button"],[type="reset"],[type="submit"],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checklist"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

/* screen reader */
.sr-only {border:0;clip:rect(0, 0, 0, 0);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}
.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;overflow:visible;position:static;white-space:normal;width:auto}

:root{
	--brand: #d90000;
	--dark: #000000;
	--dark2: #333333;
	--light: #ffffff;
	--light2: #f5f5f5;
	--light3: #f1f1f1;
	--overlay: #00000080;
}

html {background-color: var(--white); height: 100%; overflow-x: hidden; scroll-behavior: smooth}
body {background-color: var(--white); color: var(--black); display:flex; flex-direction:column; font-family: sans-serif; margin: 0 auto; min-height: 100%}
main {flex-grow: 1; padding-top: 3rem}
h1, h2, h3, h4, h5, h6, p, li {margin: 1rem 0}
a {color: inherit}
hr {border-color: var(--brand); border-style: solid; margin: 1rem auto; width: 5rem}
img {height: auto; max-width: 100%}
mark {background-color: transparent; color: var(--brand)}
[id] {scroll-margin-top: 7rem}
.center {text-align: center}
.container {padding: 0 1rem}
.heading {font-size: 1.5rem}
.subheading {font-size: 1.125rem}
.vidwrapper {aspect-ratio: 16 / 9; margin: 2rem 0}
.vidwrapper video {height: auto; object-fit: cover; width: 100%}

/* form */
form .field {margin: 1rem 0}
input[type="email"], input[type="submit"], input[type="tel"], input[type="text"], select {background-color: var(--light); border: 1px solid var(--dark2); border-radius: 0.5rem; box-sizing: border-box; color: var(--dark); padding: 0.5rem 1rem; width: 100%}
input[type="submit"] {background-color: var(--brand); border-color: transparent; color: var(--light); cursor: pointer}
textarea.comments {display: none}
.form_disclaimer {font-size: 0.75rem}

/* social */
.social {text-align: center}
p.social {margin: 0.5rem 0}
.social a {display: inline-block; margin: 0.5rem; text-decoration: none}
.social .icon, .social .label {display: block}
.social .icon {background-color: var(--dark2); padding: 0.25rem 0.5rem; transform: skew(-20deg); transform-origin: bottom}
.social .icon img {display: block; height: 2rem; transform: skew(20deg); width: auto}
.social .label {font-size: 0.85rem}

/* header */
#header {position: fixed; top: 0; width: 100%; z-index: 10}
#header .container {padding: 0}
#header_logo_menu, #header_phone {border-bottom: 1px solid #00000080}
#header_logo_menutoggle {background-color: var(--brand); color: var(--light); display: table; table-layout:fixed; width: 100%}
#header_logo, #header_menutoggle_wrap {display: table-cell; padding: 0.5rem 1rem; vertical-align: middle}
#header_logo_logo {aspect-ratio: 5; background-image: url(/assets/img/clogo.png); background-position: center; background-repeat: no-repeat; background-size: contain; max-width: 168px}
#header_menutoggle_wrap {text-align: right}
#header_menutoggle {text-decoration: none}
#header_menutoggle span {font-size: 2rem; vertical-align: middle}
#header_nav {background-color: var(--dark2); color: var(--light)}
body.js #header_nav {display: none}
#header_nav ul {list-style: none; margin: 0; padding: 0;}
#header_nav li {margin: 0}
#header_nav a {display: block; font-size: 1.25rem; padding: 0.25rem 1rem; text-decoration: none}
#header_nav a:hover, #header_nav a:focus {background-color: var(--brand)}
#header_phone {background-color: var(--brand); border-right: 1px solid #00000080; color: var(--light); margin-top: -1px; padding: 0.5rem 2rem 0.5rem 1.5rem; transform: skew(-25deg); transform-origin: top left; width: max-content}
#header_phone a {backface-visibility: hidden; display: block; font-weight: bold; text-decoration: none; transform: perspective(1px) skew(25deg)}
#header_phone a img {display: inline-block; height: 1.25rem; vertical-align: middle; width: auto}

/* hero */
#hero {background-image: url('/assets/img/hero_960.jpg'); background-position: center; background-size: cover; color: var(--light); padding: 5rem 0 3rem; position: relative}
#hero::before {background-color: var(--overlay); content: ''; height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 1}
#hero .bgVid {display: none}
#hero .container {position: relative; z-index: 2}
#hero_copy {text-align: center}
.hero_prehead {color: var(--brand); font-size:1.25rem; font-weight: bold}
#get-started {margin-top: 4rem; text-align: center}
#get-started form {background-color: var(--light2); border-radius: 1rem; margin: 0 2rem; padding: 1rem 2rem}
/*thanks*/
main:has(#thanks) {display: flex; flex-direction: column}
#hero:has(#thanks) {flex-grow: 1}
#thanks #hero_copy {text-align: center}

/* sections */
.section {margin: 4rem 0}
.section.bg {background-color: var(--light2); margin: 0; padding: 3rem 0}
.section.bg.alt {background-color: var(--brand); color: var(--light)}
.section.bg.alt hr {border-color: var(--dark)}
.section.bg.alt2 {background-color: var(--dark2); color: var(--light)}
.section.bg.alt3 {background-color: var(--dark); color: var(--light)}
/*employers*/
#employer_carousel img {display: inline-block; float: none; vertical-align: middle}
/*programs*/
#programs .heading {color: var(--brand)}
.program_row {margin: 2rem 0}
.program_row .progimg, .program_row .copyholder {margin: 1rem 0}
.progimg {background-position: center; background-size: cover; height: 0; padding-bottom: 50%}
.progname {font-size: 1.25rem}
#progimg_block-head-associate {background-image: url('/assets/img/associate.jpg')}
#progimg_block-head-certificate {background-image: url('/assets/vid/samtech_1.jpg')}
#progimg_block-machining {background-image: url('/assets/img/block_machining.jpg')}
#progimg_head-machining {background-image: url('/assets/img/head_machining.jpg')}
#progimg_cnc-machining {background-image: url('/assets/img/cnc.jpg')}
#progimg_efi-calibration {background-image: url('/assets/img/efi.jpg')}
/*testimonials*/
.video_testimonials {background-image: url('/assets/img/diagonal_bg.png')}
.testimonial {margin: 2rem 0}
.testimonial_content {font-size: 1.125rem; font-style: italic}
.testimonial_name {font-weight: bold}
/*vid3col*/
.vidcols {background-color: var(--brand); color: var(--light)}
.vidcols .copyholder {padding: 1rem}
.vidcols .copyholder hr {border-color: var(--light)}
.vidcols .videoholder video {aspect-ratio: 16 / 9; display: block; object-fit: cover; width: 100%}
/*why-samtech*/
#why-samtech {margin-bottom: 0; text-align: center}
#why-samtech .container {padding: 0}
.why_box_wrap_wrap {padding: 0 1rem}
.why_box_icon {margin: 0 auto; width: 10rem}
#why_img {aspect-ratio: 2 / 3; background-image: url('/assets/img/sam-tech-student.jpg'); background-position: top; background-size: cover; display: flex; flex-direction: column; justify-content: end; margin: 2rem 0 0}
#why_img_copy {background-color: var(--brand); color: var(--light); font-size: 1.25rem; padding: 1rem 2rem; text-align: center}

/* footer */
#footer {position: relative; z-index: 1}
#bottom-form {text-align: center}
#footer_info {background-color: var(--dark); color: var(--light); padding: 1px 0; text-align: center}
#footer .copyright a {display: inline-block; margin: 0 0.5rem}
#footer_info {position: relative}
#footer_info:after, #footer_info:before {background-color: var(--brand); content: ''; display: block; height: 0.25rem; left: 50%; position: absolute; max-width: 40rem; width: 90%}
#footer_info::after {top: 100%; transform: translateX(-50%) skew(-45deg)}
#footer_info::before {bottom: 100%; transform: translateX(-50%) skew(45deg)}
#footer_social {padding: 0.75rem 0 0.25rem}
#footer_social .social {margin: 0}

@media(min-width: 60rem){
	body, #header {max-width: 120rem}
	hr {margin: 1rem auto 1rem 0}
	hr.center, .center hr {margin: 1rem auto}
	main {padding-top: 0}
	[id] {scroll-margin-top: 5rem}
	.cols {column-count: 3; column-gap: 2rem}
	ul.cols {padding-left: 1rem}
	.cols2 {column-count: 2}
	.cols li {break-inside: avoid; margin-top: 0}
	.container {margin: 0 auto; max-width: 80rem}
	.d-tbl {border-collapse: collapse; border-style: hidden; display: table; table-layout: fixed; width: 100%}
	.d-tbl.rev {direction: rtl}
	.d-tbl_row {display: table-row}
	.d-tbl_cell {border: 2rem solid transparent; direction: ltr; display: table-cell; vertical-align: top}
	.heading {font-size: 3rem}
	.subheading {font-size: 1.5rem}
	
	/* header */
	#header .container {padding: 0 1rem}
	#header_logo_menutoggle {background-color: transparent; display: inline-block; flex-basis: 289px}
	#header_menutoggle_wrap {display: none}
	#header_logo_menu, #header_phone {border: none}
	#header_logo_menu {display: flex;  gap: 1rem}
	#header_logo, #header_nav ul {border-bottom: 6px solid var(--brand)}
	#header_logo {background-color: var(--light); display: block; margin: 1rem 0 0 0; padding: 1rem 2rem; transform: skew(-25deg); transform-origin: bottom right}
	#header_logo, #header_phone {box-shadow: 0 0 0.5rem var(--dark)}
	#header_logo_logo {aspect-ratio: 5.45; background-image: url('/assets/img/logo.png'); max-width: none; transform: skew(20deg); width: 100%}
	#header_nav {background-color: transparent; display: block !important; flex-grow: 1; padding-bottom: 2.75rem; z-index: 1}
	#header_nav ul {background-color: var(--dark2); text-align: center; transform: skew(-25deg); transform-origin: top right}
	#header_nav li {display: inline-block}
	#header_nav a {font-size: 1rem; padding: 0.5rem 1rem}
	#header_nav a span {display: block; transform: skew(25deg)}
	#header_phone {margin: -2.5rem 1.5rem 0 auto}
	body:has(#thanks) #header_phone {margin-top: -4rem}
	
	/* hero */
	#hero {overflow: clip; padding: 10rem 0}
	#hero .bgVid {display: block; left: 50%; min-height: 100%; min-width: 100%; position: absolute; top: 50%; transform: translate(-50%, -50%); z-index: 0	}
	#hero_wrap .d-tbl_cell {vertical-align: middle}
	#hero_copy {font-size: 1.5rem; padding-right: 4rem; text-align: left}
	.hero_prehead {font-size: 1.5rem}
	#hero_copy h1 {font-size: 3rem; line-height: 1}
	#get-started {padding: 0; width: 30%}
	#get-started form {margin: 0}
	
	/* sections */
	/*employers*/
	#employers .heading {margin: 1rem auto; max-width: 55rem}
	/*programs*/
	.progimg {background-clip: padding-box; padding-bottom: 24rem}
	.program_row .copyholder, .program_row .imgholder {border-width: 4rem}
	.program_row .copyholder {vertical-align: middle}
	/*testimonials*/
	.video_flex, .testimonial_flex {display: flex; flex-wrap: wrap; justify-content: center}
	.video_flex {gap: 1rem}
	.video_flex .vidwrapper {flex-basis: calc(100% / 3 - 2rem / 3); margin: 0}
	.testimonial_flex {align-items: end; gap: 2rem}
	.testimonial_flex .testimonial {flex-basis: calc(100% / 3 - 4rem / 3); margin: 0}
	/*video3col*/
	.vidcols {align-items: stretch; display: flex}
	.vidcols .copyholder {align-self: center; flex-basis: 33%; flex-shrink: 1; padding: 1rem 2rem}
	.vidcols .videoholder {aspect-ratio: 16 / 9; flex-grow: 1}
	.vidcols .videoholder video {height: 100%; max-width: 100%; width: auto}
	/*why-samtech*/
	#why-samtech {text-align: left}
	#why-samtech .container {padding: 0 1rem}
	#why-samtech .heading {margin-top: 0}
	.why_box_wrap_wrap {padding: 0 0 1rem 0}
	.why_box_inner {display: table}
	.why_box_icon, .why_box_copy {display: table-cell; vertical-align: top}
	.why_box_icon {width: 4rem}
	.why_box_copy {padding-left: 1rem}
	.why_box_copy > :first-child {margin-top: 0}
	#why_img {aspect-ratio: auto; display: table-cell; background-clip: padding-box; vertical-align: bottom; width: 30%}
	#why_img_copy {font-size: 1.5rem}
	
	/* footer */
	#bottom-form .formwrapper {margin: 0 auto; max-width: 40rem}
	#bottom-form form {display: flex; flex-wrap: wrap; gap: 1rem}
	#bottom-form form .field {flex-basis: calc(50% - 0.5rem); margin: 0}
}