/*
Theme Name: Lincs PVC
Theme URI: 
Author: Skyline Internet
Author URI: 
Description: 
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.0
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lincs-pvc
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

:root {
  --fonth: "Encode Sans Expanded", sans-serif;
  --fonth_weight: 900;
  --fontp: "Encode Sans Expanded", sans-serif;
  --fontp_weight: 300;
  --white: #fff;
  --black: #000;
  --dark-grey: #222021;
  --sidebarWidth: 85dvw;
  --light-grey: #f7f7f7;

  --border-radius: 2em;
}

html {
  scroll-behavior: smooth;
}

:where(.wp-site-blocks *:focus) {
  outline: none !important;
}

.wp-block-navigation a:where(:not(.wp-element-button)):hover {
  text-decoration: none;
}

a:where(:not(.wp-element-button)) {
  font-size: inherit !important;
}

main strong,
main b {
  font-weight: 500;
}


/* Header */

header{ 
position: relative;
z-index: 100;
}

.contact-header{
 z-index: 500;    
}

.contact-header .wp-block-navigation-link a{
 color: var(--black) !important;    
}


/* Footer Logos */

.logos img {
  filter: grayscale(100%);
}

.logos img:hover {
  filter: grayscale(0);
  cursor: pointer;
}


/* Contact Form */

.wpcf7-form p {
  margin: 0 0;
}

.wpcf7-form .container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
  column-gap: 1em;
}

.wpcf7-form .container .left {
  flex: 1;
}

.wpcf7-form .container .right {
  flex: 2;
}

.wpcf7-form .container .bottom {
  flex-grow: 1;
  display: flex;
  justify-content: space-between;
}

.wpcf7-form .container .right input,
.wpcf7-form .container .right textarea {
  width: -webkit-fill-available;
}

.wpcf7-form input {
  border-radius: var(--border-radius) var(--border-radius) !important;
}

.wpcf7-form textarea {
  border-radius: 1.3em !important;
  height: 5.5em;
}

.wpcf7-form input,
.wpcf7-form textarea {
  background: var(--white);
  border: none !important;
  padding: 0.9em 1.5em !important;
  font-family: var(--fontp);
  font-weight: var(--fontp_weight);
  font-size: 1em;
  margin: 0 0 1em 0 !important;
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
  color: var(--black);
  font-family: var(--fontp) !important;
}

.wpcf7-list-item {
  margin: 0 0;
  font-size: 0.85em;
}

.wpcf7-form input[type="submit"] {
  background: none !important;
  border: 2px solid var(--dark-grey) !important;
  border-radius: var(--border-radius) var(--border-radius) !important;
  font-size: 1em;
  font-family: var(--fontp) !important;
  font-weight: 500 !important;
  padding: 0.7em 1.7em !important;
  line-height: normal !important;
  min-height: auto !important;
}

.wpcf7-spinner {
  display: none;
}


/* Repairs List */

.repairs-list p {
  border: 1px solid var(--light-grey);
  padding: 1.5em 1.5em;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px,
    rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
}


/* PVC Doors */

.pvc-doors-scroll, .residential-aluminium-scroll {
  display: flex;
  overflow-x: scroll;
  overflow-y: hidden;
  height: 50dvh;
  column-gap: 1em;
  scroll-snap-type: x mandatory;
}

.pvc-doors-scroll figure, .residential-aluminium-scroll figure {
  flex: 1 0 50%;
  scroll-snap-align: start;
}


/* Composite Doors */

.comp-doors-scroll {
  display: flex;
  overflow-x: hidden;
  overflow-y: hidden;
  height: 75dvh;
  gap: 0;
  scroll-snap-type: y mandatory;
}

.comp-doors-scroll::-webkit-scrollbar,
.pvc-doors-scroll::-webkit-scrollbar,
.residential-aluminium-scroll::-webkit-scrollbar{
  display: none;
}

.comp-doors-scroll figure {
  flex: 1 0 calc(50% - 1em);
  margin-bottom: 1rem;
}

.comp-doors-text {
  height: 100%;
}

.comp-doors-text .has-small-font-size {
  margin-top: auto;
}

.comp-doors-scroll {
  --speed: 40;
  --count: 4;
  --scale: 1;
  --inset: -1;
  --outset: 0;
}

.index-0 {
  --index: 0;
}

.index-1 {
  --index: 1;
}
.index-2 {
  --index: 2;
}
.index-3 {
  --index: 3;
}
.index-4 {
  --index: 4;
}

.comp-doors-scroll figure {
  --origin-x: 0;
  --origin-y: calc(((var(--count) - var(--index)) + var(--inset, 0)) * 100%);
  --destination-x: 0;
  --destination-y: calc(calc((var(--index) + 1 + var(--outset, 0)) * -100%));
  gap: 0;
  animation-play-state: running !important;
  --duration: calc(var(--speed) * 1s);
  --delay: calc(
    (var(--duration) / var(--count)) * (var(--index, 0) - (var(--count)))
  );
  animation: infiniteSlideUp var(--duration)
    calc(var(--delay) - var(--count) * 0.5s) infinite linear paused;
  translate: var(--origin-x) var(--origin-y);
}

@keyframes infiniteSlideUp {
  to {
    translate: var(--destination-x) var(--destination-y);
  }
}


/* Homepage */

.home-services figure {
  position: relative;
}

.home-services figure:after {
  content: "";
  display: block;
  z-index: 5;
  background-color: rgba(0, 0, 0, 0.45);
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
  transform: scaleX(0);
}

.home-services figure > a {
  z-index: 6;
}

.home-services figure:hover:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}


/* About Page */

.process-details-wrapper summary {
  display: none;
}
.process-details-wrapper {
  position: relative;
}
.process-details-wrapper details {
  position: absolute;
  top: 0;
  width: 100%;
  height: auto;
  left: 0;
  opacity: 0;
  transition: opacity 0.66s;
}

.process-details-wrapper details[open] {
  opacity: 1;
}

.process-box-wrapper .box {
  border: 1px solid rgba(255, 255, 255, 0.35);
  padding: 1rem;
  text-align: center;
  transition: all 0.25s;
}

.process-box-wrapper .box:hover,
.process-box-wrapper .box.active {
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.33) !important;
  transform: translateY(-5px);
}

.process-box-wrapper .box .icon-container{
 height: 2em;
 width: auto;    
}

.about-why-choose .wp-block-group{
 box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px,rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;    
}


/* Gallery */

.tiled-gallery__row{
 gap: 0.9rem;    
}

.tiled-gallery__col{
 gap: 0.65rem;    
}

.jp-carousel-photo-title-container{
 display: none;    
}

 .tiled-gallery__item:focus, .tiled-gallery__item:focus-within{
 outline: none !important;    
 box-shadow: none !important;    
}


/* Reviews */

.wp-gr .wp-google-time{
 display: none;
}



/* Mobile Sidebar */

.wp-block-group.mobile-sidebar {
  position: fixed;
  z-index: -1;
  background-color: #fff;
  width: var(--sidebarWidth);
  transform: translateX(calc(var(--sidebarWidth) * -1));
  inset: 0;
  transition: transform 0.3s;
  height: 100dvh;
  max-height: 100dvh;
  overflow-y: scroll;
}

.wp-block-group.mobile-sidebar .wp-block-navigation__container li {
  padding: 1em 0 !important;
  border: none !important;
}

.wp-block-group.mobile-sidebar > * {
  opacity: 0;
  transition: opacity 0.5s;
}

body.open-popover .wp-block-group.mobile-sidebar {
  box-shadow: 0 3px 3px 3px rgba(0, 0, 0, 0.2);
  z-index: 999;
  transform: translateX(0);
}

body.open-popover.closing .wp-block-group.mobile-sidebar {
  transform: translateX(calc(var(--sidebarWidth) * -1));
}

body.open-popover {
  height: 100dvh;
  overflow: hidden;
  max-height: 100dvh;
}

body.open-popover:after {
  opacity: 1;
  z-index: 998;
}

body.open-popover .wp-block-group.mobile-sidebar > * {
  opacity: 1;
  transition: opacity 0.5s;
}


/* Portrait and Landscape */

@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 812px)  { 
    .process-box-wrapper {
      grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    }

    .process-details-wrapper details {
      padding-right: var(--wp--preset--spacing--10) !important;
      padding-left: var(--wp--preset--spacing--10) !important;
    }

    .our-process-cover-container .wp-block-cover {
      padding-top: 5em !important;
      padding-bottom: 10em !important;
    }

    .tiled-gallery__row {
      flex-direction: column !important;
    }

    .reviews .wp-gr.wpac {
      width: 100% !important;
    }

    .comp-doors-scroll figure {
      flex: 1 0 calc(40% - 1em) !important;
    }

    .pvc-doors-scroll, .residential-aluminium-scroll {
      height: 30dvh !important;
    }

    .wpcf7-form input, 
    .wpcf7-form textarea {
      width: calc(100% - 3.5em) !important;
    }

    .wpcf7-form input[type="checkbox"] {
      width: unset !important;
    }

    .wpcf7-form .container .bottom {
      flex-direction: column;
    }

    .wpcf7-form input[type="submit"] {
      margin-bottom: 0 !important;
      width: unset !important;
    }

    .wpcf7-form .container .right,
    .wpcf7-form .container .left {
      flex: unset !important;
    }

    .mobile-column {
      display: flex;
      flex-direction: column !important;
    }
}

@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (-webkit-min-device-pixel-ratio: 1) {
    .process-details-wrapper details {
      padding-right: var(--wp--preset--spacing--20) !important;
      padding-left: var(--wp--preset--spacing--20) !important;
    }

    header .mobile-row {
      width: 100%;
      justify-content: space-between;
    }

    .home-services {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .process-box-wrapper {
      grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    }

    .flex-direction-col {
      flex-direction: column !important;
    }
    
    .window-services {
      grid-template-columns: repeat(2, minmax(0,1fr)) !important;
      display: grid !important;
    }

    .wp-block-group .window-services:nth-child(3) .wp-block-column:nth-child(1),
    .wp-block-group .window-services:nth-child(3) .wp-block-column:nth-child(4)  {
      display: none !important;
    }
  }

  @media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {
    .window-services {
      display: flex !important;
    }

    .wp-block-group .window-services:nth-child(3) .wp-block-column:nth-child(1),
    .wp-block-group .window-services:nth-child(3) .wp-block-column:nth-child(4)  {
      display: block !important;
    }

    .wp-block-group .window-services:nth-child(3) .wp-block-column:nth-child(2) p {
      padding: 2em 0em !important;
    }
}

@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: portrait) 
  and (-webkit-min-device-pixel-ratio: 1) {
    .wpcf7-form input, 
    .wpcf7-form textarea {
      width: calc(100% - 3.5em) !important;
    }

    .wpcf7-form .container {
      flex-direction: column !important;
    }

    .wpcf7-form input[type="checkbox"] {
      width: unset !important;
    }

    .wpcf7-form .container .bottom {
      flex-direction: column;
    }

    .wpcf7-form input[type="submit"] {
      margin-bottom: 0 !important;
      width: unset !important;
      color: #000 !important;
    }

    .flex-direction-col {
      flex-direction: column !important;
    }
  }
