/*
Theme Name: Baumgartner IT
Description: Baumgartner IT Theme
Version: 1.0.0
Author:	Netwerkk
Theme URI: http://www.netwerkk.ch
Author URI: http://www.netwerkk.ch
Text Domain: baumgartner_it_td
Domain Path: /languages
*/

*
{
	font-family: 'Open Sans', sans-serif;
	margin: 0;
	padding: 0;
}

textarea,
input.text,
input[type="text"],
input[type="button"],
input[type="submit"],
.input-checkbox
{
	-webkit-appearance: none;
	border-radius: 0;
}

img
{
	max-width: 100%;
}

h1
{
	clear: both;
	display: inline-block;
	font-size: 20px;
	margin: 60px 0 20px 0;
	text-align: center;
	text-transform: uppercase;
}

h1:after
{
	background: black;
	content: "";
	display: block;
	height: 3px;
}

.impressum h1
{
	display: block;
	font-size: 40px;
	font-weight: 300;
	text-align: left;
	text-transform: none;
}

.impressum h1:after
{
	display: none;
}

p
{
	font-size: 20px;
	line-height: 30px;
	margin: 0 0 20px 0;
	text-align: center;
}

.impressum p
{
	text-align: left;
}

.mobile_menu_button
{
	color: white;
	cursor: pointer;
	display: none;
	font-size: 38px;
	position: absolute;
	right: 20px;
	top: 20px;
}

button,
.button
{
	background: #c5cfd9;
	border: 2px solid #04192a;
	box-sizing: border-box;
	color: #04192a;
	display: inline-block;
	font-size: 16px;
	line-height: 30px;
	min-height: 27px;
	min-width: 159px;
	text-decoration: none;
}

button:hover,
.button:hover
{
	background: #3d6183;
	color: white;
	cursor: pointer;
}

.bgit_tile_container
{
	margin: 0 auto;
}

.bgit_tile_container:after
{
	clear: both;
	content: "";
	display: block;
}

.bgit_tile
{
	background: white;
	border: 4px solid #3d6183;
	box-sizing: border-box;
	color: black;
	display: block;
	float: left;
	height: 150px;
	margin: 0 10px 10px 0;
	padding: 30px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	width: 240px;
}

.bgit_tile:hover
{
	background: #3d6183;
	color: white;
}

.bgit_tile .image
{
	display: inline-block;
	margin: 0 auto;
}

.bgit_tile .image.hover
{
	display: none;
}

.bgit_tile:hover .image
{
	display: none;
}

.bgit_tile:hover .image.hover
{
	display: inline-block;
}

.bgit_tile .desc
{
	display: block;
	margin: 0 0 15px 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#wrap_all
{
	overflow: hidden;
}

#header
{
	background: #06192a;
	border-bottom: 1px solid black;
	box-sizing: border-box;
	color: white;
	height: 90px;
	padding: 9px 0 5px 18px;
	position: relative;
}

.impressum #header
{
	background: none;
	border: none;
}

#header #logo
{
	box-sizing: border-box;
	float: left;
	height: 76px;
	min-width: 255px;
	width: 18.37%;
}

#header #logo img
{
	
}

#header #mainnav
{
	box-sizing: border-box;
	float: left;
	font-size: 20px;
	font-weight: 300;
	height: 76px;
	min-width: 860px;
	padding: 36px 0 0 0;
	width: 62%;
}

#header #mainnav ul
{
	list-style: none;
	margin: 0;
}

#header #mainnav ul:after
{
	clear: both;
	content: "";
	display: block;
}

#header #mainnav ul li
{
	float: left;
	font-size: 20px;
	margin: 0 6.4% 0 0;
}

#header #mainnav ul li:last-child
{
	margin-right: 0;
}

#header #mainnav ul li.menu-item-has-children
{
	/*position: relative;*/
}

#header #mainnav ul li.menu-item-has-children .submenu-arrow
{
	background: url(images/submenu-arrow.png) no-repeat;
	bottom: -18px;
	display: none;
	height: 13px;
	left: 15px;
	position: relative;
	top: 5px;
	width: 41px;		
}

.open_submenu #header #mainnav ul li.menu-item-has-children .submenu-arrow
{
	display: block;
}

#header #mainnav ul li a:link,
#header #mainnav ul li a:visited
{
	color: white;
	display: block;
	text-decoration: none;
}

#header #mainnav ul li .sub-menu-wrap
{
	background: #3d6183;
	box-sizing: border-box;
	display: none;
	height: 39px;
	left: 0;
	padding: 5px 0;
	position: absolute;
	top: 90px;
	width: 100%;
}

.open_submenu #header #mainnav ul li .sub-menu-wrap
{
	display: block;
}

#header #mainnav ul li .sub-menu-wrap .sub-menu
{
	margin-left: calc(18.37% + 12px);
	width: 62%;
}

#header #mainnav ul li .sub-menu-wrap .sub-menu li
{
	font-size: 17px;
	line-height: 25px;
}

#header #mainnav ul li .sub-menu-wrap .sub-menu li:hover,
#header #mainnav ul li .sub-menu-wrap .sub-menu li.current-menu-item
{
	font-weight: 700;
}

#header #contact
{
	background: #3d6183;
	border-radius: 50%;
	box-sizing: border-box;
	color: white;
	height: 238px;
	padding: 87px 38px 35px 38px;
	position: absolute;
	right: -95px;
	top: -62px;
	width: 357px;
	z-index: 2;
}

#header #contact_shadow
{
	background: rgba(0,0,0,0.6);
	border-radius: 50%;
	box-sizing: border-box;
	content: "";
	display: block;
	height: 238px;
	padding: 77px 20px 20px 20px;
	position: absolute;
	right: -91px;
	top: -58px;
	width: 357px;
	z-index: 1;
}

#header #contact #contact_header
{
	box-sizing: border-box;
	display: block;
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 8px 50px;
}

#header #contact #contact_content
{
	font-size: 18px;
	font-weight: 300;
}

#header #contact #contact_content > span
{
	display: block;
}

#header #contact #contact_content > #contact_phone
{
	margin: 0 0 0 25px;
}

.page #teaser_image
{
	background-size: 100%;
	height: 255px;
	overflow: hidden;
	width: 100%;
}

#tool_container
{
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 210px;
}

#tool_container .tool_item
{
	background: #3d6183;
	border-radius: 5px;
	box-sizing: border-box;
	color: white;
	display: block;
	font-size: 20px;
	font-weight: 300;
	height: 37px;
	left: 150px;
	margin-bottom: 6px;
	overflow: hidden;
	padding: 6px 0 8px 70px;
	position: relative;
	text-overflow: ellipsis;
	text-transform: uppercase;
	transition: left .5s .5s;
	white-space: nowrap;
	width: 220px;
}

#tool_container .tool_item a:link,
#tool_container .tool_item a:visited
{
	color: white;
	text-decoration: none;
}

#tool_container .tool_item:hover
{
	left: 0px;
}

#tool_container .tool_item .tool_item_image_wrapper
{
	background: #06182c;
	border: 1px solid #06182c;
	border-radius: 5px;
	box-sizing: border-box;
	height: 37px;
	left: 0;
	position: absolute;
	text-align: center;
	top: 0;
	width: 70px;
}



#tool_container .tool_item .tool_item_image_wrapper .tool_item_image
{
	display: block;
	margin: 2px auto;
}

#tool_container .tool_item .tool_item_image_wrapper .tool_item_image.hover
{
	display: none;
}

#tool_container .tool_item:hover .tool_item_image_wrapper .tool_item_image
{
	display: none;
}

#tool_container .tool_item:hover .tool_item_image_wrapper .tool_item_image.hover
{
	display: block;
}

#tool_container .tool_item .tool_item_caption
{
	margin-left: 9px;
}

@keyframes slide-in {
	0% { transform: translateX(150px); }
	100% { transform: translateX(0px); }
}

@-webkit-keyframes slide-in {
	0% { transform: translateX(150px); }
	100% { transform: translateX(0px); }
}

#content_wrap
{
	font-size: 20px;
	line-height: 30px;
	margin: 0 auto;
	min-height: calc(100vh - 390px);
	max-width: 1315px;
	padding: 0 0 70px 0;
	text-align: center;
	width: 95%;
}

.impressum #content_wrap
{
	box-sizing: border-box;
	margin: 0;
	max-width: none;
	padding: 0 80px 70px 18px;
	text-align: left;
	width: 100%;
}

.home #content_wrap
{
	max-width: 1250px;
	width: 87.5%;
}

.home #content_wrap #frontpage_image_wrap
{
	text-align: left;
}

.kontakt #contact_wrapper
{
	margin: 0 auto;
	max-width: 1112px;
	width: 100%;
}

.kontakt #contact_wrapper:after
{
	clear: both;
	content: "";
	display: block;
}

.kontakt #contact_wrapper #map
{
	float: left;
	margin-right: 5.126%;
	width: 46.313%;
}

.kontakt #contact_wrapper #map iframe
{
	width: 100%;
}

.kontakt #contact_wrapper #contact_form
{
	float: left;
	margin-top: 30px;
	padding-top: 2px;
	width: 48.561%;
}

.kontakt #contact_wrapper #contact_form .pirate-forms-footer:after
{
	clear: both;
	content: "";
	display: block;
}

.kontakt #contact_wrapper #contact_form .form_captcha_wrap
{
	float: left;
	max-width: 255px;
}

.kontakt #contact_wrapper #contact_form .form_captcha_wrap #pirate-forms-captcha > div
{
	max-width: 255px;
}

.kontakt #contact_wrapper #contact_form .form_captcha_wrap #pirate-forms-captcha > div iframe
{
	max-width: 255px;
}

.kontakt #contact_wrapper #contact_form .contact_submit_wrap
{
	float: right;
}

.kontakt #contact_wrapper #contact_form input,
.kontakt #contact_wrapper #contact_form textarea
{
	background: #313131;
	border: none;
	box-sizing: border-box;
	color: #f3f2f2;
	font-size: 20px;
	font-weight: 300;
	width: 100%;
}

.kontakt #contact_wrapper #contact_form input
{
	height: 35px;
	padding: 9px 15px 9px 15px;
	
}

.kontakt #contact_wrapper #contact_form textarea
{
	height: 135px;
	padding: 17px 15px 17px 15px;
	
}

.kontakt #contact_wrapper #contact_form button
{
	margin-right: 2px;
	min-width: 202px;
}

#employee_wrapper
{
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	margin-top: 45px;
}

#employee_wrapper .employee
{
	display: inline-block;
	font-size: 18px;
	font-weight: 300;
	margin: 15px;
	width: 270px;
}

#employee_wrapper .employee > *
{
	display: block;
	text-align: center;
}

#employee_wrapper .employee .emp_image
{
	border: 1px solid black;
}

#employee_wrapper .employee .emp_image img
{
	display: block;
	margin: 0 auto;
}

#employee_wrapper .employee .emp_name
{
	
}

#employee_wrapper .employee .emp_pos
{
	
}

#references_wrapper
{
	display: flex;
	flex-flow: row wrap;
	justify-content: left;
	margin: 45px auto 0 auto;
	max-width: 940px;
}

#references_wrapper .reference
{
	display: inline-block;
	font-size: 18px;
	font-weight: 300;
	height: 150px;
	margin: 0 6.5px 9px 6.5px;
	overflow: hidden;
	position: relative;
	width: 300px;
}

/*#references_wrapper .reference:after
{
	background: rgba(0,0,0,0.6);
	content: "";
	display: block;
	height: 100%;
	width: 100%;
	z-index: 4;
}

#references_wrapper .reference:hover:after
{
	display: none;
}*/

#references_wrapper .reference .ref_link,
#references_wrapper .reference a:link.ref_link,
#references_wrapper .reference a:visited.ref_link
{
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

#references_wrapper .reference .ref_image
{
	bottom: 0;
	display: block;
	height: auto;
	left: 0;
	margin: auto;
	max-height: 150px;
	max-width: 100%;	
	position: absolute;
	right: 0;
	top: 0;
	width: auto;
	z-index: -1;
}

#references_wrapper .reference .ref_image.color
{
	display: none;
}

#references_wrapper .reference:hover .ref_image.sw
{
	display: none;
}

#references_wrapper .reference:hover .ref_image.color
{
	display: block;
}

#footer
{
	background: #3d6183;
	box-sizing: border-box;
	color: white;
	font-size: 20px;
	height: 198px;
	padding: 25px 40px 15px 20px;
	position: relative;
	width: 100%;
}

#footer:after
{
	clear: both;
	content: "";
	display: block;
}

#footer a:link,
#footer a:visited
{
	color: white;
	text-decoration: underline;
}

#footer .col
{
	float: left;
	width: 38.18%;
}

#footer .col .footer_col_headline
{
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 20px 0;
	text-transform: uppercase;
}

#footer .col .footer_col_content > span
{
	display: block;
	line-height: 25px;
}

#footer #imprint_footer_link
{
	bottom: 15px;
	position: absolute;
	right: 40px;
	text-transform: uppercase;
}

.impressum
{
	background: url(images/computer.png) no-repeat;
	background-size: cover;
	color: white;
	font-size: 20px;
	font-weight: 300;
}

.impressum #wrap_all
{
	background: rgba(0,0,0,0.8);
}

.impressum #imprint_header
{
	font-size: 50px;
	font-weight: 800;
	text-align: center;
}

.impressum #imprint_adress_container:after
{
	clear: both;
	content: "";
	display: block;
}

.impressum #imprint_adress_container span
{
	display: block;
}

.impressum #imprint_adress_container #company_adress
{
	float: left;
	margin-right: 5%;
	width: 45%;
}

.impressum #imprint_adress_container #agency_adress
{
	float: left;
	width: 45%;
}

@media all and (max-width: 1430px)
{
	.bgit_tile_container
	{
		max-width: 750px;
	}
}

@media all and (max-width: 1350px)
{
	#header #mainnav
	{
		min-width: 0;
		width: calc(85% - 357px);
	}
}

@media all and (max-width: 1200px)
{
	#header #logo
	{
		min-width: 185px;
		width: 185px;
	}
	
	#header #mainnav
	{
		width: calc(100% - 307px - 125px);
	}
	
	#header #contact,
	#header #contact_shadow
	{
		height: 188px;
		width: 307px;
	}
	
	#header #contact
	{
		padding: 78px 38px 35px 48px;	
	}
	
	#header #contact #contact_header
	{
		font-size: 18px;
		margin: 0 0 8px 35px;
	}
	
	#header #contact #contact_content
	{
		font-size: 14px;
	}
	
	.home #content_wrap #frontpage_image_wrap
	{
		max-width: 80%;
	}
}

@media all and (max-width: 1000px)
{
	#header
	{
		height: auto;
		min-height: 135px;
		padding: 9px 18px 5px 18px;
	}
	
	#header #logo
	{
		float: none;
	}
	
	#header #mainnav
	{
		float: none;
		height: auto;
		padding-top: 10px;
		width: 100%;
	}
	
	#header #mainnav ul li .sub-menu-wrap
	{
		top: 140px;
	}
	
	#header #mainnav ul li .sub-menu-wrap .sub-menu
	{
		margin: 0 auto;
		margin-left: auto;
		width: 90%;
	}
	
	#header #contact,
	#header #contact_shadow
	{
		border-radius: 0;
		border-bottom-left-radius: 5px;
		height: 145px;
		width: 265px;
	}
	
	#header #contact
	{
		padding: 66px 10px 35px 10px;
	}
	
	#header #contact #contact_header,
	#header #contact #contact_content > #contact_phone
	{
		margin-left: 0;
	}
	
	#references_wrapper
	{
		max-width: 630px;
	}
	
	#footer .col
	{
		width: 45%;
	}
}

@media all and (max-width: 860px)
{
	.bgit_tile_container
	{
		max-width: 500px;
	}
}

@media all and (max-width: 820px)
{
	.kontakt #contact_wrapper #map
	{
		float: none;
		width: 100%;
	}
	
	.kontakt #contact_wrapper #contact_form
	{
		float: none;
		width: 100%;
	}
	
	#footer .col
	{
		width: 50%;
	}
}

@media all and (max-width: 750px)
{
	.impressum #imprint_header
	{
		font-size: 30px;
		text-align: left;
	}
	
	.impressum #imprint_adress_container #company_adress
	{
		float: none;
		margin: 0 0 20px 0;
		width: 100%;
	}
	
	.impressum #imprint_adress_container #agency_adress
	{
		float: none;
		margin: 0 0 20px 0;
		width: 100%;
	}
	
	#footer .col.col1
	{
		width: 42%;
	}
	
	#footer .col.col2
	{
		width: 58%;
	}
}

@media all and (max-width: 660px)
{
	#references_wrapper
	{
		max-width: 300px;
	}
}

@media all and (max-width: 650px)
{
	#footer
	{
		height: auto;
	}
	
	#footer .col,
	#footer .col.col1,
	#footer .col.col2
	{
		float: none;
		margin-bottom: 30px;
		width: 100%;
	}
	
	#footer #imprint_footer_link
	{
		position: static;
	}
}

@media all and (max-width: 600px)
{
	.mobile_menu_button
	{
		display: block;
	}
	
	.impressum .mobile_menu_button
	{
		display: none;
	}
	
	#header
	{
		min-height: 0;
	}
	
	#header #mainnav
	{
		display: none;
	}
	
	#header #mainnav ul li
	{
		border-bottom: 1px solid white;
		float: none;
		margin-right: 0;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	
	#header #mainnav ul li .sub-menu-wrap
	{
		box-sizing: border-box;
		display: none;
		height: auto;
		margin-top: 10px;
		padding: 0;
		position: relative;
		top: auto;
	}
	
	#header #mainnav ul li .sub-menu-wrap .sub-menu
	{
		box-sizing: border-box;
		margin: 0;
		padding: 0 10px;
		width: 100%;
	}
	
	.open_submenu #header #mainnav ul li.menu-item-has-children .submenu-arrow
	{
		display: none !important;
	}
	
	#header #mainnav ul li .sub-menu-wrap .sub-menu li:last-child
	{
		border-bottom: none;
	}
	
	#header #mainnav ul li.menu-item-has-children > a
	{
		position: relative;
	}
	
	#header #mainnav ul li.menu-item-has-children > a:after
	{
		content: "\f107";
		display: block;
		font-family: FontAwesome;
		position: absolute;
		right: 20px;
		top: 5px;
	}
	
	#header #contact,
	#header #contact_shadow
	{
		border-bottom-right-radius: 5px;
		margin: auto;
		right: 80px;
	}
	
	#header #contact
	{
		width: 170px;
	}
	
	#header #contact_shadow
	{
		width: 178px;
	}
	
	#tool_container
	{
		display: none;
	}
	
	.home #content_wrap #frontpage_image_wrap img
	{
		width: 100%;
	}
}

@media all and (max-width: 575px)
{
	.bgit_tile_container
	{
		max-width: 240px;
	}
}

@media all and (max-width: 480px)
{
	#header #contact,
	#header #contact_shadow
	{
		border-radius: 0;
		border-radius: 0;
		border-top-left-radius: 5px;
		border-top-right-radius: 5px;
		bottom: 0;
		left: 0;
		margin: auto;
		padding: 5px;
		position: fixed;
		right: 0;
		top: auto;
	}
	
	#header #contact
	{
		height: 80px;
		width: 140px;
	}
	
	#header #contact_shadow
	{
		height: 84px;
		width: 148px;
	}
	
	#header #contact #contact_header
	{
		font-size: 16px;
	}
	
	#header #contact #contact_content
	{
		font-size: 12px;
	}
	
	.kontakt #contact_wrapper #map iframe
	{
		height: 180px;
	}
}









