/* Channel 01 - Joey's Homepage */

/* Set global channel parameters */
body { font-size: 16px; transition: background-color 0.6s; }
a { text-decoration: none; transition: color 0.6s; }
.top_gradient { 
	position: fixed; top: 0; left: 0; width: 100%; height: 300px; 
	background: -moz-linear-gradient(top,  rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0.5) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to bottom,  rgba(0,0,0,0.5) 0%,rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80000000', endColorstr='#00000000',GradientType=0 );
}

/* Floating diamonds */
.floating_diamonds { position: fixed; top: 0; left: 0; width: 100%; height:100vh; max-width: 2560px; margin: 0 auto; overflow: hidden; }
.floating_diamonds ul { position: absolute; top: 0; left: 0; width: 2560px; height: 100%; margin: 0 auto; transform: translate3d(-50%, 0, 0); margin-left: 50%; }
.d_large { filter: blur(8px); opacity: 0.18; }
.d_medlarge { filter: blur(6px); opacity: 0.26; }
.d_medium { filter: blur(4px); opacity: 0.34; }
.d_medsmall { filter: blur(2px); opacity: 0.42; }
.d_small { filter: blur(0); opacity: 0.5; }
.floating_diamonds li { position: absolute; display: block; list-style: none; width: 24px; height: 24px;
    background: rgba(255, 255, 255, 0.2); animation: floatup 25s linear infinite;
    bottom: -32vh; transform: rotate(45deg) translateZ(0); will-change: transform; border-radius: 2px;
}
.d_large li { width: 250px; height: 250px; animation-duration: 200s; }
.d_medlarge li { width: 190px; height: 190px; animation-duration: 160s; }
.d_medium li { width: 140px; height: 140px; animation-duration: 120s; }
.d_medsmall li { width: 90px; height: 90px; animation-duration: 80s; }
.d_small li { width: 50px; height: 50px; animation-duration: 40s; }

.d_large li:nth-child(1) { left: 0; animation-delay: -160s; }
.d_large li:nth-child(2) { left: 460px; animation-delay: -76s; }
.d_large li:nth-child(3) { left: 970px; animation-delay: 10s; }
.d_large li:nth-child(4) { left: 1380px; animation-delay: -120s; }
.d_large li:nth-child(5) { left: 1840px; animation-delay: -15s; }
.d_large li:nth-child(6) { left: 2300px; animation-delay: -92s; }

.d_medlarge li:nth-child(1) { left: 140px; animation-delay: -32s; }
.d_medlarge li:nth-child(2) { left: 720px; animation-delay: -120s; }
.d_medlarge li:nth-child(3) { left: 1180px; animation-delay: -60s; }
.d_medlarge li:nth-child(4) { left: 1620px; animation-delay: -145s; }
.d_medlarge li:nth-child(5) { left: 1980px; animation-delay: -90s; }
.d_medlarge li:nth-child(6) { left: 2400px; animation-delay: 0s; }

.d_medium li:nth-child(1) { left: 300px; animation-delay: -76s; }
.d_medium li:nth-child(2) { left: 600px; animation-delay: -18s; }
.d_medium li:nth-child(3) { left: 900px; animation-delay: -65s; }
.d_medium li:nth-child(4) { left: 1220px; animation-delay: -108s; }
.d_medium li:nth-child(5) { left: 1560px; animation-delay: -25s; }
.d_medium li:nth-child(6) { left: 2200px; animation-delay: -95s; }

.d_medsmall li:nth-child(1) { left: 0; animation-delay: -42s; }
.d_medsmall li:nth-child(2) { left: 500px; animation-delay: -72s; }
.d_medsmall li:nth-child(3) { left: 820px; animation-delay: -24s; }
.d_medsmall li:nth-child(4) { left: 1120px; animation-delay: -56s; }
.d_medsmall li:nth-child(5) { left: 1700px; animation-delay: -33s; }
.d_medsmall li:nth-child(6) { left: 1920px; animation-delay: -64s; }
.d_medsmall li:nth-child(7) { left: 2260px; animation-delay: -15s; }
.d_medsmall li:nth-child(8) { left: 2430px; animation-delay: -75s; }

.d_small li:nth-child(1) { left: 0; animation-delay: -5s; }
.d_small li:nth-child(2) { left: 240px; animation-delay: -20s; }
.d_small li:nth-child(3) { left: 590px; animation-delay: -28s; }
.d_small li:nth-child(4) { left: 880px; animation-delay: -39s; }
.d_small li:nth-child(5) { left: 1010px; animation-delay: -16s; }
.d_small li:nth-child(6) { left: 1180px; animation-delay: -33s; }
.d_small li:nth-child(7) { left: 1320px; animation-delay: -9s; }
.d_small li:nth-child(8) { left: 1510px; animation-delay: -36s; }
.d_small li:nth-child(9) { left: 1830px; animation-delay: -23s; }
.d_small li:nth-child(10) { left: 2100px; animation-delay: -78s; }
.d_small li:nth-child(11) { left: 2150px; animation-delay: -15s; }
.d_small li:nth-child(12) { left: 2480px; animation-delay: -71s; }

@media only screen and (max-width: 1922px) {
    .d_large li:nth-child(1), .d_large li:nth-child(6),
    .d_medlarge li:nth-child(1), .d_medlarge li:nth-child(6),
    .d_medium li:nth-child(6), .d_medsmall li:nth-child(1),
    .d_medsmall li:nth-child(8), .d_small li:nth-child(1),
    .d_small li:nth-child(2), .d_small li:nth-child(12) { display: none; }
}
@media only screen and (max-width: 1025px) {
    .d_large li:nth-child(2), .d_large li:nth-child(5),
    .d_medlarge li:nth-child(5), .d_medium li:nth-child(1),
    .d_medium li:nth-child(2), .d_medsmall li:nth-child(2),
    .d_medsmall li:nth-child(6), .d_medsmall li:nth-child(7),
    .d_small li:nth-child(2), .d_small li:nth-child(10), .d_small li:nth-child(11) { display: none; }
}
@media only screen and (max-width: 482px) {
    .d_medlarge li:nth-child(2), .d_medlarge li:nth-child(4),
    .d_medium li:nth-child(5), .d_medsmall li:nth-child(3),
    .d_medsmall li:nth-child(5), .d_small li:nth-child(3),
    .d_small li:nth-child(4), .d_small li:nth-child(9) { display: none; }
}
@keyframes floatup {
    0%{ transform: translate3d(0,0,0) rotate(45deg); }
    100% { transform: translate3d(0,-140vh,0) rotate(45deg); }
}

/* Parent Wrapper */
.wrapper { padding-top: 36px; }

/* Set scenery and title */
.scenery_outer { position: relative; padding: 0 16px; max-width: 1392px; margin: 0 auto 20px; }
.scenery_inner { position: relative; max-width: 1358px; height: 220px; border: 1px solid #000000; overflow: hidden; margin: 0 auto; box-shadow: 0 4px 6px rgba(0,0,0,0.5); -webkit-border-radius: 0 0 10px 10px; border-radius: 0 0 10px 10px; }
.scenery_image { background-position: left bottom; bottom: 0; height: 100%; left: 0; position: absolute; width: 100%; background-size: 1360px auto; border-radius: 0 0 11px 11px; }
.scenery_video video { width: 100%; max-width: 1360px; }
h1 { position: absolute; top: 13px; left: 96px; background-size: contain; }
h2 { position: absolute; top: 26px; left: 92px; background-size: contain; }
h1 span, h2 span { display: none; }
.scenery_header { position: relative; height: 100%; }
.scenery_header::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-position: 0 0; background-size: 1360px auto; }
.scenery_inner a.responsive_back { display: none; position: absolute; left: 0; bottom: 0; align-items: center; background-color: rgba(0,0,0,0.5); padding: 6px 8px; color: #9EE; border-radius: 0 6px 0 0; }
.scenery_inner a.responsive_back span { transform: rotate(180deg); margin-right: 4px; }
.scenery_video { background-color: #407BC8; max-height: 250px; }
.jhp_sub .content_area h3.anchor { display: flex; align-items: center; line-height: 100%; margin-bottom: 12px; min-height: 34px; }
.jhp_sub .content_area h3.anchor span { margin-right: 8px;}

/* Set info bar */
.info_row { position: absolute; bottom: 0; left: 0; width: 100%; overflow: hidden; background-color: rgba(32,32,32,0.75); border-top: 1px solid #333333; border-radius: 0 0 10px 10px; }
.info_row_bg {
	overflow: hidden; display: flex; justify-content: space-between; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); border-radius: 0 0 11px 11px;
	background: -moz-linear-gradient(top,  rgba(255,255,255,0.6) 0%, rgba(255,255,255,0.05) 50%, rgba(255,255,255,0) 51%, rgba(255,255,255,0) 100%);
	background: -webkit-linear-gradient(top,  rgba(255,255,255,0.6) 0%,rgba(255,255,255,0.05) 50%,rgba(255,255,255,0) 51%,rgba(255,255,255,0) 100%);
	background: linear-gradient(to bottom,  rgba(255,255,255,0.6) 0%,rgba(255,255,255,0.05) 50%,rgba(255,255,255,0) 51%,rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#99ffffff', endColorstr='#00ffffff',GradientType=0 );
}
.info_row p { color: #FFF; font-size: 14px; line-height: 15px; max-height: 16px; height: 16px; }
.info_row .left { padding: 8px 12px; }
.info_row .right { padding: 8px 12px; position: relative; }
.info_row .right .mode_desc { position: absolute; top: 110%; right: 0; padding: 8px; border: 1px solid #000; background-color: #034; }
.info_row .right .mode_desc p { color: #fff; font-size: 11px; }
.info_row p { display: flex; align-items: center; }
.info_row p .split { font-size: 12px; display: inline-block; padding: 0 2px; margin-top: -1px; }
.info_row p .season, .info_row p .mode { padding: 0 4px; font-weight: 600; }
.info_row p .date, .info_row p .browser { padding: 0 4px; }
.info_row p .winter { color: #0CF; }
.info_row p .spring { color: #0C6; }
.info_row p .kce_spring { filter: invert(15%) sepia(10%) saturate(4701%) hue-rotate(245deg) brightness(103%) contrast(104%); }
.info_row p .summer { color: #D66; }
.info_row p .autumn { color: #C60; }
.info_row .mode::before { content: "Enhanced "; }
.optimized .info_row .mode::before { content: "Optimized "; }

/* Set containers */
.body_outer { position: relative; margin: 0 auto; max-width: 1392px; }
.body_inner { position: relative; padding: 0 16px 16px; display: -ms-grid; display: grid; grid-template-columns: 3fr 14fr; -ms-grid-columns: 3fr 14fr; }

/* Sub-section menu for each page */
aside.left { position: relative; min-height: 100px; min-width: 220px; margin-right: 18px; }
aside.left nav { 
	margin-bottom: 18px; width: 100%; background: url(/images/ch01_jhp/leftnav_bg_pattern.png) rgba(64,64,64,0.2); 
	box-shadow: inset 10px 10px 10px rgba(0,0,0,0.25), inset -8px -8px 8px rgba(255,255,255,0.1); border-radius: 8px;
}
aside.left nav.sticky { top: 80px; }
html.parallax aside.left nav.sticky { top: 50px; }

aside.left nav ul li { font-size: 18px; font-family: Isonorm, sans-serif; text-shadow: 2px 2px 2px #000000; white-space: nowrap; overflow: hidden; text-transform: uppercase; }
aside.left nav ul li a,
aside.left nav ul li span.title { display: block; padding: 16px 2px 16px 16px; background-position: 17px 50%; background-repeat: no-repeat; color: #FFFFFF; letter-spacing: 0.03em; font-weight: 600; }
html.ios aside.left nav ul li a, html.mac aside.left nav ul li a,
html.ios aside.left nav ul li span.title, html.mac aside.left nav ul li span.title { letter-spacing: 0; }
aside.left nav ul li span.ui_kce { position: relative; top: 1px; }
aside.left nav ul li a span.c,
aside.left nav ul li span.title span.c { display: inline; font-size: 24px; }

/* Hashes - Make sure these work with actual subpages */
aside.left nav ul li a span.h,
aside.left nav ul li span.title span.h { position: relative; display: inline-block; font-size: 18px; line-height: 60%; top: 1px; left: -1px; }
aside.left nav ul li a span.h:before,
aside.left nav ul li span.title span.h:before { content: ""; position: absolute; width: 9px; height: 9px; transform: rotate(45deg); border: 1px solid #000; left: -15px; box-shadow: 1px 1px 2px rgba(0,0,0,0.3); }
aside.left nav ul li a span.h:before { background-color: rgba(255,255,255,0.4); }
aside.left nav ul li span.title span.h:before { background-color: rgba(255,255,255,0.8); }

aside.left nav .home { border: 1px solid rgba(0,0,0,0.3); box-shadow: inset 1px 1px rgba(255,255,255,0.3); }
aside.left nav .home.selected { background-color: #006373; }
aside.left nav .home ul li { font-size: 20px; }
aside.left nav .home ul li .ui_kce_welcome { position: relative; top: 7px; margin-right: 1px; -webkit-filter: drop-shadow(0px 1px 1px rgba(0,0,0,0.6)); filter: drop-shadow(0px 1px 1px rgba(0,0,0,0.6)); }
aside.left nav .home ul li a,
aside.left nav .home ul li span.title { padding-left: 8px; padding-top: 7px; border-radius: 10px 10px 0 0 / 10px 10px 0 0; }
aside.left nav .home ul li a span.c,
aside.left nav .home ul li span.title span.c { font-size: 28px; }

aside.left nav .subpages ul li { border-top: 1px solid rgba(0,0,0,0.3); border-bottom: 1px solid rgba(255,255,255,0.3); }
aside.left nav .subpages ul li:first-child { border-top: 0; }
aside.left nav .subpages ul li:last-child { border-bottom: 0; border-radius: 0 0 8px 8px; }
aside.left nav .home ul li a,
aside.left nav .subpages ul li a { -webkit-transition: color 0.5s linear, background-color 0.5s linear; /** Chrome & Safari **/ -moz-transition: color 0.5s linear, background-color 0.5s linear; /** Firefox **/ -o-transition: color 0.5s linear, background-color 0.5s linear; /** Opera **/ -ms-transition: color 0.5s linear, background-color 0.5s linear; /** MSIE **/ transition: color 0.5s linear, background-color 0.5s linear; background-color: rgba(255,255,255,0); }
aside.left nav .subpages ul li.selected span.ui_kce,
aside.left nav .subpages ul li.subselected span.ui_kce { -moz-transition: 0.6s; -webkit-transition: transform 0.6s; -o-transition: transform 0.6s; transition: 0.6s transform; opacity: 0.8; transform: rotate(0deg); }
aside.left nav .subpages ul li.selected.anchor_nav_show span.ui_kce,
aside.left nav .subpages ul li.selected.jhp_section span.ui_kce,
aside.left nav .subpages ul li.subselected span.ui_kce,
aside.left nav .subpages ul li.subselected > a span.ui_kce { transform: rotate(90deg); }

aside.left nav .subpages ul.subpage_anchors,
aside.left nav .subpages ul.subpage_sections { padding-left: 24px; -moz-transition: height 0.6s ease-in-out; -webkit-transition: height 0.6s ease-in-out; -o-transition: height 0.6s ease-in-out; transition: height 0.6s ease-in-out; }
.js aside.left nav .subpages ul.subpage_anchors { height: 0; }
aside.left nav .subpages ul.subpage_anchors li a,
aside.left nav .subpages ul.subpage_anchors li span.title,
aside.left nav .subpages ul.subpage_sections li a,
aside.left nav .subpages ul.subpage_sections li span.title { position: relative; padding: 8px 2px 8px 40px; font-size: 14px; background-position: 21px 48%; }
aside.left nav .subpages ul.subpage_sections li a:before,
aside.left nav .subpages ul.subpage_sections li span.title:before  { content: ""; position: absolute; width: 9px; height: 9px; transform: rotate(45deg); border: 1px solid #000; left: 22px; top: 10px; box-shadow: 1px 1px 2px rgba(0,0,0,0.3); background-color: rgba(255,255,255,0.4); }
aside.left nav .subpages ul.subpage_anchors li:last-child,
aside.left nav .subpages ul.subpage_sections li:last-child { border-radius: 0; }

aside.left .touts { -ms-grid-row: 1; -ms-grid-column: 2; grid-row: 1; grid-column: 2; max-width: 270px; }
aside.left .touts .tout { display: flex; flex-direction: column; justify-content: center; align-items: center; margin-bottom: 1.1em;}
aside.left .touts .tout.bgimage { box-shadow: 2px 4px 8px rgba(0,0,0,0.6); }
aside.left .touts .tout a { display: block; width: 100%; height: 100%; position: relative; background-size: auto 100%; }
aside.left .touts .tout a img { display: block; width: 100%; }
aside.left .touts .tout.extend a,
aside.left .touts .tout.extend picture { display: flex; flex-direction: column; align-items: center; max-width: 270px; }
aside.left .touts .tout.extend a img { width: 114%; height: 100%; }
aside.left .touts .tout a span { display: none; }
aside.left .touts .tout:last-child { margin-bottom: 0; }


/* Main content area */
.content { position: relative; overflow: hidden; }
.content_area { 
	display: flex; flex-wrap: nowrap; background-color: rgba(0,0,0,0.35); transition: background-color 0.6s; 
	position: relative; border: 1px solid #000000; -webkit-border-radius: 12px; border-radius: 12px; 
	box-shadow: inset 1px 1px rgba(255,255,255,0.3), 2px 4px 8px rgba(0,0,0,0.6); 
}
.content_area.full,
.content_area.float { display: block; }

.content_main { padding: 24px 32px; flex: 1; min-height: 400px; position: relative; }
.content_main h3 { font-weight: 600; font-size: 30px; color: #FFFFFF; line-height: 120%; margin-bottom: 12px; transition: color 0.6s; }
.content_main h4 { font-weight: 600; font-size: 20px; color: #FFFFFF; line-height: 120%; margin-bottom: 12px; transition: color 0.6s; }
.content_main h5 { font-weight: 600; font-size: 16px; color: #FFFFFF; line-height: 120%; margin-bottom: 12px; transition: color 0.6s; }
.content_main p,
.content_main ul { font-size: 18px; color: #FFFFFF; line-height: 160%; margin-bottom: 16px; transition: color 0.6s; letter-spacing: 0.01em; }
.content_main ul strong { font-weight: 600; }
.content_main ul li { background: url(/images/ch00_splash/feature_arrow.png) 0 2px no-repeat; padding-left: 24px; line-height: 140%; margin-bottom: 12px; }
.content_main a { color: #AADDDD; }
.content_main a:hover { text-decoration: underline; }
.content_main .area { position: relative; display: flex; flex-wrap: nowrap; align-items: center; max-width: 720px; margin: 0.75em auto; padding: 0.75em; background-color: rgba(255,255,255,0.1); }
.content_main .area p { position: relative; line-height: 150%; font-size: 17px; margin-bottom: 0.25em; }
.content_main .area p strong { font-weight: 600; font-size: 20px; }
.content_main .area a { margin-right: 1em; }
.no-touchdevice .content_main .area a > span { transform: scale(0.9); }
.content_main .area a span.ui_jhp_welcome { -webkit-filter: drop-shadow(0px 2px 2px rgba(0,0,0,0.6)); filter: drop-shadow(0px 2px 2px rgba(0,0,0,0.6)); }
.no-touchdevice .content_main .area:hover { background-color: rgba(255,255,255,0.2); }
.no-touchdevice .content_main .area:hover a > span { transform: scale(1); }
.content_main figure img { -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; width: 100%; }
.content_main figcaption { font-size: 13px; color: #FFFFFF; }

.content_area.float .content_aside { float: right; border-radius: 0 8px 0 10px; margin-left: 1.5em;  }
.content_aside { position: relative; min-width: 220px; max-width: 220px; padding: 20px; font-weight: 600; color: #EEFFFF; background-color: rgba(0,0,0,0.15); border-radius: 0 8px 8px 0; }
.content_aside.nospacing { padding: 0; }
.content_aside h4 { font-size: 18px; font-weight: normal; padding-bottom: 4px; border-bottom: 1px solid #668888; margin-bottom: 8px; }
.content_aside .image { font-size: 0; }
.content_aside .image.sticky { top: 80px; }
.content_aside .image img { border-radius: 0 10px 10px 0; width: 100%; } 
.content_aside picture img { width: 100%; }

.jhp_section .content_area { display: block; }
.jhp_section .content_flex { display: flex; }
.content_banner { height: 120px; background-position: center; background-size: cover; margin: 1px 0 0 1px; }
.content_banner h2 { padding-top: 50px; padding-left: 32px; font-size: 48px; color: #FFFFFF; font-family: 'Isonorm', sans-serif; top: 0; left: 0; }

div.content_updates span.ui_kce { position: absolute; top: 0; left: 0; }
div.content_updates .update { position: relative; padding-left: 40px; margin-bottom: 20px; }
div.content_updates .update:last-child { margin-bottom: 0; }
div.content_updates .update p { font-size: 13px; color: #FFFFFF; line-height: 120%; min-width: 110px; font-weight: 500; }
div.content_updates .update p.date { font-weight: 600; color: #b2dee2; font-size: 12px; }
div.content_updates .update p.page { font-weight: 700; font-size: 14px; color: #DDEEFF; line-height: 110%; }

/* Breadcrumb bar */
.content_main .breadcrumb { position: absolute; left: 0; bottom: 0; margin: 0 32px; padding: 1.2em 0; display: none; justify-content: space-between; width: calc(100% - 64px); border-top: 1px solid rgba(255,255,255,0.25); }
.content_main .breadcrumb a { display: flex; align-items: center; line-height: 100%; padding: 6px 8px; background-color: rgba(255,255,255,0.1); font-size: 16px; }
.content_main .breadcrumb a:first-child { margin-right: 1.25em; }
.content_main .breadcrumb a:last-child { margin-left: 1.25em; }
.no-touchdevice .content_main .breadcrumb a:hover { text-decoration: none; background-color: rgba(255,255,255,0.25); }
.content_main .breadcrumb_previous span { transform: rotate(180deg); }
.content_main .breadcrumb_up span { transform: rotate(270deg); }

/* Footer bar */
.footer_outer { position: relative; max-width: 1392px; margin: 0 auto; padding-bottom: 20px; }
.footer_inner { padding: 0 16px; }
.footer_inner p, .footer_inner li, .footer_inner a { color: #FFFFFF; }

.footer_inner .footer_row_outer { 
	overflow: hidden; padding: 2px; border-radius: 10px;
	border: 1px solid #000000; box-shadow: inset 1px 1px rgba(255,255,255,0.5), 2px 4px 8px rgba(0,0,0,0.6);
	background: -moz-linear-gradient(top, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0.3) 0%,rgba(0,0,0,0.7) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0.3) 0%,rgba(0,0,0,0.7) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4d000000', endColorstr='#b3000000',GradientType=0 );
}
.footer_inner .footer_row_inner { 
	overflow: hidden; padding: 4px 2px; display: flex; flex-wrap: nowrap; justify-content: space-between;  border-radius: 8px;
	background: -moz-linear-gradient(top, rgba(255,255,255,0.4) 0%, rgba(255,255,255,0) 65%, rgba(255,255,255,0) 100%);
	background: -webkit-linear-gradient(top, rgba(255,255,255,0.4) 0%,rgba(255,255,255,0) 65%,rgba(255,255,255,0) 100%);
	background: linear-gradient(to bottom, rgba(255,255,255,0.4) 0%,rgba(255,255,255,0) 65%,rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#66ffffff', endColorstr='#00ffffff',GradientType=0 );
}

.footer_inner .left { padding-left: 12px; }
.footer_inner .left p { font-size: 14px; line-height: 120%; }

.footer_inner .right { padding-right: 12px; }
.footer_inner .right ul { display: flex; flex-wrap: nowrap; justify-content: flex-end; margin-bottom: 2px; margin-top: 2px; }
.footer_inner .right ul li { display: inline-block; white-space: nowrap; padding: 0 6px; border-right: 1px solid #D0FAFF; font-size: 14px; line-height: 95%; }
.footer_inner .right ul li:last-child { border: 0; padding-right: 0; }
.footer_inner .right p { text-align: right; font-size: 14px; line-height: 110%; }
.footer_inner .right ul li a:hover { text-decoration: underline; }
.footer_inner .right .compliance { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; }
.footer_inner .right .compliance p { display: flex; white-space: nowrap; }
.footer_inner .right .compliance p span { display: inline-block; margin-right: 4px;  }
.footer_inner .right .compliance .w3c span { margin-top: -1px; margin-right: 2px; }
.footer_inner .right .compliance .umbraco span { margin-left: 1em; }


/* Optimized version for better performance */
.optimized .floating_diamonds li { animation-play-state: paused; }
.optimized .scenery_inner, .optimized .content_area, .optimized aside.left *, .optimized .footer_inner .footer_row_outer { box-shadow: none !important; }
.optimized .content_main .area a span.ui_jhp_welcome { -webkit-filter: none; filter: none; transform: none; }
.optimized .footer_inner .footer_row_inner { background: none; }
.optimized .info_row_bg { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(0,32,36,0.5); }
.optimized .no-touchdevice .content_main .area a > span.ui_jhp_welcome { transform: none; }
.optimized .animate-background, .optimized aside.left nav .home ul li a, .optimized aside.left nav .subpages ul li a { transition: none; }
.optimized aside.left nav { border: 1px solid #000; }
.optimized aside.left nav ul li { text-shadow: none; }
.optimized aside.left nav .home { border: 0; border-bottom: 1px solid rgba(255,255,255,0.3); }

/* Light mode */
.lightmode .content_main p, .lightmode .content_main ul, .lightmode .content_main h3,
.lightmode aside.left nav ul li a, .lightmode aside.left nav ul li span.title { color: #000; }
.lightmode .content_area { background-color: rgba(255,255,255,0.35); }
.lightmode .content_area a { color: #034; }
.lightmode .content_area .ui_kce { filter: invert(100%); }
.lightmode .top_gradient { height: 0; }
.lightmode aside.left nav ul li { text-shadow: 2px 2px 2px #999; }
.lightmode .bg { filter: invert(100%); opacity: 0.5; }


/* Grid diamonds */
.item_grid_container { padding-top: 48px; padding-bottom: 24px; }
.item_grid_content { position: relative; display: grid; margin: 0 auto; grid-template-columns: repeat(11, 1fr); grid-template-rows: repeat(7,1fr); max-width: 640px; width: 95%; }
.item_grid_content::before { content: ""; display: inline-block; width: 1px; height: 0; padding-bottom: 100%; }
.item_grid_content::after { content: "Select One"; text-transform: uppercase; font-size: 18px; text-align: center; width: 60px; height: 24px; font-weight: bold; color: #fff; position: absolute; top: 0; left: calc(31% - 30px); display: flex; justify-content: center; align-items: center; }
.item_grid { position: relative; width: 100%; height: 100%; transform: rotate(45deg); display: flex; justify-content: center; align-items: center; }
.item_grid a { 
	background: #1f3b5f;
	background: -moz-linear-gradient(left,  #1f3b5f 0%, #2f4b6f 50%, #4f6b8f 100%);
	background: -webkit-linear-gradient(left,  #1f3b5f 0%,#2f4b6f 50%,#4f6b8f 100%);
	background: linear-gradient(to right,  #1f3b5f 0%,#2f4b6f 50%,#4f6b8f 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1f3b5f', endColorstr='#4f6b8f',GradientType=1 );
	position: absolute;  display: flex; justify-content: center; align-items: center; width: 84%; height: 84%; color: #afcbef; box-shadow: 0 0 12px #000; transition: background-color 0.6s, transform 0.6s; border-radius: 6px; }
.no-touchdevice .item_grid a:hover { transform: scale(1.1); text-decoration: none; }
.item_grid .item_copy { text-align: center; text-transform: uppercase; font-weight: bold; font-size: 15px; transform: rotate(-45deg); max-width: 100px; }
.item_grid .item_copy span { margin: 0 auto 0.4em; display: block; min-width: 56px; min-height: 56px; max-width: 64px; max-height: 64px; width: 16vw; height: 16vw; }
.optimized .item_grid a { box-shadow: none; border: 1px solid #000; }
.no-touchdevice .optimized .item_grid a:hover { transform: none; color: #fff; }

/* Staggered 4 x 2 grid (standard) */
.item_grid:nth-child(1) { grid-column-start: 1; grid-column-end: 4; grid-row-start: 1; grid-row-end: 4; }
.item_grid:nth-child(2) { grid-column-start: 5; grid-column-end: 8; grid-row-start: 1; grid-row-end: 4; }
.item_grid:nth-child(3) { grid-column-start: 9; grid-column-end: 12; grid-row-start: 1; grid-row-end: 4; }
.item_grid:nth-child(4) { grid-column-start: 3; grid-column-end: 6; grid-row-start: 3; grid-row-end: 6; }
.item_grid:nth-child(5) { grid-column-start: 7; grid-column-end: 10; grid-row-start: 3; grid-row-end: 6; }
.item_grid:nth-child(6) { grid-column-start: 1; grid-column-end: 4; grid-row-start: 5; grid-row-end: 8; }
.item_grid:nth-child(7) { grid-column-start: 5; grid-column-end: 8; grid-row-start: 5; grid-row-end: 8; }
.item_grid:nth-child(8) { grid-column-start: 9; grid-column-end: 12; grid-row-start: 5; grid-row-end: 8; }

/* 2 x 1 x 2 x 1 x 2 grid */
@media only screen and (max-width: 638px), only screen and (min-width: 761px) and (max-width: 880px), only screen and (min-width: 991px) and (max-width: 1140px) {
	.item_grid_content { grid-template-columns: repeat(7, 1fr); grid-template-rows: repeat(11,1fr); max-width: 400px; padding-left: 0; }
	.item_grid_content::after { top: 0; left: calc(50% - 30px); }
	.item_grid:nth-child(1) { grid-column-start: 1; grid-column-end: 4; grid-row-start: 1; grid-row-end: 4; }
	.item_grid:nth-child(2) { grid-column-start: 5; grid-column-end: 8; grid-row-start: 1; grid-row-end: 4; }
	.item_grid:nth-child(3) { grid-column-start: 3; grid-column-end: 6; grid-row-start: 3; grid-row-end: 6; }
	.item_grid:nth-child(4) { grid-column-start: 1; grid-column-end: 4; grid-row-start: 5; grid-row-end: 8; }
	.item_grid:nth-child(5) { grid-column-start: 5; grid-column-end: 8; grid-row-start: 5; grid-row-end: 8; }
	.item_grid:nth-child(6) { grid-column-start: 3; grid-column-end: 6; grid-row-start: 7; grid-row-end: 10; }
	.item_grid:nth-child(7) { grid-column-start: 1; grid-column-end: 4; grid-row-start: 9; grid-row-end: 12; }
	.item_grid:nth-child(8) { grid-column-start: 5; grid-column-end: 8; grid-row-start: 9; grid-row-end: 12; }
}
@media only screen and (max-width: 360px) {
	.item_grid_content { grid-template-columns: repeat(5, 1fr); grid-template-rows: repeat(17,1fr); max-width: 280px; padding-left: 0; width: 92%; }
	.item_grid_content::after { top: 12px; left: calc(20% - 30px); font-size: 24px; }
	.item_grid:nth-child(1) { grid-column-start: 3; grid-column-end: 6; grid-row-start: 1; grid-row-end: 4; }
	.item_grid:nth-child(2) { grid-column-start: 1; grid-column-end: 4; grid-row-start: 3; grid-row-end: 6; }
	.item_grid:nth-child(3) { grid-column-start: 3; grid-column-end: 6; grid-row-start: 5; grid-row-end: 8; }
	.item_grid:nth-child(4) { grid-column-start: 1; grid-column-end: 4; grid-row-start: 7; grid-row-end: 10; }
	.item_grid:nth-child(5) { grid-column-start: 3; grid-column-end: 6; grid-row-start: 9; grid-row-end: 12; }
	.item_grid:nth-child(6) { grid-column-start: 1; grid-column-end: 4; grid-row-start: 11; grid-row-end: 14; }
	.item_grid:nth-child(7) { grid-column-start: 3; grid-column-end: 6; grid-row-start: 13; grid-row-end: 16; }
	.item_grid:nth-child(8) { grid-column-start: 1; grid-column-end: 4; grid-row-start: 15; grid-row-end: 18; }
}


/* --------------------------------------------
   Less than full width removes scenery padding
   -------------------------------------------- */
@media only screen and (max-width: 1360px) {
	.scenery_outer { padding-left: 0; padding-right: 0; }
	.scenery_inner { -webkit-border-radius: 0; border-radius: 0;  border-left: 0; border-right: 0;  }
	.info_row, .info_row_bg { border-radius: 0; }
}

/* ----------------------------
   990- width for large tablets
   ---------------------------- */
@media only screen and (max-width: 990px) {
	
	.scenery_outer { margin-bottom: 0; }
	.scenery_inner a.responsive_back { display: inline-flex; }
	
	.body_inner { padding: 0; grid-template-columns: 1fr; -ms-grid-columns: 1fr; }
	.body_inner .content_area { -webkit-border-radius: 0; border-radius: 0; border: 0; box-shadow: none; grid-row-start: 1; -ms-grid-row: 1; grid-row: 1; }
	.body_inner .content_area_left { padding: 20px 24px; }
	.content_area { margin-bottom: 24px; }

	aside.left { margin-right: 0; min-height: 0; }
	aside.left nav { display: none; }
	aside.left .touts { 
		width: 100%; max-width: 620px; padding: 0 24px; margin: 0 auto 24px; -ms-grid-column: 1; -ms-grid-row: 2; grid-column: 1; grid-row: 2;
		display: -ms-grid; display: grid; grid-template-columns: 1fr 1fr; justify-items: center; -ms-grid-columns: 1fr 1fr;
	}
	aside.left .touts dtout { max-width: 270px; margin: 12px; }
	aside.left .touts .tout:nth-child(1) { -ms-grid-row: 1; -ms-grid-column: 1 / span 2; grid-row: 1; grid-column: 1 / span 2; }
	aside.left .touts .tout:nth-child(2) { -ms-grid-row: 2; -ms-grid-column: 1; grid-row: 2; grid-column: 1; }
	aside.left .touts .tout:nth-child(3) { -ms-grid-row: 2; -ms-grid-column: 2; grid-row: 2; grid-column: 2; margin-bottom: 12px; }
	@supports (grid-column-gap: 26px) {
		aside.left .touts { grid-column-gap: 26px; grid-row-gap: 24px; }
		aside.left .touts .tout { margin: 0; }
		aside.left .touts .tout:nth-child(3) { margin-bottom: 0; }
	}

	.parallax .content_aside .image.sticky { top: 0; }
	.content_aside.nospacing { width: 100%; }
	.content_aside .image.sticky { top: 32px; }
	.content_aside .image { text-align: center; }
	.content_aside .image img { border-radius: 0; } 
	
	.sub .content_main { padding: 24px 32px 5.5em; }
	.content_main .breadcrumb { display: inline-flex; }
   
}

/* ------------------------------------------------
   760- width resolutions (mobile or small tablets)
   ------------------------------------------------ */
@media only screen and (max-width: 760px) {

	.content_area { flex-direction: column; }
	.content_aside { max-width: 460px; margin: 0 auto; border-radius: 12px; margin-bottom: 1em; }
	.content_area.float .content_aside { max-width: 220px; }
	.content_aside h4 { font-size: 24px; line-height: 120%; }

	.content_updates .update:nth-child(5) { margin-bottom: 0; }
	.content_updates .update:nth-child(n+6) { display: none; }
	.content_updates .update p { font-size: 16px; }
	.content_updates .update p.date { font-size: 14px; }
	.content_updates .update p.page { font-size: 18px; }
   
    .sub .content_area { padding-bottom: 4em; }
	.sub .content_main { position: static; padding: 20px 24px; }
	.sub .content_main .breadcrumb a { font-size: 14px; }
	.sub .content_aside { margin-bottom: 3em; }
	.info_row_bg { justify-content: center; }
	.info_row_bg .right { display: none; }
	.footer_inner .footer_row_inner { flex-direction: column; }
	.footer_inner .footer_row_inner p { text-align: center; }
	.footer_inner .right { padding-top: 6px; }
	.footer_inner .right ul { justify-content: center; padding-bottom: 4px; }
	.footer_inner .right ul li a { font-size: 16px; }
	.footer_inner .right .compliance { justify-content: center; padding-top: 4px; }
	
	.sub .scenery_inner, .jhp_section .scenery_inner, .roadtrip_set .scenery_inner { height: 172px; }
	.sub .scenery_header::before, .jhp_section .scenery_header::before, .roadtrip_set .scenery_header::before { background-size: auto 172px; }
	.sub .scenery_header h2, .jhp_section .scenery_header h2, .roadtrip_set .scenery_header h2 { top: 18px; left: 80px; height: 64px; background-size: contain; width: calc(100% - 100px); }
	.sub .content_aside, .jhp_section .content_aside, .roadtrip_set .content_aside { background: none; }
	.sub .content_aside .image img, .jhp_section .content_aside .image img, .roadtrip_set .content_aside .image img { border-radius: 10px; }
	
	.jhp_section .content_flex { display: block; }
   
}

/* ----------------------------------------
   These styles are for mobile devices
   ---------------------------------------- */
@media only screen and (max-width: 480px) {

	.wrapper { padding-top: 48px; }

	.content_aside { max-width: 460px; border-radius: 0; margin-bottom: 0; }
	.sub .content_aside { margin-bottom: 1.5em; }
	.content_area.float .content_aside { border-radius: 0; margin: 0 auto; padding-bottom: 0; }
	.content_main { padding: 20px; }
	.content_main .breadcrumb { margin: 0 4vw; right: 0; width: calc(100% - 8vw); }
	.content_main .breadcrumb a { font-size: 15px; }
	.content_main .breadcrumb a:first-child { margin-right: 2vw; }
	.content_main .breadcrumb a:last-child { margin-left: 2vw; }
	
	.breadcrumb .bc_homepage:nth-child(2) { display: none; }
	
	figure.floatrightmar,
	figure.floatleftmar { float: none; margin: 1em auto; width: 100%; max-width: 360px; }
	figure img { width: 100%; }
	
	aside.left .touts { grid-template-columns: 1fr; }
	aside.left .touts .tout:nth-child(1) { -ms-grid-row: 1; -ms-grid-column: 1; grid-row: 1; grid-column: 1; }
	aside.left .touts .tout:nth-child(2) { -ms-grid-row: 2; -ms-grid-column: 1; grid-row: 2; grid-column: 1; }
	aside.left .touts .tout:nth-child(3) { -ms-grid-row: 3; -ms-grid-column: 1; grid-row: 3; grid-column: 1; }

	.footer_inner { padding: 0; }
	.footer_inner .footer_row_outer { box-shadow: none; border: 0; padding-top: 8px; border-radius: 0; background: none; }
	.footer_inner .footer_row_inner { border-radius: 0; background: none; }
	.footer_inner .left, .footer_inner .right { padding: 0; }
	.footer_inner .right ul { padding: 10px 0; flex-wrap: wrap; max-width: 280px; margin: 0 auto; }
	.footer_inner .right ul li { margin-top: 4px; margin-bottom: 4px; }
	.footer_inner .right ul li:nth-child(3) { border-right: 0; }
	.footer_inner .right ul li:nth-child(4) { display: block; }
	.footer_inner .right ul li a { font-size: 16px; }
	.footer_inner .right .compliance { max-width: 280px; margin: 0 auto; }
	.footer_inner .right .compliance p.umbraco span { margin-left: 0; }
    
	.sub .scenery_inner, .jhp_section .scenery_inner, .roadtrip_set .scenery_inner { height: calc(96px + 16vw); }
	.sub .scenery_header::before, .jhp_section .scenery_header::before, .roadtrip_set .scenery_header::before { background-position: center 100%; background-size: auto 100%; -webkit-filter: contrast(60%); filter: contrast(60%); }
	.sub .scenery_header h2, .jhp_section .scenery_header h2, .roadtrip_set .scenery_header h2 { position: relative; left: 0; top: 12%; background-position: center 25%; background-size: contain; width: 90%; height: 100%; margin: 0 auto; max-height: 72px; }
	.sub .content_aside.nospacing, .jhp_section .content_aside.nospacing { padding: 0 16px 16px; }
   
}

@media only screen and (max-width: 360px) {
	.info_row .left { padding-left: 2px; padding-right: 2px; }
	.content_main { padding: 13px 16px; }
}

@media only screen and (max-width: 316px) {
	.info_row, .header_inner_top .header_menu::before { display: none; }
}