.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}

.clearfix:after {
	clear: both;
}

.container {
	margin: 0 auto;
	max-width: 1280px;
}

.container:before,
.container:after {
	content: " ";
	display: table;
}

.container:after {
	clear: both;
}

.container.padded {
	padding-left: 10px;
	padding-right: 10px;
}

@media (min-width: 768px) {
	.container {
		padding-left: 10px;
		padding-right: 10px;
	}

	.container .container,
	.container-1200 .container {
		padding-left: 0;
		padding-right: 0;
	}
}

.soft-hide {
	display: none;
}

.hide {
	display: none !important;
}

@media (max-width: 767px) {
	.hide-phone,
	.show-tablet,
	.show-desktop {
		display: none !important;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.hide-tablet,
	.show-desktop {
		display: none !important;
	}
}

@media (min-width: 1024px) {
	.hide-desktop {
		display: none !important;
	}
}

.relative {
	position: relative;
}

.m-all, .m-top {
	margin-top: .65em !important;
}

.m-all, .m-right {
	margin-right: .65em !important;
}

.m-all, .m-bottom {
	margin-bottom: .65em !important;
}

.m-all, .m-left {
	margin-left: .65em !important;
}

.m-all-d, .m-top-d {
	margin-top: 1.3em !important;
}

.m-all-d, .m-right-d {
	margin-right: 1.3em !important;
}

.m-all-d, .m-bottom-d {
	margin-bottom: 1.3em !important;
}

.m-all-d, .m-left-d {
	margin-left: 1.3em !important;
}

.m-all-t, .m-top-t {
	margin-top: 1.95em !important;
}

.m-all-t, .m-right-t {
	margin-right: 1.95em !important;
}

.m-all-t, .m-bottom-t {
	margin-bottom: 1.95em !important;
}

.m-all-t, .m-left-t {
	margin-left: 1.95em !important;
}

.b-all, .b-top {
	border-top: 1px solid #CCCCCC;
}

.b-all, .b-right {
	border-right: 1px solid #CCCCCC;
}

.b-all, .b-bottom {
	border-bottom: 1px solid #CCCCCC;
}

.b-all, .b-left {
	border-left: 1px solid #CCCCCC;
}

.p-all, .p-top {
	padding-top: .65em !important;
}

.p-all, .p-right {
	padding-right: .65em !important;
}

.p-all, .p-bottom {
	padding-bottom: .65em !important;
}

.p-all, .p-left {
	padding-left: .65em !important;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

h1.first, h2.first, h3.first, h4.first, h5.first, h6.first {
	margin-top: 0;
}

h1.underlined, h2.underlined, h3.underlined, h4.underlined, h5.underlined, h6.underlined {
	padding-bottom: .25em;
	margin-bottom: .4em;
	border-bottom: 1px solid #CCCCCC;
}

.shadow {
	box-shadow: 0.15em 0.15em 0.3em 0 rgba(13, 13, 13, 0.7)
}

.square {
	border-radius: 0
}

.radius {
	border-radius: 3px
}

.rounded {
	border-radius: 1em
}

.round {
	border-radius: 50em
}

.inline-block {
	display: inline-block !important;
}

.float-left {
	float: left;
}

.float-right {
	float: right;
}

.nowrap {
	white-space: nowrap;
}

.no-decor {
	text-decoration: none;
}

.condensed {
	font-family: "Roboto Condensed", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.expand {
	box-sizing: border-box !important;
	width: 100% !important;
}

.truncate {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	-ms-text-overflow: ellipsis;
	text-overflow: ellipsis;
}

.dark-heading,
.section-heading {
	position: relative;
	display: block;
	padding: .25em 10px;
	line-height: 1.2em;
	background-color: #000000;
	font-family: "Roboto Slab", serif;
	font-weight: 700;
	color: #FFFFFF;
	text-transform: uppercase;
	text-align: left;
}

.dark-heading a, .dark-heading a:hover,
.section-heading a, .section-heading a:hover {
	font-weight: inherit;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}

.section-heading {
	margin: 1.3em 0 2px 0 !important;
}

.section-heading.centered {
	text-align: center;
}

.dark-heading small,
.section-heading small {
	position: relative;
	bottom: 1px;
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	font-size: .8em;
	color: #CCCCCC;
	vertical-align: middle;
}

.no-heading > .section-heading {
	padding: 0;
}

@media (min-width: 768px) {
	.section-heading {
		margin-bottom: .35em !important;
		padding: 0;
		background-color: transparent;
		font-weight: 700;
		color: #000000;
	}

	.section-heading:before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		height: 0;
		/*border-top: 1px solid;*/
		border-top: thin solid; /* hack to fix Chrome bug where border did not show at some scales */
		z-index: 1;
	}

	.section-heading span {
		position: relative;
		top: -1px;
		line-height: 1.1em;
		padding-right: 10px;
		background: #FFFFFF;
		z-index: 5;
	}

	.section-heading.no-line:before {
		border: none;
	}

	.section-heading.no-line span {
		top: 0;
		padding-left: 0;
		padding-right: 0;
		background: transparent;
	}

	.section-heading span span {
		top: 0;
		padding-right: 0;
	}

	.no-heading > .section-heading:before {
		display: none;
	}

	.section-heading.centered span {
		padding-left: 10px;
	}

	.section-heading.centered span span {
		padding-left: 0;
	}

	.dark-heading small,
	.section-heading small {
		color: #888888;
	}
}

.one-line-form > button, .one-line-form > input, .one-line-form > .button {
	float: right;
	height: 2.3125em;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.one-line-form > .button {
	line-height: 2.3125em
}

.one-line-form > button + span, .one-line-form > input + span, .one-line-form > .button + span {
	display: block;
	overflow: hidden;
}

.one-line-form > button + span > input, .one-line-form > input + span > input, .one-line-form > .button + span > input {
	box-sizing: border-box;
	width: 100%;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.panel {
	margin: 0 0 .65em;
	line-height: 1.4em;
	border: 1px solid #CCCCCC;
	padding: .45em .65em;
	background-color: #EEEEEE;
	color: #222222;
	overflow: hidden
}

.panel > :last-child {
	margin-bottom: 0
}

.panel.blue,
.panel.info {
	border-color: #14A7CF;
	background-color: #E8F8FD;
}

.panel.green,
.panel.success {
	border-color: #43AC6A;
	background-color: #EDF8F1;
}

.panel.purple {
	border-color: #552E84;
	background-color: #F2ECF8;
}

.panel.orange,
.panel.warning {
	border-color: #F08A24;
	background-color: #FDF2E7;
}

.panel.red,
.panel.alert {
	border-color: #990000;
	background-color: #FFE6E6;
}

.columns {
	display: block;
	overflow: hidden;
	margin-bottom: .65em;
}

.columns:last-child {
	margin-bottom: 0;
}

.columns > .column {
	display: block;
	margin-bottom: .65em;
}

.columns.no-margin,
.columns.no-margin > .column,
.columns > .column:last-child {
	margin-bottom: 0;
}

.columns.no-gutter {
	margin-left: 0;
}

.columns.no-gutter > .column {
	padding-left: 0;
}

.columns.no-fold {
	margin-left: -1em;
}

.columns.no-fold > .column {
	box-sizing: border-box;
	float: left;
	width: 50%;
	margin-bottom: 0;
	padding-left: 1em;
}

.columns.no-fold.three > .column {
	width: 33.33%;
}

.columns.no-fold.three > .column.double {
	width: 66.66%
}

.columns.no-fold.four > .column {
	width: 25%;
}

.columns.no-fold.four > .column.double {
	width: 50%
}

.columns.no-fold.four > .column.triple {
	width: 75%
}

@media (min-width: 481px) {
	.columns.fold-small {
		margin-left: -1em;
	}

	.columns.fold-small > .column {
		box-sizing: border-box;
		float: left;
		width: 50%;
		margin-bottom: 0;
		padding-left: 1em;
	}

	.columns.fold-small.three > .column {
		width: 33.33%;
	}

	.columns.fold-small.three > .column.double {
		width: 66.66%
	}

	.columns.fold-small.four > .column {
		width: 25%;
	}

	.columns.fold-small.four > .column.double {
		width: 50%
	}

	.columns.fold-small.four > .column.triple {
		width: 75%
	}
}

@media (min-width: 768px) {
	.columns {
		margin-left: -1em;
	}

	.columns > .column {
		box-sizing: border-box;
		float: left;
		width: 50%;
		margin-bottom: 0;
		padding-left: 1em;
	}

	.columns.three > .column {
		width: 33.33%;
	}

	.columns.three > .column.double {
		width: 66.66%
	}

	.columns.four > .column {
		width: 25%;
	}

	.columns.four > .column.double {
		width: 50%
	}

	.columns.four > .column.triple {
		width: 75%
	}
}

.horizontal-menu ul,
ul.horizontal-menu,
ul.horizontal-menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
	vertical-align: bottom;
}

.horizontal-menu li {
	transition: color .18s, background .25s;
	position: relative;
	display: inline-block;
	margin-left: -2px;
	margin-right: -2px;
	vertical-align: bottom;
}

.horizontal-menu li:first-child,
.horizontal-menu li:last-child {
	margin-left: 0;
	margin-right: 0;
}

.horizontal-menu li.menu-heading {
	padding: 0 .75em;
	white-space: nowrap;
	overflow: hidden;
	color: inherit;
	background-color: inherit;
}

.horizontal-menu li a {
	transition: color .18s, background .25s;
	display: block;
	padding: 0 .75em;
	white-space: nowrap;
	color: inherit;
	background-color: inherit;
	text-decoration: none;
}

.horizontal-menu li ul {
	display: none;
}

.horizontal-menu.multi-level-menu ul,
ul.horizontal-menu.multi-level-menu {
	overflow: visible;
}

.horizontal-menu.multi-level-menu li {
	position: relative;
	display: inline-block;
}

.horizontal-menu.multi-level-menu li.has-sub-menu > a {
	padding-right: 2em;
}

.horizontal-menu.multi-level-menu li.menu-left li.has-sub-menu > a {
	padding-right: .65em;
	padding-left: 2em;
}

.horizontal-menu.multi-level-menu li ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	height: auto;
	box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.7);
	z-index: 6;
}

.horizontal-menu.multi-level-menu li.menu-left ul {
	left: auto;
	right: 0;
	box-shadow: -2px 2px 4px 0 rgba(0, 0, 0, 0.7);
}

.horizontal-menu.multi-level-menu li.sub-menu-visible > ul {
	display: block;
}

.horizontal-menu.multi-level-menu li ul li ul {
	top: 0;
	left: 100%;
}

.horizontal-menu.multi-level-menu li.menu-left ul li ul {
	top: 0;
	left: auto;
	right: 100%;
}

@supports (transform: scale(1, 0)) and (transition: transform .125s linear) {
	.horizontal-menu.multi-level-menu li ul {
		display: block;
		transition: transform .125s linear;
		transform: scale(1, 0);
		transform-origin: top;
	}

	.horizontal-menu.multi-level-menu li ul li ul {
		transform: scale(0, 0);
		transform-origin: top left;
	}

	.horizontal-menu.multi-level-menu li.menu-left ul li ul {
		transform-origin: top right;
	}

	.horizontal-menu.multi-level-menu li.sub-menu-visible > ul {
		transition: transform .25s ease-out;
		transform: scale(1, 1);
	}
}

.horizontal-menu.multi-level-menu li li {
	float: none;
	display: block;
	margin-left: 0;
	margin-right: 0;
	white-space: nowrap;
}

.horizontal-menu.multi-level-menu ul li > .sub-menu-toggle,
ul.horizontal-menu.multi-level-menu li > .sub-menu-toggle {
	transition: background-color .25s linear, color .25s linear;
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	padding: 0 .65em;
	text-align: right;
	cursor: pointer;
}

.horizontal-menu.multi-level-menu li.menu-left li > .sub-menu-toggle {
	right: auto;
	left: 0;
}

.horizontal-menu.multi-level-menu li > .sub-menu-toggle:before {
	font-family: FontAwesome;
	content: "\f0d7";
}

.horizontal-menu.multi-level-menu li.sub-menu-visible > .sub-menu-toggle:before {
	content: "\f0d8";
}

.horizontal-menu.multi-level-menu li li > .sub-menu-toggle:before,
.horizontal-menu.multi-level-menu li.menu-left li.sub-menu-visible > .sub-menu-toggle:before {
	content: "\f0da";
}

.horizontal-menu.multi-level-menu li li.sub-menu-visible > .sub-menu-toggle:before,
.horizontal-menu.multi-level-menu li.menu-left li > .sub-menu-toggle:before {
	content: "\f0d9";
}

.notifications .notification {
	position: relative;
	padding: .8em 0;
	background: #222222;
	border: 1px solid #222222;
}

.notifications .notification.has-button {
	padding: .4em 0;
}

.notifications .notification .button,
.notifications .notification button {
	height: 2em;
	line-height: 2em;
	text-decoration: none !important;
	vertical-align: baseline;
}

.notifications .notification .button:hover,
.notifications .notification button:hover {
	text-decoration: none;
}

.notifications .notification .notification-container {
	position: relative;
	line-height: 1.2em;
	text-align: left;
	color: #FFFFFF;
}

.notifications .notification .notification-container a {
	color: #FFFFFF;
	text-decoration: underline
}

.notifications .notification .notification-container a:hover {
	color: #FFFFFF
}

.notifications .notification.has-icon .notification-container {
	padding-left: 1.35em;
}

.notifications .notification .notification-close {
	transition: opacity .25s linear;
	position: relative;
	top: -.8em;
	float: right;
	width: 3em;
	height: .5em;
	overflow: visible;
	background: transparent;
	color: #FFFFFF;
	text-decoration: none;
	opacity: 0.7;
	z-index: 1;
}

.notifications .notification .notification-close:before {
	font-family: "FontAwesome";
	content: "\f00d";
	position: absolute;
	top: 0;
	right: 0;
	line-height: 1.2em;
	padding: .8em .95em;
	cursor: pointer;
}

.notifications .notification.has-button .notification-close {
	top: -.4em;
}

.notifications .notification .notification-close:hover,
.notifications .notification .notification-close:focus {
	opacity: 1;
}

.notifications .notification.dark {
	background: #222222;
	border-color: #222222
}

.notifications .notification.success {
	background: #43AC6A;
	border-color: #43AC6A
}

.notifications .notification.warning {
	background: #F08A24;
	border-color: #F08A24
}

.notifications .notification.alert {
	background: #990000;
	border-color: #990000
}

.notifications .notification.info {
	background: #14A7CF;
	border-color: #14A7CF
}

.notifications .notification.has-icon .notification-container:before {
	font-family: "FontAwesome";
	position: absolute;
	top: 0;
	left: 0;
	color: #FFFFFF
}

.notifications .notification.has-icon.success .notification-container:before {
	content: "\f00c"
}

.notifications .notification.has-icon.warning .notification-container:before {
	content: "\f071"
}

.notifications .notification.has-icon.alert .notification-container:before {
	content: "\f05e"
}

.notifications .notification.has-icon.info .notification-container:before {
	content: "\f05a"
}

.text-response {
	position: relative;
	padding-left: 1.35em;
	line-height: 1.2em;
	display: none
}

.text-response:before {
	position: absolute;
	top: 0;
	left: 0;
	font-family: "FontAwesome"
}

.text-response.show {
	display: inherit;
}

.text-response a {
	color: inherit;
	text-decoration: underline
}

.text-response a:hover {
	color: inherit
}

.text-response.success {
	color: #43AC6A
}

.text-response.success:before {
	content: "\f00c"
}

.text-response.warning {
	color: #F08A24
}

.text-response.warning:before {
	content: "\f071"
}

.text-response.alert {
	color: #990000
}

.text-response.alert:before {
	content: "\f05e"
}

.text-response.info {
	color: #14A7CF
}

.text-response.info:before {
	content: "\f05a"
}

.response {
	position: relative;
	display: none;
	padding: .35em .65em .35em 2em;
	line-height: 1.2em;
	text-align: left;
	color: #FFFFFF !important
}

.response:before {
	position: absolute;
	top: .35em;
	left: .65em;
	font-family: "FontAwesome";
	color: #FFFFFF
}

.response.show {
	transition: opacity 80ms linear;
	display: block
}

.response.faded {
	opacity: 0.15;
}

.response a {
	color: inherit;
	text-decoration: underline;
}

.response a:hover {
	color: inherit;
}

.response.success {
	background: #43AC6A;
}

.response.success:before {
	content: "\f00c"
}

.response.warning {
	background: #F08A24;
}

.response.warning:before {
	content: "\f071"
}

.response.alert {
	background: #990000;
}

.response.alert:before {
	content: "\f05e"
}

.response.info {
	background: #14A7CF;
}

.response.info:before {
	content: "\f05a"
}

ul.pagination {
	margin: 0;
	padding: 0;
	display: block;
	list-style: none;
}

ul.pagination li {
	transition: background-color 250ms ease-out, border-color 350ms ease-out, color 350ms ease-out;
	display: inline-block;
	height: 2.3125em;
	line-height: 2.3125em;
	min-width: 2.3125em;
	margin: 0;
	padding: 0;
	border: 1px solid #CCCCCC;
	background-color: #EEEEEE;
	color: #222222;
	text-align: center;
}

ul.pagination li:first-child {
	margin-left: 0;
}

ul.pagination li:last-child {
	margin-right: 0;
}

ul.pagination li > * {
	display: block;
	padding: 0 .5em;
	font-family: inherit;
	line-height: inherit;
	color: inherit;
	text-decoration: none;
}

ul.pagination li:hover,
ul.pagination li:active {
	border-color: #999999;
	background-color: #DCDCDC;
}

ul.pagination li.selected,
ul.pagination li.selected:hover {
	border-color: #000000;
	background-color: #000000;
	color: #FFFFFF;
	cursor: default;
}

ul.pagination li.disabled {
	border-color: #DDDDDD;
	background-color: #FEFEFE;
	color: #DDDDDD;
	cursor: default;
}

ul.pagination li.selected a,
ul.pagination li.disabled a {
	cursor: default;
}

.top-loader {
	transition: height 90ms ease-out;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 1003;
	height: 0;
}

.top-loader.show {
	transition: height 180ms ease-out;
	height: .65em;
}

.top-loader span {
	-webkit-animation: progress-bar-stripes 2s linear infinite;
	animation: progress-bar-stripes 2s linear infinite;
	display: block;
	width: 100%;
	height: 100%;
	background-color: #666666;
	background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
	background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
	background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
	background-size: 40px 40px;
}

@-webkit-keyframes progress-bar-stripes {
	from {
		background-position: 40px 0;
	}
	to {
		background-position: 0 0;
	}
}

@keyframes progress-bar-stripes {
	from {
		background-position: 40px 0;
	}
	to {
		background-position: 0 0;
	}
}

.pw-blur {
	position: relative;
	pointer-events: none;
}

.pw-blur::after {
	content: ' ';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #EEEEEE;
	background: rgba(255, 255, 255, .85);
}

.pw-blur .swiper-container {
	z-index: 0;
}

.pw-hide {
	display: none !important;
}

@supports (filter: blur(5px)) and (background: rgba(255, 255, 255, .15)) {
	.pw-blur {
		filter: blur(5px);
	}

	.pw-blur::after {
		background: rgba(255, 255, 255, .15);
	}
}

/*
.tooltip-icon {
    display: none;
    color: #74C2BF;
    font-style: normal;
    cursor: help
}

html.js .tooltip-icon {
    display: inline
}

.tooltip-icon:before {
    font-family: "FontAwesome";
    content: "\f059"
}

.tooltip-icon:hover {
    color: #58b6b2
}
*/