@charset "UTF-8";
/* CSS Document */

/**
 * Theme Name:     Gänßle + Hehr
 * Theme URI:      https://gaenssle-hehr.de/
 * Description:    Theme der ersten Generation für Gänßle + Hehr
 * Author:         Der Hersteller
 * Author URI:     https://www.der-hersteller.de
 * Version:        1.0
 */




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * GLOBALS                                                                       *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
html {
	height: 101%;
}
body {
	font: 62.5%/1.5em 'Inter-Regular', Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
    color: rgb(0,0,0);
}

a {
	transition: 0.5s ease-in-out; 
}
a, a:active, a:link, a:visited {
    color: inherit;
    text-decoration: none;
}

ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0;
}

.mobile-only {display: none !important}
.nowrap {white-space: nowrap;}
.uppercase {text-transform: uppercase;}

.background-cover {
	background-position: center center;
  	background-repeat: no-repeat;
  	background-size: cover;
}
.multiply {
	mix-blend-mode: multiply;
}
.shadow {
	box-shadow: 3px 3px 2px rgba(0,0,0,0.5);
}

.scale:hover,
.scale:focus {
    transform: scale(.95);
}

.box-sizing {
	box-sizing: border-box;
}
.hyphens {
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}
.flex {
	display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.stretch {
	align-self: stretch;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * TYPOSATZ                                                                      *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	margin: 0;
	padding: 0;
}

h1 {
}
#header h1 {
    font-family: 'Raleway-Regular';
    font-size: 2.8em;
    line-height: 1.4em;
    letter-spacing: -2%;
}
#main h1 {
    font-family: 'Inter-Bold';
    font-size: 6.4em;
    line-height: 1.1em;
    letter-spacing: 3%;
    text-transform: uppercase;
    margin-bottom: 1.25em;
}
#content-slider h1 {
    font-size: 8.3em;
    line-height: 1.05em;
    letter-spacing: 7%;
    text-transform: uppercase;
    color: rgb(255,255,255);
}
#content-slider h1 span.border {
    display: inline-block;
    position: relative;
}
#content-slider h1 span.border:after {
    content: "";
	position: absolute;
    bottom: -40px;
	left: 0;
	right: 0;
    height: 14px;
    background-color: rgb(255,255,255);
}
h2 {
    position: relative;
    font-size: 3.6em;
    line-height: 1.25em;
    margin-bottom: 2.3em;
}
#main #news h2 {
    margin-bottom: 0.9em;
}
#main p + h2 {
    margin-top: 3em;
}
h3 {
    font-size: 2.8em;
    line-height: 1.4em;
    margin-bottom: 1em;
}
h4 {
    font-family: 'Inter-Bold';
    font-size: 2.4em;
    line-height: 1.5em;
}
#main p + h4,
#main ul + h4 {
    margin-top: 3em;
}
h5 {}

#main h2:after,
#main #news p.news-date:after {
    content: "";
	position: absolute;
    bottom: -27px;
	left: 0;
	width: 489px;
    height: 14px;
    background-color: rgb(0,0,0);
}
#main #news p.news-date:after {
    bottom: -21px;
}
#main #news h2:after,
#main #counter h2:after {
    bottom: 0;
	width: 0;
    height: 0;
}
#main #counter h2 span {
    display: block;
    font-family: 'Inter-Bold';
    font-size: 3.3em;
    line-height: 1.1em;
}

p, #main ul {
    margin: 0;
    padding: 0;
}
#footer p {
    font-size: 1.6em;
    line-height: 1.4em;
    letter-spacing: 10%;
}
#main p, #main ul {
    font-size: 2.4em;
    line-height: 1.5em;
    margin-bottom: 1.5em;
}
#main #news p.news-date {
    position: relative;
    font-size: 2.8em;
    margin-bottom: 2.8em;
}
#main #news p.trigger,
#main .controls ul,
#main #projects .project-titel,
#main #projects ul.project-navigation,
#main .flex-list p {
    font-size: 2em;
}
#main #news p.trigger,
#main #projects ul.project-navigation li {
    padding: 0.4em 0;
}
#main #projects .project-titel {
    line-height: 1.15em;
}
#main ul {
	list-style: none;
	padding: 0 0 0 0;
}
#main ul li {
	padding-left: 1em;
    position: relative;
}
#main ul li:before {
	content: " • ";
	position: absolute;
	left: 0;
    top: 0;
	font-size: 1em;
}
#main .controls ul li,
#main #projects ul.project-navigation li {
	padding-left: 0;
}
#main .controls ul li:before,
#main #projects ul.project-navigation li:before {
    content: "";
}
i, em {
	font-style: normal;
}
b, strong {
    font-family: 'Inter-Bold';
	font-weight: normal;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * CONTAINER                                                                     *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.inside {
    margin: 0 auto;
    width: 167.6em;
    box-sizing: border-box;
}

#main .h1-wrapper {
    width: 32.93556085918855%; /* 552/1676 */
    text-align: right;
}
#content-slider .h1-wrapper {
    position: absolute;
    right: 18.8em;
    bottom: 24.2em;
    text-align: right;
    z-index: 100;
}

.banner {
    height: 62em;
    background-color: rgb(217,217,217);
    background-position: center center;
  	background-repeat: no-repeat;
  	background-size: cover;
    margin-bottom: 7.6em;
}

.flex-content {
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
.flex-content .left {
    width: 32.93556085918855%; /* 552/1676 */
}
.flex-content .right,
.flex-end .item {
    width: 62.76849642004774%; /* 1052/1676 */
}

.flex-end {
    display: flex;
    flex-direction: row;
	justify-content: flex-end;
	align-items: flex-start;
	flex-wrap: wrap;
}

/* GSAP Animationen */
#main {
    opacity: 0;
}
.h1-start-animated {
    margin-top: 6em;
    opacity: 0;
}
.no-js #main,
.no-js .h1-start-animated {
    opacity: 1;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * HEADER                                                                        *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#header {
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: center;
    box-shadow: 0 4px 4px 0 rgba(0,0,0,0.25);
    background: rgb(255,255,255);
    box-sizing: border-box;
    transition: 0.5s ease-in-out;
    z-index: 900;
}
#header, #footer {
    padding: 2em 6.4em;
}

#header.large {
    height: 16em;
}
#header.small {
    height: 11.6em;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * MAIN                                                                          *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#main {
    padding-top: 25.6em;
    padding-bottom: 15.6em;
}

#main a {
    position: relative;
    font-family: 'Inter-Bold';
}
#main a:after {
    content: "";
	position: absolute;
    bottom: -2px;
	left: 0;
	width: 0;
    height: 2px;
    background-color: rgb(0,0,0);
    transition: 0.4s ease-in-out;
}
#main a:hover:after,
#main a:active:after,
#main a:focus:after {
    width: 100%;
}
#main #news a,
#main .project-single .controls a,
#main #projects ul.project-navigation li a {
    font-family: 'Inter-Regular';
}
#main #news a:after {
    width: 100%;
}
#main .project-single .controls a:after,
#main #projects ul.project-navigation li a:after,
#awards .flex-list .list-item a:after {
    height: 0;
}
#main #news a:hover:after,
#main #news a:focus:after,
#main #news a:active:after {
    width: 0;
}

/* slides start */
#content-slider {
    position: fixed;
    height: 100vh;
    width: 100%;
    left: 0;
    top: 0;
    background-repeat: no-repeat;
  	background-size: cover;
    background-color: rgb(217,217,217);
    z-index: 0;
}

/* news */
#news {}
#news .post {
    position: relative;
    margin-bottom: 18em;
}
#news .post:last-child {
    margin-bottom: 0;
}
#news .post .anchor {
    position: absolute;
    top: -16em;
}
#news .flex-content .left {
    display: flex;
    flex-direction: column;
	justify-content: flex-start;
	align-items: flex-end;
}
#news .flex-content .left img.smaller {
    width: 80%;
}
#news .toggle-section {
    margin-top: 6.4em;
}
#news .toggle-content,
#news .opened {
	display: none;
}
#news .trigger {
    text-align: center;
    width: 271px;
    color: rgb(0,0,0);
    border: 1px solid rgb(0,0,0);
    background: rgb(255,255,255);
    cursor: pointer;
    transition: 0.4s ease-in-out;
}
#news .trigger:hover,
#news .trigger:focus,
#news .trigger:active {
    color: rgb(255,255,255);
    background: rgb(0,0,0);
}
#news .images-container {
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
    margin-bottom: 8em;
}
#news .images-container .image {
    width: 49.52471482889734%; /* 521/1052 */
    margin-bottom: 0.9505703422053232%; /* 10/1052 */
}

/* projekte wettbewerbe */
#projects {}
#projects .controls {
    margin-bottom: 6em;
}
#projects .controls ul {
    display: flex;
    flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
    margin: 0 -0.29832935560859186%; /* 5/1676 */
}
#projects .controls ul li {
    text-align: center;
    width: 16.073546856465008%; /* 271/1686 */
    color: rgb(0,0,0);
    background: rgb(255,255,255);
    cursor: pointer;
    transition: 0.4s ease-in-out;
    margin: 0 0.29655990510083036%; /* 5/1686 */
    margin-bottom: 0.5931198102016607%; /* 10/1686 */
}
#projects .controls ul li.large {
    width: 32.74021352313167%; /* 552/1686 */
}
#projects .controls ul li:hover,
#projects .controls ul li:focus,
#projects .controls ul li:active,
#projects .controls ul li.mixitup-control-active,
#projects.bildungsstaetten .controls ul li.bildungsstaetten,
#projects.dienstleistung-gewerbe .controls ul li.dienstleistung-gewerbe,
#projects.freiraum .controls ul li.freiraum,
#projects.privatgaerten .controls ul li.privatgaerten,
#projects.senioren-kinder-spielen .controls ul li.senioren-kinder-spielen,
#projects.sport-freizeit-baeder .controls ul li.sport-freizeit-baeder,
#projects.wohnungsbau .controls ul li.wohnungsbau {
    color: rgb(255,255,255);
    background: rgb(0,0,0);
}
#projects .controls ul li span {
    display: block;
    border: 1px solid rgb(0,0,0);
    padding: 0.4em 0;
}

#projects .mix-container,
#projects .projects-container {
    display: flex;
    flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
    margin: 0 -0.29832935560859186%; /* 5/1676 */
}
#projects .mix-container .mix,
#projects .projects-container .item {
    align-self: stretch;
    width: 32.74021352313167%; /* 552/1686 */
    margin: 0 0.29655990510083036%; /* 5/1686 */
}
#projects .mix-container .mix .image-container,
#projects .projects-container .item .image-container {
	overflow: hidden;
    margin-bottom: 1.4em;
}
#projects .mix-container .mix .image-holder,
#projects .projects-container .item .image-holder {
	width: 100%;
    height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
  	background-size: cover;
	transition: all 2s;
}
#projects .mix-container .mix .image-holder:hover,
#projects .mix-container .mix .image-holder:focus,
#projects .projects-container .item .image-holder:hover,
#projects .projects-container .item .image-holder:focus {
	transform: scale(1.1);
}
#projects .mix-container .mix .project-titel,
#projects .projects-container .item .project-titel {
    min-height: 2.3em;
    margin: 0;
    margin-bottom: 0.9em;
}

#main #projects ul.project-navigation {
    margin-top: 4.4em;
}
#main #projects ul.project-navigation li {
    display: inline-block;
    text-align: center;
    width: 271px;
    color: rgb(0,0,0);
    border: 1px solid rgb(0,0,0);
    background: rgb(255,255,255);
    cursor: pointer;
    transition: 0.4s ease-in-out;
    margin-right: 4px;
}
#main #projects ul.project-navigation li:hover,
#main #projects ul.project-navigation li:focus,
#main #projects ul.project-navigation li:active {
    color: rgb(255,255,255);
    background: rgb(0,0,0);
}

#projects .project-images {
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
    margin-top: 8.4em;
}
#projects .project-images img.large {
    width: 100%;
}
#projects .project-images img.small {
    width: 48.50835322195704%; /* 813/1676 */
}
#projects .project-images img {
    margin-bottom: 2.983293556085919%; /* 50/1676 */
}

/* buero */
#philosophy {
    margin-bottom: 10em;
}
.flex-list {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

#counter {
    margin-top: 1em;
    margin-bottom: 6em;
}
#counter h2 {
    margin-bottom: 0;
}
#counter .flex-list .list-item {
    width: 45.627376425855516%; /* 480/1052 */
    text-align: center;
    padding: 2.8em 2em;
    box-sizing: border-box;
    border: 1px solid rgb(0,0,0);
}

#services h2 {
    margin-bottom: 3em;
}
#services .flex-list {
    margin: 0 -3.1368821292775664%; /* 33/1052 */
}
#services .flex-list .list-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
	align-items: center;
    text-align: center;
    width: 17.620751341681572%; /* 197/1118 */
    margin: 0 2.9516994633273703%; /* 33/1118 */
    margin-bottom: 5.366726296958855%; /* 60/1118 */
}
#services .flex-list .list-item img {
    width: 88.3248730964467%; /* 174/197 */
    margin-bottom: 16.243654822335024%; /* 32/197 */
}

#awards {
    margin-bottom: 3.8em;
}
#awards h2,
#team h2 {
    margin-bottom: 2.8em;
}
#awards .flex-list,
#team .flex-list {
    margin: 0 -3.326996197718631%; /* 35/1052 */
}
#team .flex-list .list-item,
#awards .flex-list .list-item {
    width: 27.094474153297682%; /* 304/1122 */
    margin: 0 3.119429590017825%; /* 35/1122 */
    margin-bottom: 0.2em;
}
#awards .flex-list .list-item {
    display: flex;
    flex-direction: column;
	justify-content: center;
	align-items: center;
    align-self: stretch;
    margin-bottom: 6em;
}
#awards .flex-list .list-item img {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    transition: 0.5s ease-in-out;
}
#awards .flex-list .list-item.smaller a {
    width: 80%;
}
#awards .flex-list .list-item img:hover,
#awards .flex-list .list-item img:focus {
    -webkit-filter: grayscale(0%);
    filter: grayscale(0%);
}
#team .flex-list .list-item img {
    margin-bottom: 1.5em;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * FOOTER                                                                        *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#footer {
    margin-top: auto;
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: center;
    height: 9em;
    border-top: 1px solid rgb(0,0,0);
    box-sizing: border-box;
}
.start #footer {
    position: relative;
    z-index: 100;
    color: rgb(255,255,255);
    border-top: none;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * NAVIGATION                                                                    *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#menu {}
#menu ul {}
#sub-nav {}
#sub-nav ul {}

#menu ul > li,
#sub-nav ul > li  {
    position: relative;
    display: inline-block;
}
#menu ul > li {
    margin-left: 6.8em;
}
#sub-nav ul > li  {
    margin-left: 4.6em;
}
#menu ul > li > a {
    font-size: 2em;
    line-height: 1.4em;
    letter-spacing: 7%;
}
#sub-nav ul > li > a {
    font-size: 1.6em;
    line-height: 1.4em;
    letter-spacing: 10%;
}

#menu ul > li > a:after,
#sub-nav ul > li > a:after {
    content: "";
	position: absolute;
	left: 0;
	width: 0;
    background-color: rgb(0,0,0);
    transition: 0.4s ease-in-out;
}
.start #sub-nav ul > li > a:after {
    background-color: rgb(255,255,255);
}
#menu ul > li > a:after {
    height: 4px;
    bottom: -6px;
}
#sub-nav ul > li > a:after {
    height: 2px;
    bottom: -4px;
}
#menu ul > li > a:hover:after,
#menu ul > li > a:active:after,
#menu ul > li > a:focus:after,
#menu ul > li.current-menu-item > a:after,
#menu ul > li.custom-custom-post-type-parent > a:after,
#sub-nav ul > li > a:hover:after,
#sub-nav ul > li > a:active:after,
#sub-nav ul > li > a:focus:after,
#sub-nav ul > li.current-menu-item > a:after {
    width: 100%;
}
#menu ul > li.current-menu-item > a,
#sub-nav ul > li.current-menu-item > a {
    /*font-family: 'Inter-Bold';*/
}

/* responsive-nav */
.open-nav,
.close-nav {
	display: none;
}
.open-nav {
    position: relative;
    z-index: 919;
}
.open-nav img {
    width: 5.5em;
}



