@charset "utf-8";
/* CSS Document */

@media screen and (max-width: 1023px) {
	body {
		font-size: 16px;
		line-height: 24px;
	}
	h1 {
		font-size: 54px;
		line-height: 64px;
	}
	h2 {
		font-size: 49px;
		line-height: 56px;
	}
	h3 {
		font-size: 38px;
		line-height: 48px;
	}
	h4 {
		font-size: 30px;
		line-height: 40px;
	}
	h5 {
		font-size: 22px;
		line-height: 36px;
	}
	h6 {
		font-size: 19px;
		line-height: 30px;
	}
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	p,
	ul,
	ol {
		margin: 0 0 20px;
	}
	img.left {
		margin: 0 20px 20px 0;
	}
	img.right {
		margin: 0 0 20px 20px;
	}
	img.center {
		margin: 0 auto 20px;
	}
	#main-header {
		text-align: right;
	}
	#main-header .site-identity {
		width: 155px;
		height: 160px;
		background-image: url('../images/background-header-logo-reduced.png');
		padding: 20px 30px;
	}
	#main-header #mobile-navigation-toggle {
		display: inline-block;
		vertical-align: bottom;
		width: 60px;
		height: 60px;
		position: relative;
		right: -10px;
		background: url('../images/mobile-menu.png') transparent center center no-repeat;
	}
	.navigation#main-navigation {
		display: none;
		width: 106.6666666666667%;
		position: absolute;
		top: 100%;
		left: -3.3333333333333%;
		background: #223355;
		cursor: pointer;
	}
	.navigation#main-navigation.active {
		display: block;
	}
	.navigation#main-navigation .menu {
		display: block;
		width: 93.75%;
		max-width: 960px;
		margin: 0 auto;
		padding: 20px 0;
		text-align: center;
	}
	.navigation#main-navigation .menu > .menu-item {
		display: block;
		margin: 0;
		padding: 0;
	}
	.navigation#main-navigation .menu > .menu-item a {
		margin: 0;
		padding: 0;
		line-height: 30px;
	}
	.page-section {
		min-height: 0px;
	}
	.page-section .container.text-size-small {
		font-size: 14px;
		line-height: 20px;
	}
	.page-section .container.text-size-normal {
		font-size: 16px;
		line-height: 24px;
	}
	.page-section .container.text-size-large {
		font-size: 22px;
		line-height: 30px;
	}
	.page-section .container.default {
		padding: 40px 0;
	}
	.page-section .container.default .column {
		float: none !important;
		width: 100% !important;
		margin: 0 0 20px !important;
	}
	.page-section .container.default .column:last-child {
		margin-bottom: 0 !important;
	}
	.page-section .container.default .column.size-3 {
		margin: 0 !important;
		text-align: center;
	}
	.page-section .container.default .section-title {
		margin: 0 0 40px;
	}
	.page-section .container.default .section-content blockquote {
		padding: 20px;
	}
	.page-section .container.default .section-content blockquote em strong,
	.page-section .container.default .section-content blockquote strong em {
		font-size: 19px;
		line-height: 30px;
	}
	.page-section .container.default .section-content pre em strong,
	.page-section .container.default .section-content pre strong em {
		font-size: 19px;
		line-height: 30px;
	}
	.page-section .container.none {
		height: 0 !important;
		padding: 25% 0 0;
	}
	.page-section .container.member-card {
		padding: 20px 0;
	}
	.page-section .container.member-card .section-content .member-image {
		display: block;
		float: none;
		margin: 0 auto;
		padding: 20px 0 0;
	}
	.page-section .container.member-card .section-content .member-name,
	.page-section .container.member-card .section-content .member-description {
		padding: 20px;
	}
	.page-section .container.image-gallery {
		height: 0 !important;
		padding: 50% 0 0;
	}
	.page-section .container.image-gallery .section-content {
		height: 100% !important;
	}
	.page-section .container.review-carousel {
		padding: 20px 0;
	}
	.page-section .container.review-carousel .section-title {
		margin: 0 0 20px;
	}
	.page-section .container.review-carousel .section-content .review-wrap .review {
		font-size: 19px;
		line-height: 30px;
	}
	.page-section .container.text-carousel h1,
	.page-section .container.text-carousel h2,
	.page-section .container.text-carousel h3,
	.page-section .container.text-carousel h4 {
		line-height: 1.1em;
	}
	.page-section .container.page-bottom {
		padding: 20px 0;
	}
	.page-section .container.page-bottom .message-wrap {
		padding: 0 0 20px;
	}
	.page-section .container.page-bottom .message {
		padding: 20px;
	}
	.page-section .container.page-bottom .section-content pre em strong,
	.page-section .container.page-bottom .section-content pre strong em {
		font-size: 19px;
		line-height: 30px;
	}
}
@media screen and (max-width: 767px) {
	body {
		font-size: 14px;
		line-height: 20px;
	}
	h1 {
		font-size: 42px;
		line-height: 60px;
	}
	h2 {
		font-size: 36px;
		line-height: 54px;
	}
	h3 {
		font-size: 30px;
		line-height: 45px;
	}
	h4 {
		font-size: 22px;
		line-height: 36px;
	}
	h5 {
		font-size: 19px;
		line-height: 30px;
	}
	h6 {
		font-size: 16px;
		line-height: 24px;
	}
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	p,
	ul,
	ol {
		margin: 0 0 20px;
	}
	img.left {
		margin: 0 20px 20px 0;
	}
	img.right {
		margin: 0 0 20px 20px;
	}
	img.center {
		margin: 0 auto 20px;
	}
	#main-header .site-identity {
		width: 110px;
		height: 110px;
		background-image: url('../images/background-header-logo-mobile.png');
		padding: 10px 20px;
	}
	#main-footer {
		font-size: 12px;
		line-height: 20px;
	}
	.page-section {
		min-height: 0px;
	}
	.page-section .container.text-size-small {
		font-size: 12px;
		line-height: 20px;
	}
	.page-section .container.text-size-normal {
		font-size: 14px;
		line-height: 20px;
	}
	.page-section .container.text-size-large {
		font-size: 19px;
		line-height: 24px;
	}
	.page-section .container.default {
		padding: 20px 0;
	}
	.page-section .container.default .column {
		float: none !important;
		width: 100% !important;
		margin: 0 0 20px !important;
	}
	.page-section .container.default .column:last-child {
		margin-bottom: 0 !important;
	}
	.page-section .container.default .column.size-3 {
		margin: 0 !important;
		text-align: center;
	}
	.page-section .container.default .section-title {
		margin: 0 0 20px;
	}
	.page-section .container.default .section-content blockquote {
		padding: 20px;
	}
	.page-section .container.default .section-content blockquote em strong,
	.page-section .container.default .section-content blockquote strong em {
		font-size: 19px;
		line-height: 24px;
	}
	.page-section .container.default .section-content pre {
	}
	.page-section .container.default .section-content pre em strong,
	.page-section .container.default .section-content pre strong em {
		font-size: 19px;
		line-height: 24px;
	}
	.page-section .container.none {
		height: 0 !important;
		padding: 25% 0 0;
	}
	.page-section .container.member-card {
		padding: 20px 0;
	}
	.page-section .container.member-card .section-content .member-image {
		display: block;
		width: 100%;
		float: none;
		margin: 0 auto;
		padding: 20px 20px 0;
	}
	.page-section .container.member-card .section-content .member-name,
	.page-section .container.member-card .section-content .member-description {
		padding: 20px;
	}
	.page-section .container.image-gallery {
		height: 0 !important;
		padding: 50% 0 0;
		margin-bottom: 50px;
	}
	.page-section .container.image-gallery .section-content {
		height: 100% !important;
	}
	.page-section .container.image-gallery .image-gallery-controls {
		position: static;
	}
	.page-section .container.image-gallery .image-gallery-controls .control {
		width: 30px;
		height: 30px;
		line-height: 20px;
	}
	.page-section .container.image-gallery .image-gallery-controls .control-label {
		font-size: 16px;
		line-height: 30px;
	}
	.page-section .container.text-carousel {
		height: 0 !important;
		padding: 66.6666666666667% 0 0;
	}
	.page-section .container.review-carousel {
		padding: 20px 0;
	}
	.page-section .container.review-carousel .section-title {
		margin: 0 0 20px;
	}
	.page-section .container.review-carousel .section-content .review-wrap .review {
		font-size: 19px;
		line-height: 30px;
	}
	.page-section .container.review-carousel .review-carousel-controls {
		text-align: center;
	}
	.page-section .container.review-carousel .review-carousel-controls .control {
		position: static;
		display: inline-block;
		vertical-align: bottom;
		width: 30px;
		height: 30px;
		line-height: 20px;
	}
	.page-section .container.review-carousel .section-content .review-wrap {
		padding: 20px 0px 0px;
	}
	.page-section .container.page-bottom {
		padding: 20px 0;
	}
	.page-section .container.page-bottom .message-wrap {
		padding: 0 0 20px;
	}
	.page-section .container.page-bottom .message {
		padding: 20px;
	}
	.page-section .container.page-bottom .section-content blockquote em strong,
	.page-section .container.page-bottom .section-content blockquote strong em {
		font-size: 19px;
		line-height: 24px;
	}
	.page-section .container.page-bottom .section-content pre em strong,
	.page-section .container.page-bottom .section-content pre strong em {
		font-size: 19px;
		line-height: 24px;
	}
	.wpcf7 .wpcf7-form-control-wrap.full-name,
	.wpcf7 .wpcf7-form-control-wrap.company-name,
	.wpcf7 .wpcf7-form-control-wrap.email-address,
	.wpcf7 .wpcf7-form-control-wrap.phone-number {
		float: none !important;
		width: 100% !important;
		margin: 0 !important;
	}
	.wpcf7 .contact-notice {
		display: block;
		padding: 0 0 20px;
		text-align: center;
	}
	.wpcf7 #contact-action-submit {
		float: none !important;
		display: block;
		width: 215px;
		margin: 0 auto;
	}
}
