/*!
Theme Name: ShaRie
Author: Sharon Rieser
Author URI: https://sharie.ch/
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
*/

/* General */
body {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}
/* Link */
a {	text-decoration: none; color: inherit;}
a:hover { color: inherit; opacity: 0.8;}

:root {
  --spacing: 8rem;
  --minus-spacing: -8rem;
  --header-mobile-height: 50px;
}

/* cst Classes */
.dark-bg {background-color: var(--grey);}
.akz-col { color: var(--blue-darker);}
.center {  margin-left: auto;  margin-right: auto;  display: block;}
.spacing {  margin-top: var(--spacing);  margin-bottom: var(--spacing);}
.p-spacing {  padding-top: var(--spacing);  padding-bottom: var(--spacing);}
.imgframe {background-position: center; background-size: cover;}
html {overflow-x: hidden;}

html.noscroll {
  overflow-y: hidden;
}

.is-style-primary {
  border: 2px solid var(--blue-darker);
  background-color: var(--blue-darker);
  transition: 0.1s ease;
  margin-top: 2rem!important;
  margin-bottom: 4rem!important;
}

.wp-block-button__link {
  color: white;
    background-color: rgba(0,0,0,0);
    border-radius: 0px;
    font-family: var(--oxygen-bold);
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 1rem;
}

.is-style-primary:hover {
  background-color: rgba(0,0,0,0);
}

.is-style-primary:hover .wp-block-button__link  {

  color: var(--blue-darker);
  opacity: 1;
}

/* Navigation
--------------------------------------------- */

header.site-header {
  position: relative;
  top: 0px;
  z-index: 9999;
	padding-left: 13rem;
	padding-right: 6rem;
  background-color: var(--yellow-bright);
  height: 120px;
}

.logotext {
  margin-top: auto;
  margin-bottom: auto;
}
.logotext h1 {
  margin-bottom: 0px;
}

header .header-logo-div {
  position: absolute;
  left: 0px;
  height: 100%;
}
header .header-logo-div svg {
  height: 183%;
}

#menu_overlay .socialmedia-links {
  margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
    width: 150px;
}

#menu_overlay .socialmedia-links svg {
  fill: black;
  height: 35px;
  width: 35px;
}

#menu_overlay .socialmedia-links svg path, #menu_overlay .socialmedia-links svg rect {
  fill: black;
}

.header-logo {
	position: absolute;
  left: 50%;
      transform: translateX(-50%);
  top: 23px;
width: 60%;
}

.navigation ul {
	list-style-type: none;
	color: var(--grey);
}

/* Desktop Menu */
.nav-desktop ul{
	display: inline-flex;
	margin: 0px;
	padding: 0px;
}
.nav-desktop {
  margin-top: auto;
margin-bottom: auto;
}
.nav-desktop ul li {
	margin-right: 4vw;
}
.nav-desktop ul li:hover {
	color: var(--blue-darker);
}
.nav-desktop ul li:last-of-type {
	margin-right: 0px;
}

.nav-desktop .current_page_item a  {
  color: var(--blue-darker);
}

/* Mobile Menu */
button.menu-toggle {
	display: none;
  background-color: rgba(0,0,0,0);
  border: none;
  padding: 0px;
  position: relative;
}

button.menu-toggle svg {
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  width: 35px;
  fill: var(--blue-darker);
}

button.menu-toggle svg.open {
  opacity: 1;
}

@media only screen and (max-width: 992px) {
	.mobile-hidden {
		display: none;
	}

  button.menu-toggle {
    display: block;
  }
}
#menu_overlay {
  position: fixed;
  top: 0px;
  width: 100vw;
  height: 0vh;
  background-color: var(--yellow-bright);
  z-index: 999;
  transition: 0.5s ease;
  overflow: hidden;
}

#menu_overlay.open {
	display: block;
  height: 100vh;
}


#menu_overlay .nav-mobile {
  margin-top: 155px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-left: 0px;
    margin-bottom: 3rem;
}

/* Default Elements -----------------------------*/

.img-div-cont {
  display: inline-block;
  position: relative;
  width: 100%;
}

.dummy {
  margin-top: 66.7%;
}

.dummy-100 {
  margin-top: 100%;
}

.img-div  {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
}

/* Startseite
--------------------------------------------- */

#frontpage .videowrapper {
  width: 100vw;
  overflow: hidden;
  height: 332px;
  display: flex;
  justify-content: end;
  background-color: black;
  margin-top: 0px;
}

#frontpage .hero-cont {
  position: absolute;
  top: 50%;
  transform: translateY(-45%);
  color: white;
}


/* Start: Dienstleistungen
--------------------------------------------- */

#dienstleistungen .dls {
  max-width: 380px;
  margin-top: -2rem;
  margin-left: auto;

  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

#dienstleistungen .mmp {
    margin-bottom: var(--spacing);
}

#dienstleistungen .dls .dl {
    padding: 2rem;
}

#dienstleistungen .dls .dl:hover a:first-of-type div {
    transform: scale(1.1);
}

#dienstleistungen .dls .dl:hover a:first-of-type {
    opacity: 1;
}

#dienstleistungen .dls .dl a:first-of-type div {
    transition: 0.5s ease;
}



#dienstleistungen .dl a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

}

#dienstleistungen .dl .imgframe {
  height: 88px;
  width: 110px;
  background-size: contain;
  background-repeat: no-repeat;
  margin-bottom: 2rem;
}

#dienstleistungen .spacing {margin-bottom: 0px;}
#news .spacing {margin-top: -10px;}

.start-flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.start-flex .dls {width: 50%;}
.start-flex .start-portrait {width: 50%;  margin-top: -30px;}

/* Start: Dienstleistungen
--------------------------------------------- */
#news {
  margin-bottom: var(--minus-spacing);
  position: relative;
}
#news .thumbnail {
  height: auto;
  width: 100%;
  margin-bottom: 2rem;
}

.date {
  font-family: var(--oxygen-light);
  font-size: 0.9rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.link-style-1 {
  font-family: var(--zilla-semibold);
  color: var(--blue-darker);
  font-size: 1.1rem;
}




/* Seite: Leistungen
--------------------------------------------- */
#leistungen .mmp {
  margin-bottom: var(--spacing);
}


/* Unterseite: Leistungen
--------------------------------------------- */
.dl-seite .dls {
  max-width: 640px;
  width: 85vw;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.dl-seite  .dls .dl {    padding-right: 2rem;}

.dl-seite .dls .dl:last-of-type {    padding-right: 0rem;}

.dl-section .imgframe.icon {
  height: 8vw;
    max-height: 120px;
    min-height: 90px;
  background-size: contain;
  background-repeat: no-repeat;
  margin-bottom: 4rem;
  background-position: left;
}

.dl-section .desc p {
    margin-bottom: 1rem;
}
.dl-section .desc {
    margin-bottom: 2.5rem;
}

.dl-section .list ul {
    list-style: none;
    padding-left: 0px;
    margin-bottom: 0px;
    padding-bottom: 0px;
}

.dl-section .list ul li {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.dl-section .list ul li:last-of-type {
  margin-bottom: 0rem;
}

.dl-section .list ul li svg {
  height: 30px;
}
.dl-section .list ul li p {
  padding-left: 1rem;
  font-family: var(--oxygen-bold);
}

.dl-section:nth-child(even) {
    background-color: var(--grey);
}

.dl-section {
    padding-top: var(--spacing);
    padding-bottom: var(--spacing);
}

.dl-section .ref-projekte {
  margin-top: 6rem;
  text-align: center;
}

.dl-section .ref-projekt-1 {
  margin-bottom: 3rem;
}

.dl-section .ref-projekte h5 {
  margin-top: 0.5rem;
}

/* Audio Player
--------------------------------------------- */

.audio-player-container {

}

.play-icon {
  width: 30%;
opacity: 0.8;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}

.play-icon img {width: 100%; height: 100%;}

.play-icon:hover {
  opacity: 1;
}

.play-icon.playing .pause {
  display: block;
}
.play-icon.playing .play {
  display: none;
}
.play-icon .pause {
  display: none;
}


/* Portfolio
--------------------------------------------- */

#portfolio .catIcons {
  min-width: 40px;
  min-height: 32px;
  width: 10vw;
  height: 8vw;
  max-width: 60px;
  max-height: 48px;
  margin-bottom: 1rem;
  filter: grayscale(100%);
  margin-left: 3rem;
  margin-right: 3rem;
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
}

#portfolio .cat-list {
  display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: -2rem;
}

#portfolio .cat-div-all {
  display: flex;
flex-direction: row;
justify-content: center;
}

#portfolio .project-tiles {
  padding-top: var(--spacing);
}

#portfolio .cat-list_item.active .catDes {
  font-weight: 800;
}

#portfolio .cat-div {

  margin-bottom: 2rem;
}

#portfolio .cat-list_item.active .catIcons {
  filter: grayscale(0%);
}

#portfolio .cat-div-all .cat-list_item.active p {
  font-weight: 800;
  color: var(--blue-darker);
}



/* Carousel Slick ----- */

.carouselslick  .prev-arrow,
.carouselslick .next-arrow { width: 25px; position: absolute; top: 50%; transform: translateY(-50%); z-index: 1; pointer-events: all; padding: 0px;}

.carouselslick .prev-arrow:hover,
.carouselslick .next-arrow:hover { opacity: 0.8;}

.carouselslick  .next-arrow {right: -2rem;}
.carouselslick  .prev-arrow {left: -2rem;}


/* Beitrag Projekt
--------------------------------------------- */

.ref-projekt {padding: 0rem 0.5rem;}

.entry-content {
  margin-top: 3rem;
  margin-bottom: var(--spacing);
}

.entry-content p {
  margin-bottom: 1rem;
}

#projekt .imgframe.icon {
  background-size: contain;
  max-height: 48px;
max-width: 60px;
height: 4vw;
width: 5vw;
  min-height: 40px;
  min-width: 50px;
  background-repeat: no-repeat;
  background-position: top;
}

#projekt .kat-icons {  display: flex;}

#projekt .kat-icons a {  margin-right: 1.5rem;}
#projekt .kat-icons a:last-of-type {  margin-right: 0rem;}


#projekt .nav-links {
    font-size: 0.9rem;
    height: 35px;
}

.nav-previous {
  position: absolute;
  left: 0px;
}

.nav-next {
  position: absolute;
  right: 0px;
}

#projekt .nav-links svg {
  height: 35px;
}

#projekt .overview {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
}

#projekt .overview a {
  font-family: var(--zilla-semibold);
}

/* Block Carousel IMG
--------------------------------------------- */
.arrow.left svg, .arrow.right svg {
  height: 45px;
  width: 45px;
  margin-left: 10px;
}

.arrow.left a, .arrow.right a {
  opacity: 0.8;
}

.arrow.left a:hover, .arrow.right a:hover {
  opacity: 1;
}

.arrow.right svg {
  margin-left: auto;
    display: block;
    margin-left: 0px;
    margin-right: 10px;
}

.slider-img {
  display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}

.wp-block-embed iframe {
  margin-left: auto;
    margin-right: auto;
    display: block;
}

#projekte iframe {
  margin-left: auto;
    margin-right: auto;
    display: block;
    max-width: 100%;
}

/* Portrait
--------------------------------------------- */
#portrait .gallery {
  margin-top: var(--spacing);
}
.img-div-cont.portrait {
  max-width: 600px;
left: 50%;
transform: translatex(-50%);
margin-top: 2rem;
    margin-bottom: 0rem; }

.img-div-cont.firmenlogo {
  max-width: 200px;
  width: 20vw;
  min-width: 130px; }

.img-div-cont.firmenlogo .imgframe {
  background-size: contain;
  background-position: right center;
  background-repeat: no-repeat; }

.img-div-cont.firmenlogo .dummy {  margin-top: 50%;}

.werdegang .item {
  border-bottom: 2.5px solid var(--blue-darker);
  padding-top: 2rem;
  padding-bottom: 2rem; }

.werdegang .item:first-of-type {padding-top: 0rem;}
.werdegang .item:last-of-type {padding-bottom: 0rem; border-bottom: none;}

.werdegang .text {padding-right: 2rem;}
.werdegang h4 {color: var(--blue-darker);}

/* Kontakt
--------------------------------------------- */


/* Kontaktforumular --------------------------------- */
#contact-form {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 4rem;
}
.wpcf7-not-valid-tip {
	border-color: var(--yellow-darker) !important;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: var(--yellow-darker) !important;
}

	.wpcf7 form .wpcf7-response-output {
    margin: 2em 0.5em 3em !important;
    border: 2px solid var(--blue-darker) !important;
}


#contact-form input{
  width: 100%;
  margin-bottom: 1rem;
    border: solid 1.8px var(--blue-darker);
    padding: 0.5rem 0.5rem 0.5rem 1rem;
    font-family: var(--oxygen-regular);
    color: black;
}

#contact-form input:focus {
  outline: none !important;
  border: solid 1.8px var(--yellow-bright);
}

#contact-form input::placeholder {
  text-transform: uppercase;
  color: var(--blue-darker);
}


#contact-form textarea {
  width: 100%;
  margin-bottom: 0.5rem;
    border: solid 1.8px var(--blue-darker);
    padding: 0.5rem 0.5rem 0.5rem 1rem;
    font-family: var(--oxygen-regular);

}

#contact-form textarea::placeholder {
  text-transform: uppercase;
  color: var(--blue-darker);
}

#contact-form textarea:focus {
  outline: none !important;
  border: solid 1.8px var(--yellow-bright);
}
#contact-form #formsubmit {
    font-family: var(--oxygen-bold);
    color: white;
    text-transform: uppercase;
    width: auto;
    padding: 0.9rem 1.7rem 0.9rem 1.6rem;
    position: relative;
    margin-top: 1rem;
    margin-left: auto;
    margin-right: auto;
    display: block;
}
#contact-form #formsubmit:hover { color: var(--blue-darker);}
#contact-form #formsubmit input{
  background-color: rgba(0,0,0,0);
  width: 0px;
  height: 0px;
  display: none;
}
#contact-form #formsubmit .wpcf7-spinner {
  position: absolute;
  left: 120px;

}



/* Footer */

footer {
	color: white;
	position: fixed;
  position: relative;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: var(--blue-bright);
}

footer .socialmedia-links {
  display: flex;
  align-items: baseline;
}

footer .socialmedia-links svg {
  margin-right: 1rem;
}
footer .socialmedia-links a:last-of-type svg {
  margin-right: 0rem;
}

footer .footer-logo-div {
position: absolute;
z-index: 998;
right: 0px;
bottom: 0px;
overflow: hidden;
width: 283px;
  height: 100%;
}

footer .footer-logo-div svg {
  position: absolute;
  height: 100%;
  bottom: 0px;
  left: 0px;
}

footer .logo {
  position: absolute;
  right: 50%;
  transform: translateX(50%);
  top: 61px;
  width: 45%;
  z-index: 1000;
}

footer #logomobile {  display: none;}

footer #logodesktop {  display: block;}

footer a.logo-link:hover {  opacity: 1;}

footer #subfooter {	padding-left: 6rem;	padding-right: 6rem;}

footer .row {  position: relative;  padding: 2rem 0px;}

footer ul {  list-style-type: none;  padding: 0px;}

#subfooter {	background-color: var(--blue-darker);	color: white;}

#subfooter .cont {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	font-size: 0.9rem;
}

#subfooter svg {	fill: white;width: 40px;}

.subfooter-menu {
	list-style-type: none;
	display: inline-flex;
	margin: 0px;
	padding: 0px;
}


/* xxl */
@media only screen and (max-width: 1400px) {

  #portfolio .catIcons {
    margin-left: 3vw;
    margin-right: 3vw;
  }

}


/* lg */
@media  screen and (max-width: 1200px) {


  .logotext h1 {
    font-size: clamp(1.7rem, 10vw, 2rem);
  }

  #myVideo {
      margin-right: -226px; }

}

@media  screen and (min-width: 1200px) {
.dl-section .container {  max-width: 1000px;}
 }

/* md */
@media only screen and (max-width: 992px) {
  :root {
    --spacing: 6rem;
    --minus-spacing: -6rem;
  }


#dienstleistungen .dls .dl {padding: 2rem;}

  #dienstleistungen .dls {
    max-width: 440px;

    margin-left: auto;
    margin-right: auto;

    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }


.start-flex {flex-direction: column;}

.start-flex .dls {width: 100%;}
.start-flex .start-portrait {width: 90%; margin-left: auto; margin-right: auto; margin-top: 0px;}


	header.site-header {
		padding-left: 13rem;
		padding-right: 3vw;	}

    footer>div {
      padding-left: 3vw;
      padding-right: 3vw;	}


  footer #logomobile {
    display: block;  }

  footer #logodesktop {
    display: none;  }

  footer .footer-logo-div svg {
    right: 0px;
    left: auto;  }

  footer .footer-logo-div  {
    height: 32vw;
width: 26vw;
min-height: 150px;
    min-width: 121px;}

  footer .logo {
    right: 48.5%;
    top: 9.5vw;
        top: clamp(44px, 9.5vw, 100px);
    width: 56%;}

#myVideo {  margin-right: -290px; }




#unity-canvas {
  display: none;
}

}

@media  screen and (min-width: 850px) {
#projekt .container {  max-width: 820px;}
#portrait .container.first {  max-width: 820px;}
#portrait .container.third {  max-width: 820px;}
 }

/* small */
@media only screen and (max-width: 767px) {
  :root {
    --spacing: 4rem;
    --minus-spacing: -4rem;
  }

  .ref-projekt {padding: 0rem 1.5rem;}
  .carouselslick .next-arrow {right: -1rem;}
  .carouselslick .prev-arrow {left: -1rem;}

  /* Seiten -----------------------------------*/

  .seite {
    margin-top: calc(var(--header-mobile-height) + 15vw);
  }
  header.site-header {
    height: 13vw;
min-height: 60px;
padding-left: 23vw;
    position: fixed;
    top: 0px;
    width: 100vw;
  }

  .logotext h1 {    font-size: clamp(1.5rem, 5vw, 2rem);  }

  header .header-logo-div {
    height: 13vw;
    min-height: 60px;
  }

  header .header-logo {    top: 20%;  }

  #subfooter .cont {  	justify-content: flex-start;  }

  footer #subfooter { padding-left: 8vw;}

  #frontpage .videowrapper {  margin-top: var(--header-mobile-height);}

  #dienstleistungen .dls {
    margin-top: -2rem;
    justify-content: space-evenly;
  }




#dienstleistungen .dl .imgframe {
    margin-bottom: 1rem;
    height: 11vw;
    width: 13.75vw;
    min-height: 66px;
    min-width: 82.5px;
}





	.dl-section .ref-projekt-4 {
  display: none;
}


#portfolio .catIcons {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

}

/* x-small */
@media only screen and (max-width: 576px) {
  .seite {
    margin-top: calc(var(--header-mobile-height) + 65px);
  }


  .carouselslick .next-arrow {right: 1rem;}
  .carouselslick .prev-arrow {left: 1rem;}



	.dl-section .ref-projekt-3,
	.dl-section .ref-projekt-4 {
  display: none;
}


  footer .logo {
    top: 44px;
  top: clamp(44px, 9.5vw, 100px); }

  footer .row {    padding-left: 5vw;  }

  #myVideo {  margin-right: -390px; }


  .dl-seite .dls {
    max-width: 318px;
    width: 100vw;
    justify-content: center;
  }


  .dl-seite  .dls .dl {
    padding-left: 5vw;
    padding-right: 5vw;
    margin-bottom: 0.7rem;
  }

  .dl-seite .dls .dl:last-of-type {
      padding-right: 5vw;
  }

  .dl-section .imgframe.icon {
    background-position: center;
  }

  .dl-section .list {
    display: flex;
justify-content: center;
  }

  button.menu-toggle svg {
    width: 30px;
  }

  #projekt .nav-subtitle {
    display: none;
  }

  #portfolio .catDes {
    font-size: 0.85rem;
  }

  #portfolio .cat-list {
  justify-content: center;}

  .arrow.left svg, .arrow.right svg {
    height: 30px;
    width: 30px;
    margin-left: 0px;
  }

  .arrow.right svg {
    margin-right: 0px;
    margin-left: 0px;
  }




}


@media only screen and (max-width: 460px) {

  header.site-header {
    padding-left: 6.5rem;
  }

  #dienstleistungen .dls .dl {
    padding: 1.5rem;
  }

.start-flex .start-portrait {width: 100%;}



}

@media only screen and (max-width: 380px) {




}

@media only screen and (max-width: 250px) {
  footer .row {
    padding-left: 0px;
  }
  footer #subfooter {
     padding-left: 1rem;
}

}
