/*----------------------------------------------------------------- */
/* GENERAL
/*----------------------------------------------------------------- */

html {
	font-size: var(--font-size__rem-constant);
	line-height: normal; /* fix normalize.css */

	position: relative;

	box-sizing: border-box;
	min-height: 100%;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

::selection {
	color: var(--color__white);
	background: var(--color__red);
}

::selection {
	color: #fff;
	background: var(--color__red);
}

body {
	font-family: var(--font-family__default);
	font-size: var(--font-size__default);
	font-weight: var(--font-weight__default);

	text-align: left;

	color: var(--color__black);
	background: var(--color__white-dark);

	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 p,
ul,
ol,
blockquote,
figure {
	margin-top: 0;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
	font-family: var(--font-family__heading);
	font-weight: var(--font-weight__bold);
}

h1,
.h1 {
	font-size: 5.6rem;

	margin-bottom: 2rem;

	letter-spacing: -2px;
}

h2,
.h2 {
	font-size: 3.6rem;

	letter-spacing: -0.8px;
}

h3,
.h4 {
	font-size: 2.6rem;

	letter-spacing: -0.8px;
}

h4,
.h4 {
	font-size: 1.8rem;

	letter-spacing: -0.3px;
}

h5,
.h5 {
	font-size: 1.7rem;

	letter-spacing: -0.2px;

	margin-bottom: 0;
}

.title {
	position: relative;
}

.title.title--spacing {
	margin-bottom: 40px;
}

p {
	line-height: var(--line-height__default);
}

strong {
	font-weight: var(--font-weight__bold);
}

a {
	transition: var(--transition-delay__default);
	text-decoration: underline;

	color: var(--color__red);
}

a:hover {
	text-decoration: underline;

	color: var(--color__red-darker);
}

button {
	font-size: var(--font-size__default); /* fix normalize.css */

	padding: 0;

	cursor: pointer;
	transition: var(--transition-delay__default);

	color: var(--color__red);
	border: none;
	background: none;
}

button:hover {
	color: var(--color__red-darker);
}

button.btn,
a.btn,
.btn {
	font-size: 1.8rem;
	font-weight: var(--font-weight__bold);
	line-height: 22px;

	position: relative;

	display: inline-block;

	padding: 13px 40px;

	text-decoration: none;

	color: var(--color__white);
	border-radius: 5px;
	background: var(--color__red);
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

button.btn:hover,
a.btn:hover,
.btn:hover {
	text-decoration: none;

	color: var(--color__white);
	background: var(--color__red-dark);
}

button.btn-disabled,
button:disabled,
a.btn-disabled,
.btn-disabled {
	cursor: not-allowed;

	background: var(--color__beige-light);
}

button.btn-disabled:hover,
button:disabled:hover,
a.btn-disabled:hover,
.btn-disabled:hover {
	background: var(--color__beige-light);
}

button.btn-success,
a.btn-success,
.btn-success {
	background: var(--color__green);
}

button.btn-success:hover,
a.btn-success:hover,
.btn-success:hover {
	background: var(--color__green-dark);
}

button.btn-blank,
a.btn-blank,
.btn-blank {
	font-weight: var(--font-weight__default);

	color: var(--color__red);
	border: 1px solid var(--color__red);
	background: var(--color__white);
}

button.btn_fixed {
	position: fixed;
	right: 0;
	top: 40%;

	writing-mode: tb-rl;
	transform: translateY(-40%) scale(-1);
	padding: 40px 13px;
	z-index: 999;
}

ul,
ol {
	padding: 0;

	list-style-type: none;

	counter-reset: counter;
}

blockquote,
figure {
	margin-right: 0;
	margin-left: 0;
}

figcaption {
	font-size: 1.7rem;
	font-style: italic;

	padding-top: 16px;

	color: var(--color__black-light);
}

img {
	display: block;

	width: 100%;
	height: auto;
}

.bg-cover {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	background: var(--color__black);
}

.bg-cover_light {
	background: var(--color__white);
}

.bg-cover img {
	width: inherit;
	height: inherit;

	object-fit: cover;
	object-position: center center;
}

.lazyload {
	opacity: 0;
}

img.lazyloading {
	transition: var(--transition-delay__default);

	opacity: 0.8;
}

.lazyloaded {
	transition: var(--transition-delay__default);

	opacity: 1;
}

.fslightbox-toolbar-button:nth-child(2),
.fslightbox-toolbar-button:nth-child(3),
.fslightbox-toolbar-button:nth-child(4),
.fslightbox-toolbar-button:nth-child(5) {
	display: none;
}

iframe {
	border: 0;
}

.icon,
.shape {
	display: inline-block;
}

.icon-arrow {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;

	display: inline-block;

	width: 13px;
	height: 8px;
	margin: auto 0;

	color: var(--color__red);
}

.icon-arrow:after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;

	display: block;

	width: 9px;
	height: 9px;
	margin: auto;

	content: "";
	transition: var(--transition-delay__default);
	-webkit-transform: rotate(-45deg) translate(2px, -2px);
	transform: rotate(-45deg) translate(2px, -2px);

	border-bottom: 2px solid currentColor;
	border-left: 2px solid currentColor;
}

.active > .icon-arrow:after,
.active.icon-arrow:after {
	-webkit-transform: rotate(135deg) translate(1px, -1px);
	transform: rotate(135deg) translate(1px, -1px);
}

.icon-arrow_grey {
	color: var(--color__black-lighter);
}

.icon-plus {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;

	display: inline-block;

	width: 25px;
	height: 25px;
	margin: auto 0;

	border: 1px solid var(--color__red);
	border-radius: 50%;
}

.icon-plus:before,
.icon-plus:after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;

	display: block;

	margin: auto;

	content: "";
	transition: var(--transition-delay__default);

	background: var(--color__red);
}

.icon-plus:before {
	width: 11px;
	height: 1px;
}

.icon-plus:after {
	width: 1px;
	height: 11px;
}

.active > .icon-plus:after,
.active.icon-plus:after {
	height: 1px !important;
}

.video-cover {
	position: relative;
	background: var(--color__beige);
}

.video-cover .icon {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;

	width: 67px;
	height: 47px;
	margin: auto;

	transition: var(--transition-delay__default);

	color: var(--color__red);
}

.video-cover:hover .icon {
	color: var(--color__red-dark);
}

.video-cover span {
	font-family: var(--font-family__heading);
	font-weight: var(--font-weight__bold);

	position: absolute;
	bottom: 35px;
	left: 50%;

	display: inline-block;

	transform: translateX(-50%);
	text-align: center;

	color: var(--color__white);
}

.hidden {
	display: none;
}

.container {
	position: relative;

	height: inherit;
	margin: 0 auto;
}

.container_border {
	padding-right: var(--padding__default);
	padding-left: var(--padding__default);
}

.container_website {
	max-width: var(--width__website);

	background: var(--color__white);
}

.container_main {
	max-width: var(--width__main);
}

.container_content {
	max-width: var(--width__content);
}

.container_table {
	max-width: 100%;
	padding: 0 20px;
}

.container_table .container_content {
	max-width: 100%;
}

.container_form {
	max-width: var(--width__form);
}

.row {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.row_justify-space {
	justify-content: space-between;
}

.row_justify-center {
	justify-content: center;
}

.row_justify-end {
	justify-content: flex-end;
}

.row_align-stretch {
	align-items: stretch;
}

.row_align-center {
	align-items: center;
}

.row_direction-reverse {
	flex-direction: row-reverse;
}

@media (max-width: 1230px) {
	body {
		/* padding for fixed header */
		padding-top: var(--header__height);
	}

	.container_main {
		max-width: 100%;
		padding-right: var(--padding__default);
		padding-left: var(--padding__default);
	}
}

@media (max-width: 850px) {
	.container_content {
		max-width: 100%;
		padding-right: var(--padding__default);
		padding-left: var(--padding__default);
	}
}

@media (max-width: 760px) {
	h1 {
		font-size: 3.3rem;

		margin-bottom: 1.2rem;

		letter-spacing: -0.8px;
	}

	h2 {
		font-size: 2.7rem;
	}

	h3 {
		font-size: 2.2rem;
	}

	h4 {
		font-size: 1.5rem;
	}

	button.btn,
	a.btn,
	.btn {
		font-size: 1.5rem;
	}

	button.btn_fixed {
		display: none;
	}

	figcaption {
		font-size: 1.4rem;

		padding-top: 8px;
	}
}

/* CONTENT
----------------------------------------- */
.content .description p {
	font-family: var(--font-family__heading);
	font-size: 2.3rem;
	line-height: 3.6rem;

	margin-bottom: 30px;
}

@media (max-width: 760px) {
	.content .description p {
		font-size: 1.7rem;
		line-height: 2.5rem;

		margin-bottom: 15px;
	}
}

/* SHARING */
.sharing {
	margin-top: 60px;
	padding: 40px 0 35px 0;

	text-align: center;

	border-top: 1px solid var(--color__white-darker);
	border-bottom: 1px solid var(--color__white-darker);
}

.sharing h2 {
	font-size: 2.6rem;

	margin-top: 0;
}

.sharing a {
	margin: 15px;

	color: var(--color__black);
}

.sharing a:hover {
	color: var(--color__red);
}

.sharing .icon {
	width: 36px;
	height: 36px;
	margin-right: 10px;

	transition: var(--transition-delay__default);

	color: #fff;
	border-radius: 9px;
	background: var(--color__black);
}

.sharing .sharing-facebook .icon {
	background: var(--color__facebook);
	box-shadow: 0 4px 9px rgba(59, 89, 152, 0.4);
}

.sharing .sharing-twitter .icon {
	background: var(--color__twitter);
	box-shadow: 0 4px 9px rgba(8, 160, 233, 0.4);
}

.sharing .sharing-linkedin .icon {
	background: var(--color__linkedin);
	box-shadow: 0 4px 9px rgba(0, 119, 183, 0.4);
}

.sharing a:hover .icon {
	box-shadow: none;
}

.sharing a span {
	font-size: 1.7rem;
}

@media (max-width: 760px) {
	.sharing {
		margin-top: 30px;
		padding: 20px 0 15px 0;
	}

	.sharing h2 {
		font-size: 2.2rem;

		margin-bottom: 10px;
	}

	.sharing .icon {
		width: 30px;
		height: 30px;
	}

	.sharing a span {
		font-size: 1.5rem;
	}
}

/* TABLES
----------------------------------------- */
.table-wrapper {
	overflow-y: auto;

	width: 100%;
}

.table-wrapper::-webkit-scrollbar {
	width: 8px;
	height: 8px;

	-webkit-appearance: none;
}

.table-wrapper::-webkit-scrollbar-thumb {
	border-radius: 4px;
	background: #d8d8d8;
}

table {
	width: 100%;
	min-width: 560px;

	border-collapse: collapse;
}

table td,
table th {
	padding: 10px 7px;

	border: 1px solid rgba(0, 0, 0, 0.2);
}

table th,
table thead td {
	color: var(--color__white);
	background: rgba(0, 0, 0, 0.6);
}

/* ANCHORS
----------------------------------------- */
.anchors {
	position: relative;

	border-top: 1px solid var(--color__white-darker);
	background: var(--color__white-dark);
}

.anchors__list {
	padding: 20px 0;
}

.anchors__list ul {
	margin: 0;
}

.anchors__list a,
.anchors__list button {
	font-size: 1.7rem;
	font-weight: var(--font-weight__bold);

	position: relative;

	display: inline-block;

	margin: 10px 20px 10px 0;
	padding-left: 29px;
}

.anchors__list .icon {
	position: absolute;
	top: -1px;
	bottom: 0;
	left: 0;

	width: 20px;
	height: 20px;
	margin: auto 0;

	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);

	color: var(--color__black);
}

@media (max-width: 760px) {
	.anchors__list a,
	.anchors__list button {
		font-size: 1.6rem;

		padding-left: 25px;
	}

	.anchors__list .icon {
		width: 18px;
		height: 18px;
	}
}

/* SEARCH TOOLS
----------------------------------------- */
.search-tools {
	position: absolute;
	z-index: 9999;
	top: var(--header__height);
	left: 0;

	display: none;

	width: 100%;
	min-height: calc(100vh - var(--header__height));
	padding: 50px 0;

	background: var(--color__white-dark);
}

.search .search-tools {
	position: static;

	display: block;

	min-height: 0;
}

/* FORM */
.search-tools__form {
	position: relative;

	width: 100%;
	max-width: none;
	padding-bottom: 20px;

	border-bottom: 1px solid var(--color__beige);
}

.search-tools__form input[type="search"] {
	font-family: var(--font-family__heading);
	font-size: 2.8rem;
	line-height: 50px;

	display: block;

	width: 100%;
	padding: 0;
	padding-right: 160px;

	color: var(--color__black);
	border: none;
	border-radius: 0;
	outline: none;
	background: none;
}

.search-tools__form input[type="search"]:focus {
	box-shadow: none;
}

.search-tools__form input[type="search"]::-webkit-input-placeholder {
	color: var(--color__black-light);
}

.search-tools__form input[type="search"]::-moz-placeholder {
	color: var(--color__black-light);
}

.search-tools__form input[type="search"]:-ms-input-placeholder {
	color: var(--color__black-light);
}

.search-tools__form input[type="search"]::-webkit-search-decoration,
.search-tools__form input[type="search"]::-webkit-search-cancel-button,
.search-tools__form input[type="search"]::-webkit-search-results-button,
.search-tools__form input[type="search"]::-webkit-search-results-decoration {
	display: none;
}

.search-tools__form input[type="submit"] {
	font-size: 1.9rem;
	font-weight: var(--font-weight__bold);

	position: absolute;
	top: 0;
	right: 0;

	display: inline-block;

	width: 130px;
	height: 50px;
	padding: 0;

	cursor: pointer;
	transition: var(--transition-delay__default);

	color: var(--color__white);
	border: none;
	border-radius: 5px;
	outline: none;
	background: var(--color__red);
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.search-tools__form input[type="submit"]:hover {
	background: var(--color__red-dark);
}

/* RESULTS */
.search-tools__results {
	padding: 30px;

	background: var(--color__white);
}

.search-tools__results-title {
	font-size: 1.7rem;
	font-weight: var(--font-weight__bold);

	position: relative;
}

.search-tools__results-title:before {
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	left: 0;

	display: block;

	width: 100%;
	height: 1px;
	margin: auto 0;

	content: "";

	background: var(--color__white-darker);
}

.search-tools__results-title a {
	position: relative;
	z-index: 2;

	display: inline-block;

	padding-right: 20px;

	text-decoration: underline;

	color: var(--color__black);
	background: var(--color__white);
}

.search-tools__results-title a:hover {
	text-decoration: underline;
}

.search-tools__results-title span {
	text-transform: capitalize;
}

.search-tools__results nav {
	margin-bottom: 20px;
	padding: 5px 10px;
}

.search-tools__results-type:last-child nav {
	margin-bottom: 0;
}

.search-tools__results nav ul {
	margin: 0;
}

.search-tools__results nav a {
	font-size: 1.6rem;

	display: inline-block;

	text-decoration: underline;

	color: var(--color__black);
}

.search-tools__results nav .search-tools__results-all a {
	text-decoration: none;

	color: var(--color__black-lightest);
}

.search-tools__results nav a:hover {
	color: var(--color__red);
}

/* COUNT */
.search-tools__count {
	font-size: 1.5rem;

	margin-top: 10px;

	color: var(--color__beige);
}

.search-tools__count h1 {
	font-family: var(--font-family__default);
	font-size: inherit;
	font-weight: var(--font-weight__default);

	margin: 0;

	letter-spacing: 0;
}

.search-tools__count strong {
	color: var(--color__black);
}

/* FAVORITES */
.search-tools__favorites {
	font-size: 1.5rem;

	flex-wrap: nowrap;

	margin-top: 10px;

	color: var(--color__beige);
}

.search-tools__favorites span {
	display: block;

	margin: 5px 10px 5px 0;

	white-space: nowrap;
}

.search-tools__favorites ul {
	margin: 0;
}

.search-tools__favorites a {
	display: inline-block;

	margin: 5px 10px 5px 0;

	text-decoration: underline;

	color: var(--color__beige);
}

.search-tools__favorites a:hover {
	text-decoration: underline;

	color: var(--color__red);
}

@media (max-width: 1230px) {
	.search-tools {
		position: fixed;

		overflow: auto;

		height: calc(100vh - var(--header__height));
		min-height: 0;
	}

	.search .search-tools {
		position: static;

		height: auto;
	}

	.search-tools::-webkit-scrollbar {
		width: 8px;
		height: 8px;

		-webkit-appearance: none;
	}

	.search-tools::-webkit-scrollbar-thumb {
		border: 1px solid var(--color__black-lightest);
		border-radius: 10px;
		background-color: var(--color__white);
	}

	/* FAVORITES */
	.search-tools__favorites a {
		margin-right: 15px;
	}
}

@media (max-width: 760px) {
	.search-tools {
		padding: 20px 0;
	}

	/* FORM */
	.search-tools__form {
		padding-bottom: 0;

		border: none;
	}

	.search-tools__form input[type="search"] {
		font-size: 1.5rem;

		padding: 0 100px 0 15px;

		border: 1px solid var(--color__beige-light);
		border-radius: 5px;
		background-color: var(--color__white);
	}

	.search-tools__form input[type="submit"] {
		font-size: 1.5rem;

		top: 5px;
		right: 5px;

		width: 80px;
		height: 40px;
	}

	/* RESULTS */
	.search-tools__results {
		padding: 15px;
	}

	.search-tools__results-title {
		font-size: 1.6rem;
	}

	.search-tools__results nav {
		margin-bottom: 15px;
	}

	.search-tools__results nav a {
		font-size: 1.5rem;

		margin: 5px 0;
	}

	/* COUNT */
	.search-tools__count {
		font-size: 1.4rem;

		margin-top: 15px;
	}

	/* FAVORITES */
	.search-tools__favorites {
		font-size: 1.4rem;

		margin-top: 15px;
		padding: 0 10px;

		color: var(--color__black);
	}

	.search-tools__favorites.row,
	.search-tools__favorites .row {
		display: block;
	}

	.search-tools__favorites span,
	.search-tools__favorites a {
		margin: 7px 0;

		color: var(--color__black);
	}
}

/* SEARCH
----------------------------------------- */
.search .anchors button {
	color: var(--color__black);
}

.search .anchors button:hover {
	color: var(--color__red);
}

.search .anchors button .icon {
	transition: var(--transition-delay__default);
}

.search .anchors button.active,
.search .anchors button.active .icon {
	color: var(--color__red);
}

.search .anchors button strong {
	text-transform: capitalize;
}

.search .anchors button span {
	font-weight: var(--font-weight__default);
}

.search__results {
	padding-top: 50px;
}

.search__result {
	margin-bottom: 40px;
}

.search__result h2 {
	text-transform: capitalize;
}

.search__result h2 span {
	font-weight: var(--font-weight__default);
}

.search__result ul {
	margin: 0;
}

.search__result li {
	margin-bottom: 15px;
}

.search__result h3 {
	font-size: 1.7rem;
	font-weight: var(--font-weight__bold);
	font-family: var(--font-family__default);
	margin: 0;
	letter-spacing: normal;
}

.search__result a {
	display: inline-block;

	margin-bottom: 5px;
}

.search__result time {
	font-size: 1.7rem;
	font-weight: var(--font-weight__bold);

	display: block;

	margin-bottom: 8px;
}

.search__result p {
	margin: 0;
}

.search__result .search__result-all button {
	font-size: 1.7rem;

	color: var(--color__black-light);
}

.search__result .search__result-all button:hover {
	color: var(--color__red);
}

@media (max-width: 760px) {
	.search__results {
		padding-top: 30px;
	}

	.search__result {
		margin-bottom: 30px;
	}

	.search__result h2 {
		margin-bottom: 15px;
	}

	.search__result time {
		font-size: 1.5rem;
	}
}

/* SHORTCODES
----------------------------------------- */

/* CONTACT-BOX */
.contact-box {
	margin: 90px 0;
	padding: 35px 0;

	text-align: center;

	background: var(--color__white-dark);
}

.contact-box__item {
	width: 33.33%;
}

.contact-box__item:nth-child(2) {
	border-right: 1px solid var(--color__beige-light);
	border-left: 1px solid var(--color__beige-light);
}

.contact-box__label {
	font-family: var(--font-family__heading);
	font-size: 2.6rem;
	font-weight: var(--font-weight__bold);
}

.contact-box__item .icon {
	width: 30px;
	height: 30px;
	margin-right: 7px;

	vertical-align: middle;
}

.contact-box__item a[href^="tel"],
.contact-box__item a[href^="mailto"] {
	font-size: 1.7rem;

	display: inline-block;

	text-decoration: none;
}

.contact-box__item a[href^="tel"] {
	margin-bottom: 5px;
	padding-left: 12px;

	color: var(--color__black);
}

.contact-box__item a[href^="tel"]:hover {
	color: var(--color__red);
}

.contact-box__item a[href^="tel"] .icon {
	color: var(--color__red);
}

.contact-box__item a[href^="mailto"] {
	padding-right: 12px;
}

.contact-box__item a[href^="mailto"] span {
	text-decoration: underline;
}

@media (max-width: 760px) {
	.contact-box {
		margin: 50px 0;
	}

	.contact-box__item:nth-child(2) {
		border: none;
	}

	.contact-box__label {
		font-size: 2.2rem;
	}

	.contact-box__item a[href^="tel"],
	.contact-box__item a[href^="mailto"] {
		font-size: 1.5rem;
	}

	.contact-box__item a[href^="tel"] {
		margin-bottom: 0;
		padding-left: 10px;
	}

	.contact-box__item .icon {
		width: 25px;
		height: 25px;
		margin-right: 5px;
	}
}

@media (max-width: 600px) {
	.contact-box {
		padding: 25px;
	}

	.contact-box__item {
		width: 100%;
	}

	.contact-box__item:nth-child(2) {
		margin: 10px 0 15px 0;
	}

	.contact-box__item a[href^="tel"],
	.contact-box__item a[href^="mailto"] {
		padding: 0;
	}

	.contact-box__item a[href^="tel"] {
		margin-bottom: 5px;
	}
}

/* DEPARTMENTS */
.department {
	padding: 40px 0;

	background: var(--color__white-dark);
}

.department__column {
	width: 50%;
	padding: 0 6%;
}

.department__column:last-child {
	border-left: 1px solid var(--color__white-darker);
}

.department__address > span,
.department__address > a {
	font-weight: var(--font-weight__bold);

	position: relative;

	display: inline-block;

	margin-bottom: 15px;
	padding-left: 40px;
}

.department__address .icon {
	position: absolute;
	top: 2px;
	left: 0;

	width: 24px;
	height: 24px;

	color: var(--color__red);
}

.department__location address {
	font-style: normal;
}

.department__location a {
	font-size: 1.5rem;
	font-weight: var(--font-weight__default);

	display: block;

	width: fit-content;
}

.department__address a[href^="tel"] {
	text-decoration: none;

	color: var(--color__black);
}

.department__address a[href^="tel"]:hover {
	color: var(--color__red-dark);
}

.department__title {
	font-weight: var(--font-weight__bold);

	position: relative;

	display: block;

	width: 100%;

	cursor: default;
	text-align: left;
	pointer-events: none;

	color: var(--color__black);
}

.department__title .icon-arrow {
	display: none;
}

.department__hours figure {
	margin: 15px 0 0 0;
}

.department__hours table {
	font-size: 1.5rem;

	min-width: auto;
	margin-bottom: 15px;
}

.department__hours table tr {
	border-bottom: 1px solid var(--color__white-darker);
}

.department__hours table td {
	min-width: 90px;
	padding: 10px 0;

	text-align: center;

	border: none;
}

.department__hours table td:first-child {
	text-align: left;

	color: var(--color__black-light);
}

.department__hours table td .empty {
	color: var(--color__black-light);
}

.department__note {
	font-size: 1.5rem;

	display: block;

	padding: 0;

	color: var(--color__black);
}

/* DEPARTMENTS - SIDEBAR WIDGET */
.sidebar .department {
	padding: 20px 15px;

	border-bottom: 1px solid var(--color__white-darker);
	background: none;
}

.sidebar .department__column {
	width: 100%;
	padding: 0;

	border: none;
}

.sidebar .department__address {
	display: none;
}

.sidebar .department__title {
	font-size: 1.7rem;

	cursor: pointer;
	pointer-events: all;
}

.sidebar .department__title:hover {
	color: var(--color__red);
}

.sidebar .department__title .icon-arrow {
	display: block;
}

.sidebar .department__hours figure {
	display: none;
}

@media (max-width: 760px) {
	.department {
		padding: 20px 0;
	}

	.department__column {
		width: 100%;
		max-width: 420px;
		margin: 0 auto;
		padding: 0 15px;
	}

	.department__column:last-child {
		margin-top: 10px;
		padding-top: 20px;

		border-top: 1px solid var(--color__white-darker);
		border-left: none;
	}
}

@media (max-width: 400px) {
	.department__hours table {
		font-size: 1.4rem;
	}
}

/* LAYOUT */
.layout-wrapper {
	position: relative;
}

.layout-wrapper .content-wrapper {
	width: calc(100% - var(--width__sidebar));
	padding-right: 3.4%;
}

.post-type-archive-blog .layout-wrapper .content-wrapper,
.tax-blog-category .layout-wrapper .content-wrapper,
.author .layout-wrapper .content-wrapper {
	width: 100%;
	padding-right: 0;
}

@media (max-width: 1100px) {
	.layout-wrapper .content-wrapper {
		width: 100%;
		max-width: 800px;
		margin: 0 auto;
		padding: 0;
	}
}

/* NOTIFICATIONS */
.notifications {
	font-size: 1.5rem;

	display: inline-block;

	padding: 5px 15px;

	color: var(--color__white);
	border-radius: 5px;
	background-color: var(--color__red);
}

.notifications .icon {
	width: 20px;
	height: 20px;
	margin: -1px 0 0 0;

	vertical-align: middle;
}

.notifications a {
	font-size: 1rem;
	font-weight: var(--font-weight__bold);

	display: inline-block;

	margin-left: 5px;
	padding: 5px 10px;

	vertical-align: middle;
	text-decoration: none;
	text-decoration: solid underline transparent;
	text-transform: uppercase;

	color: var(--color__white);
	border-radius: 5px;
	background: var(--color__black);
}

.notifications a:hover {
	text-decoration: underline;
}

.notifications a .icon-arrow {
	position: relative;

	color: var(--color__white);
}

.notifications a .icon-arrow:after {
	width: 5px;
	height: 5px;

	-webkit-transform: rotate(-135deg) translate(0, 0);
	transform: rotate(-135deg) translate(0, 0);

	border-width: 1px;
}

/* CALENDAR */
.block_accordion__content .table-wrapper {
	margin-bottom: 30px;
}

.calendar {
	font-size: 1.7rem;

	margin-bottom: 10px;

	border: 1px solid var(--color__white-darker);
}

.calendar thead {
	border-bottom: 2px solid var(--color__red);
}

.calendar tr {
	border-top: 1px solid var(--color__white-darker);
}

.calendar .calendar-row_red {
	background: var(--color__red-light);
}

.calendar .calendar-row_green {
	background: var(--color__white-dark);
}

.calendar th,
.calendar td {
	padding: 12px 15px;

	border: none;
}

.calendar th {
	font-family: var(--font-family__heading);
	font-size: 1.4rem;
	font-weight: var(--font-weight__bold);

	padding: 19px 15px;

	letter-spacing: 3.5px;
	text-transform: uppercase;

	color: var(--color__black);
	background: none;
}

.calendar td:first-child {
	font-weight: var(--font-weight__bold);
}

.calendar td span {
	white-space: nowrap;

	color: var(--color__black-light);
}

@media (max-width: 760px) {
	.block_accordion__content .table-wrapper {
		margin-bottom: 10px;
	}

	.calendar {
		font-size: 1.5rem;

		margin-bottom: 5px;
	}

	.calendar th {
		font-size: 1.2rem;

		letter-spacing: 3px;
	}
}

/* ACCESSIBILITY */
.m-accessibility {
	position: absolute;
	top: 0;
	left: -500rem;
}
.m-accessibility a:focus,
.m-accessibility a:active {
	position: absolute;
	top: 0;
	left: 500rem;
	z-index: 900;
	width: 20rem;
	padding: 0.2rem 0 0.5rem;
	background-color: var(--color__white);
	text-align: center;
}

.visually-hidden {
	clip-path: inset(100%);
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* Forms */
.error.no-label {
	color: var(--color__red-dark);
}
