body {
	padding: 4.8rem 0 0 0;
}

.header {
	width: 100%;
	height: 4.8rem;

	z-index: 1000;

	padding: 0 4.8rem 0 0;

	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: stretch;
}

.header-logo {
	width: auto;
	height: 100%;

	padding: 1rem 0;
	margin: auto;
}

.header-logo-img--desktop {
	display: none;
}

.header-logo-img--responsive {
	display: block;
	width: auto;
	height: 100%;
}

.hamburger {
	display: flex;
	width: 4.8rem;

	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;

	cursor: pointer;

	transition: background-color .2s ease;
}

.hamburger--active {
	background-color: #FFF;
}

.hamburger-icon,
.hamburger-icon::before,
.hamburger-icon::after {
	display: block;
	width: 2rem;
	height: 1px;

	background-color: #FFF;
}

.hamburger-icon {
	position: relative;

	transition: background-color .2s ease, transform .2s ease;
}

.hamburger-icon::before,
.hamburger-icon::after {
	position: absolute;
	left: 0;

	content: '';
}

.hamburger-icon::before {
	top: -.5rem;

	transform-origin: top left;
	transition: background-color .2s ease, top .2s ease, left .2s ease, transform .2s ease;
}

.hamburger-icon::after {
	bottom: -.5rem;

	transform-origin: bottom left;
	transition: background-color .2s ease, bottom .2s ease, left .2s ease, transform .2s ease;
}

.hamburger--active .hamburger-icon {
	background-color: transparent;

	transform: rotate(-180deg);
}

.hamburger--active .hamburger-icon::before,
.hamburger--active .hamburger-icon::after {
	left: 15%;

	background-color: #282723;
}

.hamburger--active .hamburger-icon::before {
	transform: rotate(45deg);
	top: -.66rem;
}

.hamburger--active .hamburger-icon::after {
	transform: rotate(-45deg);
	bottom: -.66rem;
}

.header-menu {
	width: 20rem;
	max-width: 100%;

	height: calc(100vh - 100%);

	position: absolute;
	top: 100%;
	left: 0;

	background-color: #282723;

	transform: translate(-100%, 0);
	transition: transform .2s ease;
}

.hamburger--active ~ .header-menu {
	transform: translate(0, 0);
}

.wrapper {
	padding: 40px;
}

.login {
	height: calc(100vh - 4.8rem);
}

.directory-body {
	width: 100%;

	margin: 0;
}

.directory-card {
	width: calc((100% - 1px) / 3 - 40px);
}

.directory-filters {
	width: calc(100% - 1.5rem - 20px);
	max-width: 500px;
	height: calc(100vh - 4.8rem);

	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 100;

	border-top: 1px solid #4F4C49;

	background-color: #282723;
	
	color: #FFF;

	transform: translate(100%, 0);

	transition: transform .2s ease;
}

.directory-filters--opened {
	transform: translate(0, 0);
}

.directory-filters-toggle {
	display: flex;
	width: calc(1.5em + 20px);
	height: calc(1.5em + 20px);

	position: absolute;
	top: calc(30px + 1.5rem - .75em);
	right: 100%;

	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;

	background-color: #282723;
}

.directory-filters--opened .directory-filters-toggle::before {
	content: '\e802';
}

.directory-filters-wrapper {
	display: block;
	width: 100%;
	height: 100%;

	padding: 40px;

	overflow: auto;
}

.directory-search {
	background-color: #FFF;
	color: #282723;
}

.partner {
	flex-wrap: wrap;
}

.partner-card {
	width: calc(100% - 40px);
}

.event {
	flex-direction: column;
}

.event-slider {
	width: 100%;

	margin: 40px 0 0 0;

	order: 100;
}

.event-body {
	width: 100%;
}

.directory-data,
.events-data,
.directory-data-controls,
.events-data-controls,
.directory-pagination::before,
.events-pagination::before {
	margin-right: 20px;
}

.directory-pagination-list,
.events-pagination-list {
	margin: 0;
}

.directory-pagination-item,
.events-pagination-item {
	margin: 0;
}

.directory-pagination-link,
.events-pagination-link {
	display: flex;
	width: calc(1.5em + 20px);
	min-width: calc(1.5em + 20px);
	height: calc(1.5em + 20px);

	padding: 0;

	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 960px) {
	.directory-card,
	.events-card {
		width: calc(50% - 40px);
	}
}