/* import fonts from google */
@import url('//fonts.googleapis.com/css?family=Signika');
@font-face {
	font-family: 'FS Lola';
	src: url('/fonts/FSLolaWeb-Regular.eot');
	/* IE9 */
	src: url('/fonts/FSLolaWeb-Regular.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('/fonts/FSLolaWeb-Regular.woff') format('woff');
	/* Modern Browsers */
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'FS Lola';
	src: url('/fonts/FSLolaWeb-Medium.eot');
	/* IE9 */
	src: url('/fonts/FSLolaWeb-Medium.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('/fonts/FSLolaWeb-Medium.woff') format('woff');
	/* Modern Browsers */
	font-weight: 500;
	font-style: normal;
}
@font-face {
	font-family: 'FS Lola';
	src: url('/fonts/FSLolaWeb-Bold.eot');
	/* IE9 */
	src: url('/fonts/FSLolaWeb-Bold.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('/fonts/FSLolaWeb-Bold.woff') format('woff');
	/* Modern Browsers */
	font-weight: bold;
	font-style: bold;
}

.xt-section ~ .xt-section {
    margin: 1rem 0 0;
}

/* Base boxes */
.boxes {
	display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
	display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
	display: -ms-flexbox;      /* TWEENER - IE 10 */
	display: -webkit-flex;     /* NEW - Chrome */
	display: flex;             /* NEW, Spec - Opera 12.1, Firefox 20+ */
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: -0.6rem;
}
.boxes .box {
	display: inline-block;
	-webkit-flex: 1;          /* Chrome */
	-ms-flex: 1;              /* IE 10 */
	flex: 1;                  /* NEW, Spec - Opera 12.1, Firefox 20+ */
	display: flex;                /* NEW, Spec - Opera 12.1, Firefox 20+ */
	flex-direction: column;
	justify-content: space-between;
	background-color: #dddac4;
	border-radius: 0.6rem;
	border: 0.2em solid transparent;
	margin: 0.6rem;
	padding: 0.9em 0.5em;
}

.boxes .box > * {
	display: block;
}

.boxes.green-squares .box {
	background-color: #80c342;
	padding: 0.1rem;
	background-image: url('/staticimages/home/bg.png');
	background-image: url('/staticimages/home/bg.png'), linear-gradient(90deg, #9dc738, #48a851);
	background-origin: border-box;
	background-size: 140%;
	background-position: center;
	border-radius: 0;
}

.boxes .box:hover,
.boxes .box:focus {
	text-decoration: none;
	border-color: #80c342;
	outline: 0;
}

.boxes .box:focus {
	border-color: #00683d;
}

.boxes.green-squares .box:hover {
	text-decoration: none;
	border-color: transparent;
}

.boxes .box h3 {
	color: #48a851;
	text-align: center;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 1.5rem;
	line-height: 1.5rem;
	font-family: 'Signika', sans-serif;
	margin: 0 0 0.3em;
}

.boxes .box h3 span {
	font-size: 1em;
}

.boxes .box h3:first-line {
	font-size: 1.5rem;
	line-height: 1.5rem;
}

.boxes.green-squares .box h3 {
	display: block;
	margin: 0.3rem 0 0;
	color: #fff;
	height: auto;
}

.boxes.green-squares .box h3 span {
	font-size: 1.4rem;
	line-height: 1.4rem;
}

.boxes .box .link-text {
	margin: 0 auto;
	padding-top: 0.3rem;
	text-align: center;
	color: #6B787E;
	font-size: 0.9rem;
	font-weight: bold;
	text-transform: uppercase;
	font-family: Arial, 'Segoe UI Symbol';
}

.boxes .box .link-text:hover,
.boxes .box:hover .link-text,
.boxes .box .link-text:focus {
	text-decoration: underline;
}

.boxes .box .large-icon::after {
	display: block;
	margin: 0.4rem;
	-webkit-transition: all 0.3s ease-in-out 0s;
	transition: all 0.3s ease-in-out 0s;
	transform: scale(0.9, 0.9);
	content: " ";
	height: 4rem;
	background-repeat: no-repeat;
	background-position: center;
}

.boxes .box:hover .large-icon:after, /* IE 8 style */
.boxes .box:hover .large-icon::after,
.boxes .box:focus .large-icon:after, /* IE 8 style */
.boxes .box:focus .large-icon::after {
	transform: scale(1, 1);
	-webkit-transition: all 0.15s ease-in-out 0s;
	transition: all 0.15s ease-in-out 0s;
}

.boxes .box:active .large-icon::after {
	transform: scale(0.9, 0.9);
	-webkit-transition: all 0 ease-in-out 0s;
	transition: all 0 ease-in-out 0s;
}

.green-sale-icon::after {
	background-image: url('/staticimages/home/green-sale.svg');
}

.green-rocket-icon::after {
	background-image: url('/staticimages/home/green-rocket.svg');
}

.green-thumbs-icon::after {
	background-image: url('/staticimages/home/green-thumbs.svg');
}

.green-cart-icon::after {
	background-image: url('/staticimages/home/green-cart.svg');
}

.green-message-icon::after {
	background-image: url('/staticimages/home/green-message.svg');
}

/* Box themes */
.boxes.white .box {
	background-color: white;
}

.boxes.grey .box {
	background-color: #ededed;
}

.boxes.red .box {
	background-color: #ededed;
}

.boxes.red .box h3 {
	color: #ec1b34;
}

/* SimpleBanner */
.simpleBanner {
	padding: 0;
	margin: 0 0 6px 0;
	width: auto;
}

.simpleBanner.wide-image {
	padding: 0;
}

.simpleBanner.wide-image.rotating .bannerControlsWpr {
	height: 100%;
	width: 6rem;
	top: 0;
	border-radius: 0;
	background: none;
	-webkit-transition: background-color 0.5s;
	transition: background-color 0.5s;
	padding: 0;
}

.simpleBanner.wide-image.rotating:hover .bannerControlsWpr {
	background-color: rgba(0, 0, 0, 0.1);
}

.simpleBanner.wide-image.rotating .bannerControlsWpr:hover {
	background-color: rgba(0, 0, 0, 0.5);
	-webkit-transition: background-color 0s;
	transition: background-color 0s;
}

.products_banner .simpleBanner,
.products_banner .simpleBanner .slide {
	box-sizing: border-box;
	width: 620px;
}

.page-width.products_banner .simpleBanner,
.page-width.products_banner .simpleBanner .slide {
	width: 79em;
}

.products_banner .simpleBanner .slide {
	padding: 0 22.5px;
}

.simpleBanner .bannerControlsWpr {
	background: none;
}

.simpleBanner .bannerControlsWpr {
	display: none;
}

.rotating-carousel.simpleBanner .bannerControlsWpr,
.rotating.simpleBanner .bannerControlsWpr {
	display: block;
}

.simpleBanner .bannerControlsWpr .bannerControls {
	height: 1.8rem;
	opacity: 0.8;
	-webkit-transition: margin-left 0.5s ease;
	transition: margin-left 0.5s ease;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	border: none;
	width: 17px;
	z-index: 99;
}


.simpleBanner .bannerControlsWpr:hover .bannerControls {
	-webkit-transition: margin-left 0.3s ease;
	transition: margin-left 0.3s ease;
}

.simpleBanner.rotating-carousel .bannerControlsNext .bannerControls,
.simpleBanner.rotating .bannerControlsNext .bannerControls {
	background-image: url('/staticimages/panels/arrow-grey-right.svg');
	margin-left: -0.4rem;
}

.simpleBanner.rotating-carousel .bannerControlsPrev .bannerControls,
.simpleBanner.rotating .bannerControlsPrev .bannerControls {
	background-image: url('/staticimages/panels/arrow-grey-left.svg');
	margin-left: 0.4rem;
}

.simpleBanner.rotating-carousel .bannerControlsNext:hover .bannerControls,
.simpleBanner.rotating .bannerControlsNext:hover .bannerControls {
	margin-left: 0.1rem;
}

.simpleBanner.rotating-carousel .bannerControlsPrev:hover .bannerControls,
.simpleBanner.rotating .bannerControlsPrev:hover .bannerControls {
	margin-left: -0.1rem;
}


.simpleBanner.wide-image.rotating .bannerControlsWpr:hover .bannerControls {
	margin-right: 2.5rem;
	margin-left: 2.5rem;
}

.simpleBanner.wide-image.rotating .bannerControlsNext .bannerControls {
	background-image: url('/staticimages/panels/arrow-white-right.svg');
	margin-left: 1.5rem;
}

.simpleBanner.wide-image.rotating .bannerControlsPrev .bannerControls {
	background-image: url('/staticimages/panels/arrow-white-left.svg');
	margin-left: 3.5rem;
}

#right_pane .simpleBanner {
	box-sizing: border-box;
	width: 100%;
}
#right_pane .simpleBanner .slide {
	width: 760px;
}

/* Fix arrows on carousel and spacing */
.simpleBanner.medium.rotating .bannerListWpr,
.simpleBanner.large.rotating .bannerListWpr,
.simpleBanner.medium.rotating-carousel .bannerListWpr,
.simpleBanner.large.rotating-carousel .bannerListWpr {
	margin: 0;
	padding: 0 4em;
}
.simpleBanner.small.rotating .bannerListWpr,
.simpleBanner.tiny.rotating .bannerListWpr,
.simpleBanner.small.rotating-carousel .bannerListWpr,
.simpleBanner.tiny.rotating-carousel .bannerListWpr {
	margin: 0;
	padding: 0 2em;
}
#browse .simpleBanner.tiny.rotating .bannerListWpr,
#browse .simpleBanner.tiny.rotating-carousel .bannerListWpr {
	margin: 0;
	padding: 0 4.5em;
}
.simpleBanner div.bannerControlsWpr{
	top:45%;
	cursor:pointer;
	padding:10px 12px;
	position:absolute;
	width:11px;
}

.product-square {
	display: inline-block;
	padding: 14px 4px;
	text-align: center;
}

.product-square.fixed-height {
	vertical-align: top;
}

.product-square div {
	position: relative;
}

.product-square.tiny {
	width: 6rem;
}

.product-square.tiny .product-name {
	font-size: 0.8rem;
}

.product-square.tiny .price {
	font-size: 0.8rem;
}

.product-square.small {
	width: 8rem;
}

.page-width.products_banner .product-square.medium {
	width: 9.5rem;
	margin: 0.4em 0;
}

.page-width.products_banner .product-square .product-name {
	line-height: 1.3;
}

.product-square.medium {
	width: 10rem;
}

.product-square.large {
	margin: 0.2em;
}

.product-square.large > div {
	width: 11rem;
	min-width: 130px;
	margin: 0 auto;
	position: relative;
}

.sticker.sticker_imageoverlaybottomright {
	with: 3em;
	height: 3em;
	max-width: 3em;
	max-height: 3em;
}

.sticker.sticker_imageoverlaybottomright {
  position: absolute;
  top: -15px;
  right: -15px;
  z-index: 100;
}

.product-square.large .product-name {
	line-height: 140%;
}

.product-square .product-format {
	margin-top: 0.1em;
}

.product-square:hover,
.product-square:focus {
	padding: 13px 3px;
	border: 1px #B2D235 solid;
	outline: 0;
}

.product-square .stock {
	padding: 1em 0;
	border-top: 0.1em solid #ccc;
	border-bottom: 0.1em solid #ccc;
	color: #43b34b;
}

.product-square .product-format {
	color: #444;
}

.product-square .product-image {
	position: relative;
	display: inline-block;
}

.product-square a,
.product-square a > *,
.product-square a:link {
	margin: 0.8rem auto;
	text-decoration: none;
	color: #444;
}

.product-square h4 {
	font-size: 1.07em;
}

.product-square .product-name {
	padding: 0.1rem 0 0.4rem 0;
	color: #444;
	display: block;
	font-size: 1.1em;
	font-weight: bold;
	min-height: 1.8em;
	text-decoration: none;
	position: relative;
	margin: auto;
}

.product-square .product-name {
	padding: 0.5rem 0 0.1rem;
}

.product-square .price-container {
	display: -webkit-box;  /* OLD - iOS 6-, Safari 3.1-6, BB7 */
	display: -ms-flexbox;  /* TWEENER - IE 10 */
	display: -webkit-flex; /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
	display: flex;         /* NEW, Spec - Firefox, Chrome, Opera */
	-webkit-justify-content: space-around;
	justify-content: space-around;
	-webkit-align-items: center;
	align-items: center;
}

.product-square .price-container > * {
	vertical-align: middle;
}

.product-square .price {
	font-weight: bold;
	display: block;
	font-size: 1.4em;
}

.product-square .price.with-text {
	display: inline;
	font-size: 1.3em;
	text-align: right;
}

.product-square .price-text {
	text-align: left;
	font-size: 0.9em;
	color: #666;
}

.product-square a img {
	margin: 0 auto;
}

.product-square button,
.product-square .btn {
	margin: 0 auto;
}

.product-square .view-more {
	padding: 3rem 0;
}

.product-square .eden-progress {
	display: block;
	position: relative;
	height: 0.5em;
	background: #eee;
	overflow: hidden;
	border-radius: 1em;
	margin: 0.6em 0 0;
}

.product-square .date-bar h3 {
	color: #555;
	font-size: 0.75em;
	margin: 0;
}

.product-square .eden-progress .eden-progress-bar {
	display: block;
	height: 100%;
	transition: width 200ms ease-in-out;
}
.product-square .eden-progress .eden-progress-bar-warning {
	background: #facc05;
}

@media only screen and (min-width: 700px) {
	.product-square .date-bar h3 {
		color: rgb(247, 161, 42);
		font-size: 1.1em;
		font-weight: 600;
		line-height: 1em;
	}

	.product-square .date-bar.cyber-monday h3 {
		color: #0080d8;
	}


	.product-square .date-bar .time-remaining {
		color: #444;
		font-size: 0.9em;
		margin: 0.2em;
		font-weight: 500;
	}
}

@media only screen and (max-width: 700px) {
	.product-square .product-name {
		font-size: 1em;
	}

	.product-square .product-format,
	.product-square .stock,
	.product-square form {
		display: none;
	}

	.product-square {
		margin: 1em;
	}
}

.slick-dots li button:before {
	font-size: 8px !important;
	color: #222 !important;
	opacity: 0.5;
	transition: all 100ms ease-in-out;
}
.slick-dots li.slick-active button:before {
	opacity: 0.7 !important;
	font-size: 10px !important;
}

/* Products */
/* Stickers */
.sticker_imageoverlaybottomleft {position:absolute;top:-1px;left:-7px;z-index:100;}
.sticker_imageoverlaybottomright {
  position: absolute;
  top: -6px;
  right: 0;
  z-index: 100;
}
body.detail .sticker_imageoverlaybottomleft {top:-7px;}

.product-square span.price {color: #EC1B34;font-size: 1.9em;}
/* End Products */

.product-grid {
	display: -webkit-box;  /* OLD - iOS 6-, Safari 3.1-6, BB7 */
	display: -ms-flexbox;  /* TWEENER - IE 10 */
	display: -webkit-flex; /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
	display: flex;         /* NEW, Spec - Firefox, Chrome, Opera */
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
}

.product-grid:last-child::after {
	content: '';
	flex: auto;
}

/* Text header */
/* HACK WARNING:
 * .container-fluid AND #container have been used to restrict certain styles in
 * certain places to mobile or desktop. This should be removed.
 */
.container-fluid .header .title,
.panel_text_header.theme_auto .header .title,
.panel_text_header.theme_default .header .title {
	font-family: 'FS Lola', Arial, sans-serif;
	border-bottom: 1px solid #e2e2e2;
    margin-top: 1rem;
	padding-bottom: 5px;
	display: -webkit-box;  /* OLD - iOS 6-, Safari 3.1-6, BB7 */
	display: -ms-flexbox;  /* TWEENER - IE 10 */
	display: -webkit-flex; /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
	display: flex;         /* NEW, Spec - Firefox, Chrome, Opera */
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
    font-size: 16px;
}

/* Hack inline headers to have same style on mobile */
.container-fluid .title-action,
/* End hack */
.panel_text_header .title-action {
	flex-shrink: 0;
}

/* Hack inline headers to have same style on mobile */
.christmas .container-fluid .decorated .title h2,
.container-fluid .header h2,
/* End hack */
.panel_text_header.theme_auto h2,
.panel_text_header.theme_default h2 {
	font-size: 1.4em;
    line-height: 1;
	font-weight: 500;
	color: #444444;
	display: inline-block;
	margin: 0;
}

.container-fluid .title-action a, .container-fluid .title-action span,
.panel_text_header.theme_auto .title-action a,
.panel_text_header.theme_default .title-action a {
	padding: 0.4em 1.2em;
	font-size: 1.1em;
}

.christmas #container .panel_text_header.theme_auto .header,
#container .panel_text_header.theme_christmas .header,
#container .panel_text_header.theme_christmas2019 .header {
	margin: 1.5em 0 0 0;
	text-align: center;
	padding: 0.5em 0;
}

.christmas #container .panel_text_header.theme_auto .header::before,
#container .panel_text_header.theme_christmas .header::before,
#container .panel_text_header.theme_christmas2019 .header::before {
	content: '';
	display: inline-block;
	width: 100%;
	border-top: 1px #6B787E solid;
	position: relative;
	top: 1.8em;
	left: 0;
}

.christmas #container .panel_text_header.theme_auto .title,
#container .panel_text_header.theme_christmas .title,
#container .panel_text_header.theme_christmas2019 .title {
	font-family: 'Signika',sans-serif;
	background-color: #fff;
	width: auto;
	display: inline-block;
	position: relative;
	margin: 0 0 0.5em;
	z-index: 1;
	border: none;
}

.christmas #container .panel_text_header.theme_auto .title h2,
#container .panel_text_header.theme_christmas .title h2,
#container .panel_text_header.theme_christmas2019 .title h2 {
	color: #6B787E;
	font-size: 1.9em;
	display: inline-block;
	line-height: 1.5em;
	margin: 0 3em;
	font-weight: normal;
}

.christmas #container .panel_text_header.theme_auto .title-action a,
#container .panel_text_header.theme_christmas .title-action a,
#container .panel_text_header.theme_christmas2019 .title-action a {
	display: block;
	padding: 0.3em;
	color: #48a851;
	font-size: 1em;
	text-transform: uppercase;
}

.christmas #container .panel_text_header.theme_auto .title::before,
.christmas #container .panel_text_header.theme_auto .title::after,
#container .panel_text_header.theme_christmas .title::before,
#container .panel_text_header.theme_christmas .title::after,
#container .panel_text_header.theme_christmas2019 .title::before,
#container .panel_text_header.theme_christmas2019 .title::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 2.7em;
	height: 3em;
	background-size: 2.7em;
}

.christmas #container .panel_text_header.theme_auto .title::after,
#container .panel_text_header.theme_christmas .title::after,
#container .panel_text_header.theme_christmas2019 .title::after {
	transform: scaleX(-1);
	right: 0;
	left: auto;
}

.christmas #container .panel_text_header.theme_auto .title::before,
.christmas #container .panel_text_header.theme_auto .title::after,
#container .panel_text_header.theme_christmas .title::before,
#container .panel_text_header.theme_christmas .title::after {
	background-image: url('/staticimages/christmas2017/title_decoration.svg');
}

#container .panel_text_header.theme_christmas2019 .title::before,
#container .panel_text_header.theme_christmas2019 .title::after {
	background-image: url('/staticimages/christmas2020/gold_star_title_decoration.png');
	width: 2.7em;
	height: 2.7em;
	background-size: 2.7em;
	margin-left: 12px;
	margin-right: 12px;
}


#container .panel_text_header.theme_christmas2019 .title-action a {
	color: #005f7b;
	text-decoration: underline;
}




/* Panel Images */
.panel_images_across .block {
	-webkit-box-flex: 1;
	-ms-flex: 1 0 0;
	flex: 1 0 0;
}

.panel_images_across {
	display: -webkit-box;  /* OLD - iOS 6-, Safari 3.1-6, BB7 */
	display: -ms-flexbox;  /* TWEENER - IE 10 */
	display: -webkit-flex; /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
	display: flex;         /* NEW, Spec - Firefox, Chrome, Opera */
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.panel_images_across img {
	width: 100%;
}

.panel_images_across .block p,
.panel_images_across .block p.small {
	font-size: 1em;
	padding: 0.2em 0;
}

.panel_images_across .block p.medium {
	font-size: 1.2em;
	padding: 0.3em 0;
}

.panel_images_across .block p.large {
	font-size: 1.4em;
	padding: 0.4em 0;
}

.panel_images_across .block p.center-justified {
	text-align: center;
}

/* Bannersnack Links */
.iframe-wrap {
	position: relative;
	display: inline-block;
	width: 100%;

}
.iframe-blocker {
	position: absolute;
	height: 100%;
	width: 100%;
	z-index: 1;
}

.iframe-wrap iframe {
	z-index: 2;
}


.product-square .product-image picture {
    width: 100%;
    display: inline-flexbox;
    display: inline-flex;
    align-items: center;
}

.product-square.fixed-height.tiny .product-image picture {
    height: 70px;
}
.product-square.fixed-height.small .product-image picture {
    height: 90px;
}
.product-square.fixed-height.medium .product-image picture {
    height: 130px;
}
.product-square.fixed-height.large .product-image picture {
    height: 130px;
}

.product-square.fixed-height .product-image img {
    width: auto;
}

.product-square.fixed-height.tiny .product-image img {
    max-height: 70px;
}

.product-square.fixed-height.small .product-image img {
    max-height: 90px;
}

.product-square.fixed-height.medium .product-image img {
    max-height: 130px;
}
.product-square.fixed-height.large .product-image img {
    max-height: 130px;
}


/* Header Rule */
div.hr {
  margin-top: 1em;
  margin-bottom: 1em;
  border: 0;
  border-top: 1px solid #dedede;
  text-align: center;
  height: 0px;
  line-height: 0px;
}

div.hr-large {
    font-size: 1.5em;
    color: #333;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
}

.hr-title {
    background-color: #fff;
    padding: 0.5em;
}

.hr-title-large {
    font-size: 1.3em;
    color: #333;
}

.bannersnack-grid-panel {
    display: -ms-grid;
    display: grid;
    grid-gap: 20px;
    gap: 20px; /* Matches padding on container */
}

.bannersnack-grid-panel.bannersnack-grid-panel-columns-1 {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
}
.bannersnack-grid-panel.bannersnack-grid-panel-columns-2 {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
}
.bannersnack-grid-panel.bannersnack-grid-panel-columns-3 {
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
}
.bannersnack-grid-panel.bannersnack-grid-panel-columns-4 {
    -ms-grid-columns: 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}
.bannersnack-grid-panel.bannersnack-grid-panel-columns-5 {
    -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
.bannersnack-grid-panel.bannersnack-grid-panel-columns-6 {
    -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

.panel-image {
    text-align: center;
}

.panel-image img {
    max-width: 100%;
}

.panel-image h1 {
    margin: 0;
    padding: 0;
}

/*
 * "Page Header" panel (ID 12) header.php
 */
.panel-header {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    font-size: 16px;
}

.panel-header .image-container {
    width: 100%;
    max-height: 12em;
    overflow: hidden;
}

.panel-header .image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.panel-header .text-box-inner {
    padding: 1em;
    display: -webkit-flex;
    box-sizing: border-box;
    flex: 1;

    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    justify-content: center;
}

.panel-header .text-box-inner h1 {
    color: #464646;
    font-family: 'FS Lola', sans-serif;
    font-weight: 500 !important;
    font-size: 32px;
    line-height: 1;
    margin: 0;
}

.panel-header .text-box-inner details + p {
    display: none;
}

.panel-header .text-box-inner p {
    color: #000;
    font-size: 16px;
    margin: 0;
    font-family: 'Calibri', sans-serif;
    line-height: 1.3;
}

.panel-header .text-box-inner > details {
    color: #000;
    font-size: 16px;
    font-family: 'Calibri', sans-serif;
    line-height: 1.3;
}

.panel-header .text-box-inner > details > summary {
    margin: 2px 0;
    cursor: pointer;
    color: #555;
    font-family: 'Calibri', sans-serif;
    list-style: none;
}

.panel-header .text-box-inner > details > summary::-webkit-details-marker {
    display: none;
}

.panel-header .text-box-outer {
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;

    overflow: hidden;
    width: 100%;
    background: #f6f6f6;
    text-align: center;
}

.panel-header.christmas .text-box-outer::after,
.panel-header.christmas .text-box-outer::before {
    content: "";
    display: block;
    width: 40px;
    background: top no-repeat url('/staticimages/panels/page-title-christmas-bauble.png');
    background-size: contain;
    margin-top: -1.2em;
}

.panel-header.christmas .text-box-outer::before {
    margin-left: 1em;
}

.panel-header.christmas .text-box-outer::after {
    margin-right: 1em;
}

.panel-header.christmas .text-box-inner h1 {
    color: #4ea398;
}

@media (min-width: 720px) {
    .panel-header .text-box-inner {
        padding: 1.5em 1.9em;
    }

    .panel-header.christmas .text-box-inner {
        padding: 1.2em 1em;
    }

    .panel-header .text-box-outer {
        order: -1;
        width: 60%;
        min-width: 50%;
    }

    .panel-header {
        -webkit-flex-direction: row;
        flex-direction: row;

        max-height: 24rem;
    }

    .panel-header .image-container {
        max-height: none;
    }

    .panel-header .text-box-inner details {
        display: none;
    }

    .panel-header .text-box-inner p {
        display: inline-block !important;
        margin-top: 4px;
    }

    .panel-header .text-box-inner h1 {
        font-size: 28px;
    }

    .panel-header > .text-box-outer {
        text-align: left;
    }
}

/* Hub theme */
@media (max-width: 719px) {
    .panel-header.hub > .text-box-outer > .text-box-inner > h1,
    .panel-header.hub > .text-box-outer > .text-box-inner > p,
    .panel-header.hub > .text-box-outer > .text-box-inner > details {
        color: #464646 !important;
    }

    .panel-header.hub > .text-box-outer > .text-box-inner > details > summary {
        color: rgba(0, 0, 0, 0.6) !important;
    }
}

@media (min-width: 720px) {
    .panel-header.hub {
        display: block;
        position: relative;
    }

    .panel-header.hub > .text-box-outer {
        position: absolute;
        left: 0;
        width: 100%;
        top: 0;
        bottom: 0;
        background: none !important;
        text-align: center;
    }

    .panel-header.hub p {
        margin-top: -5px;
    }

    .panel-header.hub h1 {
        line-height: 0.75;
        padding: 0.05em 0 0.2em;
    }

    .panel-header.hub > .text-box-outer > .text-box-inner {
        padding: 2.5em 5em;
        align-items: center;
        justify-content: center;
    }
}

/**
 * "Feature Grid" Panel (ID: 22, feature_grid.php)
 */

.feature-grid {
    display: -ms-grid;
    display: grid;
    grid-gap: 20px;
    gap: 20px; /* Matches padding on container */

    /* Default to 1 column */
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
}

@media (min-width: 600px) {
    .feature-grid-columns-2 {
        -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 700px) {
    .feature-grid-columns-3 {
        -ms-grid-columns: 1fr 1fr 1fr;
        grid-template-columns: 1fr 1fr 1fr;
    }
    .feature-grid-columns-4 {
        -ms-grid-columns: 1fr 1fr 1fr 1fr;
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
    .feature-grid-columns-5 {
        -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    }
    .feature-grid-columns-6 {
        -ms-grid-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    }
}

.feature-grid-block {
    display: -ms-grid;
    display: grid;
    grid-gap: 0;
    gap: 0;
    height: 100%;

    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr;
    grid-template-rows: 1fr;
}

.feature-grid-block > * {
    grid-row: 1;
    grid-column: 1;
}

/* Required for Safari */
.feature-grid-image-container {
    display: flex;
}

.feature-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.feature-grid > a:hover,
.feature-grid > a {
    color: black;
    text-decoration: none;
}

.feature-grid-content-layer {
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature-grid-content {
    margin: 2em;
    text-decoration: none;
}

.feature-grid-content h2 {
    font-size: 2em;
    margin: 0;
    margin-bottom: 0.25em;
    font-family: 'FS Lola', sans-serif;
    font-weight: 500;
    line-height: 1;
    color: currentColor;
}

.feature-grid-content p {
    font-size: 1em;
    margin: 1em 0;
    line-height: 1.2;
}

.feature-button {
    display: inline-block;
    font-family: 'FS Lola', sans-serif;
    font-size: 1.2em;
    font-weight: 500;
    padding: 0.7em 2em;
    text-transform: uppercase;
    background: white;
    border: none;
    color: #222;
    transition: 100ms ease-in-out background;
}

.feature-button:hover {
    background: #f3f3f3;
}

.xt-richtext {
    font-size: 16px;
    line-height: 1.2;
}

.xt-richtext p {
    font-size: 0.83em;
    line-height: 1.35;
    margin: 0;
}

.xt-richtext p + p {
    margin-top: 0.8em;
}

.xt-richtext h2,
.xt-richtext h3,
.xt-richtext h4,
.xt-richtext h5,
.xt-richtext h6 {
    color: #444;
    line-height: 1;
    margin-bottom: 1rem;
    margin-top: 2rem;
    font-family: 'FS Lola', Arial, sans-serif;
    font-weight: 500;
}

.xt-richtext > h2:first-child,
.xt-richtext > h3:first-child,
.xt-richtext > h4:first-child,
.xt-richtext > h5:first-child,
.xt-richtext > h6:first-child {
    margin-top: 1rem;
}

.xt-richtext h2 {
    font-size: 1.4em;
    border-bottom: 1px solid #e2e2e2;
    padding-bottom: 5px;
}

.xt-richtext h3 {
    font-size: 1.2em;
}

.xt-richtext h2 + h3,
.xt-richtext h3 + h4,
.xt-richtext h4 + h5,
.xt-richtext h5 + h6 {
    margin-top: 0;
}

.text-by-image-panel {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: -1rem;
}

.text-by-image-panel > * {
    margin: 1rem;
}

.text-by-image-panel .xt-richtext {
    flex-basis: 20em;
    flex-grow: 1;
    order: 1;
}

.text-by-image-panel .xt-richtext > * {
    max-width: 36em;
}

.text-by-image-panel img {
    order: 2;
    max-width: 100%;
    max-height: 16rem;
    width: auto;
    height: auto;
}

.text-by-image-panel.image-on-left img {
    order: 0;
}
