@media screen and (max-width: 1440px) {
	.flex-container, .container {
		width: 100%;
		padding-left: 8px;
		padding-right: 8px;
		box-sizing: border-box;
	}

	.menu-header .menu {
		justify-content: initial;
	}
}

@media screen and (max-width: 1160px) {

	/* Footer */
	.footer .flex-container {
		justify-content: space-evenly;
		padding: 20px 0;
	}

	.footer-item {
		height: auto;
		padding: 20px 0;
	}

	.footer-item .flex {
		padding: 10px 0;
	}

	/* Sidebar */

	.sidebar {
		float: right;
		margin-bottom: 20px;
	}

	.sidebar-content {
		display: none;
	}

	.page-sections {
		width: 100%;
		float: none;
		clear: both;
	}

	/* General */

	.typography h1, .typography .h1, .hero h1 {
		font-size: 42px;
	}
	.typography h2, .typography .h2 {
		font-size: 30px;
	}
	.typography h3, .typography .h3 {
		font-size: 24px;
	}
	.typography h4, .typography .h4 {
		font-size: 19px;
	}
	.typography p, li {
		font-size: 16px;
	}

	.content-with-sidebar {
		margin-left: 0;
		border: none;
	}

	.padding-top {
		padding-top: 60px;
	}

	.padding-bottom {
		padding-bottom: 60px;
	}
}

@media screen and (max-width: 1100px) {
	/* Mobile Menu */

	.mobile-menu-close {
		display: initial;
	}

	.header .primary li a, .header .primary ul li a {
		font-size: 18px;
	}

	.header .primary ul {
		margin-left: 0;
		flex-wrap: wrap;
		height: auto;
	}

	.header .primary ul li {
		flex: 0 0 auto;
	}

	.header .primary ul, .header .primary ul li ul {
		display: flex;
		flex-direction: column;
		align-items: baseline;
	}

	.header .menu-open-button {
		display: block;
		position: absolute;
		right: 10px;
		width: 40px;
		height: 40px;
		color: #fff;
	}

	.header .menu-open-button:after {
		content: "";
		position: absolute;
		left: 17px;
		height: 6px;
		width: 6px;
		top: 9px;
		border-radius: 3px;
		background: currentcolor;
		box-shadow: 0 8px 0 currentcolor,
				0 16px 0 currentcolor ;
	}
	.header .primary {
		right: -300px;
		background: #205391;
		top: 0;
		line-height: 33px;
		text-align: left;
		position: fixed;
		bottom: 0;
		height: auto;
		width: 300px;
		box-sizing: border-box;
		overflow: auto;
		padding: 12px;
		margin: 0;
		z-index: 9;
	}
	.header .primary li {
		display: block;
		margin: 0;
	}
	.header .primary li a {
		display: block;
		text-align: left;
		color: #fff;
		padding: 10px 10px 5px 10px;
	}

	.header .primary li li ul {
		display: none !important;
	}
	.header .primary li ul {
		display: block;
		background: none;
		position: relative;
		border: 0;
		width: auto;
		top: 0;
		box-shadow: unset;
		overflow: initial;
	}
	.header .primary li ul li {
		float: none;
		height: auto;
		white-space: normal;
	}
	.header .primary li ul a {
		padding-left: 20px;
		line-height: 30px;
		text-align: left;
		color: #fff;
	}

	.header .primary li.closer {
		display: block;
		position: absolute;
		top: 20px;
		right: 20px;
		width: 40px;
		height: 40px;
	}
	.header .primary li.closer a:before,
	.header .primary li.closer a:after {
		content: "";
		width: 40px;
		height: 4px;
		background: currentcolor;
		display: block;
		position: absolute;
		transform: rotate(45deg);
		top: 18px;
	}
	.header .primary li.closer a:after {
		transform: rotate(135deg);
	}

	body {
		position: relative;
		left: 0;
	}
	body, .header .primary {
		transition: all 0.5s ease-in-out;
	}

	body.showmenu {
		left: -300px;
	}
	body.showmenu .header .primary {
		right: 0;
	}
}

@media screen and (max-width: 920px) {
	.icon-link {
		width: 50%;
	}
}


@media screen and (max-width: 768px) {

	/* General */

	.typography h1, .typography .h1, .hero h1 {
		font-size: 28px;
	}
	.typography h2, .typography .h2 {
		font-size: 24px;
	}
	.typography h3, .typography .h3 {
		font-size: 20px;
	}
	.typography h4, .typography .h4 {
		font-size: 17px;
	}
	.typography p, li {
		font-size: 14px;
	}

	/* Images */

	img {
		max-width: 100%;
	}

	/* Contact Page */

	.contact-form, .contact-info {
		flex: 0 0 100%;
	}

	.contact-page form {
		width: 260px;
		margin: 0 auto;
		position: relative;
	}

	.contact-page form input, .contact-page form textarea {
		width: 100%;
		box-sizing: border-box;
	}

	/* Home Page */

	.event-items {
		flex-direction: column;
	}

	.event {
		flex-direction: row;
		margin: 10px 0;
	}

	.event-summary {
		padding: 0 20px;
	}

	.news .news-image {
		display: none;
	}

}

@media screen and (max-width: 640px) {

	.section-link {
		position: relative;
		top: unset;
		right: unset;
	}

}
