
/* -- Text Button -- */

a.button,
button,
.online-store input.button {
	display: inline-block;
	max-width: 100%;
	padding: 12px 40px;
	font-weight: 400;
	font-size: 13px;
	color: white;
	white-space: nowrap;
	letter-spacing: 2px;
	background: #3498db;
	text-align: center;
	cursor: pointer;
	border: 2px solid #3498db;
	border-radius: 6px;
	line-height: normal;
	text-shadow: none;
	outline: none;
	vertical-align: top;
	text-transform: uppercase;
	text-decoration: none;
}
a.button:hover,
button:hover,
.online-store input.button:hover {
	text-decoration: underline;
}
a.button.white {
	background: white;
	border-color: white;
	color: #3498db;
}
a.button.green {
	background: #1abc9c;
	border-color: #1abc9c;
}
a.button.black {
	background: #3d3d3d;
	border-color: #3d3d3d;
	color: white;
}
a.button.transparent {
	background: transparent;
	color: #3498db;
}
a.button.transparent.white {
	color: white;
}
a.button.transparent.black {
	color: #3d3d3d;
}
a.button.disabled,
button.disabled,
.online-store input.button.disabled {
	background: #b2babb;
	border-color: #b2babb;
	cursor: default;
	text-decoration: none;
}
a.button div {
	text-transform: none;
}
a.button span {
	display: inline;
	padding: 0;
	text-transform: none;
}
@media (max-width: 1190px) {
	a.button {
		white-space: normal;
	}
}

/* -- Page Header Button -- */

.page-header .buttons,
.page-header .buttons.left {
	width: 100%;
	max-width: 1170px;
	padding: 0 60px 30px 60px;
	margin: -30px auto 0 auto;
}
.page-header .button {
	margin-top: 20px;
	text-decoration: none;
	background: transparent;
	border-color: white;
	color: white;
}
@media (max-width: 860px) {
	.page-header .buttons,
	.page-header .buttons.left {
		padding: 0 20px 20px 20px;
		margin: -20px auto 0 auto;
	}
}
@media (max-width: 480px) {
	.page-header .buttons,
	.page-header .buttons.left {
		padding: 0 10px 20px 20px;
	}
}


/* -- Icon Button -- */

a.button.icon {
	white-space: nowrap;
	display: flex;
}
a.button.icon div {
	flex-grow: 1;
	flex-shrink: 0;
	text-align: right;
	align-self: center;
}
a.button.icon img {
	display: inline-block;
	width: 26px;
	height: 26px;
	margin: -8px 0;
}
a.button.icon span {
	flex-grow: 1;
	text-align: left;
	display: inline-block;
	text-transform: uppercase;
	margin-left: 16px;
	white-space: normal;
}
a.button.icon:hover span {
	text-decoration: underline;
}


/* -- Image Button -- */

a.button.image {
	position: relative;
	padding: 0;
	border: 0;
	background: transparent;
	color: #3e3e3e;
	font-size: 16px;
	letter-spacing: 1px;
}
a.button.image:not(.text):hover {
	text-decoration: none;
}
a.button.image.img:not(.text):hover img {
	outline: none;
	border-radius: 6px;
	box-shadow: 0 0 0 4px #90a4ae;
}
a.button.image:not(.img):not(.text):hover:after {
	content: '';
	position: absolute;
	top: -4px;
	bottom: -4px;
	left: -4px;
	right: -4px;
	border: 4px solid #90a4ae;
	border-radius: 8px;
}
a.button.image span,
a.button.image div {
	white-space: normal;
	letter-spacing: normal;
}


/* -- Image.Text Button -- */

a.button.image.text {
	padding: 0 20px;
	font-size: 15px;
}
a.button.image.text img {
	width: 100px;
	height: 100px;
	margin: 0 auto 20px auto;
}
@media (max-width: 480px) {
	a.button.image.text {
		padding: 0 10px;
		font-size: 14px;
	}
	a.button.image.text img {
		width: 70px;
		height: 70px;
	}
}


/* -- Close Button -- */

a.button.close {
	width: 32px;
	height: 32px;
	min-height: 32px;
	padding: 4px 0 0 2px;
	background: transparent;
	border: 0;
}
a.button.close:hover {
	text-decoration: none;
	background: #3498db;
}
a.button.close:before {
	content: '\2715';
	font-size: 16px;
	color: black;
}
a.button.close:hover:before {
	color: white;
}


/* -- Buttons Block -- */

div.buttons {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 -10px -10px 0;
}
div.buttons.images {
	margin: 0 -20px -20px 0;
}
div.buttons:after {
	content: '';
	flex: 0 0 100%;
	height: 0;
}
div.buttons:not(:first-child) {
	margin-top: 40px;
}
div.buttons.top {
	margin-top: 0;
}
div.buttons.left {
	width: fit-content;
	justify-content: flex-start;
}
div.buttons.right {
	justify-content: flex-end;
	float: right;
}
div.buttons.column {
	flex-direction: column;
	align-items: center;
	margin-right: 0;
}
div.buttons a.button {
	margin: 0 10px 10px 0;
}
div.buttons a.button.image {
	margin: 0 20px 20px 0;
}
div.buttons a.link {
	margin: 0 10px 10px 0;
	order: 1;
	text-align: center;
}
div.buttons a.link:not(:last-child):after {
	content: '|';
	display: inline-block;
	margin-left: 10px;
}
div.article.buttons {
	margin: 0 auto -10px auto;
	padding-right: 50px;
}
div.article.buttons.images {
	margin: 0 auto -20px auto;
	padding-right: 40px;
}
div.article.columns > div.buttons,
div.article .columns > div.buttons.left {
	flex-basis: 0;
	margin-top: 0;
	align-content: center;
}
div.article.columns > div.buttons a.button:not(.image),
div.article .columns > div.buttons a.button:not(.image) {
	width: 100%;
}
div.article.columns div.buttons,
div.article .columns div.buttons {
	width: auto;
}
@media (max-width: 860px) {
	div.buttons.left,
	div.buttons.right {
		float: none;
		width: auto;
		justify-content: center;
	}
	div.article.buttons {
		padding-right: 10px;
	}
	div.article.buttons.images {
		padding-right: 0;
	}
}
@media (max-width: 480px) {
	div.buttons a.button:not(.image),
	div.buttons a.link {
		width: 100%;
	}
	div.buttons a.link:not(:last-child):after {
		display: none;
	}
}


/* -- Tiles -- */

div.tiles {
	display: flex;
	line-height: normal;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 -10px -10px 0;
}
div.tiles div.tile,
div.tiles a.tile {
	position: relative;
	flex-shrink: 0;
	width: 160px;
	height: 160px;
	margin: 0 10px 10px 0;
	padding: 0 5px;
	background: white;
	border-radius: 6px;
	text-decoration: none;
	color: #3e3e3e;
}
div.tiles div.tile:hover,
div.tiles a.tile:hover {
	box-shadow: 0 0 0 4px #90a4ae;
}
div.tiles h3 {
	height: 44px;
	padding: 12px 0 0 0;
	text-transform: uppercase;
	font-weight: 400;
	font-size: 15px;
	text-align: center;
	border-bottom: 1px solid #cfd8dc;
}
div.tiles img {
	position: absolute;
	width: 100%;
	height: 100%;
	padding: 62px 20px 20px 10px;
}