/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */
/**

	To find elements dependent on header's height, look for this tag:
	#hhd

**/
/*@import url(https://fonts.googleapis.com/css?family=Roboto:400,300,300italic,400italic,700,700italic);*/
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic);
@import url(font-awesome.min.css);

html {
	background: #fff;
	color: #434343;
	font:400 1em/normal 'Open Sans', sans-serif;
	font-size: 1em;
	line-height: normal;
}

::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}

::selection {
	background: #b3d4fc;
	text-shadow: none;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

textarea {
	resize: vertical;
}

.browserupgrade {
	margin: 0.2em 0;
	background: #ccc;
	color: #000;
	padding: 0.2em 0;
}

/*! Swipebox v1.3.0 | Constantin Saguin csag.co | MIT License | github.com/brutaldesign/swipebox */html.swipebox-html.swipebox-touch{overflow:hidden!important}#swipebox-overlay img{border:none!important}#swipebox-overlay{width:100%;height:100%;position:fixed;top:0;left:0;z-index:99999!important;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#swipebox-container{position:relative;width:100%;height:100%}#swipebox-slider{-webkit-transition:-webkit-transform .4s ease;transition:transform .4s ease;height:100%;left:0;top:0;width:100%;white-space:nowrap;position:absolute;display:none;cursor:pointer}#swipebox-slider .slide{height:100%;width:100%;line-height:1px;text-align:center;display:inline-block}#swipebox-slider .slide:before{content:"";display:inline-block;height:50%;width:1px;margin-right:-1px}#swipebox-slider .slide .swipebox-inline-container,#swipebox-slider .slide .swipebox-video-container,#swipebox-slider .slide img{display:inline-block;max-height:100%;max-width:100%;margin:0;padding:0;width:auto;height:auto;vertical-align:middle}#swipebox-slider .slide .swipebox-video-container{background:0 0;max-width:1140px;max-height:100%;width:100%;padding:5%;-webkit-box-sizing:border-box;box-sizing:border-box}#swipebox-slider .slide .swipebox-video-container .swipebox-video{width:100%;height:0;padding-bottom:56.25%;overflow:hidden;position:relative}#swipebox-slider .slide .swipebox-video-container .swipebox-video iframe{width:100%!important;height:100%!important;position:absolute;top:0;left:0}#swipebox-slider .slide-loading{background:url(vendor/loader.gif) center center no-repeat}#swipebox-bottom-bar,#swipebox-top-bar{-webkit-transition:.5s;transition:.5s;position:absolute;left:0;z-index:999;height:50px;width:100%}#swipebox-bottom-bar{bottom:-50px}#swipebox-bottom-bar.visible-bars{-webkit-transform:translate3d(0,-50px,0);transform:translate3d(0,-50px,0)}#swipebox-top-bar{top:-50px}#swipebox-top-bar.visible-bars{-webkit-transform:translate3d(0,50px,0);transform:translate3d(0,50px,0)}#swipebox-title{display:block;width:100%;text-align:center}#swipebox-close,#swipebox-next,#swipebox-prev{background-image:url(vendor/icons.png);background-repeat:no-repeat;border:none!important;text-decoration:none!important;cursor:pointer;width:50px;height:50px;top:0}#swipebox-arrows{display:block;margin:0 auto;width:100%;height:50px}#swipebox-prev{background-position:-32px 13px;float:left}#swipebox-next{background-position:-78px 13px;float:right}#swipebox-close{top:0;right:0;position:absolute;z-index:9999;background-position:15px 12px}.swipebox-no-close-button #swipebox-close{display:none}#swipebox-next.disabled,#swipebox-prev.disabled{opacity:.3}.swipebox-no-touch #swipebox-overlay.rightSpring #swipebox-slider{-webkit-animation:rightSpring .3s;animation:rightSpring .3s}.swipebox-no-touch #swipebox-overlay.leftSpring #swipebox-slider{-webkit-animation:leftSpring .3s;animation:leftSpring .3s}.swipebox-touch #swipebox-container:after,.swipebox-touch #swipebox-container:before{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:all .3s ease;transition:all .3s ease;content:' ';position:absolute;z-index:999;top:0;height:100%;width:20px;opacity:0}.swipebox-touch #swipebox-container:before{left:0;-webkit-box-shadow:inset 10px 0 10px -8px #656565;box-shadow:inset 10px 0 10px -8px #656565}.swipebox-touch #swipebox-container:after{right:0;-webkit-box-shadow:inset -10px 0 10px -8px #656565;box-shadow:inset -10px 0 10px -8px #656565}.swipebox-touch #swipebox-overlay.leftSpringTouch #swipebox-container:before,.swipebox-touch #swipebox-overlay.rightSpringTouch #swipebox-container:after{opacity:1}@-webkit-keyframes rightSpring{0%{left:0}50%{left:-30px}100%{left:0}}@keyframes rightSpring{0%{left:0}50%{left:-30px}100%{left:0}}@-webkit-keyframes leftSpring{0%{left:0}50%{left:30px}100%{left:0}}@keyframes leftSpring{0%{left:0}50%{left:30px}100%{left:0}}@media screen and (min-width:800px){#swipebox-close{right:10px}#swipebox-arrows{width:92%;max-width:800px}}#swipebox-overlay{background:rgba(0,0,0,.5)}#swipebox-bottom-bar,#swipebox-top-bar{text-shadow:1px 1px 1px #000;background:rgba(0,0,0,.5);opacity:.95}#swipebox-top-bar{color:#fff!important;font-size:15px;line-height:43px;font-family:Helvetica,Arial,sans-serif}

/* ==========================================================================
   Main styles - the base, modified later by Media Queries
   ========================================================================== */

/* ------
   Basic
   ------ */

* {
	-webkit-box-sizing: border-box !important;
	-moz-box-sizing: border-box !important;
	box-sizing: border-box !important;
}
header.main,
header.main nav:not(.horizontal) ul > li.cart-container,
header.main nav:not(.horizontal) ul > li.cart-container > a,
header.main nav:not(.horizontal) ul > li.my-account-container,
header.main nav:not(.horizontal) ul > li.my-account-container > a,
form.search,
nav.horizontal,
.header-underlay,
nav.main,
nav.main h2
{
	-webkit-transition: none;
	-moz-transition: none;
	-ms-transition: none;
	-o-transition: none;
	transition: none;
}

a {
	color: #157398;
	text-decoration: none;
}
a.external:before {
	color: #cacbcc;
	content: '\f08e';
	font-family:FontAwesome;
	margin-right: 5px;
}

nav.main > ul > li a.selected{
    color:#eb5544 !important;
}

nav.main > ul > li a:hover{
    color:#eb5544 !important;
}

@media (min-width: 768px) {
    #navContainer {
        z-index: 30;
    }
}

#gmap,
#gmap * {
	-webkit-transition: none;
	-moz-transition: none ;
	-ms-transition: none ;
	-o-transition: none ;
	transition: none ;
}
/* ------------------
   Layout rows / cols
   ------------------ */

.row,
.inner-row {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0 0 15px;
}
.row.wrap {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.inner-row,
.row > .fileupload {
	margin-bottom: 0;
	width: 100%;
}
.row > .fileupload {
	margin: 0;
	padding: 0;
}
.row.align-top {
	-webkit-box-align: start;
	-ms-flex-align: start;
	-ms-grid-row-align: flex-start;
	align-items: flex-start;
}
.row.align-center {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.row.align-bottom {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}
.row.stretch {
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}
.row .one-sixth:not(:last-child),
.row .one-fourth:not(:last-child),
.row .one-third:not(:last-child),
.row .half:not(:last-child),
.row .two-thirds:not(:last-child),
.row .forty-percent:not(:last-child),
.row .sixty-percent:not(:last-child){
	margin-right:15px;
}

.row .one-third {
	-ms-flex-preferred-size: 33%;
	flex-basis: 33%;
}
.row .one-fourth {
	-ms-flex-preferred-size: 25%;
	flex-basis: 25%;
}
.row .one-sixth {
	-ms-flex-preferred-size: 16%;
	flex-basis: 16%;
}
.row .forty-percent {
	-ms-flex-preferred-size: 40%;
	flex-basis: 40%;
}
.row .half {
	-ms-flex-preferred-size: 50%;
	flex-basis: 50%;
}
.row .sixty-percent {
	-ms-flex-preferred-size: 60%;
	flex-basis: 60%;
}
.row .two-thirds {
	-ms-flex-preferred-size: 66%;
	flex-basis: 66%;
}
.row .three-fourths {
	-ms-flex-preferred-size: 75%;
	flex-basis: 75%;
}

/* -------------
   Form styles
   ------------- */

fieldset {
	margin: 0 0 25px;
	position: relative;
}
fieldset.border {
	border-top:1px solid #dfdfdf;
	margin-top: 25px;
}

label {
	color: #5e5e5e;
	display: inline-block;
	font-size: 13px;
	font-size: 0.8125rem;
	margin-bottom: 15px;
	position: relative;
	width: 100%;
}
.row.wrap label {
	margin-bottom: 5px;
}
#main_form  label,
label.less-margin{
	margin-bottom: 5px;
}
#main_form .fileupload label {
	margin-bottom: 0;
}

label > input[type=radio] {
	vertical-align: -10%;
}
label a.delete {
	bottom: 7px;
	height: 20px;
	position: absolute;
	right: -30px;
	text-indent: -10000em;
	width: 20px;
}
label a.delete:after {
	color: #eb5544;
	content: '\f00d';
	display: block;
	font-family:FontAwesome;
	font-size: 20px;
	height: 20px;
	left: 0;
	line-height: 20px;
	position: absolute;
	text-align: center;
	text-indent: 0;
	top: 0;
	width: 20px;
}
.req,
#main_form span.required {
	color: #eb5544;
	font-family:"Times New Roman", serif;
	font-size: 20px;
}
#main_form span.required {
	margin-left: 5px;
	position: absolute;
}

#main_form div[style*="clear"] {
	display: none;
}

a.tooltip {
	background: url('../images/ico-tooltip.gif') 50% 50% no-repeat;
	display: inline-block;
	height: 16px;
	width: 16px;
}
a.tooltip:after {
	display: none;
	opacity: 0;
}
a.tooltip:focus:after,
a.tooltip:hover:after {
	background: #fbf3ab;
	box-shadow: 0 0 15px rgba(0,0,0,.2);
	color: #333;
	bottom: 100%;
	content: attr(data-title);
	display: block;
	font-size: 12px;
	font-size: .75rem;
	margin: 0 0 5px 0;
	opacity: 1;
	padding: .5em;
	position: absolute;
}

.input-select {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 15px;
}
.input-select label {
	-webkit-box-flex: 2;
	-ms-flex: 2 0 70%;
	flex: 2 0 70%;
	margin-right: 20px;
	margin-bottom: 0;
}

legend,
#main_form h3 {
	display: block;
	font-size: 17px;
	font-size: 1.0625rem;
	font-weight: bold;
	margin-bottom: 13px;
}
#main_form h3 {
	color: #434343;
	margin: 0 0 13px;
}
#main_form h3:not(:first-of-type) {
	border-top:1px solid #dce0e0;
	margin-top: 20px;
	padding-top: 20px;
}
fieldset.border legend {
	float: left;
	margin-top: 15px;
	padding: 0;
}

select,
input:not([type=checkbox]):not([type=radio]),
textarea {
	border:1px solid #c4c4c4;
	font: 13px Arial, "Helvetica Neue", Helvetica, sans-serif;
	padding: 8px;
	width: 100%;
}
textarea {
	min-height:75px;
}
#main_form select,
#main_form input:not([type=checkbox]):not([type=radio]),
#main_form .fileupload {
	margin-bottom: 15px;
	width:calc(100% - 15px);
}

.input-select.error, select.error, .multiselect-error, .fileupload span.file-error,
input:not([type=checkbox]):not([type=radio]):not([type=submit]).error,
textarea.error {
	background: #ffe0e0;
	border: 1px solid #dc0000;
}
.data-entry select {
	height: 35px;
}

.registration section.content div.submit,
.my-account.edit section.content div.submit,
.my-account form.edit-credit-card .submit,
.my-account form.request-a-change .submit,
.my-account article .controls.more-buttons {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

/*
	File input styling credits:
	Osvaldas Valutis
	http://tympanus.net/codrops/2015/09/15/styling-customizing-file-inputs-smart-way/
 */

.fileupload {
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 20px 0 35px;
	padding: 3px;
}
.fileupload:last-child {
	margin-bottom: 0;
}
.fileupload > * {
	margin-right: 3px;
}
.fileupload > *:last-child {
	margin-right: 0;
}
.fileupload .button {
	-webkit-box-flex:0;
	-ms-flex:0 2 10%;
	flex:0 2 10%;
	line-height: 1.2;
	padding-left: 20px;
	padding-right: 20px;
}
.fileupload .button.light-blue-2 {
	background-color: #e0e9ec;
	border-color: #e0e9ec;
}
.fileupload .button.light-blue-2:hover,
.fileupload .button.light-blue-2:active{
	background-color: #b7d5e1;
}

.fileupload strong,
.fileupload span {
	color: #506e78;
	line-height: 35px;
}
.fileupload strong {
	-ms-flex-negative: 2;
	flex-shrink: 2;
	font-size: 12px;
	font-size: 0.75rem;
	font-weight: normal;
	padding: 0 20px 0 0;
	white-space: nowrap;
}
.fileupload span {
	background: #fbfdfd;
	border:1px solid #e0e9ec;
	-webkit-box-flex:2;
	-ms-flex-positive:2;
	flex-grow:2;
	font-size: 12px;
	font-size: 0.75rem;
	min-width: 200px;
	padding: 0 10px;
	overflow-x: hidden;
	-ms-text-overflow: ellipsis;
	text-overflow: ellipsis;
}

.inputfile {
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	width: 0.1px;
	z-index: -1;
}
.inputfile + label {
	background-color: black;
	color: white;
	cursor: pointer; 
	margin-bottom: 0;
}

.inputfile:focus + label,
.inputfile + label:hover {

}
.inputfile:focus + label {
	outline: 1px dotted #000;
	outline: -webkit-focus-ring-color auto 5px;
}
.inputfile + label * {
	pointer-events: none;
}

ul.options {
	list-style-type: none;
	margin: 0 0 15px;
	padding: 0;
}
ul.options li {
	color: #5e5e5e;
	font-family:Arial, sans-serif;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.2;
	margin: 0 0 10px;
	padding: 0 0 0 30px;
}

ul.options li:last-of-type {
	margin-bottom: 0;
}

ul.options li input[type=checkbox],
ul.options li input[type=radio] {
	margin-right: 10px;
	position: absolute;
	right: 100%;
	top: .1em;
}

ul.options li label {
	cursor: pointer;
	font-family:inherit;
}

label.error,
form .row.error {
	background: rgba(255,0,0,.1);
	color: #dc0000 !important;
	font-weight: bold;
	font-style: italic;
	margin: -5px;
	padding: 5px;
}

form .row.error label {
	color: #dc0000 !important;
	font-weight: bold;
	font-style: italic;
}

label > select,
label > input:not([type=checkbox]):not([type=radio]),
label > textarea {
	margin-top: 3px;
}

fieldset > input:not(:last-child),
fieldset > select:not(:last-child) {
	margin-bottom: 10px;
}

span.info,
form p.info,
form .error-inline {
	color: #157398;
	float: right;
	font-family:Arial,sans-serif;
	font-size: 11px;
	font-size: 0.6875rem;
	margin: 0;
}
form p.info.general {
	color: #434343;
	float: none;
	margin-bottom: 15px;
}
form p.info-req,
form p.info-2{
	color: #5e5e5e;
	font-family:Arial,sans-serif;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1;
	margin: 0 0 -.8em;
	text-align: left;
}
form p.info-2 {
	line-height: 1.2;
	margin: -10px 0 15px;
}
form p.info-req .req {
	font-size: 24px;
	vertical-align: -25%;
}
span.info.fieldset {
	max-width:55%;
	position: absolute;
	right: 0;
	top: .5em;
}
form p.info {
	margin-top: -5px;
}
form p.info.standard {
	color: #5e5e5e;
	float: none;
	font-size: 13px;
	font-size: 0.8125rem;
	margin: 0 0 15px;
}
.shopping-cart form table p.info {
	float: none;
	margin-top: 13px;
}
.shopping-cart form table p.info em {
	font-weight: bold;
}
form .error-inline {
	color: #dc0000;
	font-size: 9px;
	font-size: 0.5625rem;
	font-weight: bold;
	margin: 2px 0 0;
	text-transform: uppercase;
}
span.info:before,
.shopping-cart table p.info:before{
	content: '\f05a';
	font-family:FontAwesome;
	margin-right: 4px;
}
.shopping-cart table p.info:before {
	color: #bebebe;
}



input[type="date"]:before {
	content: attr(data-placeholder) !important;
	color: #aaa;
	margin-right: 0.5em;
}
input[type="date"]:focus:before,
input[type="date"]:valid:before {
	content: "";
}
::-webkit-input-placeholder {
	color:#181919;
	font-style: italic;
}
::-moz-placeholder {
	color:#181919;
	font-style: italic;
} /* firefox 19+ */
:-ms-input-placeholder {
	color:#181919;
	font-style: italic;
} /* ie */
input:-moz-placeholder {
	color:#181919;
	font-style: italic;
}

textarea::-webkit-input-placeholder {
	color:#a1a1a1;
	font-size: 14px;
	font-size: 0.875rem;
	font-style: italic;
}
textarea::-moz-placeholder {
	color:#a1a1a1;
	font-size: 14px;
	font-size: 0.875rem;
	font-style: italic;
} /* firefox 19+ */
textarea:-ms-input-placeholder {
	color:#a1a1a1;
	font-size: 14px;
	font-size: 0.875rem;
	font-style: italic;
} /* ie */
textarea:-moz-placeholder {
	color:#a1a1a1;
	font-size: 14px;
	font-size: 0.875rem;
	font-style: italic;
}

p.error,
p.notice {
	line-height: 1em;
	margin: 0;
	padding: 8px;
}
p.error {
	background: #ffe0e0;
	color: #dc0000;
	font-family:Arial, sans-serif;
	font-size: 14px;
	font-size: 0.875rem;
	text-align: center;
	text-shadow: 0 1px 0 #fff;
}
.shopping-cart p.error {
	margin-bottom: 9px;
	text-align: left;
}
p.error:before {
	content: '\f071';
	display: inline-block;
	font-family:FontAwesome;
	margin-right: 8px;
}
p.notice {
	background: #faf9a2;
	border-bottom:1px solid #ffffff;
	color: #4f4f31;
	font-family:Arial, sans-serif;
	font-size:14px;
	font-size: 0.875rem;
	font-style: italic;
	font-weight: bold;
	line-height: 1.2;
	min-height:50px;
	padding: 10px 60px 10px 70px;
	position: relative;
}

p.notice:before {
	color: #c4c37a;
	content: '\f05a';
	font-family:FontAwesome;
	font-size: 30px;
	font-style: normal;
	left: 25px;
	line-height: 1;
	position: absolute;
	top: 10px;
}

/* -------
   Modal
   ------- */

.blocker {
	background-color: rgb(0, 0, 0);
	background-color: rgba(0, 0, 0, 0.5);
	overflow: auto;
	padding: 20px;
	position: fixed;
	text-align: center;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 50;
}

.blocker:before {
	content: "";
	display: inline-block;
	height: 100%;
	vertical-align: middle;
	margin-right: -0.05em;
}

.modal {
	background: #fff;
	border:1px solid #dce0e0;
	display: inline-block;
	padding: 28px;
	position: relative;
	text-align: left;
	vertical-align: middle;
	width: 550px;
	z-index: 6;
}

.modal a.close-modal {
	display: block;
	height: 20px;
	position: absolute;
	right: 25px;
	text-indent: -9999px;
	top: 25px;
	width: 20px;
}
.modal a.close-modal:after {
	background: #eb5544;
	-webkit-border-radius:100%;
	-moz-border-radius:100%;
	border-radius:100%;
	color: #fff;
	content: '\f00d';
	display: block;
	font-family:FontAwesome;
	height: 27px;
	line-height: 27px;
	position: absolute;
	right: -38px;
	text-align: center;
	text-indent: 0;
	top: -38px;
	width: 27px;
}

.modal-spinner {
	display: none;
	width: 64px;
	height: 64px;
	position: fixed;
	top: 50%;
	left: 50%;
	margin-right: -32px;
	margin-top: -32px;
	background: url("data:image/gif;base64,R0lGODlhIAAgAPMAABEREf///0VFRYKCglRUVG5ubsvLy62trTQ0NCkpKU5OTuLi4vr6+gAAAAAAAAAAACH+GkNyZWF0ZWQgd2l0aCBhamF4bG9hZC5pbmZvACH5BAAKAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ/V/nmOM82XiHRLYKhKP1oZmADdEAAAh+QQACgABACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY/CZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB+A4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6+Ho7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq+B6QDtuetcaBPnW6+O7wDHpIiK9SaVK5GgV543tzjgGcghAgAh+QQACgACACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK++G+w48edZPK+M6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkEAAoAAwAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE+G+cD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm+FNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk+aV+oJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkEAAoABAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0/VNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAAKAAUALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc+XiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAAKAAYALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30/iI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE/jiuL04RGEBgwWhShRgQExHBAAh+QQACgAHACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR+ipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAAKAAgALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAAKAAkALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY+Yip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd+MFCN6HAAIKgNggY0KtEBAAh+QQACgAKACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1+vsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d+jYUqfAhhykOFwJWiAAAIfkEAAoACwAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg+ygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0+bm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h+Kr0SJ8MFihpNbx+4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX+BP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA==") #111 no-repeat center center;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	-o-border-radius: 8px;
	-ms-border-radius: 8px;
	border-radius: 8px;
}

.blocker.current .modal-content {
	display: inline-block !important;
}
.modal-content {
	color: #434343;
	display: none;
	font-size: 15px;
	font-size: 0.9375rem;
	overflow: visible !important;
}
.modal-content.bigger {
	width: 650px;
}
.modal-content.huge {
	width: 750px;
}
.modal-content.warning .close-modal,
.modal-content.wait .close-modal,
.modal-content.noclose .close-modal{
	display: none;
}
.modal-content.modal.current {
	display: inline-block;
}
.modal-content.wait {
	text-align: center;
	width: 270px;
}
.modal-content h2 {
	border-bottom:1px solid #dce0e0;
	color: #157398;
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 700;
	margin: 0 0 15px;
	max-width:100%;
	overflow-x: hidden;
	padding: 0 0 15px;
	-ms-text-overflow: ellipsis;
	text-overflow: ellipsis;
}
.modal-content h2.bigger {
	border: none;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	margin: 0 0 5px;
	padding: 0;
}
.modal-content h2.sad,
.modal-content h2.attendance,
.modal-content h2.schedule,
.modal-content h2.request{
	text-transform: uppercase;
}
.modal-content h2.attendance,
.modal-content h2.schedule {
	margin-bottom: 0;
}
.modal-content h2.sad:before,
.modal-content h2.attendance:before,
.modal-content h2.schedule:before,
.modal-content h2.request:before{
	content: '\f119';
	font-family:FontAwesome;
	margin-right: 18px;
}
.modal-content h2.attendance:before {
	content: '\f046';
}
.modal-content h2.schedule:before {
	content: '\f0ae';
}
.modal-content h2.request:before {
	content: '\f0ec';
}
.modal-content.wait h2 {
	border: none;
	font-weight: normal;
	text-transform: uppercase;
}
.modal-content h3 {
	color: #5e5e5e;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
	margin: 0 0 10px;
}
.modal-content h3.black {
	color: #131313;
	font-weight: bold;
	margin: 15px 0;
}
.modal-content p {
	margin-bottom: 25px;
}
.modal-content p.bigger {
	font-size:18px;
	font-size: 1.125rem;
	margin: 30px 0;
}
.modal-content p.center {
	text-align: center;
}
.modal-content.warning p:first-of-type {
	padding: 0 80px 0 0;
	position: relative;
}
.modal-content dl dt {
	color: #434343;
	font-size: 18px;
	font-size: 1.125rem;
}
.modal-content dl dd {
	color: #666;
	font-size: 14px;
	font-size: 0.875rem;
	margin: 0;
	text-transform: uppercase;
}
/*Modal instructors*/
.modal-content ul.list,
.modal-content ul.list li {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.modal-content ul.list li {
	position: relative;
}
.modal-content ul.list li:not(:last-child) {
	border-bottom: 1px solid #cfd8df;
}
.modal-content ul.list li label,
.modal-content ul.list li input[type=radio],
.modal-content ul.list li input[type=checkbox] {
	display: inline-block;
	vertical-align: middle;
}
.modal-content ul.list li label {
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 600;
	margin: 0 0 0 10px;
	padding: 14px 0;
	position: static;
	width: auto;
}
.modal-content ul.list li input:checked + label:after {
	border-style: solid;
	border-width: 12px 10px 12px 0;
	border-color: transparent #f1f3f1 transparent transparent;
	content: '';
	height: 0;
	margin: -12px -15px 0 0;
	position: absolute;
	right: 0;
	top: 50%;
	width: 0;
}

.modal-content .panels-list .panel-description {
	background: #f1f3f1;
	padding: 24px;
}
.modal-content .panels-list .panel-description figure {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	margin: 0;
	padding: 0;
}
.modal-content .panels-list .panel-description figure .thumbnail {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 120px;
	        flex: 0 0 120px;
	height: 120px;
	margin-right: 25px;
	width: 120px;
}
.modal-content .panels-list .panel-description figure .thumbnail img {
	height: 120px;
	object-fit: cover;
	width: 120px;
}

.modal-content .panels-list .panel-description figure figcaption {
	flex: 1 1 auto;
}
.modal-content .panels-list .panel-description figure h2 {
	border: none;
	color: #484848;
	font-size: 26px;
	font-size: 1.625rem;
	font-weight: 400;
	line-height: 1;
	margin: 0 0 10px;
	overflow: visible;
	padding: 0;
}
.modal-content .panels-list .panel-description figure h3 {
	font-size: 16px;
	font-size: 1rem;
	font-weight: 400;
	margin: 0;
}
.modal-content .panels-list .panel-description p {
	line-height: 1.7;
}
.modal-content .panels-list .panel-description p:last-child {
	margin-bottom: 0;
}
/*End Modal instructors*/
.modal-content .table-wrapper{
	max-height:400px;
	overflow: auto;
}
.modal-content .table-wrapper.border {
	border-top:1px solid #dce0e0;
}
.modal-content table {
	color: #505050;
	font-size: 14px;
	font-size: 0.875rem;
	/*table-layout:fixed;*/
	text-transform: uppercase;
	width: 100%;
}
.modal-content table tr > * {
	border-bottom:1px solid #dce0e0;
	padding: 10px 10px 10px 0;
}
.modal-content table tr > *:last-child {
	padding-right: 0;
}
.modal-content table tr > *.green {
	color: #65ad25;
}
.modal-content table tr > *.red {
	color: #bc2e2e;
}

.modal-content table tr > th {
	border-bottom:2px solid #dce0e0;
	color: #000;
	font-size: 16px;
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.2;
	text-transform: none;
}
.modal-content table tr > th[scope=row] {
	border-bottom-width:1px;
	color: inherit;
	font-size:inherit;
}

.modal-content table sup {
	font-size: 70%;
}

.modal-content.warning:before {
	background: #ffbe22;
	-webkit-border-radius:100%;
	-moz-border-radius:100%;
	border-radius:100%;
	content: '';
	height: 68px;
	position: absolute;
	right: 30px;
	top: 40px;
	width: 68px;
	z-index: 0;
}
.modal-content.warning:after {
	color: #fff;
	content: '\f071';
	font-family:FontAwesome;
	font-size:46px;
	position: absolute;
	top: 49px;
	right: 41px;
	z-index:1;
}
.modal-content ul.big {
	border-top:1px solid #e8e8e8;
	font-size: 16px;
	font-size: 1rem;
	font-weight: bold;
	list-style: square;
	margin: 0;
	padding: 15px 0 0 30px;
}
.modal-content .data-entry {
	background: #eff6f8;
	padding: 20px 25px;
}
.modal-content label {
	display: block;
	font-size: 13px;
	font-size: 0.8125rem;
	font-weight: 300;
	margin: 0 -5px 3px;
	padding: 5px;
}
.modal-content label.error {
	margin-bottom: 3px;
}
.modal-content .data-entry label {
	font-size: 13px;
	font-size: 0.8125rem;
}
.modal-content label input[type=radio] {
	margin-right: 10px;
}
.modal-content nav.quiz {
	border-bottom:1px solid #dddddd;
	margin-bottom: 15px;
}
.modal-content nav.quiz ul {
	margin: 0;
	padding: 0;
}
.modal-content nav.quiz li {
	display: inline-block;
	list-style: none;
	margin: 0 25px 0 0;
	padding: 0;
	position: relative;
}
.modal-content nav.quiz li.complete:after {
	color: #4ac01b;
	content: '\f058';
	font-family:FontAwesome;
	font-size: 14px;
	position: absolute;
	right: -12px;
	top: 0;
}

.modal-content nav.quiz li:last-of-type {
	margin-right: 0;
}
.modal-content nav.quiz a {
	border-bottom:3px solid transparent;
	display: block;
	font-size: 16px;
	font-weight: 400;
}

.modal-content nav.quiz li.active a {
	border-bottom-color:#eb5544;
	color: #eb5544;
}
.modal-content div.submit {
	border-top:1px solid #dce0e0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 15px 0 0;
	padding: 15px 0 0;
}
.modal-content div.submit.tight {
	padding-left: 25%;
	padding-right: 25%;
}
.modal-content div.submit.center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.modal-content .loader {
	-webkit-animation: spin 2s linear infinite;
	animation: spin 2s linear infinite;
	border: 10px solid #f3f3f3;
	border-radius: 50%;
	border-top: 10px solid #3498db;
	height: 80px;
	margin: 0 auto;
	width: 80px;
}

@-webkit-keyframes spin {
	0% { -webkit-transform: rotate(0deg); }
	100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* -------
   Buttons
   ------- */

.button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #157398;
	border: none;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 13px;
	font-size: 0.8125rem;
	padding: 8px 20px;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
}
.button:after {
	display: none;
}
.button:before,
.button.next:after {
	content: '\f00c';
	font-family: FontAwesome;
	font-size: 15px;
	height: 16px;
	line-height: 15px;
	margin: 0 8px 0 0;
	text-align: center;
	width: 16px;
}
.button.noicon:before {
	content: '';
	display: none;
}
a.button:hover,
button.button:hover{
	background: #eb5544;
	color: #fff;
}

.button.disabled {
	background: #d8dfe1 !important;
	border:1px solid #c8d1d4;
	color: #728890;
	font-style: italic;
    pointer-events: none;
    cursor: default;
}
.button.disabled-2 {
	background: #deecf0;
	border:1px solid #d3e4e9;
	color: #157398;
	font-weight: 600;
	font-style: italic;
}
.button.disabled.noicon {
	padding-left: 19px;
	padding-right: 19px;
}
button[disabled].button {
	background: #ff9e95;
	text-shadow: 0 -1px 0 rgba(0,0,0,.2);
}
button[disabled].button:hover {
	background: #ff9e95;
}
a[disabled].button:hover {
	background: #ff9e95;
}

.button.noicon {
	padding-left: 40px;
	padding-right: 40px;
	text-align: center;
}
.button.noicon:before {
	display: none;
}
.button.nopadding {
	padding-left: 0;
	padding-right: 0;
}
.button.less-padding {
	padding-left: 15px;
	padding-right: 15px;
}
.button.more-padding {
	padding-left: 60px;
	padding-right: 60px;
}

.button.small {
	font-size: 11px;
	font-size: 0.6875rem;
	padding: 6px 7px 5px 7px;
}
.button.small:before {
	font-size: 11px;
	font-size: 0.6875rem;
	left: 6px;
}
.button.bigger {
	/*font-size: 15px;*/
	font-size: 14px;
	/*font-size: 0.9375rem;*/
	font-size: 0.87rem;
	padding-top: 12px;
	padding-bottom: 12px;
}
.button.full {
	text-align: center;
	width: 100%;
}
.button.center {
	text-align: center;
}

.button.white {
	background: #ffffff;
	border: 1px solid #d2e1e4;
}
.button.white,
.button.white:before {
	color: #157398 !important;
}
header.main .button.white {
	border: none;
}
.button.white:hover {
	background-color: #e7f4f9;
}
.button.red {
	background: #eb5544;
}
.button.red:hover {
	background: #ca3423;
}
.button.light-blue {
	background: #bdc8d0;
}
.button.light-blue:hover {
	background: #adbcc8;
}
.button.light-blue-2 {
	background: #eef5f8;
	border:1px solid #cedde3;
	color: #157398;
}
.button.light-blue-2:hover {
	background: #e6edf0;
	color: #157398;
}



.button.checkout:before {
	content: '\f07a';
}
.button.check:before {
	content: '\f046';
}
.button.check-2:before {
	content: '\f00c';
}
.button.filter:before {
	content: '\f0b0';
}
.button.plus:before {
	content: '\f055';
}
.button.plus-2:before {
	content: '\f067';
}
.button.minus-2:before {
	content: '\f068';
}
.button.print:before {
	content: '\f02f';
}
.button.chevron-right:before {
	content: '\f054';
}
.button.previous:before {
	content: '\f053';
}
.button.next:after {
	content: '\f054';
	display: inline-block;
	margin: 0 0 0 8px;
}
.button.next:before {
	display: none;
}

.button.menu:before {
	content:'\f0c9';
}
.button.home:before {
	content:'\f015';
}
.button.cart:before {
	content:'\f07a';
}
.button.remove:before {
	content: '\f00d';
}
.button.arrow-down:before {
	content: '\f0ab';
}



/* -----------
   Main Layout
   ----------- */

body {
	padding: 0;
}

header.main,
nav.breadcrumbs > ul,
nav.horizontal,
section.main,
footer.main {
	margin: 0 auto;
	width: 1116px;
}

.header-underlay {
	background: rgba(255,255,255,.95);
	display: none;
	height: 130px; /* #hhd */
	left: 0;
	position: fixed;
	right:0;
	top: 0;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
	z-index: 7;
}
/*.scrolled:not(.nobreadcrumbs) .header-underlay {*/
	/*height: 157px; !* #hhd *!*/
/*}*/
/*.horizontal-nav.scrolled:not(.nobreadcrumbs) .header-underlay {*/
	/*height: 207px; !* #hhd *!*/
/*}*/
/*.horizontal-nav.scrolled.nobreadcrumbs .header-underlay {*/
	/*height: 180px; !* #hhd *!*/
/*}*/

/* ------
   Header
   ------ */

header.main {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: transparent;
	border: 1px solid transparent;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	/*margin-bottom: 87px;*/
	margin-bottom: 8px;
	padding: 12px 0;
	z-index: 20;
}


header.main h1 {
	-webkit-background-size: contain;
	background-size: contain;
	display: block;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	height: auto !important;
	line-height:normal !important;
	margin: 0 15px 0 0;
	max-height:130px;
	max-width:190px;
	overflow: hidden;
	position: relative;
	text-align: center;
	width: auto !important;
}
header.main h1 a {
	display:block !important;
}
header.main h1 a img{
	display: block;
	max-height:100%;
	max-width:100%;
}
form.search {
	margin:0 -558px 0 0;
	padding: 0;
	position: absolute;
	right: 50%;
	text-align: right;
}
form.search h2 {
	display: none;
}
form.search input[type=search] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #f8fafa;
	border: none;
	-webkit-border-radius:15px;
	-moz-border-radius:15px;
	border-radius:15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-family:inherit;
	font-size: 13px;
	font-size:0.8125rem;
	height: 30px;
	line-height: 30px;
	padding: 0 40px 0 15px;
	width: 300px;
}
form.search button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #fff;
	border:1px solid #abc4ce;
	-webkit-border-radius:100%;
	-moz-border-radius:100%;
	border-radius:100%;
	height: 30px;
	line-height: 0;
	position: absolute;
	right: 0;
	text-indent: -1000em;
	top: 0;
	width: 30px;
}
form.search button:after {
	color: #157398;
	content: '\f002';
	display: block;
	font-family: FontAwesome;
	font-size: 16px;
	height: 100%;
	left: 0;
	line-height: 30px;
	position: absolute;
	text-align: center;
	text-indent: 0;
	top: 0;
	width: 100%;
}
form.search button:hover:after {
	color: #eb5544;
}

header.main nav:not(.horizontal) {
	-webkit-box-flex:0;
	-ms-flex:0 0 auto;
	flex:0 0 auto;
}

header.main nav:not(.horizontal) ul {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	list-style: none;
	margin: 0;
	padding: 0;
}
header.main nav:not(.horizontal) ul > li {
	border-right:1px solid #eeefef;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.1;
	margin: 0;
	position: relative;
}
header.main nav:not(.horizontal) ul > li > a {
	display: inline-block;
	font-size: 13px;
	font-size:0.8125rem;
	padding: 0 20px;
}
header.main nav:not(.horizontal) ul > li.my-account-container > a {
	padding-right: 25px;
}

header.main nav:not(.horizontal) ul > li.cart-container {
	border-right: none;
}

header.main nav:not(.horizontal) ul > li.cart-container > a {
	padding-right: 0;
	position: relative;
	z-index: 40;
}
header.main nav:not(.horizontal) ul > li.cart-container em.icon {
	border:1px solid #abc4ce;
	-webkit-border-radius:100%;
	-moz-border-radius:100%;
	border-radius:100%;
	display: inline-block;
	height: 30px;
	margin-right: 10px;
	overflow: hidden;
	position: relative;
	vertical-align: middle;
	width: 30px;
}

header.main nav:not(.horizontal) ul > li.cart-container.added em.icon {
	background: #eb5544;
	border-color: #eb5544;
}

header.main nav:not(.horizontal) ul > li.cart-container em.icon:before,
header.main nav:not(.horizontal) ul > li.cart-container em.icon:after {
	color: #157398;
	content: '\f07a';
	font-family: FontAwesome;
	font-size: 16px;
	font-style: normal;
	line-height: 30px;
	margin-right: 10px;
	height: 30px;
	left: -2px;
	padding: 0;
	position: absolute;
	text-align: center;
	-webkit-transition: left .5s;
	-moz-transition: left .5s;
	-ms-transition: left .5s;
	-o-transition: left .5s;
	transition: left .5s;
	top: 0;
	width: 30px;
}
header.main nav:not(.horizontal) ul > li.cart-container.added em.icon:before {
	left: -37px;
}
header.main nav:not(.horizontal) ul > li.cart-container em.icon:after {
	color: #fff;
	left: 33px;
}
header.main nav:not(.horizontal) ul > li.cart-container.added em.icon:after {
	left: -2px;
}

header.main nav:not(.horizontal) ul > li.cart-container.hover > a {
	background: #157398;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
	-webkit-box-shadow: 0 -4px 10px -2px rgba(0,0,0,.3);
	-moz-box-shadow: 0 -4px 10px -2px rgba(0,0,0,.3);
	box-shadow: 0 -4px 10px -2px rgba(0,0,0,.3);
	color: #fff;
}

/* Secondary, horizontal navigation */
nav.horizontal {
	display: block;
	padding: 0 0 0 30px;
}
nav.horizontal:empty {
	height: 62px;
}

nav.horizontal h3 {
	display: none;
}
nav.horizontal ul {
	display: inline-block;
	font-size: 0;
	list-style-type:none;
	margin: 0;
	padding: 0;
	text-align: left;
	/*width: 1116px;*/
}
nav.horizontal ul li {
	display: inline-block;
	font-size: 16px;
	font-size: 1rem;
}
nav.horizontal ul li:last-child {
	margin: 0;
}
nav.horizontal ul li a {
	border-right:1px solid #e6e8e8;
	color: #010101;
	display: block;
	font-size: 14px;
	font-size:.875rem;
	line-height: 1;
	padding: 0 13px;
}

nav.horizontal ul li:last-child a {
	border-right: 0;
	padding-right: 0;
}


.overlay {
	background: rgba(0,0,0,0);
	/*bottom: 100%;*/
	height: 0;
	left: 0;
	position: fixed;
	/*right: 0;*/
	top: 0;
	-webkit-transition: all .05s ease-in-out;
	-moz-transition: all .05s ease-in-out;
	-ms-transition: all .05s ease-in-out;
	-o-transition: all .05s ease-in-out;
	transition: all .05s ease-in-out;
	width: 100%;
	z-index: 20;
}
.overlay.visible {
	background: rgba(0,0,0,.85);
	/*bottom: 0;*/
	height: 100%;
}

header.main nav:not(.horizontal) ul > li.cart-container.hover a,
header.main nav:not(.horizontal) ul > li.cart-container.hover a:before {
	color: #fff;
}

header.main nav:not(.horizontal) ul > li.my-account-container {
	position: relative;
	z-index: 11;
}

header.main nav:not(.horizontal) ul > li.my-account-container > a {
	position: relative;
}
header.main nav:not(.horizontal) ul > li.my-account-container > a:after {
	color: #eb5544;
	content: '\f0d7';
	font-family:FontAwesome;
	margin-left: 6px;
	position: absolute;
	right: 10px;
	top: 0;
}

header.main nav:not(.horizontal) ul > li.my-account-container ul {
	background: #fff;
	border:1px solid #e0e9ec;
	display: none;
	line-height:normal;
	margin: 15px 0 0;
	padding: 10px 30px;
	position: absolute;
	right: -1px;
	top: 100%;
	width: 240px;
}
header.main nav:not(.horizontal) ul > li.my-account-container.hover ul {
	display: block;
}
header.main nav:not(.horizontal) ul > li.my-account-container ul:before,
header.main nav:not(.horizontal) ul > li.my-account-container ul:after {
	content: '';
	position: absolute;
	right: 20px;
	top: -9px;
}
header.main nav:not(.horizontal) ul > li.my-account-container ul:before {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 7px 8px 7px;
	border-color: transparent transparent #e0e9ec transparent;
}
header.main nav:not(.horizontal) ul > li.my-account-container ul:after {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 6px 6px 6px;
	border-color: transparent transparent #ffffff transparent;
	right: 21px;
	top: -6px;
}

header.main nav:not(.horizontal) ul > li.my-account-container ul li {
	border: none;
	display: block;
	height: auto;
}
header.main nav:not(.horizontal) ul > li.my-account-container ul li > a {
	border-bottom:1px solid #dfdfdf;
	display: block;
	height: auto;
	padding: 10px 0;
}
header.main nav:not(.horizontal) ul > li.my-account-container ul li:last-child > a {
	border-bottom:none;
}

/* -------
   Link back
   ------- */

#linkback {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

/*.shopping-cart .submit #linkback {*/
	/*background: #157398;*/
	/*clip:auto;*/
	/*color: #fff;*/
	/*display: inline-block;*/
	/*font-size: 15px;*/
	/*font-size: 0.9375rem;*/
	/*height: auto;*/
	/*margin: 0;*/
	/*padding:12px 22px;*/
	/*position: relative;*/
	/*text-transform: uppercase;*/
	/*top: -46px;*/
	/*white-space: nowrap;*/
	/*width: auto;*/
/*}*/
.shopping-cart.logged-in #linkback {
	top: 0;
}
.shopping-cart #linkback:hover {
	background: #146082;
}
.shopping-cart #linkback:before {
	content: '\f112';
	display: inline-block;
	font-family: FontAwesome;
	font-size: 18px;
	margin-right: 13px;
}
/* -------
   Filters
   ------- */

form.filters {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	border-bottom:1px solid #e7eaea;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0 0 15px;
	padding-bottom: 5px;
	position: relative;
	z-index:5;
}

form.filters fieldset {
	display: block;
	font-size: 0;
	margin: 0;
}
form.filters fieldset.search {
	flex: 1 0 30%;
	margin-left: 30px;
	position: relative;
}
form.filters fieldset.search input[type=search] {
	border: 1px solid #dce0e0;
	margin: 0;
	padding-right: 40px;
	padding-top: 10px;
	padding-bottom: 10px;
}
form.filters fieldset.search button[type=submit] {
	background: transparent;
	border: none;
	bottom: 0;
	display: inline-block;
	height: 37px;
	line-height: 1;
	position: absolute;
	right: 0;
	width: 37px;
}
form.filters fieldset.search button[type=submit]:after {
	color: #157398;
	content: '\f002';
	font-family:FontAwesome;
	font-size: 16px;
}


form.filters legend {
	color: #10161b;
	display: block;
	/*float: left;*/
	font-size: 12px;
	font-size: 0.75rem;
	margin: 0 0 5px;
	padding: 0;
	width: 100%;
}

form.filters dl {
	clear: both;
	color: #131313;
	display: inline-block;
	font-weight: 400;
	margin: 0 10px 10px 0;
	position: relative;
}
form.filters dl dt,
form.filters nav.options li.add-filters dl dt {
	background: #f8f8f8;
	border:1px solid #dce0e0;
	cursor: pointer;
	display: inline-block;
	font-size: 14px;
	font-size: 0.875rem;
	padding: 8px 11px;
}
form.filters dl.active dt {
	background: #eaf9ff;
	border-color: #87bcd1;
}
form.filters dl.shown dt:before,
form.filters nav.options li.add-filters dl.shown dt:before {
	background: #f8f8f8;
	border-left:1px solid #dce0e0;
	border-right:1px solid #dce0e0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	content: '';
	display: block;
	height: 10px;
	left: 0;
	margin: -1px 0 0;
	position: absolute;
	top: 100%;
	width: 100%;
	z-index: 2;
}
form.filters dl.shown.active dt:before {
	background: #eaf9ff;
	border-left-color: #87bcd1;
	border-right-color: #87bcd1;
}

form.filters dl dt:after,
form.filters nav.options li.add-filters dl dt:after {
	content: '\f0d7';
	display: inline;
	font-family:FontAwesome;
	font-size: 14px;
	margin-left: 10px;
}
form.filters dl.shown dt:after {
	content: '\f0d8';
}
form.filters dl dd,
form.filters nav.options li.add-filters dl dd{
	display: none;
	position: absolute;
}
form.filters dl.shown dd,
form.filters nav.options li.add-filters dl.shown dd {
	background: #f8f8f8;
	border:1px solid #dce0e0;
	display: block;
	left: 0;
	margin: 8px 0 0;
	max-height: 400px;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 0 20px 0 0;
	top: 100%;
	z-index: 1;
}
form.filters dl dd.amount,
form.filters dl.shown dd.amount{
	background: #eb5544;
	border: none;
	-webkit-border-radius:100%;
	-moz-border-radius:100%;
	border-radius:100%;
	color: #fff;
	display: block;
	font-size: 10px;
	font-weight: 400;
	height: 18px;
	left: auto;
	line-height: 18px;
	margin: 0;
	overflow: hidden;
	padding: 0;
	right: -7px;
	text-align: center;
	top: -7px;
	width: 18px;
}
form.filters dl.shown.active dd:not(.amount) {
	background: #eaf9ff;
	border-color: #87bcd1;
}
form.filters dl dd ul,
form.filters nav.options li.add-filters dl dd ul {
	list-style: none;
	margin: 0;
	padding: 10px 10px 0;
}
form.filters dl dd label,
form.filters nav.options li.add-filters dl dd label {
	cursor: pointer;
	/*font-family:Roboto, sans-serif;*/
	font-family:'Open Sans', sans-serif;
	white-space: nowrap;
}
form.filters dl dd input[type=checkbox],
form.filters dl dd input[type=radio],
form.filters nav.options li.add-filters dl dd input[type=checkbox],
form.filters nav.options li.add-filters dl dd input[type=radio] {
	margin: 0 5px 0 0;
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
	vertical-align: -10%;
}

form.filters nav.options ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
form.filters nav.options li {
	text-align: right;
}
form.filters nav.options li.clear-all a {
	display: block;
	font-size: 12px;
	font-size: 0.75rem;
	font-weight: bold;
	margin: 0 0 5px;
}
form.filters nav.options li.add-filters dl {
	margin-right: 0;
}
form.filters nav.options li.add-filters dl.shown dd {
	left: auto;
	right: 0;
}
form.filters nav.options li.add-filters dl dt {
	background: #fff;
	color: #157398;
	border:1px solid #dce0e0;
	white-space: nowrap;
}
form.filters nav.options li.add-filters dl dt:hover {
	color: #eb5544;
}
form.filters nav.options li.add-filters dl.shown dt:before {
	background: #fff;
	border-color: #dce0e0;;
}
form.filters nav.options li.add-filters dl dt:after {
	content: '\f067';
}
form.filters nav.options li.add-filters dl.shown dd {
	background: #fff;
	min-width:100%;
	padding: 0;
}
form.filters nav.options li.add-filters dl dd ul li {
	text-align: left;
}

form.filters nav.mobile-options,
form.filters .submit{
	display: none;
}


/* ----------------------
   Breadcrumbs navigation
   ---------------------- */

nav.breadcrumbs {
	border-bottom:1px solid #f5f6f6;
	border-top: 1px solid #e6e8e9;
	margin-bottom: 20px;
	-webkit-transition: none;
	-moz-transition: none;
	-ms-transition: none;
	-o-transition: none;
	transition: none;
}

nav.breadcrumbs ul {
	font-size: 0;
	margin: 0 auto;
	padding: 5px 0 3px;
}
nav.breadcrumbs li {
	display: inline-block;
	font-size: 13px;
	font-size: 0.8125rem;
	margin: 0;
	padding: 0;
}
nav.breadcrumbs li:first-of-type {
	position: relative;
}
nav.breadcrumbs li:first-of-type span {

}
nav.breadcrumbs li:first-of-type a:before {
	content: '\f015';
	display: inline-block;
	font-family: FontAwesome;
	font-size: 13px;
	height: 18px;
	text-indent: 0;
	width: 18px;
}

nav.breadcrumbs li:last-of-type a {
	color: #000;
	font-weight: 700;
}

nav.breadcrumbs li:after {
	content: '/';
	display: inline-block;
	margin: 0 .3em 0;
	text-indent: 0 !important;
}
nav.breadcrumbs li:last-of-type:after {
	display: none;
}

/* --------------------
   Main content wrapper
   -------------------- */

section.main {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-transition: none;
	-moz-transition: none;
	-ms-transition: none;
	-o-transition: none;
	transition: none;
}

.invoice section.main {
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	-ms-grid-row-align: stretch;
	align-items: stretch;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

/* ---------
   Main menu
   --------- */

nav.main {
	font-size: 100%;
	order: 1;
	width: 198px;
}
nav.main.in-content {
	display: none;
}

nav.main h2 {
	display: none;
}

nav.main ul {
	font-size: 14px;
	font-size: 0.875rem;
	/*font-weight: 700;*/
	list-style-type: none;
	margin: 0;
	padding: 0;
}
nav.main li a,
nav.main li span {
	border-bottom: 1px solid #dce0e0;
	display: block;
}

nav.main ul span,
nav.main ul a.active {
	/*color: #eb5544;*/
	display: block;
}

nav.main > ul > li > a,
nav.main > ul > li > span {
	padding: 10px 0;
}

nav.main > ul > li li {
	padding-left: 14px;
	padding-right: 0;
}

nav.main > ul > li li li {
	padding-right: 0;
}
nav.main > ul > li li a,
nav.main > ul > li li span {
	font-weight: 400;
	padding-top: 5px;
	padding-bottom: 5px;
}

nav.main > ul > li > ul > li:last-of-type {
	border-bottom: 1px solid #dce0e0;
}

nav.main > ul > li > ul > li:last-of-type > a,
nav.main > ul > li > ul > li:last-of-type > span {
	border-bottom: none;
}
nav.main > ul > li li a,
nav.main > ul > li li span {
	position: relative;
}
nav.main > ul > li li a:before,
nav.main > ul > li li span:before {
	content: '\f105';
	font-family:FontAwesome;
	font-size: 12px;
	left: -14px;
	position: absolute;
	top: .7em;
}

/* ------------
   Main content
   ------------ */

section.content {
	order: 2;
	width: 891px;
}

/* Common content elements */

section.content article {
	margin-bottom: 3em;
}

section.main h2 {
	color: #157398;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 300;
	margin: 0 0 .8em;
}
section.main h2.grey {
	color: #4b4b4b;
	font-size: 20px;
	font-size: 1.25rem;
	margin-bottom: .3em;
}
section.main h2.dark-grey {
	color: #262626;
}
section.main h2.border {
	border-bottom:1px solid #f0f0f0;
	margin-bottom: 25px;
	padding-bottom: 15px;
}
section.main h2.border.black {
	color: #000;
	line-height: 1;
	padding-bottom: .1em;
}

section.main h3 {
	color: #157398;
	font-size: 23px;
	font-size: 1.4375rem;
	font-weight: 400;
	margin: 1.5em 0 .5em;
}
section.main h3.black {
	color: #000;
	font-size: 18px;
	font-size: 1.125rem;
	margin-bottom:.6em;
}
section.main h3.grey {
	color: #4b4b4b;
	font-size: 20px;
	font-size: 1.25rem;
}
section.main h3.border-top {
	border-top:1px solid #dce0e0;
	padding-top: 2em;
}
section.main h4 {
	color: #1f1f1f;
	font-size: 15px;
	font-size: 0.9375rem;
	font-weight: 400;
	margin: 1em 0;
}
section.main h4.bold {
	font-size: 16px;
	font-size: 1rem;
	font-weight: 600;
	margin: 2em 0 1em;
}

section.content p {
	line-height: 1.4em;
}

section.content address {
	font-size: 15px;
	font-size:0.9375rem;
	font-style: normal;
	line-height: 1.6;
	margin: 0 0 1.5em;
}
section.content p:last-child {
	margin-bottom: 0;
}
section.content .thumbnail {
	float: left;
	margin: 0 2.25em .5em 0;
}
section.content .thumbnail.right {
	float: right;
	margin: 0 0 .5em 2.25em;
}
section.content .thumbnail img {
	height: auto;
	max-width:263px;
}
.course-details section.content .thumbnail {
	float: none;
	margin: 0 0 1em;
}

.course-details .disableLink a{
    color: #000;
}

section.content .group-description {
	background: #f8fafa;
	font-size:14px;
	font-size: 0.875rem;
	margin: 0 0 2em;
	padding: 2px 8px 12px;
}
section.content .group-description p {
	line-height: 1.5;
}
section.content .group-description h2 {
	margin-bottom: .5em;
}

section.content .group-description .thumbnail {
	margin-bottom: 0;
}

section.content .faculty-description {
	border:1px solid #dce0e0;
	margin-bottom: 20px;
	margin-left: -15px;
	padding: 15px;
}
section.content .faculty-description h2 {
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1;
	margin: 0;
}
section.content .faculty-description h2 strong {
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 300;
}
section.content .faculty-description h2:not(:last-child) {
	margin-bottom: 5px;
}
section.content .faculty-description h3 {
	font-size: 15px;
	font-size: 0.9375rem;
	font-weight: 300;
	font-style: italic;
	line-height: 1;
	margin: 0;
}

section.main ul.arrows,
section.main ul.checkmarks {
	list-style: none;
	padding-left: 20px;
}
section.main ul.checkmarks {
	padding-left: 26px;
}
section.main ul.arrows li,
section.main ul.checkmarks li {
	margin-bottom: 5px;
	position: relative;
}
section.main ul.arrows li:last-of-type,
section.main ul.checkmarks li:last-of-type {
	margin-bottom: 0;
}
section.main ul.arrows li:before,
section.main ul.checkmarks li:before{
	content: '\f105';
	font-family:FontAwesome;
	margin-right: 10px;
	position: absolute;
	right: 100%;
	top: 0;
}
section.main ul.arrows.solid li:before {
	content: '\f0da';
	top: .2em;
}
section.main ul.checkmarks li:before {
	color: #157398;
	content: '\f00c';
	font-size: 15px;
	top: .3em;
}



.data-entry .wrapper {
	background: #eff6f8;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 20px 16px 30px;
}
.registration .data-entry .wrapper {
	padding-left: 60px;
	padding-right: 60px;
}

.data-entry form {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
}

.data-entry form fieldset label:last-child {
	margin-bottom: 0;
}
.data-entry form input[type=checkbox] {
	display: inline-block;
	vertical-align: -10%;
	width: auto;
}
.data-entry form a.link {
	font-size: 12px;
	font-size: 0.75rem;
	font-weight: bold;
}
.data-entry form a.link:before {
	content: '\f040';
	font-family:FontAwesome;
	margin-right: 5px;
}


.content ul.gallery {
	margin: 2em 0 1em;
	padding: 0;
}
.content ul.gallery li {
	display: inline-block;
	margin: 0 1em 1em 0;
	position: relative;
}
.content ul.gallery li:nth-of-type(4n) {
	margin-right: 0;
}
.content ul.gallery li:after,
.content ul.gallery li:before {
	-webkit-transition: all .15s ease-in-out;
	-moz-transition: all .15s ease-in-out;
	-ms-transition: all .15s ease-in-out;
	-o-transition: all .15s ease-in-out;
	transition: all .15s ease-in-out;
}
.content ul.gallery li:after {
	border-style: solid;
	border-width: 0 0 30px 30px;
	border-color: transparent transparent #157398 transparent;
	bottom: 0;
	content: '';
	height: 0;
	position: absolute;
	right: 0;
	width: 0;
	z-index:1;
}
.content ul.gallery li:before {
	bottom: 3px;
	color: #fff;
	content: '\f00e';
	font-family:FontAwesome;
	font-size: 12px;
	line-height: 12px;
	position: absolute;
	right: 3px;
	z-index:2;
}
.content ul.gallery li:hover:after {
	border-width: 0 0 40px 40px;
}
.content ul.gallery li:hover:before {
	bottom: 5px;
	font-size: 14px;
	right: 5px;
}




/* Course description */

section.content .description:after {
	clear: both;
	content:'.';
	display: block;
	height: 0;
	visibility: hidden;
}

/* Course details table */

table.course-details {
	border-bottom: 1px solid #dce0e0;
	clear: both;
	font-weight: 400;
	margin: 2em 0 1em;
	table-layout: auto;
	width: 100%;
}
table.course-details thead th {
	border-bottom: 1px solid #dce0e0;
	color: #434343;
	font-size: 11px;
	font-size: 0.6875rem;
	padding: 6px 5px 6px 0;
	text-align: left;
	text-transform: uppercase;
}
table.course-details th:last-of-type {
	padding-right: 0;
}
table.course-details thead th a {
	color: #434343;
}

table.course-details tbody {
	overflow-x: auto;
}
table.course-details td {
	font-size: 12px;
	font-size: 0.775rem;
	line-height:normal;
	/*padding: 4px 0;*/
	padding: 7px 5px 7px 0;
	vertical-align: top;
}
table.course-details td:last-of-type {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-right: 0;
	text-align: right;
}
table.course-details td:last-of-type .button {
	text-align: center;
	width: 100%;
}
table.course-details td:last-of-type .button.less-padding {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	width: auto;
}
table.course-details td:last-of-type .button.less-padding:first-child {
	margin-right: 7px;
}
table.course-details td:last-of-type .button.light-blue {
	display: none;
}

/* Hide some headers on desktop */
.course-list section.content article h3 {
	display: none;
}

/* Similar courses */

.similar-courses:after {
	clear: both;
	content: '.';
	display: block;
	height: 0;
	visibility: hidden;
}
.similar-courses article {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	float: left;
	margin-right: 2.5%;
	width: 31.6%;
}
.similar-courses article:nth-of-type(3n) {
	margin-right: 0;
}
.similar-courses article h1 {
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 400;
	margin: 0 0 .3em;
	-webkit-box-ordinal-group:3;
	-webkit-order:2;
	-ms-flex-order:2;
	order:2;
}
.similar-courses article .description {
	color: #536c76;
	font-size: 12px;
	font-size: 0.75rem;
	-webkit-box-ordinal-group:4;
	-webkit-order:3;
	-ms-flex-order:3;
	order:3;
}
.similar-courses article .thumbnail {
	-webkit-box-ordinal-group:2;
	-webkit-order:1;
	-ms-flex-order:1;
	order:1;
	position: relative;
}

.similar-courses article .thumbnail img.avatar {
	border:2px solid #e4eae4;
	border-radius:100%;
	bottom: -10px;
	height: 64px;
	position: absolute;
	right: 12px;
	width: 64px;
}

/* Class Details page */

section.register {
	background: #eff6f8;
	border:1px solid #deecf0;
	float: right;
	margin-left: 20px;
	padding: 10px;
	position: relative;
	-webkit-transition: none;
	-moz-transition: none;
	-ms-transition: none;
	-o-transition: none;
	transition: none;
	width: 285px;
	z-index:3;
}

section.register .button {
	margin-bottom: 10px;
}

section.register .class-details-table {
	background: #fff;
	border:1px solid #deecf0;
	padding: 20px;
}
section.register table,
section.content table.schedule {
	width: 100%;
}
section.register table sup,
section.content table.schedule sup {
	font-size: .6em;
}
section.register table th,
section.register table td,
section.content table.schedule th,
section.content table.schedule td {
	border-bottom:1px solid #f2f2f2;
	padding: 8px;
	vertical-align: top;
}
section.register table tr:first-of-type th,
section.register table tr:first-of-type td,
section.content table.schedule tr:first-of-type th,
section.content table.schedule tr:first-of-type td {
	padding-top: 0;
}
section.register table tr:last-of-type th,
section.register table tr:last-of-type td,
section.content table.schedule tr:last-of-type th,
section.content table.schedule tr:last-of-type td {
	border: none;
	padding-bottom: 0;
}
section.register table th,
section.content table.schedule th {
	color: #939393;
	font-size: 11px;
	font-size: 0.6875rem;
	font-weight: 400;
	text-align: left;
	text-transform: uppercase;
}
section.register table td,
section.content table.schedule td {
	font-size: 13px;
	font-size: 0.8125rem;
	font-weight: 400;
}

section.register .lnkEventSchedules {
    display:block;
    font-size:0.85rem;
	text-align:center;
    cursor: pointer;
}

.eventdate-holiday{
    color: red;
    padding: 3px;
}

/* Payment page */

.payment label {
	position: relative;
}
.payment span.info.fieldset {
	top: 0;
}

.payment .data-entry {
	-webkit-flex-basis:60%;
	-ms-flex-preferred-size:60%;
	flex-basis:60%;
}
.payment .data-entry .wrapper {
	padding-right: 55px;
	position: relative;
}

.payment .data-entry form {
	width: 60%;
}

.payment .data-entry fieldset:first-of-type,
.payment .data-entry fieldset#discount-code-details{
	border-bottom:1px solid #d5e6ec;
	padding-bottom: 25px;
}


#payment-new-credit-card,
#payment-electronic-check {
	display: none;
}

fieldset#select-payment-plan p.info {
	float: none;
	letter-spacing: -.3px;
	margin-top: 15px;
}
fieldset#select-payment-plan p.info:before {
	content: '\f05a';
	font-family:FontAwesome;
	margin-right: 4px;
}
fieldset#select-payment-plan label {
	margin-bottom: 5px;
}
fieldset#select-payment-plan label input[type=radio] {
	vertical-align: -10%;
}
fieldset#select-payment-plan div {
	padding-right: 80px;
	position: relative;
}

.data-entry .wrapper .details-overlay {
	background: rgba(0,0,0,.3);
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.main dl.details {
	margin: 0;
	padding: 0;
	position: absolute;
	right: -2px;
	top: -4px;
	z-index:1;
}
.main dl.details dt {
	margin: 0;
	padding: 0;
	text-align: right;
}
.main dl.details dt > a {
	display: inline-block;
	font-family:Arial, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	font-weight: bold;
	padding: 7px;
	-webkit-transition: none;
	-moz-transition: none;
	-ms-transition: none;
	-o-transition: none;
	transition: none;
}
.main dl.details dt > a:before {
	content: '\f265';
	font-family:FontAwesome;
	margin-right: 6px;
}
.main dl.details.shown dt > a {
	background: #fff;
	color: #157398;
}
.main dl.details dd {
	background: #fff;
	display: none;
	margin: 0;
	padding: 15px;
}
.main dl.details.shown dd {
	display: block;
}
.main dl.details dd h5 {
	font-family:Arial, sans-serif;
	font-size:16px;
	font-size: 1rem;
	font-weight: normal;
	margin: 0 0 15px;
}
.main dl.details dd table {
	font-family:Arial, sans-serif;
	font-size: 13px;
	font-size: 0.8125rem;
}
.main dl.details dd th,
.main dl.details dd td {
	padding: 6px 10px;
}
.main dl.details dd tr:nth-of-type(2n+1) th,
.main dl.details dd tr:nth-of-type(2n+1) td {
	background: #f9f9f9;
}

.main dl.details dd th {
	font-weight: normal;
}
.main dl.details dd th:before {
	display: none;
}

fieldset#discount-code-details .row {
	margin-bottom: 0;
}

fieldset#discount-code-details label {
	margin-bottom: 0;
	width: 60%;
	white-space: nowrap;
}
fieldset#select-payment-plan .partial-amount {
	margin: 10px 0;
	padding-right: 0;
}
fieldset#select-payment-plan .partial-amount label {
	display: block;
	width: 100%;
}
fieldset#discount-code-details label input,
fieldset#discount-code-details label span {
	display: block;
	vertical-align: middle;
	width: 100%;
}
fieldset#discount-code-details label input {
	color: #91bdcf;
	font-size: 16px;
	font-size: 1rem;
	font-weight: bold;
	padding-top: 7px;
	padding-bottom: 7px;
}

fieldset#discount-code-details a {
	display: inline-block;
	margin-left: 5px;
	text-decoration: underline;
	vertical-align: middle;
}
fieldset#discount-code-details .discount-credit span {
	background: #91bdcf;
	color: #fff;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1em;
	margin-top: 3px;
	padding: 6px;
	text-align: center;
}
fieldset#discount-code-details .discount-credit span sup {
	font-size: 12px;
	font-size: 0.75rem;
	position: relative;
	top: -10px;
}


section.main form .credit-card-details {
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 15px;
}
section.main form .credit-card-details input,
section.main form .credit-card-details select {
	display: block;
}
section.main form .credit-card-details > span {
	margin: 0 1em;
	position: relative;
	white-space: nowrap;
}
section.main form .credit-card-details > span:before {
	bottom: .5em;
	content: '/';
	display: block;
	left: .3em;
	margin-left: -1em;
	margin-right: .4em;

	position: absolute;
}
section.main form .credit-card-details > * {
	margin-bottom: 0;
	white-space:nowrap;
	width: 33%;
}

section.main form .credit-card-details label:last-child span:after{
	background: url('/images/ico-cc.png') 0 0 no-repeat;
	content:' ';
	display: inline-block;
	height: 19px;
	margin-left: 2px;
	vertical-align: -20%;
	width: 36px;
}

section.main form .cc-companies {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: flex-start;
	list-style: none;
	margin: 0 0 30px;
	padding: 0;
}

section.main form .cc-companies li,
section.main form .cc-companies li a {
	height: 30px;
	margin: 0;
	padding: 0;
	width: 46px;
}
section.main form .cc-companies li {
	margin-right: 13px;
}
section.main form .cc-companies li:last-of-type {
	margin-right: 0;
}
section.main form .cc-companies li a {
	display: block;
	opacity: .3;
	text-indent: -10000em;
}
section.main form .cc-companies li.active a {
	opacity: 1;
}
section.main form .cc-companies li.visa a {
	background: url('/images/ico-cc-visa.png') 0 0 no-repeat;
}
section.main form .cc-companies li.mastercard a {
	background: url('/images/ico-cc-mastercard.png') 0 0 no-repeat;
}
section.main form .cc-companies li.american-express a {
	background: url('/images/ico-cc-american-express.png') 0 0 no-repeat;
}
section.main form .cc-companies li.discover a {
	background: url('/images/ico-cc-discover.png') 0 0 no-repeat;
}
section.main form .cc-companies li.jcb a {
	background: url('/images/ico-cc-jcb.png') 0 0 no-repeat;
}
section.main form .cc-companies li.diners-club a {
	background: url('/images/ico-cc-diners-club.png') 0 0 no-repeat;
}


.payment .data-entry .shield {
	background: url('/images/bg-shield.png') 50% 0 no-repeat;
	font:italic 12px Arial, sans-serif;
	margin-top: 33px;
	padding: 19px 17px 25px 17px;
	width: 187px;
}
.payment .data-entry .shield h4 {
	border-bottom:1px solid #e1f2b3;
	color: #9ad304;
	font-size: 11px;
	font-style: normal;
	letter-spacing: -1px;
	line-height:normal;
	margin: 0;
	padding: 0 0 17px 35px;
	position: relative;
	text-transform: uppercase;
}
.payment .data-entry .shield h4:before {
	background: url('/images/ico-shield-lock.png') 50% 0 no-repeat;
	content: ' ';
	display: inline-block;
	height: 41px;
	left: -4px;
	position: absolute;
	top: -5px;
	width: 34px;
}
.payment .data-entry .shield h4 strong {
	display: block;
	font-size: 12px;
	font-weight: bold;
}
.payment .data-entry .shield p {
	line-height: 1.5em;
	text-align: center;
}


.payment .summary {
	margin-left: 23px;
	-webkit-flex-basis:40%;
	-ms-flex-preferred-size:40%;
	flex-basis:40%;
}

.payment .summary h2 {
	padding-left: 23px;
}
.payment .summary .wrapper {
	border-left:1px solid #dfdfdf;
	padding-left: 23px;
}
.payment .summary th .waitlisted {
	background: #eb5544;
	color: #fff;
	display: inline-block;
	font-size: 9px;
	font-size: 0.5625rem;
	font-style: normal;
	height: 12px;
	line-height: 12px;
	margin: 0 3px 0 10px;
	padding: 0 4px 0 2px;
	position: relative;
	text-transform: uppercase;
	vertical-align: 10%;
	white-space: nowrap;
}
.payment .summary th .waitlisted:before {
	border-style: solid;
	border-width: 6px 5px 6px 0;
	border-color: transparent #eb5544 transparent transparent;
	content: '';
	height: 0;
	position: absolute;
	right: 100%;
	width: 0;
}
.payment .summary table {
	background: #f9f9f9;
	border:20px solid #f9f9f9;
	border-collapse:separate;
	font-family:Arial,'Open Sans',sans-serif;
	width: 100%;
}
.payment .summary th,
.payment .summary td {
	border-bottom:1px solid #d1d1d1;
	padding: 11px 0;
	vertical-align: top;
}
.payment .summary th {
	font-size: 14px;
	font-size: 0.875rem;
	max-width: 255px;
	padding-right: 20px;
	text-align: left;
}
.payment .summary td {
	font-size: 18px;
	font-size: 1.125rem;
	text-align: right;
}
.payment .summary tbody tr:first-child th,
.payment .summary tbody tr:first-child td {
	padding-top: 0;
}
.payment .summary table .subtotal th,
.payment .summary table .subtotal td {
	border-top:1px solid #d1d1d1;
	border-bottom: 0;
}
.payment .summary table .discount > *,
.payment .summary table .discount-code > *,
.payment .summary table .future-scheduled-payments > *,
.payment .summary table .payment-plan-fee > * {
	border-bottom: none;
	padding-top: 0;
}
.payment .summary table .discount td,
.payment .summary table .discount-code td{
	color: #eb5544;
}

.payment .summary table tfoot th {
	color: #157398;
	font-size: 13px;
	font-size: 0.8125rem;
	font-weight: normal;
}
.payment .summary table td sup,
.shopping-cart .summary table td sup{
	font-size: 60%;
}
.payment .summary table tfoot tr.total > *,
.payment .summary tfoot tr.due-now > * {
	border-top:2px solid #d1d1d1;
	border-bottom: none;
	color: #157398;
	font-size: 26px;
	font-size: 1.625rem;
	font-weight: normal;
	padding-bottom: 0;
}

.payment .summary table tfoot tr.future-scheduled-payments,
.payment .summary table tfoot tr.payment-plan-fee,
.payment .summary table tfoot tr.due-now,
.payment .summary table tfoot tr.future-scheduled-payments th:before,
.payment .summary table tfoot tr.payment-plan-fee th:before,
.payment .summary table tfoot tr.due-now th:before{
	display: none;
}
.payment .summary table.payment-plan tfoot tr.total th,
.payment .summary table.payment-plan tfoot tr.total td {
	font-size: 18px;
	font-size: 1.125rem;
}
.payment .summary table tfoot tr.future-scheduled-payments th,
.payment .summary table tfoot tr.payment-plan-fee th {
	border-top: none;
	font-size: 13px;
	font-size: 0.8125rem;
}
.payment .summary table tfoot tr.future-scheduled-payments td,
.payment .summary table tfoot tr.payment-plan-fee td {
	border-top: none;
	color: #000000;
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: normal;
}
.payment .summary table tfoot tr.future-scheduled-payments > * {
	padding-top: 20px;
}
.payment .summary table tfoot tr.payment-plan-fee > * {
	padding-bottom: 11px;
}
.payment .summary table tfoot tr.due-now > * {
	font-size: 26px;
	font-size: 1.625rem;
}
.payment .summary table.payment-plan tfoot tr.future-scheduled-payments,
.payment .summary table.payment-plan tfoot tr.payment-plan-fee,
.payment .summary table.payment-plan tfoot tr.due-now{
	display: table-row;
}


.payment .summary table tfoot tr.total th:before,
.shopping-cart:not(.receipt) .summary table tfoot tr.total th:before,
.payment .data-entry tr th:before{
	content: '\f07a';
	font-family:FontAwesome;
	margin-right: 10px;
}

.payment .summary table tfoot tr.total td,
.payment .summary table tfoot tr.due-now td{
	font-weight: bold;
}

.payment .summary th span {
	color: #5e5e5e;
	display: block;
	font-size: 12px;
	font-style: italic;
	font-weight: normal;
	margin-top: .5em;
}

/* Login page */

.login .data-entry {
	margin: 0 auto;
	width: 100%;
}
.login fieldset.border legend {
	margin-bottom: 0;
}
#login-iframe-holder {
    width: 450px;
}
#login-loading {
    font-size: 20px;
    text-align: center;
}

/* Forgot Password page */
.login.forgot-password fieldset {
	margin-bottom: 20px;
}
.login.forgot-password fieldset p {
	font-weight: normal;
	margin-top: 0;
}

/* Registration page */

.registration .data-entry {
	margin: 0 auto;
	width: 55%;
}
.registration fieldset {
	border-bottom:1px solid #dce0e0;
	padding-bottom: 25px;
}
.registration fieldset > *:last-child {
	margin-bottom: 0;
}
.registration fieldset.border legend {
	margin-bottom: 0;
}

#main_form + div.submit {
	border-top:1px solid #dce0e0;
	margin-top: 15px;
	padding-top: 30px;
}
.registration .button.white.plus-2 {
	margin: 5px 0 20px;
}
.registration fieldset > .button.white.plus-2:last-child {
	margin-bottom: 0;
}

.registration div.submit > *:first-child {
	margin-right: 10px;
}
.registration div.submit > *:not(:first-child) {
	margin-left: 10px;
}

.registration div.submit > * {
	-ms-flex-preferred-size: 50%;
	flex-basis: 50%;
}

/* Error page */

.error section.main {
	background: #eff6f8;
	display: block !important;
	padding: 20px 16px 30px;
}

/* Shopping Cart page */

.shopping-cart .summary {
	border-right:1px solid #dfdfdf;
	-webkit-flex-basis:67.2%;
	-ms-flex-preferred-size:67.2%;
	flex-basis:67.2%;
	-webkit-box-flex:2;
	-webkit-flex-grow:2;
	-ms-flex-positive:2;
	flex-grow:2;
	margin-right: 23px;
	padding-right: 23px;
}
.shopping-cart.logged-in .summary {
	border: none;
	margin-right: 0;
	padding-right: 0;
}
.shopping-cart .summary header {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.shopping-cart .summary h2 span {
	color: #9f9f9f;
	font-size: 14px;
	font-size: 0.875rem;
}
.shopping-cart .summary table {
	font-family:Arial,sans-serif;
	width: 100%;
}

.shopping-cart .summary th,
.shopping-cart .summary td {
	border-bottom: 9px solid #fff;
	padding: 25px 16px 20px;
	vertical-align: middle;
}

.shopping-cart .summary tfoot th,
.shopping-cart .summary tfoot td {
	border: none;
	padding-top: 8px;
	padding-bottom: 8px;
}
.shopping-cart .summary table tfoot.due th:before {
	display: none;
}

.shopping-cart:not(.invoice) .summary tr.total > *,
.shopping-cart:not(.invoice) .summary tfoot tr.total > *,
.shopping-cart .summary tfoot tr.due-now > *{
	border-top:9px solid #fff;
}

.shopping-cart:not(.receipt) .summary tfoot tr.total > *,
.shopping-cart:not(.receipt) .summary tfoot tr.due-now > * {
	color: #157398;
}

.shopping-cart.receipt:not(.invoice) .summary table tfoot tr.due th {
	color: #5e5e5e;
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: bold;
}
.shopping-cart.receipt:not(.invoice) .summary table tfoot tr.due td {
	background: transparent;
	color: #000;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
}

.shopping-cart:not(.receipt) .summary tfoot tr.total th,
.shopping-cart .summary tfoot tr.due-now th,
.shopping-cart:not(.receipt) .summary tfoot tr.total td,
.shopping-cart .summary tfoot tr.due-now td{
	background: none !important;
	border: none;
	font-size: 32px;
	font-size: 2rem;
	padding-top: 20px;
	padding-bottom: 20px;
}

.shopping-cart .summary th {
	background: #f3f3f3;
	color: #5e5e5e;
	font-size: 13px;
	font-weight: normal;
	text-align: left;
}
.shopping-cart .summary tfoot th {
	background: #fff;
	text-align: right;
}
.shopping-cart.logged-in:not(.receipt) .summary tfoot th {
	background: #f9f9f9;
	text-align: left;
}
.shopping-cart .summary tfoot tr.donation th {
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.4;
}
.shopping-cart .summary tfoot tr.donation th,
.shopping-cart .summary tfoot tr.donation td {
	padding-top: 20px;
	padding-bottom: 20px;
}
.shopping-cart .summary tfoot tr.donation th .row,
.shopping-cart .summary tfoot tr.donation th label {
	margin-bottom: 0;
}
.shopping-cart .summary tfoot td:first-child {
	background: none;
	text-align: right;
}

.shopping-cart .summary table h3,
.shopping-cart .summary table h5 {
	color: #000;
	font-size: 17px;
	font-size: 1.0625rem;
	font-weight: bold;
	margin: 0;
}
.shopping-cart .summary table h3 span {
	color: #5e5e5e;
	font-size: 13px;
	font-size: 0.8125rem;
	font-weight: normal;
}
.shopping-cart .summary table tr.donation h5 {
	margin-bottom: 5px;
}
.shopping-cart .summary table tr.donation p {
	margin: 0;
}
.shopping-cart .summary table tr.donation td {
	vertical-align: bottom;
}
.shopping-cart .summary table tr.donation td .button {
	margin-top: 0;
}
.shopping-cart .summary table.suggested h5 {
	display: none;
}

.shopping-cart .summary table h4,
.shopping-cart .summary table .inner span.note{
	color: #157398;
	font-size: 9px;
	font-size:0.5625rem;
	font-weight: bold;
	margin-top: -.3em;
	text-transform: uppercase;
}

.shopping-cart .summary table p {
	color: #5e5e5e;
	font-size: 0.8125rem;
	margin: 1em 0 0;
}
.shopping-cart .summary table p.add {
	margin: 0;
	text-align: right;
}
.shopping-cart .summary table p.add a:before {
	content: '\f055';
	font-family:FontAwesome;
	margin-right: 6px;
}

.shopping-cart .summary table strong {
	color: #000;
}
.shopping-cart .summary table ul {
	list-style-type: none;
	margin: 8px 0 0;
	padding: 0;
}
.shopping-cart .summary table ul li {
	margin: 0 0 5px;
}
.shopping-cart .summary table ul label {
	color: #131313;
	font-size: 14px;
	margin-bottom:0;
}
.shopping-cart .summary table ul li input[type=checkbox],
.shopping-cart .summary table ul li input[type=radio] {
	margin-right: 3px;
	vertical-align: -10%;
}

.shopping-cart .summary table .button.plus-2,
.shopping-cart .summary table .button.minus-2 {
	margin-top: 20px;
}

.shopping-cart .summary table table.inner {
	margin: 25px 0 15px;
}
.shopping-cart .summary table table.inner tr {
	display: table-row;
}
.shopping-cart .summary table table.inner tbody th,
.shopping-cart .summary table table.inner tbody td {
	background: none;
	border-bottom:1px solid #cbcbcb;
	color: #000;
	font-size: 13px;
	font-size: 0.8125rem;
	padding: 8px 0;
	text-align: left;
	width: auto;
}
.shopping-cart .summary table table.inner tbody tr:last-of-type th,
.shopping-cart .summary table table.inner tbody tr:last-of-type td {
	border: none;
}
.shopping-cart .summary table table.inner tbody th[scope=col] {
	color: #5e5e5e;
	font-size: 11px;
	font-size:0.6875rem;
	font-weight: bold;
	text-transform: uppercase;
}
.shopping-cart .summary table table.inner tbody th[scope=col]:last-of-type {
	text-align: right;
}

.shopping-cart .summary table table.inner tbody td {
	font-style: italic;
}
.shopping-cart .summary table table.inner tbody td:last-of-type {
	text-align: right;
}
.shopping-cart .summary table table.inner tbody td:first-of-type,
.shopping-cart .summary table table.inner tbody td:last-of-type{
	font-style: normal;
}
.shopping-cart .summary table table.inner tr.refund td:first-of-type {
	font-style: italic;
}
.shopping-cart .summary table table.inner tr.refund td:last-of-type {
	color: #eb5544;
}
.shopping-cart .summary table table.inner tfoot th,
.shopping-cart .summary table table.inner tfoot td {
	background-color: transparent !important;
	border-top:1px solid #cbcbcb;
	font-size: 16px;
	font-size: 1rem;
	padding: 9px 0 0;
}
.shopping-cart .summary table table.inner tfoot th {
	font-weight: bold;
	text-align: left;
}
.shopping-cart .summary table table.inner tfoot th:before {
	display: none;
}

.shopping-cart .summary th a.delete {
	color: #eb5544;
	display: inline-block;
	font-family:'Open Sans', Arial, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	font-weight: 400;
	margin-top: 5px;
	text-transform: uppercase;
}
.shopping-cart .summary th a.delete:before {
	content: '\f00d';
	display: inline-block;
	font-family:FontAwesome;
	font-size: 14px;
	margin-right: 5px;
}

.shopping-cart .summary td {
	background: #f9f9f9;
	color: #000;
	font-size: 18px;
	font-size: 1.125rem;
	text-align: right;
	white-space: nowrap;
	width: 130px;
}
.shopping-cart .summary td.registrants,
.shopping-cart .summary table.suggested td:first-of-type{
	background: #e7f1f4;
	padding-left: 25px;
	padding-right: 25px;
	text-align: left;
}
.shopping-cart.invoice .summary td.registrants {
	background: #ebebeb;
	width: 200px;
}
.shopping-cart .summary tr.discount td,
.shopping-cart .summary tr.paid td,
.shopping-cart .summary tr.refund td {
	color: #eb5544;
}
.shopping-cart:not(.receipt) .summary tfoot tr.total td,
.shopping-cart .summary tfoot tr.due-now td{
	font-weight: bold;
	letter-spacing: -1px;
	padding-right: 0;
}

.shopping-cart .summary td.registrants {
	padding-bottom: 55px;
	position: relative;
}
.shopping-cart .summary td.registrants div.quantity {
	background: #dce8ec;
	bottom: 0;
	left: 0;
	padding: 12px 25px;
	position: absolute;
	right: 0;
}
.shopping-cart .summary td.registrants div.quantity label {
	color: #000;
	font-size: 12px;
	font-size: 0.75rem;
	letter-spacing: -.3px;
	margin: 0 4px 0 0;
	text-transform: uppercase;
	width: auto;
}
.shopping-cart .summary td.registrants div.quantity input[type=number] {
	display: inline-block;
	width:50px;
	padding: 3px 5px;
	text-align: center;
}

.shopping-cart .summary div.submit {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 15px 0 20px;
	padding: 15px 0 0;
}
.shopping-cart .summary div.submit.second {
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	margin-top: 0;
	padding-top: 0;
}
.shopping-cart.invoice .summary div.submit.second {
	margin-top: 8px;
	margin-bottom: 60px;
}
.shopping-cart.invoice .summary div.submit.second .button {
	min-width:250px;
}

.shopping-cart .summary div.submit .button.blue.noicon { /* Continue Shopping button */
	display: none;
}

.shopping-cart .data-entry {
	-webkit-flex-basis:32%;
	-ms-flex-preferred-size:32%;
	flex-basis:32%;
	margin-left: 0;
	margin-right: 0;
	width: auto;
}

/* Shopping Cart Empty page */

.shopping-cart.empty .summary {
	border: none;
	margin-right: 0;
	padding-right: 0;
}
.shopping-cart.empty .wrapper {
	background: #f3f3f3;
	font-family:Arial, sans-serif;
	padding: 15px;
	text-align: center;
}
.shopping-cart.empty .wrapper h3 {
	color: #000;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 700;
	margin-top: 10px;
}
.shopping-cart.empty .wrapper h3:before {
	content: '\f07a';
	font-family:FontAwesome;
	margin-right: 10px;
}

.shopping-cart.empty .wrapper p {
	font-size: 14px;
	font-size: 0.875rem;
	margin-top: 5px;
}
.shopping-cart.empty .wrapper p:last-child {
	margin: 25px 0 0;
}


/* Receipt - Thank You page */

.receipt-message,
.invoice-message{
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0 0 20px;
}
.receipt-message p {
	margin: 0 10% 0 0;
}

/* Invoice page */

.invoice-message p {
	font-size:14px;
	font-size: 0.875rem;
}
.invoice-message .red {
	color: #e75342;
}
.invoice-message .green {
	color: #4ee742;
}

section.invoice-details h3 {
	background: #f3f3f3;
	color: #000;
	font-size: 17px;
	font-size: 1.0625rem;
	font-weight: bold;
	line-height: normal;
	margin: 0;
	padding: 15px 20px;
}

section.invoice-details table {
	color: #5e5e5e;
	font-size: 13px;
	font-size: 0.8125rem;
	width: 100%;
}
section.invoice-details table tr > * {
	padding: 10px 15px;
	text-align: left;
}
section.invoice-details table thead tr > * {
	border-bottom:2px solid #e0e9ec;
}
section.invoice-details table tbody tr:not(:last-child) > * {
	border-bottom:1px solid #e0e9ec;
}
section.invoice-details table .red {
	color: #eb5544;
}
section.invoice-details table .green {
	color: #329728;
}
section.invoice-details p.notice {
	background: #f9fcfd;
	border:2px solid #e0e9ec;
	border-right: none;
	border-left: none;
	color: #89946a;
	font-size: 13px;
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: normal;
	line-height: normal;
	margin: 0;
	min-height:0;
	padding: 11px 20px 11px 48px;
}
section.invoice-details p.notice:before {
	color: #89946a;
	content: '\f071';
	font-family:FontAwesome;
	font-size: 13px;
	margin-right: 15px;
	top: 12px;
}



/* Receipt - Waivers page */

.waivers .summary div.submit {
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.waivers .summary form {
	margin-top: 30px;
}
.waivers .summary form fieldset {
	background: #f3f3f3;
	margin-bottom: 15px;
}
.waivers .summary form fieldset legend {
	display: block;
	float: left;
	font-size: 15px;
	font-size: 0.9375rem;
	margin-bottom: 10px;
	padding: 24px 22px 0;
}
.waivers .summary form fieldset p {
	clear: left;
	line-height: 1.5;
	margin-top: 10px;
	padding: 0 22px;
}
.waivers .summary form fieldset label {
	background: #e7f1f4;
	color: #157398;
	cursor: pointer;
	display: block;
	font-size: 15px;
	font-size:0.9375rem;
	margin: 0;
	padding: 9px 24px;
}

.waivers .summary form fieldset input[type=checkbox] {
	vertical-align: -10%;
}

/* Course Index page */

.course-index section.content article nav {
	background: #f9fcfd;
	border-top:1px solid #deecf0;
	border-bottom:1px solid #deecf0;
}
.course-index section.content article nav ul {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 5px 10px;
}
.course-index section.content article nav ul li {
	font-size: 13px;
	font-size: 0.8125rem;
}
.course-index section.content article nav ul li a,
.course-index section.content article nav ul li span {
	display: block;
	height: 20px;
	line-height: 20px;
	text-align: center;
	width: 20px;
}
.course-index section.content article nav ul li.active a {
	background: #eb5544;
	-webkit-border-radius:100%;
	-moz-border-radius:100%;
	border-radius:100%;
	color: #fff !important;
}
.course-index section.content article nav ul li a:hover {
	color: #eb5544;
}

.course-index section.content article nav ul li span {
	color: #a4c6d3;
}

.course-index section.content article dl {
	margin: 25px 0;
}
.course-index section.content article dl dt {
	background: #eb5544;
	-webkit-border-radius:100%;
	-moz-border-radius:100%;
	border-radius:100%;
	color: #fff;
	display: inline-block;
	font-size: 20px;
	font-size: 1.25rem;
	height: 30px;
	text-align: center;
	width: 30px;
}
.course-index section.content article dl dd {
	border-top:1px solid #f7bbb4;
	margin: 0 0 0 15px;
	padding: 25px 0 10px;
}

.course-index section.content article dl dd ul {
	list-style: none;
	margin: 0;
	padding-left: 24px;
}
.course-index section.content article dl dd ul li {
	line-height: 1.4;
	margin-bottom: 8px;
	position: relative;
}
.course-index section.content article dl dd ul li:last-of-type {
	margin-bottom: 0;
}
.course-index section.content article dl dd ul li:before {
	color: #c1d8e1;
	content: '\f105';
	font-family:FontAwesome;
	margin-right: 18px;
	position: absolute;
	right: 100%;
	top: 0;
}

/* Contact Page */

.contact section.content {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.contact section.content #gmap {
	height: 300px;
	margin: 10px 0 0 30px;
	width: 55% !important;
}
.contact section.content article {
	-webkit-box-flex:0;
	-ms-flex:0 2 50%;
	flex:0 2 50%;
}


/* ----------
   My Account
   ---------- */

.my-account section.content {
	padding: 20px 20px 0 34px;
}
.my-account section.content article {
	background: #fff;
	color: #5e5e5e;
	margin: 0 0 15px 0;
	position: relative;
}
.my-account section.content section.group {
	border:1px solid #dce0e0;
	padding: 18px 22px;
	position: relative;
}
.my-account section.content section.group:not(:last-of-type) {
	margin-bottom: 20px;
}
.my-account section.content section.group > h4 {
	background: #fff;
	color: #cccccc;
	font-size: 13px;
	font-size:0.8125rem;
	left: 10px;
	margin: 0;
	padding: 0 14px;
	position: absolute;
	text-transform: uppercase;
	top: -.8em;
}
.my-account section.content section.group > p {
	color: #5e5e5e;
	font-size: 15px;
	font-size:0.9375rem;
	margin: 0;
}

.my-account section.content article.primary-info {
	min-height:340px;
}

.my-account article a.edit,
.my-account article a.delete,
.my-account article a.schedule,
.my-account article a.change,
.my-account article a.attendance,
.my-account article a.viewmedia,
.my-account table td.controls a {
    font-size: 12px;
    font-weight: 600;
    vertical-align: 10%;
}
 .my-account article a.edit:before,
 .my-account article a.delete:before,
 .my-account article a.schedule:before,
 .my-account article a.change:before,
 .my-account article a.viewmedia:before,
 .my-account article a.attendance:before {
        content: '\f040';
        font-family: FontAwesome;
        margin: 0 4px 0 10px;
 }
 .my-account article a.schedule:before,
 .my-account article a.change:before,
 .my-account article a.viewmedia:before,
 .my-account article a.attendance:before {
        color: #b6ced5;
        font-size: 14px;
    }
.my-account article a.delete:before {
	content: '\f00d';
}
.my-account article a.schedule:before {
	content: '\f0ae';
}
.my-account article a.change:before {
	content: '\f0ec';
}
.my-account article a.attendance:before {
	content: '\f046';
}

.my-account article a.viewmedia:before {
    content: '\f1c5'
}

.my-account article table.horizontal {
	width: 60%;
}
.my-account article table.horizontal tr > * {
	font-size: 15px;
	font-size: 0.9375rem;
	padding: 10px 0;
}
.my-account article table.horizontal tr > th {
	padding-right: 10px;
}
.my-account article table.horizontal tr:last-of-type > * {
	border: 0;
}
.my-account article table.horizontal tr th {
	font-weight: 600;
	text-align: left;
}
.my-account article table.horizontal tr td {
	font-weight: 500;
}
.my-account article .avatar {
	position: absolute;
	right: 25px;
	width: 123px;
}
.my-account article .avatar figure {
	background: #e0e9ec;
	height: 119px;
	margin: 0 0 7px;
	overflow: hidden;
	position: relative;
	width: 123px;
}
.my-account article .avatar figure:after {
	color: #b4cad5;
	content: '\f007';
	font-family:FontAwesome;
	font-size: 88px;
	height: 119px;
	left: 0;
	line-height: 119px;
	position: absolute;
	text-align: center;
	top: 0;
	width: 100%;
	z-index:0;
}
.my-account article .avatar figure img {
	left: 50%;
	max-width:100%;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	z-index: 1;
}
.my-account article .avatar .delete {
	background: #eb5544;
	-webkit-border-radius:100%;
	-moz-border-radius:100%;
	border-radius:100%;
	height: 24px;
	position: absolute;
	right: -12px;
	text-indent: -10000em;
	top: -12px;
	width: 24px;
	z-index: 2;
}
.my-account article .avatar .delete:after {
	color: #fff;
	content: '\f014';
	display: block;
	font-family:FontAwesome;
	font-size: 14px;
	height: 24px;
	left: 0;
	line-height: 24px;
	position: absolute;
	text-align: center;
	text-indent: 0;
	top: 0;
	width: 24px;
}
.my-account article .edit-account {
	bottom: 20px;
	position: absolute;
	right: 25px;
}


.my-account article ul.etabs{
	background: #eff6f8;
	color: #506e78;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 1;
	margin: 0 -25px 20px;
	padding: 15px 20px;
}
.my-account article h2.small {
	font-size: 16px;
	font-size: 1rem;
	margin: 0;
	padding-bottom: 10px;
	padding-top: 10px;
}
.my-account article h2.no-bg,
.my-account article .inline-sidebar h3 {
	background-color: transparent;
	color: #000;
	font-size: 18px;
	font-size:1.125rem;
	margin: 25px 0 20px;
	padding: 0;
}
.my-account article .inline-sidebar .table-wrapper:first-of-type h3 {
	margin-top: 0;
}

.my-account article h2.small.margin {
	margin-bottom: 15px;
}


.my-account article ul.etabs,
.fundraising article ul.etabs{
	padding-top: 10px;
	padding-bottom: 0;
}
.my-account article ul.etabs li,
.fundraising article ul.etabs li {
	display: inline-block;
	padding: 6px 15px 14px;
	vertical-align: top;
}
.my-account article ul.etabs li.active,
.fundraising article ul.etabs li{
	background: #fff;
	border-top-left-radius:6px;
	border-top-right-radius:6px;
	-webkit-box-shadow: 0 -3px 5px -3px rgba(0,0,0,.3);
	-moz-box-shadow: 0 -3px 5px -3px rgba(0,0,0,.3);
	box-shadow: 0 -3px 5px -3px rgba(0,0,0,.3);
	padding: 10px 15px;
}

.my-account article .controls {
	-webkit-box-pack: center !important;
	-ms-flex-pack: center !important;
	justify-content: center !important;
	margin-top: 25px;
	text-align: center;
}
.my-account article .controls > *:not(:last-child) {
	margin-right: 30px;
}

.my-account section.content .half article {
	color: #5e5e5e;
}

.my-account section.content .half article:last-of-type {
	margin-right: 0;
}

.my-account article .contacts {
	border-bottom:1px solid #e0e9ec;
	border-top:1px solid #e0e9ec;
	max-height:220px;
	overflow: auto;
	padding: 10px 0;
}

.my-account article dl.contact {
	border-bottom:1px solid #e0e9ec;
	line-height: 1.2;
	padding: 0 0 10px;
	margin: 0 0 10px;
}
.my-account article dl.contact:last-of-type {
	border: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
.my-account article dl.contact dt {
	font-size: 15px;
	font-size: 0.9375rem;
}
.my-account article dl.contact-features dt {
	border-bottom:1px solid #e0e9ec;
	padding: 0 0 10px;
	margin: 0 0 10px;
}
.my-account article dl.contact-features dd {
	margin: 0;
	padding: 0;
}
.my-account article dl.contact dd {
	color: #9c9c9c;
	font-size: 12px;
	font-size: 0.75rem;
	margin: 0;
}
.my-account article dl.contact-features ul {
	font-size: 15px;
	font-size: 0.9375rem;
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
}
.my-account article dl.contact-features ul li {
	margin: 0 0 5px;
}
.my-account article dl.contact-features ul li:before {
	color: #5e5e5e;
	font-family:FontAwesome;
	font-size: 12px;
	margin-right: 10px;
}
.my-account article dl.contact-features ul li.email:before {
	content: '\f0e0';
}
.my-account article dl.contact-features ul li.phone:before {
	content: '\f10b';
	font-size: 23px;
}

.my-account .submit-top {
	position: absolute;
	right: 3px;
	top: 3px;
}
@media (max-width: 700px) {
    .my-account .submit-top {
        position: relative;
        right: 0;
        top: 0;
    }
}

.my-account table.credit-card{
	border-bottom:2px solid #e0e9ec;
	width: 100%;
}
section.content table.data {
	width: 100%;
}
section.content table.data.activities {
	border-bottom: none;
}
section.content table.data.activities:not(:last-child) {
	margin-bottom: 30px;
}
.my-account table.credit-card:last-of-type,
section.content table.data:last-of-type{
	border-bottom: none;
}
.my-account table.credit-card tr > *,
section.content table.data tr > *{
	font-size: 15px;
	font-size: 0.9375rem;
	padding: 8px 10px 8px 0;
}
section.content table.data tr > * {
	font-size: 13px;
	font-size: 0.8125rem;
}
.my-account table.credit-card tr > *:first-child {
	width: 35px;
}
.my-account table.credit-card tr > *:last-child,
section.content table.data tr > *:last-child{
	padding-right: 0;
	text-align: right;
}
section.content table.data tr > *:last-child input[type=checkbox] {
	margin-left: 20px;
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-ms-transform: scale(1.2);
	-o-transform: scale(1.2);
	transform: scale(1.2);
}

.my-account table.credit-card thead tr > *,
section.content table.data thead tr > *,
section.content table.data tfoot tr > *{
	border-bottom:2px solid #e0e9ec;
	text-align: left;
}
section.content table.data.activities.fundraising thead th[scope=col],
section.content table.data.activities.fundraising tfoot td{
	border-top:2px solid #e0e9ec;
}
section.content table.data.activities.fundraising tfoot td {
	vertical-align: top;
}
section.content table.data.activities.fundraising tfoot td a {
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1;
}
section.content table.data.activities.fundraising tfoot td a:before {
	content: '\f196';
	font-family:FontAwesome;
	margin-right: 10px;
}
section.content table.data.activities.fundraising tfoot td a.close:before {
	content: '\f147';
}

section.content table.data.activities thead th,
section.content table.data.activities tfoot tr > * {
	color: #000000;
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: normal;
	width: 45%;
}
section.content table.data.activities tbody tr.info > * {
	background: #f9fcfd;
}
section.content table.data.activities tbody tr.info > th[scope=row] {
	color: #89946a;
	font-size: 12px;
	font-size: 0.75rem;
	text-transform: none;
}
section.content table.data.activities tbody tr.info > th[scope=row]:before {
	content: '\f071';
	font-family:FontAwesome;
	margin: 0 8px 0 10px;
}

section.content table.data.activities tbody tr.info td {
	padding-right: 10px;
	text-align: right;
}
section.content table.data.activities tfoot tr > * {
	border-top:2px solid #e0e9ec;
	text-align: left;
	width: auto;
}
section.content table.data.activities.change thead th {
	text-align: left;
	width: auto;
}
section.content table.data.activities.change thead tr:not(:first-child) th {
	color: #939393;
	font-size: 11px;
	font-size: 0.6875rem;
	text-transform: uppercase;
}
section.content table.data.activities.fundraising thead th[scope=col] {
	color: #5e5e5e;
	font-size: 13px;
	font-size: 0.8125rem;
	font-weight: bold;
}
.my-account table.credit-card tbody tr:not(:last-of-type) > *:not(:first-child),
section.content table.data tbody tr:not(:last-of-type) > * {
	border-bottom:1px solid #e0e9ec;
}
section.content table.data tbody th[scope=row] {
	font-weight: normal;
	text-align: left;
}
section.content table.data.activities tbody th[scope=row] {
	color: #939393;
	font-size: 11px;
	font-size: 0.6875rem;
	text-transform: uppercase;
	width: 15%;
}
section.content table.data.activities.change tbody th[scope=row] {
	width: 20%;
}

section.content table.data tbody th.doc,
section.content table.data tbody th.word {
	position: relative;
	word-break: break-all;
}
section.content table.data tbody th.doc:before,
section.content table.data tbody th.word:before {
	color: #acc9d4;
	content: '\f0f6';
	font-family:FontAwesome;
	font-size: 14px;
	line-height: 1;
	margin-right: 10px;
	left:5px;
	top: 11px;
}
section.content table.data tbody th.doc:before {
	content: '\f0f6';
}
section.content table.data tbody th.word:before {
	content: '\f1c2';
}

section.content table.data.activities tbody td {
	color: #454545;
	font-size: 14px;
	font-size: 0.875rem;
	text-align: left;
}
section.content table.data.activities.change tbody td:first-child {
	width: 5%;
}

.my-account table.credit-card td.expires {
	font-style: italic;
	font-weight: normal;
	text-align: right;
}
.my-account table td.controls {
	color: #e7e7e7;
	font-weight: normal;
	width: 180px;
}
.my-account table.activities td.controls,
.my-account table.activities td.controls a {
	font-size: 11px;
	font-size: 0.6875rem;
	text-transform: uppercase;
}
.my-account table.activities td.controls {
	width: auto;
}
.my-account article table.credit-card a.edit:before,
.my-account article table.credit-card a.delete:before,
.my-account article table.data a.edit:before,
.my-account article table.data a.delete:before{
	margin-left: 0;
}
.my-account table.credit-card th img {
	max-width:36px;
}

.my-account .edit-credit-card {
	margin: 30px 46px 0;
}
.my-account .edit-credit-card fieldset {
	border:1px solid #e0e9ec;
	padding: 0 140px 0;
}
.my-account .edit-credit-card fieldset legend {
	background: #fff;
	border:none;
	color: #eb5544;
	font-size: 15px;
	font-size: 0.9375rem;
	font-weight: normal;
	margin-left: -20px;
	padding: 0 20px;
	text-transform: none;
	width: auto;
}
.my-account form.edit-credit-card .submit {
	margin: 30px 0;
	padding-left: 0;
}

.my-account nav.pager {
	border-top:2px solid #e0e9ec;
}
.my-account nav.pager ul {
	list-style-type: none;
	padding: 0;
	text-align: center;
}
.my-account nav.pager ul li {
	display: inline-block;
	font-size: 13px;
	font-weight: bold;
	margin: 0 7px;
}
.my-account nav.pager ul li.prev,
.my-account nav.pager ul li.next {
	font-family:FontAwesome;
	font-weight: normal;
	vertical-align: -10%;
}

.my-account nav.subtabs ul {
	border-bottom:1px solid #dddddd;
	font-size: 16px;
	font-size: 1rem;
	list-style-type: none;
	margin: 0 0 20px;
	padding: 0 0 2px;
}
.my-account nav.subtabs li {
	display: inline-block;
	margin: 0;
	padding: 0;
}
.my-account nav.subtabs li:not(:last-child) {
	margin: 0 15px 0 0;
}
.my-account nav.subtabs li.active a {
	border-bottom:3px solid #eb5544;
	color: #eb5544;
}


/* ---------------
	 My Account Edit
	 --------------- */

.my-account.edit .content form {
	margin: 55px 90px;
}
.my-account form legend {
	border-bottom:1px solid #dbdbdb;
	color: #000;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 1;
	margin: 0 0 20px;
	padding: 0 0 5px;
	text-transform: uppercase;
	width: 100%;
}

.my-account form .row {
	-webkit-box-align: start;
	-ms-flex-align: start;
	-ms-grid-row-align: flex-start;
	align-items: flex-start;
}
.my-account form .row label {
	-webkit-box-flex:0;
	-ms-flex:0 0 140px;
	flex:0 0 140px;
	margin: 0 15px 0 0;
	padding-top: .85em;
}
.row > .fileupload > label {
	margin-right: 0 !important;
}

.my-account form .submit {
	padding-left: 155px;
}
.my-account form .submit > * {
	-ms-flex-preferred-size: 50%;
	flex-basis: 50%;
}
.my-account form .submit > *:first-child {
	margin-right: 10px;
}
.my-account form .submit > *:not(:first-child) {
	margin-left: 10px;
}

.my-account form.change {
	margin-top: 60px;
}
.my-account form.change label {
	color: #000;
	font-size: 18px;
}
.my-account form.change textarea {
	min-height:170px;
}
.my-account form.change .submit {
	padding-left: 0;
	text-align: center;
}

.my-account form.request-a-change legend {
	border-bottom: none;
	border-top:1px solid #e8eef1;
	font-size:15px;
	font-size: .9375rem;
	margin-bottom: 10px;
	padding-top: 20px;
	text-transform: none;
}
.my-account form.request-a-change label:last-child {
	margin-bottom: 0;
}
.my-account form.request-a-change textarea {
	background-color: #f8f8f8;
	border:1px solid #dce0e0;
	display: block;
	min-height:70px;
}
.my-account form.request-a-change p {
	font-size: 14px;
	font-size: .875rem;
	line-height: 1.8;
	margin-bottom: 15px;
}

.my-account form.request-a-change div.submit {
	-webkit-box-pack:start;
	-ms-flex-pack:start;
	justify-content:flex-start;
	border-top:1px solid #e8eef1;
	padding: 30px 0 0;
}
.my-account form.request-a-change div.submit > * {
	-ms-flex-preferred-size:auto;
	flex-basis:auto;
}

/* ---------------------------
   Products & partially Events
   --------------------------- */

.products.front .content header,
.events-list .content header {
	border-bottom:1px solid #f0f0f0;
	margin: 0 0 30px;
	padding: 0 0 25px;
}
.products.front .content footer,
.events-list .content footer {
	border-top:1px solid #f0f0f0;
	margin: 0;
	padding: 25px 0;
}
.products.front .content header p,
.products.front .content footer p,
.events-list .content header p,
.events-list .content footer p{
	color: #434343;
	font-size: 15px;
	font-size: 0.9375rem;
}
.products.front .content article,
.events-list .content article,
.products .content .controls {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 0;
}
.products .content .controls {
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	-ms-grid-row-align: stretch;
	align-items: stretch;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	margin: 0;
}
.products.category .content .controls {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.products.category .content .controls > * {
	-ms-flex-preferred-size: 50%;
	flex-basis: 50%;
}
.products .content .controls .price {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border:1px solid #ea5544;
	border-right: 0;
	color: #eb5544;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 600;
	margin: 0;
	padding: 0 35px;
	position: relative;
}
.products.category .content .controls .price {
	padding: 0;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.products .content .controls .price:before,
.products .content .controls .price:after {
	background: -moz-linear-gradient(left, #ea5544 0%, #187397 100%);
	background: -webkit-linear-gradient(left, #ea5544 0%,#187397 100%);
	background: linear-gradient(to right, #ea5544 0%,#187397 100%);
	content: '';
	height: 1px;
	position: absolute;
	right: 0;
	top: -1px;
	width: 99%;
	z-index:2;
}
.products .content .controls .price:after {
	bottom: -1px;
	top: auto;
}

.products.front .content article figure,
.events-list .content article figure {
	-webkit-box-flex:1;
	-ms-flex:1 0 248px;
	flex:1 0 248px;
	margin: 0 30px 0 0;
	overflow: hidden;
	position: relative;
}
.products .content article figure.no-image,
.events-list .content article figure.no-image {
	background: url('../images/product-image-default.png') 50% 50% no-repeat;
	-webkit-background-size:97%;
	background-size:97%;
	height: 164px;
}
.products.front .content article figure.no-image,
.events-list .content article figure.no-image {
	-webkit-background-size:100%;
	background-size:100%;
}

.products.front .content article figure img,
.events-list .content article figure img {
	display: block;
	max-width: 100%;
}
.products.front .content article > div,
.events-list .content article > div {
	-webkit-box-flex:1;
	-ms-flex:1 1 90%;
	flex:1 1 90%;
	font-size: 15px;
}
.products.front .content article h3,
.events-list .content article h3 {
	line-height: 1.2;
	margin-top: 0;
}
.events-list .content article h3 {
	margin-bottom: .4em;
}


.products.category .content section.product-row {
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	border-bottom:1px solid #f0f0f0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	margin: 0 0 20px;
	padding: 0 0 20px;
}
.products.category .content section.product-row:last-of-type {
	border: none;
	padding-bottom: 0;
}
.products.category .content section.product-row article {
	border:1px solid #f1f3f1;
	background: #fff;
		display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex:0;
	-ms-flex:0 1 31.7%;
	flex:0 1 31.7%;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0;
	overflow: hidden;
	position: relative;
}
.products.category .content section.product-row article:not(:last-child) {
	margin-right: 20px;
}

.products.category .content section.product-row article h3 {
	background: #f8f8f8;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 1.2;
	margin: 0;
	padding: 10px;
	position: relative;
	text-align: center;
	z-index:3;
}
.products.category .content section.product-row article figure {
	margin: 0;
	padding: 20px;
	text-align: center;
    height: 270px;
}
.products .content article figure .warning {
	background: #eb5544;
	color: #fff;
	display: block;
	font-size: 12px;
	font-size: 0.75rem;
	padding: 10px;
	position: absolute;
	right: 0;
	text-align: center;
	text-transform: uppercase;
	-webkit-transform: translate(30%,100%) rotate(45deg);
	-moz-transform: translate(30%,100%) rotate(45deg);
	-ms-transform: translate(30%,100%) rotate(45deg);
	-o-transform: translate(30%,100%) rotate(45deg);
	transform: translate(30%,100%) rotate(45deg);
	transform-origin: 50% 50%;
	top: 0;
	width: 100%;
	z-index:2;
}
.products .content section.product-row article figure .warning {
	-webkit-transform: translate(30%,210%) rotate(45deg);
	-moz-transform: translate(30%,210%) rotate(45deg);
	-ms-transform: translate(30%,210%) rotate(45deg);
	-o-transform: translate(30%,210%) rotate(45deg);
	transform: translate(30%,210%) rotate(45deg);
}
.products.category .content section.product-row article figure.no-image {
	height: 246px;
	-webkit-background-size:cover;
	background-size:cover;
}
.products.category .content section.product-row article figure img {
	max-width: 100%;
    max-height: 250px;
}


.products.details .content article .product-summary {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.products.details .content article .product-summary figure {
	border:1px solid #f1f3f1;
	-webkit-box-ordinal-group:2;
	-ms-flex-order:1;
	order:1;
	margin: 0 50px 0 0;
	-webkit-box-flex:0;
	-ms-flex:0 0 267px;
	flex:0 0 267px;
	overflow: hidden;
	position: relative;
}
.products.details .content article .product-summary figure.no-image {
	height: 262px;
}
.products.details .content article .product-summary figure img {
	display: block;
	margin: 0 auto;
	max-width:100%;
	padding: 25px 10px;
}
.products.details .content article .product-summary figure.no-image img {
	display: none;
}
.products.details .content article .product-summary .description {
	flex:1 0 50%;
	order:2;
}
.products.details .content article .product-summary .description h2 {
	font-size: 36px;
	font-size: 2.25rem;
	line-height: 1.2;
	margin: 40px 0 15px;
}
.products.details .content article .product-summary .description dl.features {
	margin: 0;
	padding: 0;
}
.products.details .content article .product-summary .description dl.features > * {
	display: inline-block;
	margin: 0;
	padding: 0;
}
.products.details .content article .product-summary .description dl.features dt label {
	color: #000;
	font-size: 12px;
	font-size: 0.75rem;
	text-transform: uppercase;
}
.products.details .content article .product-summary .description .controls {
	margin-top: 20px;
}

.products.details .content article .product-details {
	margin-top: 50px;
}
.products.details .content article .product-details dt {
	border:1px solid #f0f0f0;
	border-left: none;
	border-right: none;
	color: #000;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.1;
	padding: 12px 0;
}
.products.details .content article .product-details dt a {
	color: #262626;
	display: inline-block;
}
.products.details .content article .product-details dt a:before {
	color: #157398;
	content: '\f0fe';
	font-family:FontAwesome;
	margin-right: 20px;
}
.products.details .content article .product-details.shown dt a:before {
	content: '\f146';
}
.products.details .content article .product-details dd {
	display: none;
	margin: 0;
	padding: 0;
}
.products.details .content article .product-details.shown dd {
	display: block;
}

.products.details .content article .product-details ul > li:before {
	color: #9f9f9f;
	content: '\f00c';
	font-family:FontAwesome;
	font-size: 16px;
	left: 0;
	position: absolute;
	top: .2em;
}
.products.details .content article .product-details ul {
	color: #000;
	padding: 0;
}
.products.details .content article .product-details ul > li {
	list-style-type:none;
	margin: 0 0 5px;
	padding: 0 0 0 36px;
	position: relative;
}
.products.details .content article .product-details ul > li:last-child {
	margin-bottom: 0;
}


/* ---------------
   Private Lessons
   --------------- */

section.content .inline-sidebar {
	border:1px solid #dfdfdf;
	margin: 0 0 0 45px;
	padding: 0;
	position: relative;
}
section.content .inline-sidebar dt {
	background: #fff;
	display: inline-block;
	font-weight: 600;
	left: 20px;
	padding: 0 8px;
	position: absolute;
	top: -.75em;
}
section.content .inline-sidebar dd {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	font-size: 13px;
	font-size: 0.8125rem;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0;
	padding: 20px;
}
section.content .inline-sidebar dd.schedule-tables {
	display: block;
	max-height:470px;
	/*height: 100%;*/
	overflow-y: auto;
}

section.content .inline-sidebar dd ul {
	-ms-flex-preferred-size: 45%;
	flex-basis: 45%;
	list-style-type: none;
	margin: 0;
	padding: 0;
}
section.content .inline-sidebar dd ul li:not(:last-child) {
	margin-bottom: 7px;
}

section.content .important-info {
	background: #f1f3f1;
	border:1px solid #dce0e0;
	font-size: 15px;
	font-size: 0.9375rem;
	margin: 40px 0 0;
	padding: 20px;
}
section.content .important-info h3 {
	color: #070707;
	font-size: 18px;
	font-size: 1.125rem;
	margin: 0 0 10px;
	padding: 0;
}

section.content table.week-calendar {
	border-collapse: collapse;
	width: 100%;
}
section.content table.week-calendar thead th {
	border-bottom: 2px solid #d0d9e0;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: normal;
	padding: 0 10px 10px;
	text-transform: uppercase;
}
section.content table.week-calendar thead th:not(:last-child) {
	border-right: 12px solid white;
}
section.content table.week-calendar tbody td {
	font-size: 14px;
	font-size: 0.875rem;
	padding: 5px 15px;
	text-align: center;
	vertical-align: top;
}
section.content table.week-calendar tbody tr:first-child td {
	padding-top: 20px;
}
section.content table.week-calendar tbody td a {
	display: inline-block;
	line-height: 1;
	padding: 10px;
	transition: background .2s ease;
}
section.content table.week-calendar tbody td a:hover {
	background: #eb5544;
	color: #fff;
}
/* -----------
   Fundraising
   ----------- */

.fundraising article .forty-percent:not(:last-child) {
	margin-right: 25px;
}
.fundraising article ul.etabs {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0;
	padding: 2px 0 0;
}
.fundraising article ul.etabs li.tab {
	-webkit-box-flex:1;
	-ms-flex:1 1 50%;
	flex:1 1 50%;
	margin-right: 10px;
	text-align: center;
}
.fundraising article ul.etabs li.tab:last-child {
	margin-right: 0;
}
.fundraising article ul.etabs li.tab.active,
.fundraising article.tab-container > div {
	background: #f8f8f8;
}
.fundraising article.tab-container > div {
	padding: 16px;
}

.fundraising article fieldset {
	margin: 0;
}
.fundraising article fieldset:not(:first-child) {
	border-top:1px solid #dedede;
	margin: 20px 0 0;
	padding: 20px 0 0;
}
.fundraising article fieldset > :last-child {
	margin-bottom: 0;
}
.fundraising article fieldset .row label {
	margin-bottom: 0;
}
.fundraising section.main form .cc-companies li {
	margin-right: 5px;
}
.fundraising section.main form .submit {
	margin-top: 30px;
}


/* ---------------
   Faculty
   --------------- */

section.content .faculty article {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block !important;
	font-size: 1rem;
	margin-bottom: 25px;
	vertical-align: top;
	width: 30%;   
}

section.content .faculty article figure,
.faculty-details section.content figure .thumbnail{
	border:1px solid #dce0e0;
	display: inline-block;
	font-size: 0;
	margin: 0;
	padding: 6px;
	text-align: center;
}

section.content .faculty article figure.no-image {
	background: url('../images/product-image-default.png') 50% 50% no-repeat;
	height: 164px;
	width: 268px;
}
section.content .faculty article figure img {
	display: block;
}
section.content .faculty article h3 {
	color: #157398;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 100;
	line-height: 1;
	margin: 5px 0;
}
section.content .faculty article p {
	font-size: 15px;
	font-size: .9375rem;
	margin: 0;
}

section.content .faculty article:not(:nth-child(3n+3)) {
	margin-right: 3%;
}
section.content .faculty article:nth-last-child(1),
section.content .faculty article:nth-last-child(2),
section.content .faculty article:nth-last-child(3) {
	margin-bottom: 0;
}


.faculty-details section.content figure {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	margin: 0 0 30px;
	padding: 0;
}
.faculty-details section.content figure img {
	max-width:none;
}
.faculty-details section.content figure figcaption { 
	margin: 0 0 0 70px;
}
.faculty-details section.content figure figcaption h2 {
	font-size: 30px;
	font-size: 1.4375rem;
	font-weight: 400;
	line-height: 1;
	margin: 0 0 8px;
}
.faculty-details section.content figure figcaption h4 {
	border-bottom:1px solid #f0f0f0;
	color: #157398;
	font-size: 15px;
	font-size: 0.9375rem;
	font-style: italic;
	font-weight: 100;
	line-height: 1;
	margin: 0 0 12px;
	padding: 0 0 12px;
}

.faculty-details section.content figure figcaption h2 em {
	font-size: 24px;
	font-size: 1.5rem;
	font-style: normal;
}
.faculty-details section.content figure figcaption p {
	font-size: 15px;
	font-size: 0.9375rem;
	margin: 0;
}
.faculty-details section.content figure figcaption address {
	font-style: italic;
	margin-bottom: 0;
}
.faculty-details section.content figure figcaption address:before {
	content: '\f003';
	font-family:FontAwesome;
	margin: 0 5px 0 0;
}
.faculty-details section.content figure figcaption address a {
	color: #434343;
}

.faculty-details section.content h3 {
	border-bottom:1px solid #eceeee;
	color: #000;
	line-height: 1.4;
	margin-top: 0;
}
.faculty-details section.content .row {
	margin-top: 40px;
}
.faculty-details section.content .half p:last-child {
	margin-top: 30px;
}

/* ----------
   Membership
   ---------- */

dl.membership-level {
	border-bottom:1px solid #eceeee;
	margin: 0;
}
dl.membership-level:first-of-type {
	border-top:1px solid #eceeee;
	margin-top: 30px;
}
dl.membership-level dt > a {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	cursor: pointer;
	font-size: 24px;
	font-size: 1em;
	font-weight: 400;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	line-height: 1;
	padding: 20px 30px 20px 0;
	position: relative;
}
dl.membership-level dt > a:after {
	content: '\f078';
	font-family:FontAwesome;
	font-size: 12px;
	height: 20px;
	line-height: 20px;
	position: absolute;
	right: 0;
	text-align: center;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}
dl.membership-level.shown dt > a:after {
	content: '\f077';
}

dl.membership-level dt > a strong {
	font-weight: 400;
}
dl.membership-level dt > a strong sup {
	font-size: .7em;
}
dl.membership-level dd {
	display: none;
	margin: 0;
	padding: 0;
}
dl.membership-level.shown dd {
	display: block;
}
dl.membership-level dd > ul {
	padding-left: 30px;
}
dl.membership-level dd > ul li:not(:last-child) {
	margin-bottom: 10px;
}

form.payment-plan {
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

form.payment-plan fieldset {
	background: #f9faf9;
	-webkit-box-flex:1;
	-ms-flex:1 1 50%;
	flex:1 1 50%;
	padding: 12px;
}
form.payment-plan fieldset:not(:last-of-type) {
	margin-right: 35px;
}
form.payment-plan fieldset legend {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	color: #157398;
	display: block;
	float: left;
	font-size: 24px;
	font-size: 1.5rem;
	font-weight: 400;
	margin: 0 0 5px;
	width: 100%;
}
form.payment-plan table {
	background: #fff;
	border:1px solid #dce0e0;
	font-size: 16px;
	font-size: 1rem;
	margin: 0 0 10px;
	width: 100%;
}
form.payment-plan table th,
form.payment-plan table td {
	border-bottom:1px solid #dce0e0;
	padding: 10px 15px;
	text-align: left;
	vertical-align: top;
}
form.payment-plan table td:last-child {
	text-align: right;
}
form.payment-plan table th > *,
form.payment-plan table td > * {
	vertical-align: middle;
}
form.payment-plan table label {
	font-family:'Open Sans', sans-serif;
	font-weight: 600;
	margin: 0;
}
form.payment-plan table input[type=radio] {
	margin-right: 10px;
	transform: scale(1.2);
}

/* --------------
   Events Details
   -------------- */

.events section.content h3 {
	color: #434343;
	font-size: 13px;
	font-size: 0.8125rem;
	font-weight: 600;
	margin-bottom: 2em;
	text-transform: uppercase;
}

.events section.content figure {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #f8f8f8;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	margin: 0 0 30px;
}
.events section.content figure .thumbnail {
	margin-bottom: 0;
}
.events section.content figure img {
	max-width:500px;
}
.events section.content figure figcaption {
	padding: 20px 20px 20px 0;
}
.events section.content figure figcaption > *:last-child {
	margin-bottom: 0;
}
.events section.content figure h2 {
	color: #262626;
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: 400;
	line-height: 1.2;
}
.events-list section.content h4 {
	margin-bottom: 0;
	margin-top: .4em;
}
.events-list section.content address {
	line-height: 1.1;
	margin-bottom: .6em;
}
.events-list section.content p {
	line-height: 1.2em;
	margin-bottom: .8em;
}
.events section.content .more-dates,
.events-list section.content .more-dates{
	display: none;
}
.events section.content .more-dates.active,
.events-list section.content .more-dates.active{
	display: inline-block;
}
.events section.content figure address:before,
.events-list section.content address:before{
	color: #eb5544;
	content: '\f041';
	font-family:FontAwesome;
	margin-right: 10px;
}

.events .table-wrapper {
	max-width:100%;
	overflow-x: auto;
}

table.event-tickets {
	width: 100%;
}
table.event-tickets .align-right {
	text-align: right;
}
table.event-tickets .min-width {
	width: 1%;
}

table.event-tickets tr th,
table.event-tickets tr td {
	border-top:1px solid #dce0e0;
	font-size: 0.8125rem;
	font-size: 13px;
	padding: 6px 10px 6px 0;
	text-align: left;
}
table.event-tickets thead tr th,
table.event-tickets thead tr td {
	border-bottom:1px solid #dce0e0;
	padding-top: 15px;
	padding-bottom: 15px;
}
table.event-tickets thead tr th {
	white-space: nowrap;
}
table.event-tickets tbody tr:first-child th,
table.event-tickets tbody tr:first-child td,
table.event-tickets tfoot tr:first-child th,
table.event-tickets tfoot tr:first-child td{
	border-top-width:2px;
}
table.event-tickets tfoot tr:first-child td:last-child {
	border-top-color: #157398;
	color: #157398;
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 400;
	text-transform: uppercase;
}

table.event-tickets tr th:last-child,
table.event-tickets tr td:last-child {
	margin-right: 0;
}
table.event-tickets div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-align: center;
	-ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	        justify-content: flex-start;
	width: 100%;
}
    table.event-tickets label,
    table.event-tickets input:not([type=checkbox]):not([type=radio]),
    table.event-tickets select {
        display: inline-block;
        margin: 0;
        -ms-text-overflow: ellipsis;
        text-overflow: ellipsis;
        vertical-align: baseline;
        max-width: 250px;
        /*width: auto;*/
    }
table.event-tickets input:not([type=checkbox]):not([type=radio]),
table.event-tickets select {
	flex: 1 1 auto;
}
table.event-tickets input[disabled] {
	background: #fff;
	width: 60px !important;
}
table.event-tickets .button {
	margin-left: 10px;
}
table.event-tickets label {
	flex: 0 1 10%;
	margin-right: 5px;
}

table.event-tickets a.delete {
	display: inline-block;
	height: 15px;
	margin: 0 0 0 10px;
	overflow: hidden;
	position: relative;
	text-indent: 10000em;
	vertical-align: -10%;
	width: 15px;
}
table.event-tickets a.delete:after {
	color: #eb5544;
	content: '\f00d';
	display: block;
	font-family:FontAwesome;
	font-size: 15px;
	height: 15px;
	left: 0;
	line-height: 15px;
	position: absolute;
	text-align: center;
	text-indent: 0;
	top: 0;
	width: 15px;
}

.events .submit {
	margin: 20px 0;
	text-align: right;
}

.questions fieldset {
	border-left:3px solid #157398;
	margin: 0 0 20px;
	padding: 10px 0 10px 25px;
}
.questions fieldset > *:last-child,
.questions fieldset .row > *{
	margin-bottom: 0;
}

.questions fieldset legend,
.questions fieldset .row label {
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 600;
	margin: 0 0 8px;
}
.questions fieldset label {
	font-size: 14px;
	font-size: 0.875rem;
	margin-bottom: 5px;
}
.questions fieldset label input {
	margin-right: 10px;
}
.questions fieldset legend {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	float: left;
}

/* --------------
   Media browser
	 -------------- */

	.containerMedia {
		min-height: 800px;
		margin: 0px;
		padding: 0px;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-flow: row;
		flex-flow: row;
		margin-bottom: 30px;
		min-height: 0;
	}

	.contentMedia {
		flex: 5 1 auto;
		margin-left: 10px;
		order: 2;
	}

	.sidebarMedia {
		background: #2c2c2c;
		flex: 1 5 15%;
		order: 1;
		overflow: auto;
		word-wrap: break-word ;
	}
	.sidebarMedia header {
		border-bottom: 1px solid #7f7f7f;
		display: flex;
		height: 44px;
		align-items: stretch;
	}
	.sidebarMedia header a {
		cursor: pointer;
		flex: 0 0 40px;
		font-size: 0;
		position: relative;
	}
	.sidebarMedia header a:after {
		color: #fff;
		font-family: FontAwesome;
		font-size: 20px;
		font-weight: 400;
		height: 100%;
		line-height: 44px;
		left: 0;
		position: absolute;
		text-align: center;
		top: 0;
		width: 100%;
	}
	.sidebarMedia header a.dots-menu:after {
		content: '\f142';
	}
	.sidebarMedia header a.close:after {
		content: '\f00d';
		font-size: 14px;
	}
	.sidebarMedia header h4 {
		color: #fff;
		flex: 2 1 auto;
		font-size: 16px;
		font-weight: bold;
		line-height: 44px;
		margin: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		padding: 0;
	}
	.sidebarMedia ul {
		list-style-type: none;
		margin: 0;
		padding: 0;
	}
	.sidebarMedia li {
		border-bottom: 1px solid #7f7f7f;
		font-size: 14px;
	}

	/* Sidebar links */
	.sidebarMedia li a {
		color: white;
		cursor: pointer;
		display: block;
		padding: 12px 35px 12px 40px;
		position: relative;
		text-decoration: none;
	}
	.sidebarMedia li a:after {
		content: "\f054";
		font-family: FontAwesome;
		font-size: 11px;
		position: absolute;
		top: 50%;
		right: 18px;
		transform: translateY(-50%);
	}

	/* Active/current link */
	.sidebarMedia li a.active {
		background-color: white;
		color: #00bfff;
	}

	/* Links on mouse-over */
	.sidebarMedia li a:hover:not(.active) {
		background-color: #000000;
		color: #85a485;
	}

	@media all and (max-width: 640px) {
		.containerMedia {
			flex-direction: column;
			min-height: 0;
		}
		.sidebarMedia,
		.contentMedia {
			flex: 1 1 auto;
			margin: 0;
		}
		.sidebarMedia {
			margin-bottom: 20px;
		}
	}


/* ------
   Footer
   ------ */

footer.main {
	border-top: 1px solid #b2b2b2;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	font-style: 12px;
	font-size: 0.75rem;
	font-weight: 400;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 40px;
	padding: 20px 0;
	text-transform: uppercase;
}
footer.main p {
	margin: 0;
}
footer.main .madeby a {
	display: inline-block;
	height: 12px;
	position: relative;
	text-indent: -10000em;
	width: 12px;
}
footer.main .madeby a:after {
	content: '\f219';
	display: inline-block;
	font-family: FontAwesome;
	font-size: 12px;
	height: 12px;
	left: 0;
	position: absolute;
	text-indent: 0;
	top: 0;
	width: 12px;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
	display: none !important;
	visibility: hidden;
}

.visuallyhidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}

.invisible {
	visibility: hidden;
}

.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	*zoom: 1;
}

.loading-spinner {
    width: 150px;
    height: 150px;
    margin: 0px auto;
    background: url("../images/loading.gif");
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}

	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	a[href^="#"]:after,
	a[href^="javascript:"]:after {
		content: "";
	}

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	thead {
		display: table-header-group;
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}