/*
Theme Name: RNR Home
Theme URI: 
Author: 
Author URI: 
Description: A theme built for RNR Home Improvements, based on twentytwentyfour.
Requires at least: 6.0
Tested up to: 6.4.3
Requires PHP: 5.7
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rnrhome
Tags: blog, news, portfolio, one-column, wide-blocks, accessibility-ready, block-patterns, block-styles, custom-colors, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, rtl-language-support, sticky-post, style-variations, threaded-comments, translation-ready
*/
:root {
  --sidebarWidth: 80vw;
}

html {
  scroll-behavior: smooth;
}

header {
  height: auto;
  z-index: 5;
}
.home-hero-image.image-one {
  transform: translate(25%, -90px) scale(1.75);
  z-index: 3;
}
.home-hero-image.image-two {
  transform: translate(-2.5%, 1%) scale(1.2);
  z-index: 4;
}
.z-index-1 {
  z-index: 1;
}
.z-index-2 {
  z-index: 2;
}
.z-index-3 {
  z-index: 3;
}
.z-index-4 {
  z-index: 4;
}
.z-index-5 {
  z-index: 5;
}
.relative {
  position: relative;
}

@keyframes fade-up {
  0% {
    opacity: 0;
    transform: translateY(2rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fade-down {
  0% {
    opacity: 0;
    transform: translateY(-2rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fade-left {
  0% {
    opacity: 0;
    transform: translateX(-2rem);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fade-right {
  0% {
    opacity: 0;
    transform: translateX(2rem);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.aos {
  overflow-x: hidden;
}

div:has(> .aos.fade-left),
div:has(> .aos.fade-right) {
  overflow-x: hidden;
}

.aos.fade-up {
  opacity: 0;
  transform: translateY(2rem);
}
.aos.fade-down {
  opacity: 0;
  transform: translateY(-2rem);
}
.aos.fade-right {
  opacity: 0;
  transform: translateX(2rem);
}
.aos.fade-left {
  opacity: 0;
  transform: translateX(-2rem);
}

.animate.aos.fade-up {
  animation: fade-up 1s both;
}
.animate.aos.fade-left {
  animation: fade-left 1s both;
}
.animate.aos.fade-right {
  animation: fade-right 1s both;
}
.animate.aos.fade-down {
  animation: fade-down 1s both;
}

.aos-delay-1 {
  animation-delay: 0.25s !important;
}
.aos-delay-2 {
  animation-delay: 0.5s !important;
}
.aos-delay-3 {
  animation-delay: 0.75s !important;
}
.aos-delay-4 {
  animation-delay: 1s !important;
}

.grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(var(--gridColumnCount, 2), 1fr);
}
.grid.gap-2 {
  gap: 2rem;
}
.grid > div {
  min-width: 0;
}

.grid.cols-1 {
  --gridColumnCount: 1;
}
.grid.cols-2 {
  --gridColumnCount: 2;
}
.grid.cols-3 {
  --gridColumnCount: 3;
}

.grid .col-1 {
  grid-column: span 1;
}
.grid .col-2 {
  grid-column: span 2;
}
.grid .col-3 {
  grid-column: span 3;
}

.form-group {
  margin-bottom: 1rem;
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group textarea,
.form-group select {
  max-width: 100%;
  width: 100%;
  margin-top: 0.25rem;
  border: 1px solid;
  font-family: inherit;
  padding: 0.66rem;
  border-color: #333;
  border-radius: 3px;
  box-sizing: border-box;
}

.justify-between {
  justify-content: space-between;
}

.btn {
  font-family: inherit;
  font-size: var(--wp--preset--font-size--small);
  font-style: normal;
  font-weight: 500;
  line-height: inherit;
  border: none;
  transition: all 0.25s;
  background-color: var(--wp--preset--color--rnr-blue-600);
  color: #fff;
  padding-top: var(--wp--preset--spacing--10);
  padding-right: var(--wp--preset--spacing--20);
  padding-bottom: var(--wp--preset--spacing--10);
  padding-left: var(--wp--preset--spacing--20);
}

.btn:hover {
  opacity: 0.66;
}

aside#sidebar {
  position: fixed;
  height: 100dvh;
  z-index: 99;
  background-color: #fff;
  left: 0;
  top: 0;
  min-width: 80dvw;
  transform: translateX(calc(var(--sidebarWidth) * -1));
  transition: all 0.25s;
}

aside#sidebar.open {
  transform: translate(0);
  z-index: 6;
}

body.sidebar-open {
  margin: 0;
  height: 100%;
  overflow: hidden;
}

body.sidebar-open:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  background-color: rgba(0, 0, 0, 0.5);
}

#sidebar [href="#closeSidebar"] {
  font-weight: 200;
}

.wpcf7-response-output {
  padding: 1rem;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  background-color: #ffb900;
}

.wpcf7 form.sent .wpcf7-response-output {
  background-color: #46b450; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  background-color: #dc3232; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
  background-color: #f56e28; /* Orange */
}

.service-grid .wp-block-heading > a {
  text-decoration: none !important;
}

body.home footer.wp-block-template-part {
  margin-top: 0;
}

.wp-block-navigation__submenu-container.wp-block-navigation-submenu {
  left: 0;
}

@media (min-width: 992px) {
  header .top-level-nav > ul > li > a.wp-block-navigation-item__content {
    transition: all 0.3s;
    display: flex;
    height: 100%;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    padding-left: 0.5rem;
    background-color: #fff;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  header a.wp-block-navigation-item__content:hover {
    background-color: #fbfbfb;
  }
}

@media (max-width: 884px) {
  .mobile-header-row {
    width: 100%;
    padding: 1rem;
  }

  .service-grid {
    grid-template-columns: 1fr;
  }

  .collapse-on-mobile {
    flex-direction: column;
  }

  .grid {
    --gridColumnCount: 1;
  }
}
