/*
Theme Name: P3 Wordpress Theme
Theme URI: https://p3creation.com
Author: P3 CREATION GROUP
Author URI: https://p3creation.com
Description: 
Version: 0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: p3-homepage
Tags: 
Domain Path: /languages
*/



html {
    scroll-behavior: smooth;
}

/* Preloader */

	#preloader {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1071;
		background-color: #fff;
	}
	body.admin-bar #preloader {
		top: 46px;
	}
	@media (min-width: 783px) {
		body.admin-bar #preloader {
			top: 32px;
		}
	}

	#preloader > div {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}

	#preloader img {
		-webkit-animation: shake .5s linear 0s infinite both;
		animation: shake .5s linear 0s infinite both;
	}

	@-webkit-keyframes shake {
		0%,
		100% {
			-webkit-transform: translateY(0);
		}
		40% {
			-webkit-transform: translateY(-.3125rem);
		}
	}
	@keyframes shake {
		0%,
		100% {
			transform: translateY(0);
		}
		40% {
			transform: translateY(-.3125rem);
		}
	}


/* Header / Header-Menu */

	header #header-menu li.menu-item.dropdown:focus,
	header #header-menu a.nav-link:focus{
		outline: 0;
	}

	.navbar-fullsize .navbar-collapse .mobile-container {
		display: flex;
		width: 100%;
	}

	/* Header 1 */

		header #header-icons {
		    border-left: 1px solid #eee;
	    	margin-left: 10px;
	    	padding-left: 15px;
		}

		header #header-icons > a {
		    display: inline-block;
			width: 1.25rem;
			text-align: center;
			padding: .3125rem 0;
			border-radius: .25rem;
		}

		header #header-icons > a + a {
			margin-left: .625rem;
		}

		header #header-icons > a > svg {
		    max-height: 1.25rem;
		}


/* Typography */

	h1,
	.h1 {
		font-size: calc(1.4rem + 1vw);
	}

	h2,
	.h2 {
		font-size: calc(1.2rem + 1vw);
	}

	h3,
	.h3 {
		font-size: calc(1rem + 1vw);
	}

	h4,
	.h4 {
		font-size: calc(1rem + 0.5vw);
	}

	h5,
	.h5 {
		font-size: calc(1rem + 0.2vw);
	}

	h6,
	.h6 {
		font-size: 1rem;
	}

	.lead {
		font-size: 1.25rem !important;
	}

	a:hover {
		text-decoration: none;
	}

	hr.divider {
		margin-top: 2.8125rem;
		margin-bottom: 2.8125rem;
	}


/* Navbar (Groovy not in use) */

	.navbar.navbar-light .navbar-nav .current-menu-item > a,
	.navbar.navbar-light .navbar-nav a.active,
	.navbar.navbar-light .navbar-nav a.show,
	.navbar.navbar-light .navbar-nav .show > a {
		color: rgba(0,0,0,.9);
	}

	.navbar.navbar-light .navbar-nav a {
		color: rgba(0,0,0,.5);
	}

	@media (min-width: 992px) {
		.navbar.navbar-expand-lg .navbar-nav a {
			padding-right: .5rem;
			padding-left: .5rem;
		}
	}
	.navbar .navbar-nav a {
		padding-right: 0;
		padding-left: 0;
	}
	.navbar .menu-item > a {
		display: block;
		padding: .5rem 1rem;
	}

	.navbar .navbar-brand {
		max-width: 75%;
	}

	.navbar .navbar-toggler {
		border: 0;
		background-color: transparent;
	}
	.navbar .navbar-toggler:hover,
	.navbar .navbar-toggler:focus {
		outline: 0;
	}

	.navbar .icon-bar {
		display: block;
		margin-top: 4px;
		width: 22px; 
		height: 2px;
		background-color: #000;
		transition: opacity .2s, transform .2s;
	}
	.navbar .navbar-toggler .top-bar {
		transform: rotate(45deg);
		transform-origin: 10% 10%;
	}
	.navbar .navbar-toggler .middle-bar {
		opacity: 0;
	}
	.navbar .navbar-toggler .bottom-bar {
		transform: rotate(-45deg);
		transform-origin: 10% 90%;
	}
	.navbar .navbar-toggler.collapsed .top-bar {
		transform: rotate(0);
	}
	.navbar .navbar-toggler.collapsed .middle-bar {
		opacity: 1;
	}
	.navbar .navbar-toggler.collapsed .bottom-bar {
		transform: rotate(0);
	}



/* Images */

	img {
		max-width: 100%;
		height: auto;
	}
	svg {
		width: 100%;
		height: auto;
	}

	img.injectable {
		visibility: hidden;
	}


	.svg-wrap {
		display: inline-block;
		position: relative;
		width: 100%;
		height: 100%;
	}

	.svg-wrap > canvas {
		display: block;
		visibility: hidden;
		height: 100%;
	}

	.svg-wrap > svg {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
	}

/* iFrames  */

	iframe{
		max-width: 100%;
	}

/* Google reCAPTCHA */

	.grecaptcha-badge {
		visibility: hidden;
	}

/* Containers */

	@media (min-width: 1200px) {
		.container {
			max-width: 1440px;
		}
	}

/* Borlabs Cookie  */

.borlabs-cookie-preference,
.borlabs-cookie-preference a{
	cursor: pointer;
}




	/* Contact 2 */

	#contact-2 .full-size-map{
		position: absolute;
	    width: 100%;
	    left: 0;
	    height: 300px;
	}

	#contact-2 .full-size-map iframe{
		width: 100%;
		height: 100%;
	}

	#contact-2 #offset{
		padding-top: 270px;
	}

	#contact-2 #contact-social-media > a{
	    display: inline-block;
	    margin: 0 5px 5px 0;
	    border: 0;
	    border-radius: 0;
	    width: 45px;
	    height: 50px;
	    transition: background-color .125s ease-in-out;
	}

	#contact-2 #contact-social-media {
    	padding: 0;
	}


/* Modals */

	.modal-dialog.modal-xl {
		max-height: calc(100vh - 2rem - 30px);
	}
	body.admin-bar .modal-dialog.modal-xl {
		max-height: calc(100vh - 2rem - 76px);
	}
	@media (min-width: 783px) {
		body.admin-bar .modal-dialog.modal-xl {
			max-height: calc(100vh - 2rem - 62px);
		}
	}

	.modal-content {
		border: 0;
	}

	@media (min-width: 1200px) {
		.modal-xl {
			max-width: 1410px;
		}
	}


/* Glossary */

	.glossary{
	    background-color: #f5f5f5;
	    margin-bottom: 30px;
	    border: 0;
	    border-radius: 0;
	}

	.glossary ul{
	    padding-left: 40px;
	}

	.glossary ul li{
	    list-style: none;
	}

	.glossary ul li a{
		font-size: 20px;
	}

	/* Glossary Carousel */

	    #glossar-carousel,
	    #single-carousel{
	        margin-bottom: 10px;
	        border: 1px solid #c7c7c7;
	        padding: 5px;
	    }

	    #glossar-carousel .owl-stage-outer,
	    #glossar-carousel .owl-stage,
	    #glossar-carousel .owl-item,
	    #glossar-carousel .item,
	    #single-carousel .owl-stage-outer,
	    #single-carousel .owl-stage,
	    #single-carousel .owl-item,
	    #single-carousel .item {
	        height: 290px;
	    }

	    #glossar-carousel .owl-item a,
	    #single-carousel .owl-item a{
	        display: block;
	        width: 100%;
	        height: 100%;
	    }

	    #glossar-carousel .owl-item .item-image,
	    #single-carousel .owl-item .item-image{
	        width: 100%;
	        height: 100%;
	        background-size: contain;
	        background-position: center;
	        background-repeat: no-repeat;
	    }

	    #glossar-thumbnails,
	    #single-thumbnails{
	        display: flex;
	        flex-direction: row;
	        flex-wrap: wrap;
	        margin-left: -5px;
	        margin-right: -5px;
	    }

	    #glossar-thumbnails a,
	    #single-thumbnails a{
	        border: 1px solid #c7c7c7;
	        width: calc(14.28571% - 10px);
	        padding: 3px;
	        margin-bottom: 10px;
	        margin-left: 5px;
	        margin-right: 5px;
	    }

	    #glossar-thumbnails a img,
	    #single-thumbnails a img{
	        opacity: 0.5;
	    }

	    #glossar-thumbnails a:hover,
	    #single-thumbnails a: hover{
	        border: 1px solid #005d9a;
	    }

	    #glossar-thumbnails a:hover img,
	    #single-thumbnails a: hover img{
	        opacity: 1;
	    }

	    #glossar-thumbnails + #author,
	    #single-thumbnails + #author{
	        margin-top: 3rem;
	    }


/* -------------------------------------------------------------------------- */
/* P3-HP (Shortcode-Templates > Post) */
/* -------------------------------------------------------------------------- */

	/* -------------*/
	/* post-masonry */
	/* ------------ */

	.post-masonry-layout-standard-1 .grid-item,
	.post-masonry-layout-standard-1 .grid-sizer{
		width: calc(33% - 15px);
	}
	
	.post-masonry-layout-standard-1 .gutter-sizer{
		width: 15px;
	}


/* -------------------------------------------------------------------------- */
/* P3-HP (Shortcode-Templates > Term) */
/* -------------------------------------------------------------------------- */


	/* ----------*/
	/* term-list */
	/* --------- */

	ul.term-list-layout-standard-1{
	    list-style: none !important;
	    padding-left: 0 !important;
	    border-bottom: 0 !important;
	    font-size: unset !important;
	}

	ul.term-list-layout-standard-1 li{
	    padding: unset !important;
	    border-top: 0 !important;
	    line-height: unset !important;
    	display: inline-flex;
	}

	ul.term-list-layout-standard-1 li a,
	ul.term-list-layout-standard-1 li a:hover{
	    margin-right: 10px;
	    border-radius: 25px !important;
	    margin-bottom: 10px;
	}



/* -------------------------------------------------------------------------- */
/* P3-HP (Basics) */
/* -------------------------------------------------------------------------- */



/* Lightbox */
#lightbox {
	transform: translateY(25%);
}
html.admin-bar #lightbox {
	transform: translateY(25% + 46px);
}
@media (min-width: 783px) {
	html.admin-bar #lightbox {
		transform: translateY(25% + 32px);
	}
}




/* ----------------------- */
/* 404-Seite */
/* ----------------------- */

	#page404{
		margin: 20vh 0;
	}

	#page404 h1{
		font-size: 10rem;
		line-height: 10rem;
	}

/* ----------------------- */
/* Archive */
/* ----------------------- */

	/* Archive-Cards */

		#archive.archive-cards article{
			margin-bottom: 1.25rem;
		    background-color: #fff;
		    box-shadow: 0 0.125rem 0.625rem 0 rgba(0,0,0,.1);
		    transition: all 0.5s ease;
		    position: inherit;
		}


		#archive.archive-cards article:hover{
			margin-bottom: 1.25rem;
		    background-color: #fff;
		    box-shadow: 0 0.3rem 0.9rem 0 rgba(0,0,0,.4);
		    transition: all 0.5s ease;
		}

		#archive.archive-cards article h2.archive-title{
		    padding-left: 30px;
		    padding-right: 30px;
		    padding-top: 30px;
		    margin: 0;
		}

		#archive.archive-cards article div.archive-content{
			padding: 15px 30px;
		}


	/* Archive-Timeline */


		#archive.archive-timeline:before {
		    content: "";
		    position: absolute;
		    top: 30px;
		    bottom: 0;
		    width: 100%;
		    height: calc(100% - 60px)!important;
		    border-left-width: 2px;
		    border-left-style: solid;
		    border-left-color: rgba(52, 40, 104, .1);
		    z-index: -1;
		}

		#archive.archive-timeline article + #archive.archive-timeline article{
		    margin-top: 45px;
		}

		#archive.archive-timeline article{
		    float: right;
		    clear: right;
		    width: calc(100% - 30px);
		    margin-bottom: 30px;
		    border: 0;
		    border-radius: 0;
		    background-color: #fff;
		    box-shadow: 0 0.125rem 0.625rem 0 rgb(0 0 0 / 10%);
		    transition: all 0.5s ease;
		}

		#archive.archive-timeline article:hover{
		    box-shadow: 0 0.125rem 0.625rem 0 rgb(0 0 0 / 30%);
		    transition: all 0.5s ease;
		}

		#archive.archive-timeline article .archive-timeline-content{
			padding: 15px;
		}

		#archive.archive-timeline article img{
		    width: 100%;
		}

		#archive.archive-timeline article .card-date {
		    width: 66.66667%;
		    background-color: #fff;
		    padding-left: 15px;
		    padding-top: 15px;
		    margin-top: -25px;
		}

		#archive.archive-timeline article:after {
		    content: "";
		    position: absolute;
		    left: -30px;
		    border-top: 20px solid rgba(0,0,0,.125);
		    border-right: 20px solid transparent;
		    border-left: 20px solid transparent;
		    transform: rotate(90deg);
		    margin-top: 45px;
		}

		#archive.archive-timeline article:before {
		    content: "";
		    position: absolute;
		    left: -35px;
		    width: 10px;
		    height: 10px;
		    background-color: #0077be;
		    border-radius: 10px;
		    margin-top: 50px;
		    border: 2px solid #fff;
		}

		@media (min-width: 1200px) {

		    /* Timeline */
		    #archive.archive-timeline:before {
		        width: 50%;
		        border-right-width: 2px;
		        border-right-style: solid;
		        border-right-color: rgba(52, 40, 104, .1);
		        z-index: -1;
		        left: 0;
		        border-left: 0;
		    }

		    #archive.archive-timeline article{
		        float: left;
		        clear: left;
		        width: calc(50% - 30px);
		    }

		    #archive.archive-timeline article:after {
		        right: -30px;
		        left: auto;
		        transform: rotate(-90deg);
		    }

		    #archive.archive-timeline article:before {
		        right: -35px;
		        left: auto;
		    }


		    #archive.archive-timeline article:nth-of-type(even){
		        float: right;
		        clear: right;
		    }

		    #archive.archive-timeline article:nth-of-type(even):after {
		        left: -30px;
		        border-top: 20px solid rgba(0,0,0,.125);
		        border-right: 20px solid transparent;
		        border-left: 20px solid transparent;
		        transform: rotate(90deg);
		        margin-top: 45px;
		        right: auto;
		    }

		    #archive.archive-timeline article:nth-of-type(even):before {
		        left: -35px;
		        width: 10px;
		        height: 10px;
		    }

		}


	/* Archive-Datum (Monat / Jahr) */

		.year-wrap,
		.month-wrap{
		    clear: both;
		    text-align: center;
		    margin-bottom: 30px;
		}

		.year-wrap .year {
		    background-color: #7d878c;
		    padding: 10px 45px;
		    color: #fff;
		    border-radius: 25px;
		}

		.month-wrap .month {
		    background-color: #0077be;
		    padding: 5px 10px;
		    color: #fff;
		    border-radius: 25px;
		}

	/* Archive-Pagnierung */

		#archive #paginate{
		    clear: both;
		}

		#archive #paginate .page-numbers.current,
		#archive #paginate a{
		    padding: 6px 12px;
		    background-color: #f5f5f5;
		}


	/* Archive-Sidebar */

		#archive-sidebar ul{
			list-style: none;
		    font-size: 0.9286em;
		    border-bottom: 1px solid #ededed;
			margin: 0;
		    padding: 0;
		}

		#archive-sidebar li{
			padding: 8px 0 8px 15px;
			line-height: 1.4;
		    border-top: 1px solid #ededed;
		}


/* Single Post */

article#single .single-tags ul{
	padding-left: 0;
	list-style: none;
    display: flex;
    flex-wrap: wrap;
}

article#single .single-tags ul li{
	list-style: none;
}

article#single .single-tags ul li .badge{
	font-size: 90%;
    margin-right: 3px;
    margin-bottom: 2px;
}

article#single .single-date-author .user-contact > a,
article#single .single-date-author .user-contact > a:hover{
	padding: 4px 8px !important;
	display: inline-block;
}

article#single .single-content{
	box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px;
	margin-bottom: 90px;
}

article#single .single-content .single-content-title,
article#single .single-content .single-content-body{
	padding: 30px;
}

article#single .single-comments h3#comments,
article#single .single-comments h3#reply-title{
	font-size: calc(0.25rem + 1vw);
}

article#single .single-comments ol.commentlist{
    list-style: none;
    padding-left: 0;
    margin: 30px 0;
}

article#single .single-comments ol.commentlist li{
    background-color: #f5f5f5;
    padding: 30px;
    margin-bottom: 15px;
}

article#single .single-comments p.comment-form-comment{
    display: flex;
    flex-direction: column;
}



/* Single Event */

article#event .single-content {
    box-shadow: rgb(17 12 46 / 15%) 0px 48px 100px 0px;
    margin-bottom: 90px;
}

article#event .single-content .single-content-body,
article#event .single-content .dates,
article#event .single-content .online-anmeldung,
article#event .single-content .downloads {
    padding: 30px;
}


/* Single Event */

article#event .single-event-date .date-single{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	background-color: #dbdbdb;
}

article#event .single-event-date .date-single .day{
	padding: 1.25rem 1.25rem 0 1.25rem;
	font-size: 3rem;
}

article#event .single-event-date .date-single .month{
	padding: 0 1.25rem 1.25rem 1.25rem;
	font-size: 1.5rem;
}

article#event .single-event-date .date-single .year{
	background-color: #cbcbcb;
	text-align: center;
	padding: 15px;
	width: 100%;
}

article#event .single-event-date > .date-period{
	display: flex;
    align-items: center;
    justify-content: space-evenly;
    flex-wrap: nowrap;
}

article#event .single-event-date > .date-period:before{
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f30b";
	position: absolute;
    top: 1.75rem;
    z-index: 1;
}

article#event .single-event-date > .date-period .from{
	border-right: 1px solid rgba(255,255,255,0.2);
	background-color: #dbdbdb;
}

article#event .single-event-date > .date-period .to{
	border-left: 1px solid rgba(0,0,0,0.1);
	background-color: #dbdbdb;
}

article#event .single-event-date .date-period .day{
	padding: .75rem .75rem 0 .75rem;
	font-size: 1.5rem;
	text-align: center;
}

article#event .single-event-date .date-period .month{
	padding: 0 .75rem .75rem .75rem;
	text-align: center;
}

article#event .single-event-date .date-period .year{
	background-color: #cbcbcb;
	text-align: center;
	padding: 15px;
	width: 100%;
}

article#event .dates{
	padding-left: 0;
	list-style: none; 
}

article#event .dates li{
	list-style: none;
}

article#event .dates .card-date{
    display: flex;
    flex-direction: column;
    justify-content: center;
	padding: 1.25rem;
	background-color: #dbdbdb;
}

article#event .dates .card-date > .row{
	display: flex;
    align-items: center;
    justify-content: space-evenly;
}



/* Masonry */
.grid-sizer,
.grid-item {
	width: 22%;
}

.grid-item {
	margin-bottom: 10px;
}

.gutter-sizer {
	width: 10px;
}

/* Lazyload */
.btn-lazyload .spinner-border {
	display: none;
}

.btn-lazyload.busy .spinner-border {
	display: inherit;
}

/* Google Maps iFrame */
#google-maps-iframe iframe {
	width: 100%;
}

/* Sticky Sidebars */

@media (min-width: 1024px) {
	.sticky-sidebar-item-lg {
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	}
}

@media (min-width: 1200px) {
	.sticky-sidebar-item-xl {
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	}
}

.sticky-element {
  position: sticky;
  top: 160px;
  padding: 0 15px;
}