/*
Theme Name: Kim Philipps
Author: Steffen Hofheinz
Requires at least: 6.4
Tested up to: 6.5
Requires PHP: 7.0
Version: 1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kimphilipps
*/


/* general */
html {
  box-sizing: border-box;
}

html * {
  box-sizing: inherit;
}

h2.wp-block-heading {
  position: relative;
  z-index: 0;
  display: inline-block;
  padding: 0 calc(var(--wp--preset--spacing--10) / 1.6) 5px calc(var(--wp--preset--spacing--10) / 1.6);
}

h2.wp-block-heading::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  height: calc(var(--wp--preset--spacing--10) * 1.8);
  width: 100%;
  background-color: var(--wp--preset--color--yellow);
}

@media screen and (max-width: 781px) {
  h2.wp-block-heading {
    margin-bottom: 1.3rem !important;
  }
}

@media screen and (min-width: 782px) and (max-width: 914px) {
  h2.wp-block-heading {
    font-size: calc(var(--wp--preset--font-size--medium) * 1.5) !important;
  }
}

@media screen and (min-width: 915px) and (max-width: 1025px) {
  h2.wp-block-heading {
    font-size: calc(var(--wp--preset--font-size--medium) * 1.65) !important;
  }
}

h4.wp-block-heading {
  position: relative;
  z-index: 0;
  display: inline-block;
  background-color: var(--wp--preset--color--pink);
  padding: 3px 8px;
}

/* navigation */
header .wp-block-navigation {
  gap: 3.5rem;
}

/* contact form */
.contact-form {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--20);
}

@media screen and (min-width: 1000px) {
  .contact-form {
    max-width: 713px;
  }
}

.contact-form .row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}

.contact-form .column {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  flex-shrink: 1;
}

.contact-form .column.column-label {
  flex-basis: 30%;
}

.contact-form .column.column-input {
  flex-basis: 70%;
}

@media screen and (max-width: 999px) {
  .contact-form .row {
    flex-direction: column;
  }
}

.contact-form p {
  margin: 0;
  padding: 0;
}

.wpcf7-form-control {
  width: 100%;
  padding: calc(var(--wp--preset--spacing--10) / 1.6);
  font-size: var(--wp--preset--font-size--medium);
}

.wpcf7-form-control.wpcf7-submit {
  width: auto;
  float: right;
}

.wpcf7 form.invalid .wpcf7-response-output {
  border: none;
  color: #dc3232;
}

/* viewport-transition */
.viewport-transition {
  transition: all 750ms ease-out;
}

.viewport-transition.transition-fadein:not(.visible) {
  opacity: 0;
}

.viewport-transition.transition-fadein.visible {
  opacity: 1;
}

.viewport-transition.transition-move:not(.visible) {
  transform: translateY(45%);
}

@media screen and (max-width: 781px) {
  .viewport-transition.transition-move:not(.visible) {
    transform: translateY(30%);
  }
}

.viewport-transition.transition-move.visible {
  transform: translateY(0px);
}

.viewport-transition.transition-scale:not(.visible) {
  scale: 0;
}

.viewport-transition.transition-scale.visible {
  scale: 1;
}

/* colored-scroll */
.colored-scroll .element {
  display: inline-block;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 50px;
  font-weight: 900;
  line-height: 1.4;
  color: #dacdc5;
  text-transform: uppercase;
}

@media screen and (max-width: 559px) {
  .colored-scroll .element {
    font-size: 20px;
  }
}

@media screen and (min-width: 560px) and (max-width: 899px) {
  .colored-scroll .element {
    font-size: 32px;
  }
}


@media screen and (min-width: 900px) and (max-width: 1099px) {
  .colored-scroll .element {
    font-size: 40px;
  }
}

@media screen and (min-width: 1100px) and (max-width: 1219px) {
  .colored-scroll .element {
    font-size: 43px;
  }
}

@media screen and (min-width: 1220px) and (max-width: 1330px) {
  .colored-scroll .element {
    font-size: 45px;
  }
}

.colored-scroll .element.scrolled.color1 {
  color: #f692a3;
}

.colored-scroll .element.scrolled.color2 {
  color: #f3a3f3;
}

.colored-scroll .element.scrolled.color3 {
  color: #494949;
}

/* intro-image */
.intro-image {
  aspect-ratio: 1920 / 782;
}

/* image-about-me */
.about-me-left {
  width: 100%;
}

@media screen and (max-width: 781px) {
  .image-about-me {
    margin-bottom: 1rem !important;
  }

  .image-about-me, .image-about-me * {
    width: 100%;
    max-width: 100% !important;
  }
}

/* gallery logos */
.gallery-logos.is-layout-flex {
  align-items: center !important;
  justify-content: center !important;
}

@media screen and (max-width: 999px) {
  .gallery-logos.is-layout-flex figure {
    margin-left: auto;
    margin-right: auto;
    max-width: 200px;
  }
}

@media screen and (max-width: 781px) {
  .gallery-logos.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 40% !important;
  }
}

/* footer */
footer {
  font-size: 14px;
}

@media screen and (max-width: 999px) {
  .footer-flexbox {
    flex-direction: column;
  }
}

.footer-links {
  display: flex;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wp-block-navigation__responsive-container-open {
  padding: 1.4rem !important;
  background-color: #fdB5c1 !important;
  border-radius: 50%;
  color: var(--wp--preset--color--base) !important;
}
