/*
Theme Name: netzwerk3
Description: Themeumsetzung für netzwerk3
Version: 1.0.2
Author: wp-entwickler.at | Rene Souri, Hannes Zaunschirm
Author URI: https://wp-entwickler.at
*/

/*
 * -- MAIN STYLES --
 */
/* source-sans-3-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  src: url('/wp-content/themes/netzwerk3/fonts/source-sans-3-v15-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* source-sans-3-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 500;
  src: url('/wp-content/themes/netzwerk3/fonts/source-sans-3-v15-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* source-sans-3-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  src: url('/wp-content/themes/netzwerk3/fonts/source-sans-3-v15-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* source-sans-3-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  src: url('/wp-content/themes/netzwerk3/fonts/source-sans-3-v15-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* source-sans-3-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 900;
  src: url('/wp-content/themes/netzwerk3/fonts/source-sans-3-v15-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

 
html {
    font-family: "Source Sans 3";
    font-weight: 400;
    font-size: 18pt;
	color: #666;
    text-rendering: optimizeLegibility;

    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

h1 {
	font-size: 32px;
}
h2 {
	font-size: 24pt;
	margin-top: 40px;
	margin-bottom: 40px;
}
h3 {
	font-size: 22px;
	margin-bottom: 0;
}
h2 ~ p {
	margin-top: 0;
}
h2:first-child {
	margin-top: 0;
}
p {
	font-weight: 400;
	font-size: 18pt;
}
.content p {
	line-height: 1.5;
}
img {
	max-width: 100%;
	height: auto;
}

a:link {
    color: #f68c1e;
    font-weight: 600;
}
a:hover,
a:focus,
a:visited:hover,
a:visited:focus {
    color: #CA6A06;
}
a:visited {
    color: #f68c1e;
}
.static-link {
	text-decoration: none;
}
/*
 * -- HEADER STYLES --
 */
.page-header a:link,
.static-link:link {
    color: #333;
    font-weight: 500;
}
.page-header a:hover,
.page-header a:focus,
.static-link:hover,
.static-link:focus {
    color: #333;
}
.page-header a:visited,
.static-link:visited {
    color: #333;
}
.menu-footer-container .pure-menu-active > .pure-menu-link,
.menu-footer-container .pure-menu-link:focus,
.menu-footer-container .pure-menu-link:hover {
    color: #333;
}

#nav {
    white-space: normal;
}
#nav .pure-menu-list {
	font-size: 18px;
}
.page-header .pure-menu-selected > .pure-menu-link {
	font-weight: 600;
}
.page-header .pure-menu-item .pure-menu-link:hover,
.menu-hauptmenue-container .pure-menu-children {
	background-color: transparent;
}
@media screen and (min-width: 1200px) {
	.menu-hauptmenue-container .pure-menu-children .pure-menu-link:focus,
	.menu-hauptmenue-container .pure-menu-children .pure-menu-link:active {
		background-color: #505050;
	}

	.menu-hauptmenue-container .pure-menu-children .pure-menu-item {
		background-color: #505050;
		margin-top: 8px;
	}
}
.menu-hauptmenue-container .pure-menu-link:focus,
.menu-hauptmenue-container .pure-menu-link:active {
	background-color: unset;
}
.menu-hauptmenue-container .pure-menu-children .pure-menu-item > .pure-menu-link {
	color: #fff;
	font-weight: bold;
	padding: 4px 10px;
}

/*
Adjustments for content
 */
.article-content ul.accordion {
	list-style: none;
	padding-left: 0;
}
.article-content ul {
	list-style: disc;
	padding-left: 18px;
}
.article-content ul:not( .accordion ) li {
	line-height: 2;
	font-size: smaller;
}
.article-content blockquote {
	margin: 0;
	padding: 30px 40px;
	background-color: #f0f0f0;
}
.article-content blockquote h1,
.article-content blockquote h2,
.article-content blockquote h3,
.article-content blockquote h4,
.article-content blockquote h5 {
	margin-top: 0;
	font-weight: 400;
}
.article-content blockquote p {
	font-weight: 400;
	line-height: 1.5;
	font-size: smaller;
}
.article-content blockquote p:last-child,
.article-content .teasertext p:last-child {
	margin-top: 50px
}
.article-content blockquote p > a,
.article-content .teasertext a {
	padding: 10px 50px;
	color: #6f6f6f;
	border: 3px solid #bbb;
	font-weight: 500;
	text-decoration: none;
	margin-top: 20px;
}
.article-content blockquote p > a:hover,
.article-content .teasertext a:hover {
	color: #393939;
	border-color: #909090;
}
.article-content .headlinetext {
	font-size: 60pt;
	font-weight: 400;
	color: #666;
}
/* TODO check if we can get the download icon. the use of font-awesome just for one icon is not good! */
.article-content .download-list p:before {
	content: '\f316';
	font-family: "Dashicons";
	font-weight: 900;
	margin-right: 10px;
	color: #fe545d;
	vertical-align: middle;
}
.article-content .download-list a {
	font-weight: bold;
	color: #000;
	text-decoration: none;
	opacity: .8;
}
.article-content .download-list a:hover {
	text-decoration: underline;
	opacity: 1;
}
@media screen and (min-width: 1100px) {
	.article-content .zitat {
		max-width: 40%;
	}
}
.article-content .zitat img {
	-webkit-border-radius: 50%;
	   -moz-border-radius: 50%;
			border-radius: 50%;
	width: 150px;
	height: 150px;
	object-fit: contain;
	object-position: center;
}


/*
 * -- BANNER --
 * The top banner with the headings.
 */
.banner {
    text-align: left;
    width: 100%;
	padding-top: 40px;
    margin-bottom: 40px;

    border-bottom: 2px solid #ccc;
	border-bottom-color: rgba( 0, 0, 0, .2 );
}
.page-wrapper .banner-head p {
	line-height: 48px;
}
.page-wrapper .banner-head p,
.page-wrapper .banner-head div {
    color: #424242;
	font-size: 24pt;
	margin-top: 0;
	margin-bottom: 20px;
	font-weight: 500;
}
.banner p {
	margin-top: 0;
	margin-bottom: 0;
	color: #434343;
	padding-right: 1.5em;
	font-size: 18pt;
	font-weight: 400;
}

/*
 * -- CONTENT STYLES --
 */
.is-uppercase {
    text-transform: uppercase;
}
main.page-wrapper {
	margin-bottom: 1em;
}
.page-wrapper,
footer {
    max-width: 1366px;
    margin: 0 auto;
}
.article-wrapper,
.page-header {
	margin: 0 auto;
}
.page-header .pure-menu {
    align-items: center;
}
.content-wrapper {
	padding-bottom: 45px;
}
.content {
    padding: 0 40px;
}
.sidebar,
.article-content {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.is-centered {
	text-align: center;
	margin: 0 auto;
}

.content-wrapper .imageblock-centered,
.content-wrapper .imageblock-alt {
	width: 100%;
	display: flex;
	align-items: center;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;
}
.content-wrapper .imageblock-centered:before {
	content: '';
	width: 33.3334%;
}
.content-wrapper .imageblock-centered p,
.content-wrapper .imageblock-alt p {
	width: 33.3334%;
	padding: 10px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.content-wrapper .imageblock-alt p:first-child {
	padding-left: 0;
}
.content-wrapper .imageblock-alt p:last-child,
.content-wrapper .imageblock-centered p:last-child {
	padding-right: 0;
}

/*
 * -- FRONTPAGE --
 */
.icon-box {
    vertical-align: middle;
    padding: 20px 20px 70px 20px;
	align-self: baseline;

    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}
.icon-box .static-link .icon {
    align-self: flex-start;
}
.sidebar .icon-box .icon {
	align-self: center;
}
.icon-box .text {
    font-size: .8em;
}
.icon-box .text h4 {
	margin: 0;
}
.icon-box .text p {
	margin: 0;
}
.icon-box .static-link > .pure-g {
	align-items: baseline;
}
.has-color-orange {
    color: #f68c1e !important;
}
.sidebar .has-color-orange a:visited {
	color: #f68c1e;
}
.has-border-orange {
    color: #FAF9FA;
    border: 1px solid #f68c1e;
    -webkit-border-radius: 50%;
       -moz-border-radius: 50%;
            border-radius: 50%;
}
.sidebar .has-border-orange {
	font-size: 1.5em;
}

.page-wrapper,
.page-header,
.article-wrapper,
.banner {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.clearfix:after {
    content: '.';
    visibility: hidden;
    display: block;
    height: 0;
    clear: both;
}

/**
 * NOTE: only use hyphens if they are supported
 *       otherwise our grid gets messy.
 */
@supports ( hyphens: auto )
	or ( -ms-hyphens: auto )
	or ( -moz-hyphens: auto )
	or ( -webkit-hyphens: auto ) {
    /*
	https://css-tricks.com/almanac/properties/h/hyphenate/https://caniuse.com/#search=hyphens
	 */
    .hyphenate {
        word-wrap: break-word;
        overflow-wrap: break-word;

        -webkit-hyphens: auto;
           -moz-hyphens: auto;
            -ms-hyphens: auto;
                hyphens: auto;
    }
}

/*
 * -- ACCORDION --
 * https://codepen.io/abergin/pen/ihlDf
 */
.accordion .acc-item i:before {
	transition: all 0.25s ease-in-out;
}
.accordion {
	list-style: none;
	margin-bottom: 45px;
}
.accordion .acc-item {
	animation: flipdown 0.5s ease both;

	position: relative;
	margin: 0;
	padding: 18px 0 4px;
	border-top: 1px solid #dce7eb;
}
.accordion .acc-item {
	border-bottom: 1px solid #dce7eb
}
.accordion .acc-item i {
	position: absolute;
	transform: translateX( -40px );
	top: 1.5em;
	right: 0;
}
.accordion .acc-item i:before {
	content: '';
	position: absolute;
	width: 27px;
	height: 27px;
}
.accordion .acc-item input[type=checkbox] {
	position: absolute;
	cursor: pointer;
	width: 100%;
	height: 2.5em;
	z-index: 1;
	opacity: 0;
}
.accordion .acc-item input[type=checkbox]:checked ~ p,
.accordion .acc-item input[type=checkbox]:checked ~ div,
.accordion .acc-item input[type=checkbox]:checked ~ ul,
.accordion .acc-item input[type=checkbox]:checked ~ ol {
	margin-top: 0;
	max-height: 0;
	opacity: 0;
	transform: translate(0, 50%);
	display: none;
}

@keyframes flipdown {
	0% {
		opacity: 0;
		transform-origin: top center;
		transform: rotateX(-90deg);
	}
	5% {
		opacity: 1;
	}
	80% {
		transform: rotateX(8deg);
	}
	83% {
		transform: rotateX(6deg);
	}
	92% {
		transform: rotateX(-3deg);
	}
	100% {
		transform-origin: top center;
		transform: rotateX(0deg);
	}
}
.accordion .acc-item input[type=checkbox] ~ .acc-heading {
	opacity: 1;
}
.accordion .acc-item input[type=checkbox]:checked ~ .acc-heading {
	opacity: .6;
}
.acc-heading {
	cursor: pointer;
	margin: 10px 0;
	padding-right: 2em;

	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.acc-subheading {
	font-weight: 600;
}

/*
 * -- 3er-BOX --
 */
.box {
	padding: 1em;
	display: flex !important;
	flex-grow: 1;
	flex-direction: column;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.box img {
	margin: auto;
}
.box.is-vertical {
	justify-content: center;
}

/*
 * -- FORM --
 */
.pure-form {
	font-size: 18px;
}
.pure-form input:not(.wpcf7-submit),
.pure-form textarea {
	width: 100%;
}
.pure-form input.wpcf7-submit {
	background-color: #f68c1e;
	color: white;
	font-weight: 700;
}
.pure-form .pure-u-1 {
	margin-top: .5em;
	margin-bottom: .5em;
}

/*
 * -- FOOTER --
 */
footer .info {
    background-color: #eaeaee;
}
footer .info section {
    padding: 1.5em 0;
    box-sizing: border-box;
	margin: 0 1.5em;
}
footer .info .subheading,
footer .info .textwidget p,
footer .info .pure-menu-item {
	font-size: 19px;
}
footer .info .subheading {
    color: #b8b8b8;
    margin: 0;
    line-height: 1.7;
}
footer .info .textwidget p {
	color: #b8b8b8;
}
footer .info .footer-widgets-wrapper a {
    color: #f8aa4a;
	text-decoration: none;
}
footer .info .footer-widgets-wrapper a:hover,
footer .info .footer-widgets-wrapper a:focus {
	color: #e88e1f;
}
footer .info .textwidget p {
	margin: 10px 0;
}
footer .info a.pure-menu-link {
    white-space: normal;
	padding: 2px 5px;
}
footer .info a.pure-menu-link:hover,
footer .info a.pure-menu-link:focus {
	background-color: transparent;
}
footer .copyright {
	margin-top: 1em;
    margin-bottom: 1em;
}
footer .copyright p {
	padding-left: 40px;
	padding-right: 40px;
	font-size: 16px;
}
footer .footer-widgets-wrapper {
    position: relative;
}
footer .footer-image-wrapper {
    position: absolute;
    bottom: 0;
    border: 10px solid #fff;
	border-bottom: 10px;
    border-radius: 50%;
    background-color: #fff;
}

/*
 * -- RESPSONSIVE STYLES --
 */
@media screen and (min-width: 768px) {
	footer .info section {
		margin: 0;
		/*padding: 1.5em;*/
	}
	.page-header {
		padding: 0 45px;
	}
    .content,
	.footer-widgets-wrapper {
        padding: 0 75px;
    }
	.footer-widgets-wrapper > section:not( :last-child ) {
		padding-right: 1.5em;
	}
	.content.pure-g {
		display: block;
	}
    .sidebar.sidebar-left {
        padding-right: 2em;
        float: left;
        /* NOTE float is used here to keep the left sidebar left but on mobile it will be below the content! */
    }

    .sidebar.sidebar-right {
        padding-left: 2em;
    }

    footer .footer-image-wrapper {
        transform: translate( -20%,50% );
        right: 0;
    }
    .banner {
		padding-top: 72px;
        padding-bottom: 72px;
    }
}
@media screen and (max-width: 767px) {
	footer .info section {
		border-bottom: 1px solid #c4c4c4;
	}
	footer .info section.pure-menu {
		border-bottom: none;
	}
    footer .footer-widgets-wrapper {
        margin-bottom: 5em !important;
    }
    footer .footer-image-wrapper {
        left: 50%;
		transform: translate(-50%,20%);
		bottom: -19%;
    }
    footer .copyright {
        margin-top: 3em;
    }
    .is-mobile-centered {
        text-align: center;
    }
	.article-content blockquote p > a,
	.article-content .teasertext a {
		padding: 5px 10px;
		border: 2px solid #bbb;
		font-size: .7em;
	}
	.article-content .headlinetext {
		font-size: 2em;
	}
}
@media screen and (max-width: 1023px) {
    .is-tablet-centered {
        text-align: center;
    }
	.icon-box .has-color-orange p {
		font-size: smaller;
	}
	.has-padding-mobile {
		padding-bottom: 2em;
	}
}
/* dirty little trick to prevent icons in sidebar from overlapping other text! */
@media screen and (min-width: 1024px) and (max-width: 1200px) {
    .has-space-left {
		padding-left: 20px;
        -webkit-box-sizing: border-box;
           -moz-box-sizing: border-box;
        		box-sizing: border-box;
    }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
	.icon-box:not( .is-tablet-centered ) .has-space-left {
		padding-left: 20px;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
				box-sizing: border-box;
	}
}
@media screen and (min-width: 524px) and (max-width: 567px ) {
	.has-padding-mobile {
		padding-left: 30px;
	}
}
