/* ============================================================================ *
        Structural Styles
    ---------------------------------------------------------------------------
        These are the styles which build the main site layout
        (headers, footers, body, etc.).

        If you are attempting to add styling for any elements placed inside of a 
        Wordpress Editor, use 'editor-content.css' stylesheet.
*/

body {
	background: #ffffff;
	color: #000000;
	font-family: 'Quattrocento Sans', sans-serif;
	font-size: 18px;
	font-weight: 400;
}

a {
	color: #02264b;
}

/* ======================================== *
        Headers
 * ======================================== */
h1,
h1#page-title,
.editor-content h1 {
	color: #42aadd;
	color: #0C203E;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.1em;
	margin-bottom: 15px;
}

h2,
.tmf-post > h2,
.editor-content h2 {
	color: #42aadd;
	color: #0C203E;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.1em;
	margin-bottom: 15px;
}

h2 a,
.tmf-post > h2 a,
.editor-content h2 a {
	color: #42aadd;
	text-decoration: none;
}

h3,
.tmf-post > h3,
.editor-content h3 {
	color: #02264b;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.1em;
	margin-bottom: 15px;
}

h3 a,
.tmf-post > h3 a,
.editor-content h3 a {
	color: #02264b;
	text-decoration: none;
}

h4,
.tmf-post > h4,
.editor-content h4 {
	color: #333333;
	font-size: 21px;
	font-weight: 700;
}

h4 a,
.tmf-post > h4 a,
.editor-content h4 a {
	color: #333333;
	text-decoration: none;
}

/* ======================================== *
        Header Section
 * ======================================== */
#header-wrapper {
	background: #fff;
	border-bottom: 6px solid #02264b;
}

.home #header-wrapper {
	background: rgba(255, 255, 255, 0.7);
	position: absolute;
	width: 100%;
	z-index: 9;
	border-bottom: none;
}

#header-container {
	max-width: 1250px;
}

#header {
	padding: 5px 0 25px;
}

#header .logo {
	display: block;
	max-width: 504px;
	width: 100%;
}

#header a {
	color: #474646;
	text-decoration: none;
}

#header a:hover {
	text-decoration: underline;
}

#header-cell-1 {
	vertical-align: bottom;
}

#header-cell-2 {
	color: #474646;
	font-weight: 700;
	font-size: 20px;
	text-align: right;
	vertical-align: top;
}
#header-cell-2 .upper-header {
	display: flex;
	justify-content: end;
	align-items: center;
}

#header-cell-2 .phone-1 {
	display: block;
	padding: 10px 0 5px;
}
#header-cell-2 .phone-1 a::before {
	content: '\f879';
	font-family: 'Font Awesome 5 Free';
	font-size: 18px;
	font-weight: 700;
	color: #42aadd;
	margin-right: 7px;
}

#header-cell-2 .tmf-module {
	padding-right: 10px;
}

@media screen and (max-width: 1200px) {
	.home #header-wrapper {
		background: #ffffff;
		position: relative;
	}

	#header {
		padding: 25px 0 0;
	}

	#header .logo {
		display: inline-block;
	}

	#header-cell-1,
	#header-cell-2 {
		text-align: center;
	}

	#header-cell-2 {
		padding-top: 15px;
	}

	#header-cell-2 .inner {
		padding: 0;
	}
	#header-cell-2 .upper-header {
		justify-content: center;
		gap: 10px;
	}

	#header-cell-2 .tmf-module {
		padding-right: 0;
	}
}

/* ======================================== *
    Secondary Navigation Section
 * ======================================== */
#secondary-nav-wrapper {
	min-width: fit-content;
}
#secondary-nav {
	padding-right: 10px;
}

#secondary-nav .menu {
	display: flex;
	gap: 10px;
}

#secondary-nav .menu > .menu-item {
	padding: 0 5px;
}

#secondary-nav .menu > .menu-item.german > a {
	background: rgba(0, 0, 0, 0) url(../images/icon_sprite_3x.png) repeat scroll 0px 0px;
	background-size: 557px;
	display: inline-block;
	font-size: 0;
	height: 22px;
	vertical-align: middle;
	width: 36px;
}

#secondary-nav .menu > .menu-item.english > a {
	background: rgba(0, 0, 0, 0) url(../images/icon_sprite_3x.png) repeat scroll -45px 0px;
	background-size: 557px;
	display: inline-block;
	font-size: 0;
	height: 22px;
	vertical-align: middle;
	width: 36px;
}

#secondary-nav .menu > .menu-item.first {
}
#secondary-nav .menu > .menu-item.last {
}
#secondary-nav .menu > .menu-item > a {
}
#secondary-nav .menu > .menu-item:hover {
}
#secondary-nav .menu > .menu-item:hover a {
}
#secondary-nav .menu:hover > .menu-item.current-menu-item > a {
}

@media screen and (max-width: 1200px) {
	#secondary-nav {
		padding-right: 0;
		text-align: center;
	}
}

/* ======================================== *
        Primary Navigation Section
 * ======================================== */
#primary-nav-wrapper {
}

#primary-nav-container {
	margin-right: 0;
}
#primary-nav {
}
#primary-nav .menu > .menu-item.last {
}

#primary-nav .menu > .menu-item.german > a {
	background: rgba(0, 0, 0, 0) url(../images/icon_sprite_3x.png) repeat scroll 0px 0px;
	background-size: 557px;
	display: inline-block;
	font-size: 0;
	height: 22px;
	vertical-align: middle;
	width: 30px;
	margin-top:15px
}

#primary-nav .menu > .menu-item.english > a {
	background: rgba(0, 0, 0, 0) url(../images/icon_sprite_3x.png) repeat scroll -45px 0px;
	background-size: 557px;
	display: inline-block;
	font-size: 0;
	height: 22px;
	vertical-align: middle;
	width: 30px;
	margin-top:15px
}


#primary-nav .menu > .menu-item {
	border-bottom: 3px solid rgba(255, 255, 255, 0);
}

#primary-nav .menu > .menu-item > a {
	color: #474646;
	font-size: 16px;
	font-weight: 700;
	padding: 10px 7px;
	text-decoration: none;
	text-transform: uppercase;
}

#primary-nav .menu > .menu-item.last {
}
#primary-nav .menu > .menu-item:hover {
}

#primary-nav .menu > .menu-item.current-menu-item,
#primary-nav .menu > .menu-item:hover {
	border-bottom: 3px solid #42aadd;
	text-decoration: none;
}

#primary-nav .menu .sub-menu {
	min-width: 280px;
}

#primary-nav .menu .sub-menu li {
	background-color: #033263;
	top: 6px;
}

#primary-nav .menu .sub-menu .menu-item > a {
	color: #fff;
	font-size: 16px;
	font-weight: 400;
	padding: 10px 15px;
	text-decoration: none;
}

#primary-nav .menu .sub-menu .menu-item:hover > a {
	background-color: #42aadd;
}

#primary-nav .menu-bar {
	color: #fff;
	font-size: 16px;
	font-weight: 400;
	text-transform: uppercase;
}

/* White Icon */
#primary-nav .menu-bar:before {
	background-position: -558px 0;
}

html.mobile-nav #primary-nav .menu {
}
html.mobile-nav #primary-nav .menu > .menu-item {
}
html.mobile-nav #primary-nav .menu > .menu-item > a {
}
html.mobile-nav #primary-nav .menu > .menu-item:hover > a {
}
html.mobile-nav #primary-nav .menu .sub-menu {
}

@media screen and (max-width: 1200px) {
	#primary-nav {
		padding-top: 15px;
	}
}

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

/* ======================================== *
    Mobile Menu
 * ======================================== */
#mobile-nav-wrapper {
	font-family: 'Quattrocento Sans', serif;
	padding-top: 15px;
	text-align: left;
}

.hamburger-container {
	max-width: none;
}

#mobile-nav a {
	color: #fff;
	font-size: 16px;
}

#mobile-nav .menu > .menu-item > a {
	color: #fff;
	font-size: 18px;
}

#mobile-nav .menu .menu-item.display {
	background: #033263;
}

#mobile-nav .top-part .mob-cancel-button {
	color: #fff;
}

#mobile-nav .menu .sub-menu .menu-item {
	padding: 5px 30px;
}

#mobile-nav .menu > .current-menu-item,
#mobile-nav .menu > .menu-item:hover {
	background: #033263;
}

/* ======================================== *
        Billboard Section
 * ======================================== */
#billboard-wrapper {
}

#billboard-container {
	max-width: 100%;
}

#billboard .modern-slider {
	border: none;
	margin: 0;
}

.billboard-content {
	color: #fff;
	bottom: 45px;
	position: absolute;
	width: 100%;
	z-index: 2;
	font-size: 24px;
	line-height: 36px;
	text-align: center;
	max-width: 900px;
	left: 0;
	right: 0;
	margin: 0 auto;
	/* text-shadow: 0px 1px 3px #000000; */
}

#billboard .tmf-module-area {
	padding: 0 25px;
}
.billboard-content .tmf-module-content {
	display: flex;
	gap: 20px;
}
.billboard-content h2 {
	color: #03264b;
	font-family: 'Lato', sans-serif;
	font-size: 28px;
	font-weight: 700;
	line-height: normal;
	margin-bottom: 5px;
	padding-right: 20px;
	border-right: 2px solid #4baedf;
	flex-shrink: 0;
	text-align: left;
}
.billboard-content h2 span {
	font-size: 47px;
}

.billboard-content .editor-content p {
	color: #000;
	font-family: 'Lato', sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 26px;
	text-align: left;
}
@media screen and (max-width: 1150px) {
	.billboard-content {
		bottom: 25px;
	}
}

@media screen and (max-width: 900px) {
	#billboard-wrapper {
		border-bottom: 6px solid #02264b;
	}

	.billboard-content {
		bottom: 0;
		position: relative;
		padding: 25px 0;
		text-shadow: none;
	}
	.billboard-content .tmf-module-content {
		display: block;
	}
	.billboard-content h2 {
		text-align: center;
		padding-right: 0;
		border-right: 0;
	}

	.billboard-content .editor-content p {
		text-align: center;
	}
}

@media screen and (max-width: 450px) {
	#billboard .tmf-module-area {
		padding: 0 12px;
	}
}

/* ======================================== *
        Body Section
 * ======================================== */
#body-container {
	max-width: 1250px;
}

#body {
	padding: 40px 0;
}

@media screen and (max-width: 450px) {
	#body {
		padding: 25px 0;
	}
}

/* ======================================== *
        Copyright Section
 * ======================================== */
#copyright-wrapper {
	border-top: 6px solid #02264b;
}

.home #copyright-wrapper {
	border-top: none;
}

#copyright {
	color: #222222;
	font-size: 15px;
	text-align: center;
	padding: 25px 0 50px;
}

#copyright a {
	color: #222222;
}
#copyright .tmf-module-content {
	display: flex;
	justify-content: space-between;
}
#copyright .tmf-module-content .left {
	text-align: left;
}
#copyright .tmf-post.small.location .phone-1:after {
	display: none;
}
#copyright .tmf-module-content .right {
	text-align: right;
}

@media screen and (max-width: 850px) {
	#copyright .tmf-module-content {
		display: block;
	}
	#copyright .tmf-module-content .left {
		text-align: center;
	}
	#copyright .tmf-module-content .left .phone-1,
	#copyright .tmf-module-content .left .email {
		display: inline-block;
	}
	#copyright .tmf-post.small.location .phone-1:after {
		display: inline-block;
	}
	#copyright .tmf-module-content .right {
		text-align: center;
	}
}
/* ======================================== *
        Modules
 * ======================================== */
.tmf-multi-module-area .tmf-module {
	margin-bottom: 40px;
}

.tmf-multi-module-area .tmf-module:last-child {
	margin-bottom: 0;
}

.tmf-multi-module-area .tmf-module h3.tmf-module-title {
	color: #42aadd;
	color: #0C203E;
	font-size: 25px;
	font-weight: 700;
}

.tmf-multi-module-area .tmf-module .tmf-button {
	display: block;
	max-width: 300px;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
}

.sidebar-image {
	margin-bottom: 30px;
	max-width: 366px;
	width: 100%;
}

/* ======================================== *
        Inputs and Button Section
 * ======================================== */
input[type='text'],
textarea {
	background: #ececed none repeat scroll 0 0;
	border: 1px solid #ececed;
	border-radius: 0;
	box-shadow: none;
	color: #45484d;
	font-size: 15px !important;
	margin-bottom: 16px !important;
	max-width: 100%;
	padding: 7px 10px !important;
}

textarea {
	height: 100px !important;
}

input[type='text']:focus,
textarea:focus {
	border: 1px solid #ececed;
}

input[type='submit'],
.tmf-button,
.page-numbers {
	padding: 15px;
	background-color: #02264b;
	border: 0;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	cursor: pointer;
	text-decoration: none !important;
	color: #fff;
	font-weight: 500;
	font-size: 20px;
	font-family: 'Quattrocento Sans', sans-serif;
	text-align: center !important;
}

input[type='submit']:hover,
.tmf-button:hover,
.page-numbers:hover {
	background-color: #032e5b;
	text-decoration: none;
}

input[type='submit']:active,
.tmf-button:active,
.page-numbers:active {
	background-color: #02264b;
	text-decoration: none;
}

.tmf-button.large {
	font-size: 1.1em;
	padding: 7px 25px;
}

.tmf-button.medium {
	font-size: 0.95em;
	padding: 5px 25px;
}

.tmf-button.small {
	font-size: 0.85em;
	padding: 3px 15px;
}

.tmf-button.tiny {
	font-size: 0.75em;
	padding: 2px 7px;
}

.page-numbers.current {
	background: none;
	border: 1px solid #ddd;
	color: #333;
}

.vcard .value {
	background: rgba(0, 0, 0, 0) url(../images/icon_sprite_3x.png) no-repeat scroll -95px 2px;
	background-size: 557px;
	height: 25px;
	vertical-align: middle;
	width: 27px;
}

/* ======================================== *
        Responsive Layout
 * ======================================== */
@media screen and (max-width: 700px) {
	#breadcrumbs {
		display: none;
	}
}

@media screen and (max-width: 500px) {
	#secondary-nav-wrapper {
		display: none;
	}
}

@media screen and (max-width: 450px) {
	.row > div > .inner {
		padding-left: 12px;
		padding-right: 12px;
	}
}

/* ======================================== *
        Miscellaneous
 * ======================================== */
aside {
	color: #413d38;
	font-family: 'Quattrocento Sans', sans-serif;
	font-size: 24px;
	font-style: italic;
	font-weight: 400;
	line-height: 34px;
}

aside.left {
	border-top: 6px solid #42aadd;
	border-bottom: 6px solid #42aadd;
}

aside.right {
	border-top: 6px solid #42aadd;
	border-bottom: 6px solid #42aadd;
}

blockquote {
	color: #42aadd;
	font-family: 'Quattrocento Sans', sans-serif;
	font-size: 24px;
	font-style: italic;
	font-weight: 400;
	line-height: 34px;
	position: relative;
	margin: 0;
	padding: 0 0 0 40px;
	z-index: 9;
}

blockquote:after {
	content: '“';
	display: inline-block;
	font-family: Georgia;
	font-size: 400px;
	position: absolute;
	left: -15px;
	color: #f3f3f3;
	top: 140px;
	z-index: -9;
	font-style: normal;
}

#breadcrumbs {
	color: #484848;
	font-size: 15px;
	margin: 0 0 15px;
}

#breadcrumbs a {
	color: #484848;
	text-decoration: underline;
}

#breadcrumbs a:hover {
	text-decoration: none;
}

.editor-content img {
	height: auto;
	max-width: 100%;
}

.mobile {
	display: none;
}

@media screen and (max-width: 500px) {
	.not-mobile {
		display: none;
	}

	.mobile {
		display: inherit;
	}
}

/* ======================================== *
        Gravity Form
 * ======================================== */
.gform_wrapper.tmf-form_wrapper {
	margin: 0 !important;
}

.gform_wrapper.tmf-form_wrapper .field_sublabel_hidden_label .ginput_complex.ginput_container input[type='text'],
.gform_wrapper.tmf-form_wrapper input[type='text'],
.gform_wrapper.tmf-form_wrapper textarea {
	margin: 0;
}

.gform_wrapper.tmf-form_wrapper .top_label .gfield_label {
	margin-bottom: 0;
}

.gform_wrapper.tmf-form_wrapper ul.gform_fields li.gfield {
	padding-right: 0 !important;
	margin-top: 0;
}

.gform_wrapper.tmf-form_wrapper .gform_footer {
	padding: 0 0 15px;
	margin: 16px 0 0;
	clear: both;
	width: 100%;
}

.gform_wrapper.tmf-form_wrapper .gform_footer input.button,
.gform_wrapper.tmf-form_wrapper input[type='submit'] {
	font-family: 'Quattrocento Sans', sans-serif;
	font-size: 20px;
	font-weight: 700;
	border: none;
	padding: 20px 15px;
	width: 100%;
	margin-right: 0;
}
