/*
Theme Name: häusler Architekten
Version: 1.0
Author: Ewald Natter
Author URI: http://www.freelenz.at
Description: WordPress Theme für merz kley partner
*/

::selection {
  background: var(--blue);
  color: #fff;
  }
  
::-moz-selection {
  background: var(--blue);
  color: #fff;
  }  

* {
	border: none;
	margin: 0;
	padding: 0;
	outline: none;
	box-sizing: border-box;
	-webkit-appearance: none;
   
  --footer-height: calc(145vw / 1728 * 100);
  --wp--style--unstable-gallery-gap: calc(32vw / 1728 * 100) !important;
  }
  
HTML {
  height: 100%;
  }  
  
BODY {
  height: 100%;
  font-family: 'Nitti';
  font-size: 16px;
  line-height: 1.25;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  font-smoothing: antialiased !important;
  }
  
BODY.show-grid {
  background: url('assets/img/grid.png') repeat-y;
  background-size: 100% auto;
  }  
  
UL, LI {
  list-style-type: none;
  }  
  
A {
  transition: color 0.2s;
  color: var(--dark);
  text-decoration: none;
  }  
  
P {
  margin-bottom: 1.5em;
  }
  
MAIN {
  min-height: calc(100vh - var(--footer-height));
  }  
  
MAIN P:last-child {
  margin-bottom: 0em;
  }      
  
IMG {
  vertical-align: baseline;
  }  
  
INPUT {
  font: inherit;
  }  
  
INPUT::-webkit-input-placeholder {
  color: #999;
  }

INPUT::-moz-placeholder {  
  color: #999;  
  }

INPUT:-ms-input-placeholder {  
  color: #999;  
  }
  
/* HEADER
------------------------------------------------------------------------- */      

HEADER #logo {
  position: absolute;
  top: calc(64vw / 1728 * 100);
  left: var(--padding-side);
  }

HEADER #logo IMG {
  height: calc(90vw / 1728 * 100);
  }
  
BODY.home HEADER #logo IMG {
  height: calc(140vw / 1728 * 100);
  }  
  
/* BURGER
------------------------------------------------------------------------- */   

#burger {
  display: block;
  position: fixed;
  top: calc(115vw / 1728 * 100);
  right: calc(50vw / 1728 * 100);
  width: calc(70vw / 1728 * 100);
  height: calc(70vw / 1728 * 100);
  
  z-index: 1;  
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  transition: position 0s;
  cursor: pointer;  
  }

#burger span {
  display: block;
  position: absolute;
  height: calc(12vw / 1728 * 100);
  width: calc(70vw / 1728 * 100);
  background: var(--dark);
  opacity: 1;
  
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
  }

#burger span:nth-child(1) {
  top: 0px;
  }

#burger span:nth-child(2) {
  top: calc(25vw / 1728 * 100);
  }
  
BODY.menu #burger span {
  height: 1px;
  top: calc(15vw / 1728 * 100);
  right: 0;
  }

BODY.menu #burger span:nth-child(1) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  }

BODY.menu #burger span:nth-child(2) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  }  
  
/* MENU
------------------------------------------------------------------------- */    

#menu {
  position: fixed;
  z-index: 10;
  left: calc(500vw / 1728 * -100);
  left: 0;
  top: 0;
  bottom: 0;
  width: calc(500vw / 1728 * 100);
  background: rgba(125,161,169,0.9);
  padding-left: var(--padding-side);
  padding-top: calc(315vh / 1117 * 100);
  box-shadow: 0px 2px 6px 2px #00000026;
  box-shadow: 0px 1px 2px 0px #0000004D;
  transition: 0.2s;
  visibility: hidden;
  opacity: 0;
  }
  
BODY.menu #menu {
  visibility: visible;
  opacity: 1;
  }  
  
#menu UL LI A {
  display: block;
  font-size: calc(40vw / 1728 * 100);
  padding: calc(10vw / 1728 * 100) 0;
  color: #fff;
  }
  
#menu UL LI.current-menu-item A, 
#menu UL LI A:hover {  
  color: var(--dark);
  }
  
#menu .bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  padding-left: calc(33vw / 1728 * 100);
  padding-bottom: calc(21vw / 1728 * 100);
  }
  
#menu #symbols {
  display: block;
  padding: calc(50vw / 1728 * 100) 0;
  color: #fff;
  cursor: pointer;
  }
  
#menu #symbols:hover {    
  color: var(--dark);
  }
  
#menu #symbols I {
  font-size: calc(20vw / 1728 * 100);
  }
  
#menu NAV.secondary UL LI A {
  font-size: calc(16vw / 1728 * 100);
  padding: calc(3vw / 1728 * 100) 0;
  }
  
/* ERKLÄRUNG SYMBOLE
------------------------------------------------------------------------- */  

#explanation {
  background: var(--dark);
  color: #fff;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: none;
  }
  
#explanation .logo {  
  font-size: calc(90vw / 1728 * 100);
  position: absolute;
  top: calc(64vw / 1728 * 100);
  }
  
#explanation .close {
  position: absolute;
  display: block;
  top: calc(110vw / 1728 * 100);
  right: calc(64vw / 1728 * 100);
  color: #fff;
  cursor: pointer;
  }
  
#explanation .close I {
  width: calc(40vw / 1728 * 100);
  height: calc(40vw / 1728 * 100);
  display: block;
  font-size: calc(40vw / 1728 * 100);
  } 
  
#explanation H1 {
  padding-top: calc(120vh / 1120 * 100);
  margin-bottom: calc(200vh / 1120 * 100);
  }

#explanation .categories {
  display: flex;
  gap: calc(40vw / 1728 * 100);
  } 
  
#explanation .category.inactive {
  opacity: 0.3;
  }  
  
#explanation .category .symbol {
  font-size: calc(48vw / 1728 * 100);
  margin-bottom: calc(20vw / 1728 * 100);
  }  
  
#explanation .category .title {
  font-family: Nitti;
  font-size: calc(40vw / 1728 * 100);
  margin-bottom: calc(50vw / 1728 * 100);
  }  
  
#explanation .category .description { 
  font-family: "Right Grotesk";
  }
  
/* LAYOUT
------------------------------------------------------------------------- */  
  
#page {
  height: auto !important;
  margin-bottom: calc(var(--footer-height)*(-1));
  min-height: 100%;   
  }  
  
/* HOME / STARTSEITE
----------------------------------------------------------------------------- */   
  
BODY.home #slider {
  max-width: calc(957vw / 1728 * 100);
  padding-top: calc(232vw / 1728 * 100);
  padding-bottom: calc(200vw / 1728 * 100);
  margin-left: calc(456vw / 1728 * 100);
  margin-right: auto;
  }  
  
BODY.home #slider IMG {  
  max-width: 100%;
  height: auto;
  }
  
/* SLIDER
----------------------------------------------------------------------------- */   

.slick-dots {
  list-style-type: none;
  overflow: hidden;
  float: right;
  font-family: "Right Grotesk";
  font-size: 20px;
  padding: 10px 0;
  }

.slick-dots .divider {
  width: 150px;
  display: inline-block;
  border-top: 1px solid var(--dark);
  margin: 0 5px;
  height: 5px;
  }  
  
/* HEADLINES
------------------------------------------------------------------------- */

H1.page-title {
  padding-top: calc(115vw / 1728 * 100);
  margin-top: 0;
  margin-bottom: calc(120vw / 1728 * 100) !important;
  }
  
/* PROJEKTE ÜBERSICHT
------------------------------------------------------------------------- */  

#tools {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: calc(30vw / 1728 * 100);
  }
  
#tools #view {
  display: flex;
  align-items: center;
  gap: 20px;
  }
  
#tools #view I:before {  
  font-size: calc(36vw / 1728 * 100);
  }
  
#tools #view A {
  width: calc(40vw / 1728 * 100);
  height: calc(40vw / 1728 * 100);
  cursor: pointer;
  display: flex;
  }
  
#tools #view #toggle-smaller {  
  display: none;
  }
  
#filter {
  text-align: right;
  user-select: none;
  display: none;
  overflow: hidden;
  }

#filter A {
  display: inline-block;
  font-size: calc(20vw / 1728 * 100);
  margin-left: calc(20vw / 1728 * 100);
  cursor: pointer;
  }
  
#filter A.inactive {    
  opacity: 0.3;
  }
  
#filter I {
  font-size: calc(36vw / 1728 * 100);
  margin-top: calc(5vw / 1728 * 100);
  }
  
  #filter I {
  font-size: calc(36vw / 1728 * 100);
  position: relative;
  top: calc(10vw / 1728 * 100);
  }
  
  #filter A:hover {  
  color: var(--blue);
  opacity: 1;
  }

#filter A.active {
  color: var(--dark) !important;
  }  
  
/* GRID VIEW
------------------------------------------------------------------------- */  

#projects {
  padding: 0 var(--padding-side);
  font-family: 'Nitti';
  }

#projects #view-grid {
  overflow: hidden;
  margin-left: calc(16vw / 1728 * -100);
  margin-right: calc(16vw / 1728 * -100);
  }
  
#projects.list #view-grid {
  display: none;
  }  
  
#projects.list #toggle-bigger,
#projects.list #toggle-smaller {
  display: none;
  }
  
#projects #view-grid .project {
  aspect-ratio: 1 / 1;
  float: left;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: none;
  }
  
#projects #view-grid .project,
#projects #view-grid .grid-sizer {
  width: 8.313679245283019%;
  }  
  
#projects #view-grid .project .title {
  font-size: calc(16vw / 1728 * 100);
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
  position: relative;
  z-index: 2;
  opacity: 0;
  transition: 0.2s;
  }  
  
#projects #view-grid.bigger .project,
#projects #view-grid.bigger .grid-sizer {
  width: 16.666666666666667%;
  }  
  
#projects #view-grid .project FIGURE {  
  position: absolute;
  top: calc(16vw / 1728 * 100);
  left: calc(16vw / 1728 * 100);
  right: calc(16vw / 1728 * 100);
  bottom: calc(16vw / 1728 * 100);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s;
  }
  
#projects #view-grid .project FIGURE IMG {  
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  }
  
#projects #view-grid .project FIGURE .overlay {   
  position: absolute;
  background: #c2d1d4;
  opacity: 0;
  transition: 0.2s;
  }
  
#projects #view-grid .project FIGURE .overlay.portrait {   
  height: 100%;
  }
  
#projects #view-grid .project FIGURE .overlay.landscape {   
  width: 100%;
  }  

#projects #view-grid .project:hover .overlay, 
#projects #view-grid .project:hover .title {
  opacity: 1;
  }  
  

.category-symbols {
  display: block;
  cursor: pointer;
  }

.category-symbols:hover {
  color: var(--blue);
  }  
 
/* LIST VIEW
------------------------------------------------------------------------- */ 

#projects #view-list {
  display: none;
  }
  
#projects.list #view-list {
  display: block;
  }

#projects #view-list .project {
  display: block;
  border-bottom: 1px solid #000;
  padding: calc(15vw / 1728 * 100) 0;
  }
  
#projects #view-list .project .content {  
  display: flex;
  align-items: space-between;
  align-items: center;
  position: relative;
  }
  
#projects #view-list .project FIGURE {
  min-width: 15%;
  }

#projects #view-list .project FIGURE IMG {
  height: calc(80vw / 1728 * 100);
  float: left;
  width: auto;
  }
  
#projects #view-list .project .titles {
  min-width: 35%;
  }  
  
#projects #view-list .project .metadata {
  min-width: 35%;
  font-size: calc(20vw / 1728 * 100);
  line-height: 1.25;
  } 
  
#projects #view-list .project .category-symbols {
  min-width: 15%;
  text-align: right;
  } 
  
#projects #view-list .project .category-symbols .terms {  
  position: absolute;
  right: 0;
  bottom: 0;
  }  
  
/* PROJEKT DETAILSEITE
----------------------------------------------------------------------------- */   

.single-project .metadata {
  font-size: calc(20vw / 1728 * 100);
  font-family: Nitti;
  line-height: 1.25;
  margin-bottom: calc(40vw / 1728 * 100);
  }
  
/* 404
----------------------------------------------------------------------------- */  

.error404 MAIN {
  padding-top: calc(200vw / 1728 * 100);
  }
  
/* FOOTER
----------------------------------------------------------------------------- */  

FOOTER, #push {
  height: var(--footer-height);
  }

FOOTER {
  font-family: Nitti;
  line-height: 1.25;
  background: url('assets/img/divider.svg') repeat-x left top;
  background-size: auto calc(6vw / 1728 * 100);
  padding-top: calc(35vw / 1728 * 100);
  font-size: calc(20vw / 1728 * 100);
  }  
  
FOOTER A:hover {
  color: var(--blue);
  }    
    
FOOTER .container {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  }

FOOTER .imprint {
  font-size: calc(16vw / 1728 * 100);
  }  
  






















































  
