
/*************************************************************************/
/*  Custom Portmann GmbH   */
.container-fluid {
    max-width: 85%;
}
.res-header, .res-fixnav.show {
	background: #fff;
}
a:hover, a:hover *{
    opacity: 1;
}    
.shadow {
    box-shadow: 0.08rem 0.2rem 0.3rem rgb(0 0 0 / 9%) !important;
}
.bg-light {
    background-color: #F4F4F4 !important;
}
.res-navtab .tabs .nav-link {
    font-weight: 600;
}
.res-navtab .tabs .nav-link.active, .tabs .nav-link:hover {
    color:#dc0b2c;
}
.res-fixnav.show .logo {
    padding-top: 15px;
    padding-bottom: 10px;
}
.res-header .container-fluid *{
    font-weight: 600;
}
.page-ueber-uns .jarallax-img{ 
    object-position: 50% 10%!important;
}
@media only screen and (min-width: 970px) {
.res-navtab span {
    padding-right: 20px;
}
.res-header .container-fluid .nav-link:hover{
    color: #dc0b2c
}
.navbar-expand-md .navbar-nav .nav-link {
    padding-left: 0;
    padding-right: 3rem;
}
}
.res-logo{
    justify-content: end;
}
.res-header .row {
    flex-direction: row-reverse;
}
.res-header .justify-content-md-end {
    justify-content: flex-start !important;
}
h1, h2 {letter-spacing: 0.005em;}

.header-img-height {
    position: relative;
}
.header-img-height:after {
    position: absolute;
    width: 100%;
    height: 7px;
    content: "";
    bottom: 0;
}
.page-sanitaer .header-img-height:after {
    background: #1f3d8b;
}
.page-heizung .header-img-height:after {
    background: #dc0b2c;
}
.page-service .header-img-height:after, .page-referenzen .header-img-height:after, .page-ueber-uns .header-img-height:after, .page-kontakt .header-img-height:after {
    background: linear-gradient(90deg, #1f3d8b 50%, #dc0b2c 50.00001%);
}
.res-header-image .sloganBox .sloganbox-background, .res-header-image .sloganBox .sloganbox-background h1, .res-header-image .sloganBox .sloganbox-background h2, .res-header-image .sloganBox .sloganbox-background h3{
    color: #000;
}
.res-header-image .sloganbox-background{
	box-shadow: 0 0.2rem 0.8rem rgb(0 0 0 / 8%) !important;
    position: relative;
}
.res-header-image .sloganbox-background:before{
    position: absolute;
    content: "";
    background-color: #1f3d8b;
    width: 5px;
    height: 80%;
    top: -20%;
    left: 0.5%;
    transform: rotate(16deg);
	box-shadow: 0.1rem 0.2rem 0.2rem rgb(0 0 0 / 15%);
}
.res-header-image .sloganbox-background:after{
    position: absolute;
    content: "";
    background-color: #dc0b2c;
    width: 5px;
    height: 80%;
    top: -10%;
    left: 1.5%;
    transform: rotate(16deg);
    z-index: -1;
	box-shadow: 0.1rem 0.2rem 0.2rem rgb(0 0 0 / 15%);
}
.teamBox{
	position: relative;
}
.teamBox .teamContent{
	position: absolute;
	top: 0;
	display: flex;
	flex-direction: column;
    transition: all .3s ease-in-out;
	background-color: rgba(30,156,216,0.0);
	width: 100%;
	color: #fff;
}
.teamBox:hover .teamContent{
	background-color: rgba(30,156,216,0.90);
}
.teamBox .teamContent div{
	opacity: 0;
	display: none;
}
.teamBox:hover .teamContent div{
	opacity: 1;
	display: block;
}
.teamBox .teamContent h3{
	margin-top: auto;
	display: block
}
.res-boxes .teamContent .team-infos .team-contact-icon-link i, .res-boxes .teamContent .team-infos .team-social-icon-link i {
    margin-bottom: 0px;
	color: #fff;
}
.res-boxes .box-custom {
    background:#1e9cd8;
    border-radius: 0;
    color: #fff;
}
.res-boxes .boxlayout01 .box-content {
    padding-top: 25px;
    padding-left: 30px;
    padding-right: 25px;
    padding-bottom: 15px;
}
.btn {
    border-radius: 100px;
    padding: 10px 30px;
}
.btn-primary {
    border: 0;
	background: #1e9cd8!important;
    color: #fff;
}
.side-bar-box{
	color: #fff;
    border-radius: 100px 0 0 100px;
    background-color: #1f3d8b
}
.side-bar-box i {
	color: #fff;
}
.box-inner, .box-overlayer-bottom{
	position: relative;
}
.box-inner .fa-long-arrow-right{
	position: absolute;
	background-color: transparent;
    border-top: solid 2px #1f3d8b;
    border-left: solid 2px #1f3d8b;
	color: #dc0b2c;
	bottom: 0;
	right: 0;
	padding: 13px 10px 6px 16px;
	font-size: 120%;
	border-radius: 40px 0 0 0;
	margin-bottom: 0!important
}
.box-overlayer-bottom .fa-long-arrow-right{
	padding: 18px 12px 8px 21px;
	font-size: 140%;
	border-radius: 50px 0 0 0;
}

.box-overlayer-bottom .btn-text-link{
	padding: 0;
	font-size: 80%;
    margin: 0;
    color: #fff;
}
body.page-ueber-uns .box-item.boxlayout02 .box-overlayer {
    background: linear-gradient( rgba(0,0,0,0.0 ) 0%, rgba(0,0,0,0.5 ) 70%)!important;
}
.page-ueber-uns #kontakt{
    margin-bottom: 5rem;
}
.page-ueber-uns .res-content .res-widget-footer {
    font-size: 100%;
    line-height: 170%;
}
.box-inner .postContent h4{
	max-width: 80%
}
#footer-fade, .res-footer {
	background-color: #1e9cd8;
    color: #fff;
}.res-footer p, .page-kontakt p {
    font-size: 80%;
    line-height: 200%;
    margin-bottom: 1rem;
}
.res-widget-footer h4{
    font-size: 120%;
}
.res-footer a{
    color: #fff;
}
.res-footer .txt-textfield-btns{
padding: 0!important;
}
body .res-navtab.res-navtab.sticky-subnav {
	padding-top: 0.5rem!important;
	padding-bottom: 0.5rem!important;
}
.res-navtab .tabs .nav-link {
    background: transparent;
}
#res-boxes-block_620d0ff317f30 h3{
	font-size: 120%
}
#res-boxes-block_620d0ff317f30 p{
	font-size: 90%;
	line-height: 130%;
	margin-bottom: 0!important;
}
.brand-color, .res-nav-section li a:hover, li.active > a.nav-link, li.active .current-menu-item > a.dropdown-item, a:hover {
    color: #dc0b2c;
}
.res-table h4{	
	position: absolute;
	top: -1.5rem;
}
.res-table .table-spalte01{	
	max-width: 20%;
}
.tableBox.p-md-2:first-of-type{
	padding-left: 0!important;
}
@media only screen and (max-width: 1400px) {
h1 { font-size: 150%}
.res-header-image .sloganbox-background {
    padding: 1.2rem 2rem;
}
.res-header-image .btn {
    border-radius: 100px;
    padding: 8px 25px;
	font-size: 70%
} 
.logo img {
    width: 230px;
}
body .navbar-expand-md .navbar-nav a.nav-link {
    padding-left: 0;
    padding-right: 1.6rem;
	font-size: 80%
}.res-navtab .tabs-acf .tab-links .nav-link {
    font-size: 80%;
}
.container-fluid {
    max-width: 90%;
}
}
@media only screen and (max-width: 1200px) {
.res-navtab span {
    padding-right: 15px;
}
.res-fixnav.show .res-nav li a {
    font-size: 80%;
}
.logo img {
    width: 200px;
}
.res-footer address, .res-footer .txt-textfield, .res-footer .footer-links{
    font-size: 85%;
}
.res-footer .res-widget-footer h4{
    font-size: 100%;
}
}

@media only screen and (max-width: 1400px) and (min-width: 960px) {
.sloganBox .col-md-6 {	
    flex: 0 0 60%;
    max-width: 60%;	
}	
.res-header-image .sloganBox p {
    font-size: 80%;
}
.res-header .col-md-8 {
    flex: 0 0 75%;
    max-width: 75%;
}
}	
@media only screen and (max-width: 970px) {
.res-content {
    margin-top: 60px;
}
.res-header-image .sloganbox-background{
	background: rgba(255,255,255,0.9);    
}
.side-bar{
    background: #1f3d8b;
 }
.res-nav .logo-mobile {
    padding: 10px 0 10px 7%;
}
close.open span {
    left: 0px!important;
}
.mobile-x-close span {
    background: #dc0b2c;
    top: 15px;
}
.mobile-x-close span:first-of-type {
    background: #1f3d8b;
    top: 5px;
}
.mobile-x-close span:last-of-type {
    top: 15px;
}
.mobile-x-close span:nth-child(2) {
    display: none;
}
.res-header-image .sloganbox-background:before{
    width: 4px;
    height: 80%;
    top: -20%;
    left: 0.5%;
}
.res-header-image .sloganbox-background:after{
    width: 4px;
    height: 80%;
    top: -10%;
    left: 1.5%;
}
h1, h2, h3, h4, h5, h6 {
    line-height: 105%;
}
.pb-4, .py-4 {
    padding-bottom: 3.5rem !important;
}
.mb-5, .my-5 {
    margin-bottom: 4rem !important;
}
.res-footer.mt-5{
	margin-top: 4rem!important;	
}
.res-footer h4{
	margin-top: 1rem!important;	
}	
.res-widget-footer {
    padding-top: 0px;
}
.footer-logo-img{
	margin-top: 1rem
}
	.side-bar .justify-content-around{
		margin-right: 25%
	}
}
.pum-theme-525 .pum-content + .pum-close, .pum-theme-enterprise-blue .pum-content + .pum-close {
    background-color:#e2231b;
}
.pum-theme-525 .pum-container, .pum-theme-enterprise-blue .pum-container {
    padding: 55px;
}
.pum-container p {
    margin-bottom: 0;
}
.pum-theme-754 .pum-container, .pum-theme-enterprise-blue .pum-container {
    border-radius: 0px;
}
@media only screen and (min-width: 970px){
.pum-container .pum-content{
	font-size: 105%;
}
}
@media only screen and (min-width: 1650px){
.pum-container .pum-content{
	font-size: 140%;
}
}
@media only screen and (min-width: 1750px){
.pum-container .pum-content{
	font-size: 150%;
}
}
@media only screen and (max-width: 1440px){
.pum-container .mb-3{
	margin-bottom: 2rem!important;
}
.pum-container .btn{
    padding: 0.3rem 1.7rem;
    font-size: 1rem;
}
}
@media only screen and (max-width: 970px){
.pum-container{
	max-width: 90%!important;
}
.pum-container .pum-content{
	text-align: center;
}
.pum-container .mb-3{
	margin-bottom: 1.5rem!important;
}
.pum-theme-525 .pum-container, .pum-theme-enterprise-blue .pum-container {
    padding: 35px;
}
}