﻿
/* ----------------------------------------------------------------
	Basic
-----------------------------------------------------------------*/
* {
	margin: 0;
	padding:0;
	border: 0;
}

@-webkit-viewport{width:device-width}
@-moz-viewport{width:device-width}
@-ms-viewport{width:device-width}
@-o-viewport{width:device-width}
@viewport{width:device-width}

html, body 
{
	background-color:#FFFFFF;
	margin:0px auto;
	text-align: center;
	color:#515151;
}

html 
{
	height: 100%;
	padding-bottom:1px;
}

body 
{
	height: 100%;
	overflow-x: hidden;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	font-family: 'Open Sans', sans-serif;
	font-size:1.0rem;
	font-weight: 400;
	line-height:1.5;
	color: #515151;
}

body.modal-open 
{
	overflow-y: auto;
	padding-right: 0 !important;
}

.modal-content * , .card * 
{
	min-height: .01px;
}



dl, dt, dd, ol, ul, li 
{
	margin: 0;
	padding: 0;
}

::selection 
{
	background: #CC071E;
	color: #FFFFFF;
	text-shadow: none;
}

::-moz-selection 
{
	background: #CC071E; /* Firefox */
	color: #FFFFFF;
	text-shadow: none;
}

::-webkit-selection 
{
	background: #CC071E; /* Safari */
	color: #FFFFFF;
	text-shadow: none;
}

:active,
:focus 
{
	outline: none !important;
}


/* ----------------------------------------------------------------
	Typography
-----------------------------------------------------------------*/

a 
{
	text-decoration: none !important;
	color: #CC071E;
}
a:hover 
{
	color: #CC0018;
}

a.link-grey 
{
	color: #515151;
}
a.link-grey:hover, 
a.link-grey:focus 
{
	color: #CC0018;
}

a.link-red 
{
	color: #CC071E;
}
a.link-red:hover, 
a.link-red:focus 
{
	color: #CC0018;
}

/* ----------------------------------------------------------------
	Icon Fonts
-----------------------------------------------------------------*/

@font-face {
	font-family: 'fontello';
	src: url('../fonts/fontello.eot?7004661');
	src: url('../fonts/fontello.eot?7004661#iefix') format('embedded-opentype'),
			 url('../fonts/fontello.woff2?7004661') format('woff2'),
			 url('../fonts/fontello.woff?7004661') format('woff'),
			 url('../fonts/fontello.ttf?7004661') format('truetype'),
			 url('../fonts/fontello.svg?7004661#fontello') format('svg');
	font-weight: normal;
	font-style: normal;
}


[class^="icon-"]:before, [class*=" icon-"]:before 
{
	font-family: "fontello";
	font-style: normal;
	font-weight: normal;
	speak: never;
	display: inline-block;
	text-decoration: inherit;
	width: 1rem;
	height:1rem;
	margin-right: .5rem;
	text-align: center;
	/* opacity: .8; */
	font-variant: normal;
	text-transform: none;
	line-height: 1rem;
	margin-left: 0;
	font-size: 120%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
	color:#8D8D8D;
}

.icon-search:before { content: '\e800'; }
.icon-user:before { content: '\e801'; }
.icon-down-open-big:before { content: '\e802'; }
.icon-left-open-big:before { content: '\e803'; }
.icon-right-open-big:before { content: '\e804'; }
.icon-up-open-big:before { content: '\e805'; }
.icon-check:before { content: '\e806'; }
.icon-phone-right:before { content: '\e807'; }
.icon-mail:before { content: '\e808'; }
.icon-menu:before { content: '\e809'; }
.icon-quote:before { content: '\e80a'; }
.icon-rss:before { content: '\e80b'; }
.icon-location:before { content: '\e80c'; }
.icon-home:before { content: '\e80d'; }
.icon-phone:before { content: '\e80e'; }
.icon-download:before { content: '\e80f'; }
.icon-mail-outline:before { content: '\e810'; }
.icon-clock:before { content: '\e811'; }
.icon-right-dir:before { content: '\e812'; }
.icon-link-ext:before { content: '\f08e'; }
.icon-twitter:before { content: '\f099'; }
.icon-facebook:before { content: '\f09a'; }
.icon-gplus:before { content: '\f0d5'; }
.icon-linkedin:before { content: '\f0e1'; }
.icon-mobile:before { content: '\f10b'; }
.icon-youtube:before { content: '\f167'; }
.icon-xing:before { content: '\f168'; }
.icon-instagram:before { content: '\f16d'; }
.icon-pinterest:before { content: '\f231'; }
.icon-whatsapp:before { content: '\f232'; }



/* ----------------------------------------------------------------
	Basic Layout Styles
-----------------------------------------------------------------*/

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5,
h6 
{
	font-family: 'Open Sans', sans-serif;
	color: #1A171B;
	font-weight: 400;
	line-height: 1.3;
	margin: 0 0 0.5rem 0;
	position:relative;
}

h1, .h1 
{
	font-size: 2.25rem;
	font-weight: 700;
}
h2, .h2 
{
	font-size: 1.875rem;
	font-weight: 700;
}
h3, .h3 
{
	font-size: 1.5rem;
}
h4, .h4 
{
	font-size: 1.125rem; 
}
h5 
{
	font-size: 1.0rem;
}
h6 
{
	font-size: 0.875;
}

h5,
h6 
{
	margin-bottom: 1.2rem;
}


h1.underline::after, .h1.underline::after,
h2.underline::after, .h2.underline::after,
h3.underline::after, .h3.underline::after,
h4.underline::after, .h4.underline::after,
.underline::after
{
	content:'';
	display:block;
	height:7px;
	width:75px;
	background-color:#CC071E;
	margin-bottom:1.5rem;
}


@media (max-width: 767.98px) {

	h1 
	{
		font-size: 1.65rem;
	}

	h2 
	{
		font-size: 1.4rem;
	}

	h3 
	{
		font-size: 1.25rem;
	}

	h4 
	{
		font-size: 1rem;
	}

}


p,
pre,
ul,
ol,
dl,
dd,
blockquote,
address,
table,
fieldset,
form 
{
	margin-bottom: 1.2rem;
}

small 
{
	font-family: 'Open Sans', sans-serif;
}

ul.list, 
ul.list-large, 
ul.checklist
{
	background-image:none;
	list-style-type:none;
	padding:0px 0px 0px 20px;
}
ul.list li 
{
	padding-left: 0.6rem;
}

ul.list li:before 
{
	content: "■";
	padding-right: 0.6rem;
	color: #CC071E;
	margin-left: -30px;
}

ul.list-large li 
{
	padding-left: 30px;
	font-size:1.1rem;
	margin-bottom:1rem;
}

ul.list-large li:before 
{
	content: "■";
	padding-right: 1rem;
	color: #CC071E;
	margin-left: -30px;
}

ul.checklist li 
{
	padding-left: 6px;
}

ul.checklist li:before
{
	font-family: "fontello";
	font-style: normal;
	font-weight: normal;
	font-size: 110%;
	content: '\e806';
	speak: never;
	display: inline-block;
	width: 1rem;
	height:1rem;
	margin-left: 0;
	margin-right: .5rem;
	text-align: center;
	text-transform: none;
	text-decoration: inherit;
	line-height: 1rem;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color:#CC071E;
}


ul.checklist2 
{
	background-image:none;
	list-style-type:none;
	padding:0px 0px 0px 0px;
}

ul.checklist2 li 
{
	background-image: url('../images/icon-check.png');
	background-repeat: no-repeat;
	padding-left: 36px;
	line-height:1.5rem;
	vertical-align: top;
	margin-bottom:7px;
	font-weight:700;
}




a img 
{
	border: none;
}

img 
{ 
	max-width: 100%;
}

figure.picture-item
{
	margin: 0 0 1.5rem;
}

iframe 
{
	width: 100%;
	border: 0 !important;
	overflow: hidden !important;
}


/* ----------------------------------------------------------------
	Button Classes
-----------------------------------------------------------------*/

.btn-red 
{
	background-color: #CC071E;
	color: #FFFFFF;
	padding: .75rem 1.0rem;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	border-radius: .35rem;
	min-width:200px;
	-webkit-transition:all 0.4s ease-out;
	-moz-transition:all 0.4s ease-out;
	-o-transition:all 0.4s ease-out;
	transition:all 0.4s ease-out;
}

.btn-red:hover 
{
	background-color: #CC0018;
	color: #FFFFFF;
}

.btn-red:focus, 
.btn-red.focus 
{
	box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5);
}



.btn-outline-white 
{
	color: #FFFFFF;
	border-color: #FFFFFF;
}

.btn-outline-white:hover 
{
	color: #FFFFFF;
	background-color: rgba(50, 50, 50, 0.5);
	border-color: #FFFFFF;
}

.btn-outline-white:focus, 
.btn-outline-white.focus 
{
	box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5);
}



/* ----------------------------------------------------------------
	Helper Classes
-----------------------------------------------------------------*/

#wrapper 
{
	position: relative;
	float: none;
	width: 100%;
	margin: 0 auto;
}

@media (min-width: 1200px) {
	body:not(.stretched) #wrapper 
	{
		max-width: 1200px;
	}
}

@media (min-width: 1440px) {
	body:not(.stretched) #wrapper 
	{
		max-width: 1440px;
	}
}

.clear 
{
	clear: both;
	display: block;
	font-size: 0px;
	height: 0px;
	line-height: 0;
	width: 100%;
	overflow:hidden;
}


.p-6 
{
	padding: 4rem !important;
}

.pt-6,
.py-6 
{
	padding-top: 4rem !important;
}

.pr-6,
.px-6 
{
	padding-right: 4rem !important;
}

.pb-6,
.py-6 
{
	padding-bottom: 4rem !important;
}

.pl-6,
.px-6 
{
	padding-left: 4rem !important;
}

@media (max-width: 575.98px) {

	.p-6 
	{
		padding: 3rem !important;
	}

	.pt-6,
	.py-6 
	{
		padding-top: 3rem !important;
	}

	.pr-6,
	.px-6 
	{
		padding-right: 3rem !important;
	}

	.pb-6,
	.py-6 
	{
		padding-bottom: 3rem !important;
	}

	.pl-6,
	.px-6 
	{
		padding-left: 3rem !important;
	}

}


.img-border
{
	border: 1px solid #000000;
}


.add-border-all
{
	border: 1px solid #EEEEEE;
}
.add-border-top
{
	border-top: 1px solid #EEEEEE;
}
.add-border-right
{
	border-right: 1px solid #EEEEEE;
}
.add-border-bottom
{
	border-bottom: 1px solid #EEEEEE;
}
.add-border-left
{
	border-left: 1px solid #EEEEEE;
}


/* ----------------------------------------------------------------
	Text Size Classes
-----------------------------------------------------------------*/

.text-small 
{
	font-size: 80% !important;
}

.text-large 
{
	font-size: 130% !important;
}

.text-verylarge 
{
	font-size: 200% !important;
}

.text-uppercase
{
	text-transform:uppercase;
}

.text-subtitle
{
	color: #CC071E;
	font-size: 130% !important;
	font-weight: 400;
	font-style:italic;
	margin-bottom:2.0rem;
}


@media (max-width: 767.98px) {

	.text-large 
	{
		font-size: 120% !important;
	}

	.text-verylarge 
	{
		font-size: 175% !important;
	}

	.text-subtitle
	{
		font-size: 120% !important;
		margin-bottom:1.6rem;
	}

}



/* ----------------------------------------------------------------
	Text Color Classes
-----------------------------------------------------------------*/

.text-black 
{
	color: #1A171B;
}

.text-red
{
	color: #CC071E;
}

.text-grey 
{
	color: #515151;
}

.text-white 
{
	color: #FFFFFF;
}


.text-big-red
{
	color: #CC071E;
	font-size: 2.8rem;
	font-weight: 800;
	margin-bottom:0.2rem;
}

@media (max-width: 991.98px) {

	.text-big-red
	{
		font-size: 2.0rem;
		margin-bottom:1rem;
	}

}

@media (max-width: 575.98px) {

	.text-big-red
	{
		font-size: 1.7rem;
	}

}

/* ----------------------------------------------------------------
	BG Color Utility Classes
-----------------------------------------------------------------*/

.bg-ts 
{
	-webkit-transition: background-color .5s ease;
	transition: background-color .5s ease;
}

.bg-red
{
	background-color: #E7DCDA;
}

.bg-grey 
{
	background-color: #F4F4F4;
}

.bg-white 
{
	background-color: #FFFFFF;
}



/* ----------------------------------------------------------------
	Main
-----------------------------------------------------------------*/

#main
{
	position:relative;
	margin-top:430px;
}

@media (max-width: 991.98px) {
	#main{margin-top:230px;}
}

@media (max-width: 419.98px) {
	#main{margin-top:200px;}
}


/* ----------------------------------------------------------------
	Top Bar
-----------------------------------------------------------------*/

#top-bar
{
	position: relative;
	display:block;
	width: 100%;
	min-height:42px;
	background-color: #CC071E;
	border-bottom: 0px;
	font-size: 1rem;
	-webkit-transition:all 0.2s ease;
	-moz-transition:all 0.2s ease;
	-o-transition:all 0.2s ease;
	transition:all 0.2s ease;
}

#top-bar.position-fixed 
{
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 1030;
}

#top-bar .top-links 
{
	position: relative;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	-ms-flex-positive: 0;
	flex-grow: 0;
	margin-top: 7px;
}

#top-bar .top-links a, 
#top-bar .top-links div
{
	display:inline-block;
	color: #FFFFFF;
	font-size: 1rem;
	text-decoration:none;
	line-height: 1.1rem;
	margin-left: 20px;
	vertical-align: middle;
}


@media (max-width: 991.98px) {

	#top-bar .top-links 
	{
		margin-top: 3px;
		float: right;
	}

	#top-bar .top-links a
	{
		display: inline-block;
		margin-left: 30px;
		margin-right: 0px;
		width: 36px;
		height: 36px;
		text-decoration: none;
		line-height: 1em;
		color:transparent;
		overflow: hidden;
	}

	#top-bar .top-links a.icon-phone-right:before,
	#top-bar .top-links a.icon-phone:before,
	#top-bar .top-links a.icon-mobile:before,
	#top-bar .top-links a.icon-mail:before,
	#top-bar .top-links a.icon-mail-outline:before,
	#top-bar .top-links a.icon-clock:before,
	#top-bar .top-links .icon-home:before
	{
		width: 36px;
		margin-right: 0;
		text-align: center;
		line-height: 36px;
		margin-left: 0em;
		font-size: 150%;
		color: #8D8D8D;
	}

	#top-bar .top-links a span, 
	#top-bar .top-links div span
	{
		display: none;
	}

}

@media (max-width: 575.98px) {

	#top-bar .top-links 
	{
		margin: 3px auto 0px auto;
		float: none;
		text-align: center;
	}

	#top-bar .top-links a
	{
		margin-left: 15px;
		margin-right: 15px;
	}

}


/* ----------------------------------------------------------------
	Header
-----------------------------------------------------------------*/

#header 
{
	position: relative;
	width: 100%;
	height: 155px;
	background-color: #FFFFFF;
	border: 0px solid #CC071E;
	-webkit-transition:all 0.2s ease;
	-moz-transition:all 0.2s ease;
	-o-transition:all 0.2s ease;
	transition:all 0.2s ease;
}
#header.position-fixed 
{
	position: fixed;
	top: 43px;
	right: 0;
	left: 0;
	z-index: 1030;
	width: 100%;
	background-color: #FFFFFF;
}
#header.transparent-header.position-fixed 
{
	background-color: transparent;
	border-bottom: 0px;
}

#header-wrap 
{
	position: relative;
	background-color: #FFFFFF;
	/*
	background-image:url('../images/navi/hg-navi.jpg');
	background-repeat:no-repeat;
	background-position:bottom center;
	background-size:1920px 100%;
	*/
	width: 100%;
	min-height: 342px;
	-webkit-transition:all 0.2s ease;
	-moz-transition:all 0.2s ease;
	-o-transition:all 0.2s ease;
	transition:all 0.2s ease;
}
#header.transparent-header #header-wrap 
{
	background-color: transparent;
}

#header-back 
{
	position: absolute;
	top:133px;
	background-color: transparent;
	background-image:url('../images/navi/hg-navi.jpg');
	background-repeat:no-repeat;
	background-position:center center;
	background-size:auto;
	width: 100%;
	height: 200px;
	overflow:hidden;
	-webkit-transition:all 0.2s ease;
	-moz-transition:all 0.2s ease;
	-o-transition:all 0.2s ease;
	transition:all 0.2s ease;
}

@media (max-width: 1199.98px) {

	#header-back 
	{
		height: 180px;
	}

	#header-wrap 
	{
		min-height: 326px;
	}

}

@media (max-width: 991.98px) {

	#header-back 
	{
		height: 55px;
		top: 84px;
	}

	#header-wrap 
	{
		min-height: 142px;
	}

}

.header-row 
{
	position: relative;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

@media (max-width: 575.98px) {

	#header > #header-wrap > .container
	{
		padding-left: 0px;
		padding-right:0px;
	}

}

@media (max-width: 419.98px) {

	#header
	{
		height: 135px;
	}

}




/* ----------------------------------------------------------------
	Logo
-----------------------------------------------------------------*/

#logo
{
	position: absolute;
	top:25px;
	-webkit-transition: top .4s ease;
	transition: top .4s ease;
}

#logo a
{
	text-decoration:none;
	text-align:center;
	margin:0 auto;
}

#logo img
{
	position: relative;
	display: block;
	max-width: 100%;
	max-height: 100%;
	height:60px;
	margin:0 auto;
	opacity: 1;
	-webkit-transition: height .4s ease, padding .4s ease, margin .4s ease, opacity .3s ease;
	transition: height .4s ease, padding .4s ease, margin .4s ease, opacity .3s ease;
}


@media (min-width: 1500px) {

	#header.scrolled #logo 
	{
		top:25px;
	}

	#header.scrolled #logo img
	{
		height:60px;
	}

}


@media (max-width: 991.98px) {

	#logo 
	{
		top: 20px;
	}

}

@media (max-width: 575.98px) {

	#logo 
	{
		margin-left: 0px;
	}
	#logo img
	{
		height:30px;
	}

}


@media (max-width: 479.98px) {

	#logo img
	{
		height:26px;
	}

}



/* ----------------------------------------------------------------
	Main Menu
-----------------------------------------------------------------*/

#nav.navbar
{
	position: relative;
	padding:0;
}

#mainnav
{
	position: absolute;
	top: 115px;
	height:auto;
}


#mainnav ul.nav.navbar-nav li.nav-item
{
	position: relative;
	display:inline-block;
	width:21%;
	margin:10px 2% 10px 3%;
	background-color:transparent;
}
#mainnav ul.nav.navbar-nav li.nav-item:nth-child(4n+1)
{
	border:0px solid red;
	margin:10px 3% 10px 0%;
}
#mainnav ul.nav.navbar-nav li.nav-item:nth-child(4n+4)
{
	border:0px solid blue;
	margin:10px 0% 10px 3%;
}

#mainnav ul.nav.navbar-nav li.nav-item a.nav-link
{
	font-size: 1.0rem;
	line-height:110%;
	min-height: 95px;
	background-color:#8D8D8D;
	color: #FFFFFF;
	padding: 15px;
	border:1px solid #FFFFFF;
	text-align:left;
	-webkit-transition: background-color .3s ease-in-out, color .3s ease-in-out;
	transition: background-color .3s ease-in-out, color .3s ease-in-out;
}
#mainnav ul.nav.navbar-nav li.nav-item a.nav-link:hover
{
	background-color:#CC071E;
	color: #FFFFFF;
}
#mainnav ul.nav.navbar-nav li.nav-item a.nav-link:hover .nav-title,
#mainnav ul.nav.navbar-nav li.nav-item a.nav-link:hover .nav-description 
{
	color: #FFFFFF;
}


#mainnav ul.navbar-nav .active .nav-link, 
#mainnav ul.navbar-nav .nav-link.active, 
#mainnav ul.navbar-nav .nav-link.show, 
#mainnav ul.navbar-nav .show > .nav-link, 
#mainnav ul.nav.navbar-nav li.nav-item a.nav-link.active,
#mainnav ul.nav.navbar-nav li.nav-item.active a.nav-link
{
	background-color:#CC071E;
	color: #FFFFFF;
}

#mainnav ul.nav.navbar-nav li.nav-item a.nav-link img.nav-image 
{
	height: 60px;
	width: 60px;
	margin: 3px 15px 10px 0px;
	float: left;
	padding: 3px;
	border: 1px solid #C5C5C5;
}

#mainnav ul.nav.navbar-nav li.nav-item a.nav-link .nav-title 
{
	font-size: 0.90rem;
	color: #1A171B;
	display:block;
	-webkit-transition: color .3s ease-in-out;
	transition: color .3s ease-in-out;
}

#mainnav ul.nav.navbar-nav li.nav-item a.nav-link .nav-description 
{
	font-size: 0.80rem;
	color: #FFFFFF;
	display:block;
	-webkit-transition: color .3s ease-in-out;
	transition: color .3s ease-in-out;
}


/* dropdown caret */
.dropdown-toggle::after 
{
	display:inline-block;
}

/* 	Main Menu - Level 2 */
#mainnav ul.navbar-nav > li > ul.dropdown-menu 
{
	min-width: 12rem;
	padding: 0;
	margin: 0;
	font-size: 1.0rem;
	color: #515151;
	text-align: left;
	background-color: #FFFFFF;
	border: 0px solid #FFFFFF;
	border-top: 8px solid #CC071E;
	border-radius: 0rem;
}


#mainnav ul.navbar-nav ul.dropdown-menu li.nav-item a.nav-link,
#mainnav ul.nav.navbar-nav li.nav-item.dropdown.active ul.dropdown-menu li.nav-item a.nav-link,
#mainnav ul.nav.navbar-nav li.nav-item.dropdown.show ul.dropdown-menu.show li.nav-item a.nav-link,
#mainnav ul.nav.navbar-nav li.nav-item.dropdown.active.show ul.dropdown-menu.show li.nav-item a.nav-link
{
	padding: 1rem 1rem;
	font-size: 1rem;
	color: #515151;
	text-transform:none;
	border-bottom: 1px solid #CC071E;
	-webkit-transition: color .3s ease-in-out;
	transition: color .3s ease-in-out;
}

#mainnav ul.nav.navbar-nav li.nav-item.dropdown.active ul.dropdown-menu li.nav-item.active a.nav-link,
#mainnav ul.nav.navbar-nav li.nav-item.dropdown.active.show ul.dropdown-menu.show li.nav-item.active a.nav-link
{
	color: #CC071E;
}


#header .navbar-light .navbar-toggler 
{
	background-color: #CC071E;
	color:#FFFFFF;
	position: absolute;
	padding: .35rem .5rem;
	font-size: 1.25rem;
	top: 90px;
	right: 0px;
	border-radius:4px;
	border-color: #FFFFFF;
}

#header .navbar-light .navbar-toggler-icon 
{
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 1.0)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

#mainnav ul.navbar-nav li a.mobile-toggle
{
	display:none;
}



/* ----------------------------------------------------------------
	Main Menu responsive
-----------------------------------------------------------------*/

@media (max-width: 1499.98px) {

	#mainnav ul.nav.navbar-nav li.nav-item
	{
		width:24%;
		margin:7px 0.5% 7px 0.5%;
	}
	#mainnav ul.nav.navbar-nav li.nav-item:nth-child(4n+1)
	{
		margin:7px 0.5% 7px 0%;
	}
	#mainnav ul.nav.navbar-nav li.nav-item:nth-child(4n+4)
	{
		margin:7px 0% 7px 0.5%;
	}

	#mainnav ul.nav.navbar-nav li.nav-item a.nav-link
	{
		min-height: 105px;
		padding: 12px;
	}

}


@media (max-width: 1199.98px) {

	#mainnav ul.nav.navbar-nav li.nav-item
	{
		width:24%;
		margin:7px 0.5% 7px 0.5%;
	}
	#mainnav ul.nav.navbar-nav li.nav-item:nth-child(4n+1)
	{
		margin:7px 0.5% 7px 0%;
	}
	#mainnav ul.nav.navbar-nav li.nav-item:nth-child(4n+4)
	{
		margin:7px 0% 7px 0.5%;
	}

	#mainnav ul.nav.navbar-nav li.nav-item a.nav-link
	{
		min-height: 95px;
		padding: 12px;
	}

	#mainnav ul.nav.navbar-nav li.nav-item a.nav-link .nav-title 
	{
		margin-top: 13px;
	}

	#mainnav ul.nav.navbar-nav li.nav-item a.nav-link .nav-description,
	#mainnav ul.nav.navbar-nav li.nav-item a.nav-link:hover .nav-description 
	{
		display:none;
	}

}



@media (max-width: 991.98px) {

	#mainnav 
	{
		margin-top: 24px;
		right: 1px;
	}

	#nav.navbar.navbar-light #mainnav > ul.nav.navbar-nav
	{
		background-color: #FFFFFF;
		max-width: 420px;
		margin-top: 1px;
	}

	#mainnav.navbar-collapse > ul.navbar-nav > li.nav-item, 
	#mainnav.navbar-collapse.collapse > ul.navbar-nav > li.nav-item, 
	#mainnav.navbar-collapse.collapsing > ul.navbar-nav > li.nav-item, 
	#mainnav.navbar-collapse.collapse.show > ul.navbar-nav > li.nav-item,
	#mainnav.navbar-collapse.collapse.show > ul.navbar-nav > li.nav-item.dropdown
	{
		display:block;
		float:none;
		height: auto;
		width:100%;
		margin:0px;
	}

	#mainnav ul.nav.navbar-nav li.nav-item a.nav-link,
	#mainnav.navbar-collapse.collapse.show > ul.nav.navbar-nav > li.nav-item > a.nav-link,
	#mainnav.navbar-collapse > ul.navbar-nav > li.nav-item > a.nav-link,
	#mainnav.navbar-collapse.collapse > ul.navbar-nav > li.nav-item > a.nav-link,
	#mainnav.navbar-collapse.collapse > ul.navbar-nav > li.nav-item.dropdown > a.nav-link,
	#mainnav.navbar-collapse.collapsing > ul.navbar-nav > li.nav-item > a.nav-link,
	#mainnav.navbar-collapse.collapsing > ul.navbar-nav > li.nav-item.dropdown > a.nav-link,
	#mainnav.navbar-collapse.collapse.show > ul.navbar-nav > li.nav-item > a.nav-link,
	#mainnav.navbar-collapse.collapse.show > ul.navbar-nav > li.nav-item.dropdown > a.nav-link
	{
		display:block;
		height: auto;
		height: 82px;
		line-height: 110%;
		width:100%;
		min-height: 82px;
		padding: 8px;
		margin:0px;
		margin-top: -1px;
		text-align:left;
		transition:none;
	}

	#mainnav ul.nav.navbar-nav li.nav-item a.nav-link .nav-title 
	{
		margin-top: 10px;
		font-size:1.1rem;
	}

	#mainnav.navbar-collapse > ul.nav.navbar-nav > li.nav-item.dropdown > a.nav-link.dropdown-toggle:after,
	#mainnav.navbar-collapse > ul.navbar-nav > li.nav-item > a.nav-link:after 
	{
		content: '';
		display: none;
		width:0;
	}

	#mainnav.navbar-collapse > ul.navbar-nav > li.nav-item.active > a,
	#mainnav.navbar-collapse.collapse > ul.navbar-nav > li.nav-item.active > a,
	#mainnav.navbar-collapse.collapse.show > ul.navbar-nav > li.nav-item.active > a,
	#mainnav.navbar-collapse.borderbottom > ul.navbar-nav > li.nav-item.active > a.nav-link
	{
		background-color:#CC071E;
		color: #FFFFFF;
	}

}


@media (max-width: 575.98px) {

	#header .navbar-light .navbar-toggler, 
	#header .navbar-dark .navbar-toggler 
	{
		right:15px;
	}

	#mainnav.navbar-collapse > ul.navbar-nav, 
	#mainnav.navbar-collapse.collapse > ul.navbar-nav,
	#mainnav.navbar-collapse.collapsing > ul.navbar-nav,
	#mainnav.navbar-collapse.collapse.show > ul.navbar-nav
	{
		display:block;
		height: auto;
		max-height: calc(100vh - 200px);
		padding: 0px;
		margin: 0px;
		overflow: auto;
		z-index: 1100000;
	}

	#mainnav ul.nav.navbar-nav li.nav-item a.nav-link,
	#mainnav.navbar-collapse.collapse.show > ul.nav.navbar-nav > li.nav-item > a.nav-link,
	#mainnav.navbar-collapse > ul.navbar-nav > li.nav-item > a.nav-link,
	#mainnav.navbar-collapse.collapse > ul.navbar-nav > li.nav-item > a.nav-link,
	#mainnav.navbar-collapse.collapse > ul.navbar-nav > li.nav-item.dropdown > a.nav-link,
	#mainnav.navbar-collapse.collapsing > ul.navbar-nav > li.nav-item > a.nav-link,
	#mainnav.navbar-collapse.collapsing > ul.navbar-nav > li.nav-item.dropdown > a.nav-link,
	#mainnav.navbar-collapse.collapse.show > ul.navbar-nav > li.nav-item > a.nav-link,
	#mainnav.navbar-collapse.collapse.show > ul.navbar-nav > li.nav-item.dropdown > a.nav-link
	{
		height: auto;
		min-height: auto;
		padding:20px 15px;
	}

	#mainnav ul.nav.navbar-nav li.nav-item a.nav-link .nav-title 
	{
		margin-top: 0px;
		font-size:1.1rem;
	}

	#mainnav.navbar-collapse > ul.nav.navbar-nav > li.nav-item > .nav-item-content > a.nav-link > img.nav-image
	{
		display:none;
	}

}





/* ----------------------------------------------------------------
	Footer
-----------------------------------------------------------------*/

#footer 
{
	position: relative;
	display:block;
	width:100%;
	background-color: #FFFFFF;
	color:#1A171B;
	font-weight: 400;
	border-top: 0px;
}

#footer-content
{
	position: relative;
	display:block;
	width:100%;
	background-color: #CC071E;
	color:#FFFFFF;
	font-weight: 400;
	border-top: 0px;
}

#footer .container
{
	text-align:left;
}

#footer > .container > .row
{
	padding-top:30px;
	padding-bottom:20px;
}


#footer .footer-col-2, 
#footer .footer-col-3, 
#footer .footer-col-4
{
	margin-top:40px;
}


#footer img.footer-logo
{
	position: relative;
	display: block;
	margin-top:25px;
	max-width: 100%;
	max-height: 100%;
	height:109px;
	opacity: 1;
	-webkit-transition: height .4s ease, padding .4s ease, margin .4s ease, opacity .3s ease;
	transition: height .4s ease, padding .4s ease, margin .4s ease, opacity .3s ease;
}

#footer img.zertifikat
{
	position: relative;
	display: block;
	margin: 30px auto 0px auto;
	max-width: 100%;
	max-height: 100%;
	height:109px;
	opacity: 1;
	-webkit-transition: height .4s ease, padding .4s ease, margin .4s ease, opacity .3s ease;
	transition: height .4s ease, padding .4s ease, margin .4s ease, opacity .3s ease;
}

@media (max-width: 1199.98px) {

	#footer img.zertifikat
	{
		margin: 20px auto 10px 0px;
	}

}



#footer .footerheader
{
	font-family: 'Open Sans', sans-serif;
	font-size:1.4rem;
	font-weight:400;
	color: #1A171B;
	margin-bottom:30px;
}

#footer ul.listfooter 
{
	list-style-type:none;
	margin: 0px 0px 0px 0px;
	padding:0px;
}

#footer ul.listfooter > li 
{
	clear:both;
	list-style-type:none;
	padding:0px 0px 0px 0px;
	margin: 0px 0px 7px 0px;
}

#footer ul.listfooter > li > a
{
	text-decoration:none;
	font-size:1rem;
	color:#FFFFFF;
	padding:0px 0px 0px 0px;
	margin: 0px 0px 0px 0px;
	line-height:1rem;
	-webkit-transition:color 0.4s ease-in-out;
	-moz-transition:color 0.4s ease-in-out;
	-o-transition:color 0.4s ease-in-out;
	transition:color 0.4s ease-in-out;
}

#footer ul.listfooter > li > a:hover
{
	text-decoration:none;
	color:#1A171B;
}
#footer ul.listfooter > li > a.icon-right-dir:before 
{
	content: '\e812';
	color:#1A171B;
	margin-right: .25rem;
}

@media (max-width: 1499.98px) {

	#footer ul.listfooter > li > a, 
	#footer ul.listfooter li a.icon-right-dir
	{
		font-size:0.9rem;
	}

}

/* ----------------------------------------------------------------
	Footer Bar
-----------------------------------------------------------------*/

#footer-bar
{
	position: relative;
	display:block;
	width: 100%;
	min-height:42px;
	background-color:#FFFFFF;
	color: #CC071E;
	border-bottom: 0px;
	font-size: 1rem;
	-webkit-transition:all 0.2s ease;
	-moz-transition:all 0.2s ease;
	-o-transition:all 0.2s ease;
	transition:all 0.2s ease;
}

#footer-bar .footer-links 
{
	position: relative;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	-ms-flex-positive: 0;
	flex-grow: 0;
	margin-top: 7px;
}

#footer-bar .footer-links a, 
#footer-bar .footer-links div
{
	display:inline-block;
	color: #CC071E;
	font-size: 1rem;
	text-decoration:none;
	line-height: 1.1rem;
	margin-left: 20px;
	vertical-align: middle;
}



@media (max-width: 991.98px) {

	#footer-bar .footer-links 
	{
		margin-top: 3px;
		float: right;
	}

	#footer-bar .footer-links a
	{
		display: inline-block;
		margin-left: 30px;
		margin-right: 0px;
		width: 36px;
		height: 36px;
		text-decoration: none;
		line-height: 1em;
		color:transparent;
		overflow: hidden;
	}

	#footer-bar .footer-links a.icon-phone-right:before,
	#footer-bar .footer-links a.icon-phone:before,
	#footer-bar .footer-links a.icon-mobile:before,
	#footer-bar .footer-links a.icon-mail:before,
	#footer-bar .footer-links a.icon-mail-outline:before,
	#footer-bar .footer-links a.icon-clock:before,
	#footer-bar .footer-links .icon-home:before
	{
		width: 36px;
		margin-right: 0;
		text-align: center;
		line-height: 36px;
		margin-left: 0em;
		font-size: 150%;
		color: #8D8D8D;
	}

	#footer-bar .footer-links a span, 
	#footer-bar .footer-links div span
	{
		display: none;
	}

}

@media (max-width: 575.98px) {

	#footer-bar .footer-links 
	{
		margin: 3px auto 0px auto;
		float: none;
		text-align: center;
	}

	#footer-bar .footer-links a
	{
		margin-left: 15px;
		margin-right: 15px;
	}

}



/* ----------------------------------------------------------------
	Go To Top
-----------------------------------------------------------------*/

#gotoTop 
{
	display: none;
	z-index: 599;
	position: fixed;
	width: 40px;
	height: 40px;
	background-color: #DE0A23;
	background-color: rgba(222,10,36,0.6);
	font-size: 1.25rem;
	line-height: 36px;
	text-align: center;
	color: #FFFFFF;
	top: auto;
	left: auto;
	right: 10px;
	bottom: 15px;
	cursor: pointer;
	border:1px solid #FFFFFF;
	border-radius: 0px;
}

#gotoTop::before 
{
	color: #FFFFFF;
	margin-right: .25rem;
}

body:not(.device-touch) #gotoTop,
body:not(.device-touch) #gotoTop::before 
{
	transition: background-color .2s linear, color .2s linear;
	-webkit-transition: background-color .2s linear, color .2s linear;
	-o-transition: background-color .2s linear, color .2s linear;
}

.stretched #gotoTop 
{
	bottom: 10px;
}

#gotoTop:hover 
{
	background-color: #CC071E;
	background-color: rgba(204,7,30,0.9);
}


/* ----------------------------------------------------------------
	Section Container
-----------------------------------------------------------------*/

section
{
	position:relative;
}


section .section-title 
{
	text-align: center;
	padding-bottom: 1.5rem;
}

section .section-title h1,
section .section-title h2,
section .section-title h3, 
section .section-title h4 
{
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	position: relative;
}

section .section-title h1::after,
section .section-title h2::after, 
section .section-title h3::after,
section .section-title h4::after 
{
	content: '';
	position: absolute;
	display: block;
	width: 200px;
	height: 1px;
	background: #CC071E;
	bottom: 0;
	left: calc(50% - 100px);
}



/* ----------------------------------------------------------------
	Section shadow Effect
-----------------------------------------------------------------*/

div.shadow,
section.shadow
{
	position:relative;
	-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3);
	box-shadow:0 1px 4px rgba(0, 0, 0, 0.3);
}

div.shadow:after,
section.shadow:after
{
	content:"";
	position:absolute;
	z-index:-1;
	top:100%;
	bottom:0;
	width:120%;
	height:50px;
	left:-10%;
	right:-10%;
	background:-webkit-radial-gradient(50% -3%, ellipse cover, rgba(0, 0, 0, 0.5), rgba(97, 97, 97, 0.0) 40%);
	background:radial-gradient(ellipse at 50% -3%, rgba(0, 0, 0, 0.5), rgba(97, 97, 97, 0.0) 40%);
}





/* ----------------------------------------------------------------
	Content Elements
-----------------------------------------------------------------*/

section .card, 
section .container
{
	text-align:left;
}



/* ----------------------------------------------------------------
	accordion 
-----------------------------------------------------------------*/

.accordion 
{
	background-color:transparent;
	color: #1A171B;
	text-align: left;
	box-shadow: none;
	padding: 0px;
	border: 0px;
	border-radius: 0px;
}
.accordion > .card
{
	margin-top:15px;
	margin-bottom:15px;
	border: 1px solid #F5F5F5 !important;
}
.accordion > .card > .card-header
{
	display:block;
	width:100%;
	color: #1A171B;
	padding: 0px;
	border-bottom: 1px solid #F5F5F5;
	background-color: #F5F5F5;
}
.accordion > .card > .card-header h3.accordion-title
{
	display:block;
	width:100%;
	background-color:transparent;
	color: #1A171B;
	box-shadow: none;
	padding: 0px;
	margin: 0px;
	border: 0px;
	border-radius: 0px;
}
.accordion > .card > .card-header h3.accordion-title > button
{
	display:block;
	width:100%;
	background-color:transparent;
	color: #1A171B;
	font-size:1.2rem;
	font-weight:700;
	text-align: left;
	box-shadow: none;
	padding: .75rem 1.25rem;
	border: 0px;
	border-radius: 0px;
}

.accordion > .card > .card-body
{
	color: #1A171B;
	border-bottom: 1px solid #F5F5F5;
	background-color: #FFFFFF;
}
.accordion > .card > .card-body p:last-child
{
	margin-bottom: 0;
}

/* ----------------------------------------------------------------
	Header image
-----------------------------------------------------------------*/

.header-image
{
	position:relative;
	overflow:hidden;
}

.header-image > figcaption
{
	position:absolute;
	top: 0px;
	width:100%;
	padding:20px;
}

.header-image > figcaption h1
{
	font-size:2.8rem;
	font-weight:800;
	margin-bottom: 0.3rem;
}
.header-image > figcaption .text-subheader
{
	font-size:2.8rem;
	font-weight:300;
	margin-left:100px;
}

@media (max-width: 991.98px) {
	
	.header-image > figcaption h1
	{
		font-size:2.0rem;
	}
	.header-image > figcaption .text-subheader
	{
		font-size:2.0rem;
		margin-left:80px;
	}
	
}

@media (max-width: 575.98px) {

	.header-image > figcaption
	{
		position:relative;
		top: unset;
		margin-top: 20px;
		width:100%;
		padding:0px;
	}

	.header-image > figcaption h1
	{
		font-size:1.7rem;
		font-weight:800;
		color: #1A171B !important;
		margin-bottom: 0.3rem;
	}
	.header-image > figcaption .text-subheader
	{
		font-size:1.7rem;
		font-weight:300;
		color: #1A171B !important;
		margin-left:0px;
		margin-bottom: 0px;
	}

}



/* ----------------------------------------------------------------
	Video
-----------------------------------------------------------------*/

.video-container > .video-caption
{
	position:absolute;
	bottom: 2px;
	width:100%;
}

.video-container > .video-caption h1
{
	margin-bottom: 0.3rem;
}

@media (min-width: 576px) {

	.video-container > .video-caption
	{
		position:absolute;
		bottom: 20px;
		width:100%;
	}

}



/* ----------------------------------------------------------------
	Parallax Element
-----------------------------------------------------------------*/

.parallax 
{
	background-color: transparent;
	background-attachment:fixed;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 350px;
}

.parallax.bg1 
{
	background-image: linear-gradient(rgba(2, 2, 2, 0.1), rgba(0, 0, 0, 0.5)), url('../../images/start/hg-mitglied.jpg');
}



/* ----------------------------------------------------------------
	Social Media Icons
-----------------------------------------------------------------*/

#social
{
	margin-top:20px;
}

#social > a
{
	position:relative;
	display:inline-block;
	width: 40px;
	height:40px;
	line-height: 40px;
	margin:5px 5px;
	background-color:transparent;
}

#social > a:before
{
	position:absolute;
	color:#FFFFFF;
	width: 40px;
	height:40px;
	line-height: 40px;
	margin-top: 0px;
}
#social > a.icon-facebook:before
{
	background-color:#FFFFFF;
	color:#CC071E;
	font-size:200%;
}
#social > a.icon-youtube:before
{
	background-color:#CC071E;
	color:#FFFFFF;
	font-size:200%;
}


@media (max-width: 1499.98px) {

	#social
	{
		margin-top:0px;
	}

}


/* ----------------------------------------------------------------
	Start - Leistungen
-----------------------------------------------------------------*/

@media (max-width: 991.98px) {

	#leistungen > .container >.row > .col-md-6 a img.img-fluid
	{
		margin-bottom: 30px;
	}

}



/* ----------------------------------------------------------------
	Start - Beispiele
-----------------------------------------------------------------*/

@media (max-width: 991.98px) {
	
	#beispiele > .container > .row > .col-md-12 > .row > .col-md-6 a img.img-fluid
	{
		margin-bottom: 30px;
	}
	#beispiele > .container > .row > .col-md-12 > .row > .col-md-6::last-child a img.img-fluid
	{
		margin-bottom: 0px;
	}

}


/* ----------------------------------------------------------------
	Start - Content
-----------------------------------------------------------------*/

@media (max-width: 991.98px) {

	#content-2 > .container > .row > .col-md-12 img.img-fluid
	{
		margin-bottom: 30px;
	}

}



/* ----------------------------------------------------------------
	Abstand Bilder
-----------------------------------------------------------------*/

#main section > .container > .row > .col-lg-6 > .row > .col-sm-6.col-md-6 img.img-fluid, 
#main section > .container > .row > .col-lg-3 > a > img.img-fluid
{
	margin-bottom: 30px;
}