/* Channel 02 - Enterprise Services */

/* Set global channel parameters */
body { font-size: 16px; background-color: #006082; background-attachment: fixed; background-position: center; }
a { text-decoration: none; }

/* Optimized styles */
.optimized .panel { box-shadow: none; }
.optimized .starfield { animation-play-state: paused; }

/* Parallax backgrounds */
.slide_belt { position: fixed; width: 100%; overflow: hidden; }
.starfield {  width: 4000px; height: 446px; background: url(/images/ch02_eps/starfield_gradient.jpg?height=446) top center repeat-x; background-size: auto 446px; animation-name: slowpan; animation-duration: 150s; animation-iteration-count: infinite; animation-timing-function: linear; }
.webp .starfield { background-image: url(/images/ch02_eps/starfield_gradient.jpg?format=webp&quality=70&height=446); }
.angle_gradient { position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: url(/images/ch02_eps/eps_legacy_gradient.jpg) no-repeat center 446px fixed; }
@supports(background: conic-gradient(red, orange)) {
    .angle_gradient {  background:conic-gradient(from 0deg at 50% 360px, rgba(0, 96, 130, 0) 23%, rgba(175, 153, 13, 0.4) 25%, rgba(175, 153, 13, 0.4) 30%, rgba(138, 23, 23, 0.45) 34%, rgba(138, 23, 23, 0.45) 46%, rgba(0, 102, 161, 0.45) 54%, rgba(0, 102, 161, 0.45) 66%, rgba(43, 139, 123, 0.5) 70%, rgba(43, 139, 123, 0.5) 75%, rgba(0, 96, 130, 0) 77%); } 
}

.es_ball { position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: url(/images/ch02_eps/enterprise_ball.png) no-repeat center 60px; background-size: 360px auto; }

@keyframes slowpan { from {background-position: 0 0;} to { background-position: 100% 0; }}

/* Set containers */
.body_outer { position: relative; margin: 0 auto; min-width: 320px; max-width: 1140px; }
.body_inner { position: relative; overflow: hidden; padding: 36px 15px 0; }

/* Set title */
.es_header { position: relative; padding: 3em 24px 1.2em; }
.es_headertitle { position: relative; z-index: 2; background-repeat: no-repeat; background-position: center; background-size: contain; margin: 0 auto; }
.es_headertitle span { display: none; }

.no-js .animate_ready { opacity: 1; }
.animate_ready { opacity: 0; transform: scale(0.8); }

/* Set panels */
.panels { height: 100%; position: relative; z-index: 2; display: flex; justify-content: space-between; overflow: hidden; }
.panel { position: relative; overflow: hidden; margin: 0 9px 18px; width: 260px; height: 500px; border: 1px solid #000000; box-shadow: 3px 3px 3px rgba(0,0,0,0.4); background-position: center; border-radius: 10px; background-size: 600px; flex: 1 0 260px; }
.panel div.gradient {
	position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 8px;
	background: -moz-linear-gradient(top,  rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 50%, rgba(0,0,0,0) 70%, rgba(0,0,0,0.6) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0.6)), color-stop(50%,rgba(0,0,0,0)), color-stop(70%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,0.6)));
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0.6) 0%,rgba(0,0,0,0) 50%,rgba(0,0,0,0) 70%,rgba(0,0,0,0.6) 100%); 
	background: -o-linear-gradient(top,  rgba(0,0,0,0.6) 0%,rgba(0,0,0,0) 50%,rgba(0,0,0,0) 70%,rgba(0,0,0,0.6) 100%); 
	background: linear-gradient(to bottom,  rgba(0,0,0,0.6) 0%,rgba(0,0,0,0) 50%,rgba(0,0,0,0) 70%,rgba(0,0,0,0.6) 100%); 
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80000000', endColorstr='#80000000',GradientType=0 ); 
}
.panel .textarea { position: relative; padding: 16px 8px; }
.panel .textarea h2 { font-family: 'Heebo', sans-serif; font-weight: 100; font-size: 72px; color: #FFFFFF; text-align: center; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; line-height: 120%; }
.panel a { position: absolute; top: 0; display: block; width: 100%; height: 100%; }
.panelimage_container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-perspective: 300px; -moz-perspective: 300px; perspective: 300px; }
.panelimage { position: absolute; top: 0; left: 0; background-size: contain; } 


/* Animations */
.animate_flip, .animate_spin, .animate_slide, .animate_rotate, .animate_zoom, .zoomclone { -webkit-transition: -webkit-transform 1s, opacity 1s; -moz-transition: -moz-transform 1s, opacity 1s; -o-transition: -o-transform 1s, opacity 1s; transition: transform 1s, opacity 1s; }
.no-touchdevice .panel:hover .animate_flip,
.panel.hover .animate_flip { -ms-transform: rotateY(360deg); -webkit-transform: rotateY(360deg); -moz-transform: rotateY(360deg); -o-transform: rotateY(360deg); transform: rotateY(360deg);  }
.panel .animate_slide:after { content: ""; display: block; position: relative; background-repeat: no-repeat; background-position: center; background-size: contain; }
.no-touchdevice .panel:hover .animate_slide,
.panel.hover .animate_slide { -ms-transform: translate(-60%,-150%); -webkit-transform: translate(-60%,-150%); -moz-transform: translate(-60%,-150%); -o-transform: translate(-60%,-150%); transform: translate(-60%,-150%); }
.no-touchdevice .panel:hover .animate_rotate,
.panel.hover .animate_rotate { -ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); }
.panel .zoomclone { -ms-transform: scale(0); -webkit-transform: scale(0); -moz-transform: scale(0); -o-transform: scale(0); transform: scale(0); opacity: 1; }
.no-touchdevice .panel:hover .animate_zoom,
.panel.hover .animate_zoom { -ms-transform: scale(20); -webkit-transform: scale(20); -moz-transform: scale(20); -o-transform: scale(20); transform: scale(20); opacity: 0; }
.no-touchdevice .panel:hover .zoomclone,
.panel.hover .zoomclone { -ms-transform: scale(1); -webkit-transform: scale(1); -moz-transform: scale(1); -o-transform: scale(1); transform: scale(1); }


/* Footer Area */
.footer_outer { position: relative; max-width: 1124px; margin: 0 auto; padding-bottom: 4px; }
.footer_inner { padding: 0 15px; }

.footer_inner p,
.footer_inner li,
.footer_inner a { font-size: 14px; line-height: 120%; color: #D0FAFF; text-decoration: none; }
.no-touchdevice .footer_inner a:hover { color: #FFFFFF; text-decoration: underline; }

.footer_inner .first_row { padding: 6px 25px 20px; }
.footer_inner .first_row .footer_disclaimer { text-align: center; font-size: 16px; }
.footer_inner .footer_nav { text-align: right; }
.footer_inner .footer_nav ul { margin-bottom: 1px; }
.footer_inner .footer_nav ul li { display: inline-block; padding: 0 12px; border-right: 1px solid #D0FAFF; font-weight: 600; line-height: 90%; }
.footer_inner .footer_nav ul li:last-child { border: 0; padding-right: 0; }
.footer_inner .footer_nav ul li a { line-height: 90%; }
.footer_inner .footer_nav p a { text-decoration: underline; }

.footer_inner .second_row { 
	display: flex; flex-wrap: nowrap; justify-content: space-between; padding: 12px 25px; overflow: hidden; min-height: 72px;
	background: -moz-linear-gradient(top,  rgba(255,255,255,0.2) 0%, rgba(255,255,255,0) 100%);
    background: -webkit-linear-gradient(top,  rgba(255,255,255,0.2) 0%,rgba(255,255,255,0) 100%);
    background: linear-gradient(to bottom,  rgba(255,255,255,0.2) 0%,rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#33ffffff', endColorstr='#00ffffff',GradientType=0 );
	-webkit-border-radius: 10px; border-radius: 10px;
}
.footer_inner .disclaimer p { font-size: 12px; color: rgba(255,255,255,0.35); line-height: 130%; padding-right: 24px; }
.footer_inner .labels p { white-space: nowrap; }
.footer_inner .labels p span { display: inline-block; margin-left: -4px; }
.footer_inner .labels p span:last-child { margin-left: 10px; -webkit-filter: drop-shadow(2px 2px 2px #000); filter: drop-shadow(2px 2px 2px #000); }


/* Global subpage styles */
.sub .body_outer { max-width: 100%; }
.sub .body_inner { padding: 36px 0 0; }
.sub .eps_header { width: 100%; height: 480px; overflow: hidden; position: relative; z-index: 2; background-color: #000000; }

.sub .eps_video_container { position: absolute; left: -50%; top: 0; width: 200%; height: 100%; }
.sub .eps_video { position: relative; width: 100%; max-width: 1440px; height: 100%; max-height: 480px; margin: 0 auto; }
.sub .eps_video video { width: 100%; height: 100%; }
.sub .eps_video_backdrop { position: absolute; width: 100%; height: 100%; z-index: 2; top: 0; left: 0;
	background: -moz-linear-gradient(left,  rgba(0,0,0,1) 0%, rgba(0,0,0,0.25) 25%, rgba(0,0,0,0.15) 50%, rgba(0,0,0,0.25) 75%, rgba(0,0,0,1) 100%);
	background: -webkit-linear-gradient(left,  rgba(0,0,0,1) 0%,rgba(0,0,0,0.25) 25%,rgba(0,0,0,0.15) 50%,rgba(0,0,0,0.25) 75%,rgba(0,0,0,1) 100%);
	background: linear-gradient(to right,  rgba(0,0,0,1) 0%,rgba(0,0,0,0.25) 25%,rgba(0,0,0,0.15) 50%,rgba(0,0,0,0.25) 75%,rgba(0,0,0,1) 100%);
}

.sub .eps_header .header_flex { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; }
.sub h1 { position: relative; z-index: 3; background-position: center; background-size: contain; margin: 0 auto; }
.sub h1 span { display: none; }
.sub h1:after { position: absolute; }
.sub h2 { position: relative; z-index: 3; color: #FFFFFF; font-size: 24px; letter-spacing: 0.035em; text-align: center; font-family: "Heebo", sans-serif; font-weight: 200; -webkit-font-smoothing: antialiased; white-space: nowrap; }
.sub .title_line { position: relative; z-index: 2; width: 98%; max-width: 880px; height: 4px; background-color: #FFFFFF; border-radius: 4px; margin: 6px auto 4px; }

.sub .header_description { position: relative; z-index: 3; padding: 0; width: 100%; max-width: 880px; margin: 1.5em 0 2em; }
.sub .header_description .header_description_bg { position: absolute; top: -32px; left: -2%; width: 104%; height: 108%; background-color: rgba(0,0,0,0.5); border-radius: 12px; transform: perspective(30vw) rotateX(30deg) translateZ(-40px); }
.sub .header_description .header_description_content { position: relative; z-index: 2; margin: 0 auto; max-width: 750px; }
.sub .header_description h3 { text-align: center; color: #ddd; font-family: "Heebo", Arial, sans-serif; padding: 18px 0; font-size: 28px; line-height: 130%; font-weight: 200; -webkit-font-smoothing: antialiased; }

.sub .header_buttons { position: relative; z-index: 3; padding: 0; width: 100%; max-width: 640px; }
.sub .header_buttons .header_buttons_content { position: relative; z-index: 2; margin: 0 auto; max-width: 580px; text-align: center; }
.sub .header_buttons .header_buttons_content a { display: inline-flex; align-items: center; border-radius: 4px; background-color: #005775; padding: 16px; color: #FFFFFF; font-size: 18px; margin: 0 24px; box-shadow: 0 0 6px #333; } 
.sub .header_buttons .header_buttons_content a:hover { background-color: #3087A5; }
.sub .header_buttons .header_buttons_content a span { filter: invert(); }

.sub .content_inner { position: relative; z-index: 2; max-width: 1280px; margin: 0 auto; padding: 64px 32px; }
.sub .content_row { display: flex; padding: 16px 48px; margin-bottom: 48px; align-items: center; }
.sub .content_row .squares { min-width: 570px; max-width: 570px; height: 390px; border-radius: 24px 24px 0 0; box-shadow: 0 0 16px #000000; text-align: center; background-repeat: no-repeat; background-position: center; background-size: cover; }
.sub .content_row h4 { display: inline-flex; align-items: center; padding: 16px 12px 12px; font-size: 32px; font-family: "Heebo", Verdana, Geneva, Tahoma, sans-serif; font-weight: 300; color: #FFFFFF; text-transform: uppercase; text-align: center; letter-spacing: 0.05em; }
.sub .content_row .caps { font-size: 130%; }

.sub .content_row ul { width: calc(100% - 33px); margin: 0 auto 3px; overflow: hidden; display: flex; flex-wrap: wrap; justify-content: center; }
.sub .content_row li { position: relative; flex: 1 0 calc(25% - 16px); margin: 8px; min-width: 116px; max-width: 136px; height: 120px; background-color: rgba(255,255,255,0.8); font-size: 13px; text-transform: uppercase; line-height: 100%; clip-path: polygon(0% 0%, 92% 0%, 100% 8%, 100% 100%, 0% 100%); display: flex; flex-direction: column; justify-content: center; align-items: center; font-weight: 600; }
.sub .content_row li .group_item { display: inline-block; padding-top: 9px; }
.sub .content_row li .caps { font-size: 16px; }
.sub .footnote { width: 100%; margin: 0 auto; text-align: left; color: #FFFFFF; font-size: 12px; line-height: 120%; padding: 0 32px; }
.sub .footnote:before { content: "*"; margin-left: -5px; }
.sub .content_row:last-child li { clip-path: polygon(8% 0%, 100% 0%, 100% 100%, 0% 100%, 0 8%); }

.sub .content_row p.content_text { color: #FFFFFF; font-size: 32px; line-height: 140%; font-weight: 300; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.sub .content_row:first-child p.content_text { margin-left: 2em; }
.sub .content_row:last-child { flex-direction: row-reverse; margin-bottom: 0; }
.sub .content_row:last-child p.content_text { margin-right: 2em; }

.sub .subcontent_outer { position: relative; z-index: 2; }
.sub .subcontent_inner { max-width: 1200px; margin: 0 auto; }
.sub .subcontent_circle { float: left; margin: 0 1.3em 1em 0; width: 180px; height: 180px; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; overflow: hidden; }
.sub .subcontent_circle img { width: 100%; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; overflow: hidden; }
.sub .subcontent_row { padding: 40px 32px; overflow: hidden; display: flex; }

.sub .subcontent_container { flex: 1 0 56%; padding-right: 3%; }
.sub .subcontent_container h5 { font-weight: 600; color: #FFFFFF; font-size: 28px; margin-bottom: 16px; }
.sub .subcontent_container p { color: #FFFFFF; line-height: 140%; font-size: 18px; margin-bottom: 16px; }
.sub .subcontent_form_container { flex: 1 0 40%; }

.sub .brochure { font-family: 'Heebo', sans-serif; font-size: 18px; margin-bottom: 24px; font-weight: 200; }
.sub .brochure a { display: flex; align-items: center; min-height: 51px; padding: 16px; background-color: rgba(255,255,255,0.4); -moz-box-shadow: 2px 2px 1px rgba(255, 255, 255, 0.6) inset, -2px -2px 1px rgba(0, 0, 0, 0.8) inset; -webkit-box-shadow: 2px 2px 1px rgba(255, 255, 255, 0.6) inset, -2px -2px 1px rgba(0, 0, 0, 0.8) inset; box-shadow: 2px 2px 1px rgba(255, 255, 255, 0.6) inset, -2px -2px 1px rgba(0, 0, 0, 0.8) inset; color: #FFFFFF; }
.sub .brochure a .larger { font-size: 32px; }
.sub .brochure a:hover { background-color: rgba(255,255,255,0.5); }

.sub .subcontent_form { background-color: rgba(0,0,0,0.2); padding: 24px; }
.sub .subcontent_form p { color: #FFFFFF; line-height: 130%; margin-bottom: 16px; }
.sub .subcontent_form div { color: #FFFFFF; line-height: 130%; font-size: 15px; margin-bottom: 12px; }
.sub .subcontent_form .form_row { flex-wrap: nowrap; align-items: center; }
.sub .subcontent_form label { display: inline-block; width: 90px; min-width: 90px; text-align: right; font-weight: 600; color: #FFFFFF; font-size: 16px; padding: 0 12px 0 0; }
.sub .subcontent_form .top_align { vertical-align: top; }
.sub .subcontent_form input, .sub .subcontent_form select,
.sub .subcontent_form textarea { width: 100%; max-width: 300px; min-width: 0; border: 0; background-color: rgba(255,255,255,0.2); padding: 4px 8px; font-size: 16px; color: #FFFFFF; box-shadow: 0 0 8px rgba(255,255,255,0.25) inset; }
.sub .subcontent_form input::placeholder { color: rgba(255,255,255,0.4); font-style: italic;}
.sub .subcontent_form select option { color: #333; }
.sub .subcontent_form textarea { min-height: 80px; }
.sub .subcontent_form .form_button { margin-bottom: 0; text-align: center; }
.sub .subcontent_form .form_button input { font-weight: 600; width: auto; cursor: pointer; font-family: "SourceSansPro", sans-serif; padding: 8px 16px;  }
.sub .subcontent_form .form_button input:hover { background-color: rgba(255,255,255,0.25); }
.sub .subcontent_form .select_container { position: relative; margin: 0; width: 100%; max-width: 300px; }
.sub .subcontent_form div.select_container::after { position: absolute; content: "\25BC"; top: calc(50% - 10px); right: 12px; z-index: 5; }
.sub .subcontent_form select, .sub .subcontent_form input[type=submit] { -webkit-appearance: none; }

.sub .footer_outer { padding: 24px 0; background-color: #000;}
.sub .footer_inner { flex-wrap: wrap; }
.sub .footer_sitemap { flex: 1 0 100%; }
.sub .footer_sitemap { text-align: center; margin: 0 0 12px; }
.sub .footer_sitemap ul { display: inline-block; margin-bottom: 6px; }
.sub .footer_sitemap li:first-child { padding-left: 16px; background: url(../images/ch02_eps/enterprise_ball.png) no-repeat left bottom; background-size: 18px; }
.sub .footer_sitemap li { font-size: 18px; display: inline; }
.sub .footer_sitemap li.selected strong,
.sub .footer_sitemap li a { font-size: 20px; display: inline-block; padding: 4px; margin: 0 4px; }
.sub .footer_sitemap li.selected strong { font-weight: 600; background-color: rgba(255,255,255,0.15); border-radius: 3px; }
.sub .footer_sitemap li a:hover { text-decoration: underline; }
.sub .footer_sitemap .sitemap_div { vertical-align: text-top; }

/* Nav theme should be Umbraco'ed */
.sub .footer_sitemap .sitemap_eps a { color: #006082; }
.sub .footer_sitemap .sitemap_music a,
.sub .footer_sitemap .sitemap_music strong { color: #2B8B7B; }
.sub .footer_sitemap .sitemap_web a,
.sub .footer_sitemap .sitemap_web strong { color: #0066A1; }
.sub .footer_sitemap .sitemap_tech a,
.sub .footer_sitemap .sitemap_tech strong { color: #CC3333; }
.sub .footer_sitemap .sitemap_photo a,
.sub .footer_sitemap .sitemap_photo strong { color: #EACC11; }

/* THEMES */

/*

body.phw .ent_header h1 { background-image: url(../images/framework/ch02_es/phw_title.png); width: 713px; height: 67px; }
body.phw .ent_header .title_line { background-color: #205066; }
body.phw .ent_header h3 { color: #c9dfee; }
body.phw .subcontent_outer { background-color: #003d61; }
body.phw .subcontent_circle { background-color: #628ea9; }
body.phw .ent_footer_outer { background-color: #001420; }


body.hst .ent_header h1 { background-image: url(../images/framework/ch02_es/hst_title.png); width: 726px; height: 90px; }
body.hst .ent_header .title_line { background-color: #731d1d; margin-top: -14px; }
body.hst .ent_header h2 { margin-bottom: 72px; }
body.hst .ent_header h3 { color: #eec9c9; }
body.hst .subcontent_outer { background-color: #671111; }
body.hst .subcontent_circle { background-color: #ac6b6b; }
body.hst .ent_footer_outer { background-color: #230606; }


body.fcp .ent_header h1 { background-image: url(../images/framework/ch02_es/fcp_title.png); width: 722px; height: 93px; }
body.fcp .ent_header .title_line { background-color: #73731d; margin-top: -16px; }
body.fcp .ent_header h2 { margin-bottom: 72px; }
body.fcp .ent_header h3 { color: #ededc7; }
body.fcp .subcontent_outer { background-color: #695C08; }
body.fcp .subcontent_circle { background-color: #ADA367; }
body.fcp .ent_footer_outer { background-color: #231F03; }
*/


@media only screen and (-Webkit-min-device-pixel-ratio: 1.5),
only screen and (-moz-min-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min-device-pixel-ratio: 1.5) {
    .starfield {  background-image: url(/images/ch02_eps/starfield_gradient.jpg); }
    .webp .starfield { background-image: url(/images/ch02_eps/starfield_gradient.jpg?format=webp&quality=70); }

}

/* -------------------------------------------------
   These styles are for non-wide monitors
   ------------------------------------------------- */
@media only screen and (max-width: 1140px) {
	.sub .content_row, .sub .content_row:last-child { flex-direction: column-reverse; }
	.sub .content_row .content_text,
	.sub .content_row:first-child .content_text,
	.sub .content_row:last-child .content_text { max-width: 650px; margin: 0 auto 1.5em; }
}

/* ----------------------------------------
   These styles are specifically for iPad Pro portrait dimensions
   ---------------------------------------- */
@media only screen and (min-device-width : 1024px) and (max-device-width : 1024px) and (min-device-height : 1366px) and (max-device-height : 1366px) and (min-width: 1024px) and (max-width: 1024px) {
	.es_header { max-width: 800px; margin: 0 auto; /* padding: 2em 24px 1em; */ }
	.panels { flex-wrap: wrap; max-width: 860px; margin: 0 auto; padding: 0 24px; }
	.panel { width: calc(50% - 20px); height: 410px; }
	.panelimage_container { transform: scale(0.8); }
	.panel .textarea { padding: 24px 8px; }
}

/* -------------------------------------------------
   These styles are for 800 width monitors or wider
   ------------------------------------------------- */
@media only screen and (max-width: 990px) {
	
	.es_header { max-width: 720px; margin: 0 auto; padding: 2em 24px 1em; }
	.panels { flex-wrap: wrap; max-width: 768px; margin: 0 auto; padding: 0 24px; }
	.panel { width: calc(50% - 18px); height: 320px; }
	.panelimage_container { transform: scale(0.75); }

	.sub .eps_header { height: calc(240px + 24vw); }
	.sub .eps_header h2 { font-size: 2.4vw; min-height: 0; }
	.sub .eps_header .header_description { height: auto; max-width: 100%; }
	.sub .eps_header .header_description .header_description_bg { top: auto; transform: none; border-radius: 0; width: 100%; height: 100%; left: 0; }
	.sub .eps_header .header_description .header_description_content { width: calc(78vw + 40px); max-width: 750px; }
	.sub .eps_header .header_description .header_description_content h3 { font-size: calc(2vw + 8px); min-height: 0; }
	/*
	
	body.sub .eps_header h1 { background-size: 100% auto; width: 100%; margin-top: 6vw; }
	body.sub .eps_header .header_title { padding: 0 calc(18px + 1vw); }
	
	body.sub .eps_header .header_description { height: auto; max-width: 100%; margin-bottom: 16px; }

	body.sub .eps_header .header_description .header_description_content { width: calc(78vw + 40px); max-width: 750px; }
	body.sub .eps_header .header_description .header_description_content h3 { font-size: calc(2vw + 8px); min-height: 0vw; }
	*/

	.sub .content_inner { padding: 8vw 32px; }
	.sub .content_row { padding: 0 0 16px; }
	.sub .content_row .squares { min-width: 450px; }
	.sub .content_row p.content_text { font-size: calc(16px + 1.6vw); padding: 0 12px; min-height: 0vw;  }

	.sub .subcontent_row { padding: 36px; flex-direction: column; }
	.sub .subcontent_container,
	.sub .subcontent_form_container { padding: 0; width: auto; }
	.sub .subcontent_form { max-width: 450px; margin: 0 auto;}
	.sub .subcontent_form p, body.sub .subcontent_form > div { font-size: 18px; margin-bottom: 16px; }
	.sub .subcontent_form label { font-size: 18px; }
	.sub .subcontent_form input,
	.sub .subcontent_form select,
	.sub .subcontent_form textarea { font-size: 18px; padding: 12px 8px; }
	.sub .subcontent_form textarea { min-height: 120px; }

	.sub p.brochure { text-align: center; margin-top: 12px; }
	.sub p.brochure a { display: inline-flex; text-align: left; }
	
}


@media only screen and (max-width: 760px) {

	.angle_gradient { 
		background:conic-gradient(from 0deg at 50% 53vw, rgba(0, 96, 130, 0) 23%, rgba(175, 153, 13, 0.4) 25%, rgba(175, 153, 13, 0.4) 30%, rgba(138, 23, 23, 0.45) 34%, rgba(138, 23, 23, 0.45) 46%, rgba(0, 102, 161, 0.45) 54%, rgba(0, 102, 161, 0.45) 66%, rgba(43, 139, 123, 0.5) 70%, rgba(43, 139, 123, 0.5) 75%, rgba(0, 96, 130, 0) 77%);
	}
	.es_ball { background-position: center calc(24px + 5vw); background-size: 48vw auto; position: absolute; } 
	.es_header { max-width: 600px; padding: 1em 3vw 0.6em; }
	.panels { flex-wrap: nowrap; flex-direction: column; width: 100%; max-width: 600px; padding: 0; overflow: visible; }
	.panel { margin-left: 0; margin-right: 0; width: 100%; height: 180px; }
	.panelimage_container { left: auto; right: 0; width: 50%; transform: scale(0.4); }
	.panel .gradient { background: linear-gradient(to bottom,  rgba(0,0,0,0.6) 0%,rgba(0,0,0,0.25) 50%,rgba(0,0,0,0.25) 70%,rgba(0,0,0,0.6) 100%); }
	.panel .textarea { height: 100%; display: flex; padding: 24px 56px; justify-content: left; align-items: center; }
    
	.footer_inner .second_row { flex-direction: column;  padding: 12px; }
	.footer_inner .second_row p { text-align: center; font-size: 16px; }
	.footer_inner .second_row .footer_nav { padding-top: 12px; text-align: center; }
	.footer_inner .second_row .footer_nav ul { justify-content: center; padding-bottom: 8px; }
	.footer_inner .second_row .footer_nav ul li a { font-size: 18px; }
	.footer_inner .second_row .footer_nav ul li:last-child { padding-right: 12px; }
	.footer_inner .second_row .footer_nav .compliance { justify-content: center; padding-top: 4px; font-size: 12px; }
	
}


@media only screen and (max-width: 638px) {
    
    .es_header { height: calc(64px + 20vw); }
    .es_headertitle { height: 100%; }
    .audio_container { width: 100%; }
    .equalizer-container { left: auto; right: 12px; }
    .audio_container p { left: auto; right: 15px; text-align: right; }
    .panel { height: 28.2vw; }
    
	.sub .eps_header { height: auto; }
	.sub .eps_header h1 { margin: calc(12px + 1.5vw) auto 0; background-size: auto 100%; background-position: left; }
	.sub .eps_header h1:after { content: ""; background-size: auto 100%; background-position: right; }
	.sub .eps_header .title_line { width: 90%; }
	.sub .eps_header h2 { font-size: calc(12px + 1.2vw); max-width: 450px; line-height: 120%; white-space: normal; }
	.sub .eps_header .header_title { max-width: 92%; }
	.sub .eps_header .header_description { margin: 1.2em 0; }
	.sub .eps_video { max-height: 100%; }
	.sub .eps_video video { position: absolute; height: 100%; width: auto; top: 0; left: 0; right: 0; bottom: 0; }
	.sub .eps_header .header_buttons .header_buttons_content a { margin: 0 2vw 5vw; }
	/*
	body.sub .eps_video .eps_video_backdrop { display: none; }
	body.sub .eps_header .header_description { height: auto; max-width: 100%; margin-bottom: 0; }
    body.sub .eps_header .header_description .header_description_bg { top: auto; transform: none; border-radius: 0; }
    
	*/

	.sub .content_inner { padding: 6vw 0 0; }
	.sub .content_row:first-child { margin-bottom: 16px; }
    .sub .content_row:last-child { padding-bottom: 0; }
	.sub .content_row p.content_text { padding: 0 5vw; }
	.sub .content_row .squares { min-width: 0; max-width: 100%; border-radius: 0; height: auto; }
	.sub .content_row ul { margin-bottom: 12px;}
	.sub .content_row li { flex: 1 0 calc(33.33% - 16px); max-width: 130px; }
	.sub .footnote { padding: 0 5vw 18px; }
	
	/*HNT
	body.hnt .ent_header h1 { width: 270px; height: 64px; background-size: 615px auto; padding-bottom: 50px; }
	body.hnt .ent_header h1:after { background-image: url(../images/framework/ch02_es/hnt_title.png); width: 330px; height: 72px; background-size: 615px auto; top: 50px; left: -30px; }
	*/
}

/* ----------------------------------------------------
   For 640 width monitors or smaller
   or for mobile devices
   ---------------------------------------------------- */
@media only screen and (max-width: 480px) {

	.body_inner { padding: 48px 0 0; }
	.es_ball { background-position: center calc(40px + 5vw); background-size: 48vw auto; background-attachment: fixed;  } 
	.angle_gradient { display: none; }
	
	.panels .panel { border-radius: 0; border: 0; height: 25vw; margin-bottom: 0; }
	.panels .panel:last-child { margin-bottom: 1em; }
	.panels .panel .gradient { border-radius: 0; }
	.panels .panel .textarea { height: 100%; display: flex; padding: 24px 56px; justify-content: left; align-items: center; }
	.panels .panel .textarea h2 { font-weight: 300; font-size: 14vw; }
    .panelimage_container { transform: scale(0.25); }
    
    .footer_inner { padding: 0; }
    .footer_inner .first_row { padding: 6px 16px 18px; }
    .footer_inner .second_row { padding: 12px 0; border-radius: 0; }
    .footer_inner .second_row > div { padding: 0 16px; }

	.sub .eps_header h2 { font-size: calc(11px + 1.2vw); }
	.sub .eps_header .header_description .header_description_content h3 { font-size: calc(10px + 2vw); }
	.sub .eps_header .header_buttons .header_buttons_content { padding: 0 2vw 2vw; }
	.sub .eps_header .header_buttons .header_buttons_content a { padding: 10px 8px; font-size: 16px; min-width: 190px; justify-content: center; }
	.sub .body_inner { padding: 48px 0 0; }
	.sub .content_row h4 { font-size: 6.4vw; }
	.sub .subcontent_row { padding: 0; }
	.sub .subcontent_container { padding: 7vw 5vw 0; }
	.sub .subcontent_container h5 { text-align: center; }
	.sub .brochure { padding-left: 16px; padding-right: 16px; }
	.sub .subcontent_form { max-width: 100%; border-radius: 0; }
	.sub .subcontent_circle { margin: 0 auto 1em; float: none; }

	.sub .brochure a span { font-size: 4.4vw; }
	.sub .brochure a span.larger { font-size: 6.8vw; }

	.sub .subcontent_form label { padding-bottom: 4px; }

	.sub .footer_sitemap li:first-child a { font-size: 24px; }
	.sub .footer_sitemap li.break { display: block; width: 0; height: 0; overflow: hidden; }
	
	/*HNT
	body.hnt .ent_header h1 { width: 230px; height: 64px; background-size: 520px auto; padding-bottom: 48px; }
	body.hnt .ent_header h1:after { width: 290px; height: 60px; background-size: 520px auto; top: 44px; left: -32px; }
	*/
}

@media only screen and (max-width: 420px) {
	
	.sub .subcontent_form div.form_row { flex-wrap: wrap; }
	.sub .subcontent_form label { text-align: left;}
	.sub .subcontent_form input,
	.sub .subcontent_form select,
	.sub .subcontent_form textarea,
	.sub .subcontent_form div.select_container { flex: 1 0 100%; max-width: 100%; }
}