/*
Theme Name: Goodwin & Tucker
Theme URI:
Author: Skyline Internet
Author URI:
Description:
Requires at least: 7.0
Tested up to: 7.0
Requires PHP: 7.2
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: goodwin-tucker
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

/*
 * IMPORTANT: This file is only served on the frontend when `SCRIPT_DEBUG` is enabled;
 * in most instances, the `style.min.css` file will be served. It is not recommended that you
 * use the Theme File Editor to modify this stylesheet. Instead, add the necessary style
 * overrides via "Additional CSS" in the Site Editor.
 */

/*
 * IMPORTANT: This file is only served on the frontend when `SCRIPT_DEBUG` is enabled;
 * in most instances, the `style.min.css` file will be served. It is not recommended that you
 * use the Theme File Editor to modify this stylesheet. Instead, add the necessary style
 * overrides via "Additional CSS" in the Site Editor.
 */

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
  outline-width: 2px;
  outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation
  .wp-block-navigation-submenu
  .wp-block-navigation-item:not(:last-child) {
  margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation
  .wp-block-navigation-item
  .wp-block-navigation-item__content {
  outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation
  .wp-block-navigation-item
  ul.wp-block-navigation__submenu-container
  .wp-block-navigation-item__content {
  outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1,
h2,
h3,
h4,
h5,
h6,
blockquote,
caption,
figcaption,
p {
  text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
  display: block;
}

/*
 * Prevents unnecessary scrollbars while handling long lines of preformatted text.
 * https://core.trac.wordpress.org/ticket/63875
 */
:where(pre) {
  overflow-x: auto;
}

/* Header */

header {
  position: relative;
  z-index: 10;
}

/* Mega Menu */

.gw-mm-item__dropdown-wrapper {
  padding-top: 40px;
}

.gw-mm-item__dropdown {
  background: rgba(29, 95, 154, 0.5);
  padding: 15px;
  border-radius: 0.2em;
}

/* Projects */

.project-tag {
  position: absolute;
  right: 1em;
  top: 1em;
}

/* About */

.about img {
  width: -webkit-fill-available;
}

/* Environment */

.environment {
  position: absolute;
  bottom: 0px;
  left: 0px;
  right: 0;
}

.environment figure img {
  height: 470px;
  width: auto;
  justify-self: center;
}

/* Review */
/*
.review .content {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0;
  background-size: 600px 600px !important;
  background-position: 30px 50px !important;
}
*/

/*
* On large screens, give the content a faux container.
*/
.review .content {
  padding-left: max(
    calc((100dvw - var(--wp--style--global--wide-size)) / 2),
    var(--wp--style--root--padding-left)
  );
}

.review .content .floating-box {
  width: clamp(100%, calc(100% + 5dvw), calc(110%));
  margin-top: auto;
  transform: translateY(10%);
  box-shadow: var(--wp--preset--shadow--natural);
}

.review .wp-block-image,
.review .wp-block-image img {
  height: 100%;
  object-fit: cover;
}

@media (min-width: 1500px) {
  .review .wp-block-image,
  .review .wp-block-image img {
    max-height: 600px;
  }
}

.review {
  height: 100%;
}

.stars .icon-container {
  margin-left: -8px;
}

/* Footer */

footer p a,
header p a {
  text-decoration: none;
}

.wp-block-social-link-label {
  font-weight: 500;
  color: var(--wp--preset--color--base);
}

.video-wrapper {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

.video-wrapper,
.video-wrapper iframe {
  pointer-events: none;
}

.video-wrapper iframe {
  width: 100vw;
  height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
  min-height: 100vh;
  min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

body.home .wp-block-cover.main-banner .wp-block-cover__background {
  z-index: 2;
}

body.home .wp-block-cover.main-banner .wp-block-cover__inner-container {
  z-index: 3;
}

/* Business Directory */

.business-directory-meta-link svg {
  width: 22px !important;
  height: auto !important;
}

.business-directory-meta-link a {
  align-items: flex-start;
}

/* Contact Form */

.wp-block-contact-form-7-contact-form-selector {
  max-width: none !important;
}

.wpcf7-form p {
  margin: 0 0;
}

.wpcf7 .container {
  display: flex;
  gap: 30px;
}

.wpcf7 .column {
  width: 50%;
}

form input.wpcf7-form-control,
form textarea.wpcf7-form-control {
  width: -webkit-fill-available;
  padding: 1rem 1.25rem;
  border: 1px solid var(--wp--preset--color--accent-6);
  font-family: var(--wp--preset--font-family--figtree);
  font-size: var(--wp--preset--font-size--medium);
  margin-top: 1.3rem;
  border-radius: 0.2rem;
}

form input::placeholder,
form textarea::placeholder {
  font-weight: 400;
  color: var(--wp--preset--color--custom-dark-grey);
}

.wpcf7-list-item {
  margin: 1em 0 0 0;
  font-size: 0.9em;
}

.wpcf7 .wpcf7-submit {
  background: var(--wp--preset--color--custom-green);
  color: var(--wp--preset--color--base);
  font-weight: 500;
  width: fit-content;
  float: right;
  border-radius: 0.2rem;
  margin-top: 0;
  padding: 1rem 2.25rem;
}

ul.wp-block-post-template li {
  min-width: 0;
}

ul.wp-block-post-template li * {
  min-width: 0;
  max-width: 100%;
}

ul.wp-block-post-template li a.wp-block-read-more {
  box-sizing: border-box;
  margin-top: auto;
}

ul li .featured-image-wrapper {
  position: relative;
}

ul li .featured-image-wrapper .taxonomy-area {
  position: absolute;
  right: 1em;
  top: 1em;
  display: flex;
  flex-wrap: wrap;
  max-width: 50%;
  margin: 0;
}

ul li .featured-image-wrapper .taxonomy-area a {
  border-top-left-radius: 0.2em;
  border-top-right-radius: 0.2em;
  border-bottom-left-radius: 0.2em;
  border-bottom-right-radius: 0.2em;
  padding-top: var(--wp--preset--spacing--20);
  padding-right: var(--wp--preset--spacing--20);
  padding-bottom: var(--wp--preset--spacing--20);
  padding-left: var(--wp--preset--spacing--20);
  background-color: var(--wp--preset--color--custom-green);
  color: #fff;
}

@media (max-width: 768px) {
  .wp-site-blocks {
    overflow-x: hidden;
  }

  .wp-block-cover {
    padding-left: var(--wp--style--root--padding-left);
    padding-right: var(--wp--style--root--padding-right);
  }

  main > .has-global-padding {
    padding-left: var(--wp--style--root--padding-left) !important;
    padding-right: var(--wp--style--root--padding-right) !important;
  }

  .is-nowrap {
    flex-wrap: wrap !important;
  }

  .wp-block-cover__inner-container {
    width: 100%;
  }

  .wp-block-columns {
    min-width: 100%;
  }

  .is-layout-grid {
    grid-template-columns: 1fr !important;
  }

  .img-hide {
    display: none;
  }

  .wpcf7 .container {
    flex-direction: column;
  }

  .wpcf7 .column {
    width: 100% !important;
  }

  form {
    padding-bottom: 3rem;
  }

  .mb-grid-gap {
    gap: 0 !important;
  }
}

@media only screen and (min-device-width: 820px) and (max-device-width: 1024px) and (orientation: portrait) {
  .block-visibility-hide-medium-screen {
    display: flex !important;
  }

  .block-visibility-hide-small-screen {
    display: none !important;
  }

  .wp-block-group.is-nowrap .wp-block-buttons {
    width: 33%;
    justify-content: flex-end;
  }

  .spacer-column {
    display: none !important;
  }

  .tb-flex-col {
    grid-template-columns: 1fr !important;
  }

  .wpcf7 .container {
    flex-direction: column;
  }

  .wpcf7 .column {
    width: 100% !important;
  }

  .mb-grid-gap {
    gap: 0;
  }

  form {
    padding-bottom: 3rem;
  }

  .business-directory .wp-block-query .columns-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

aside#sidebar {
  position: fixed;
  height: 100dvh;
  z-index: 999;
  left: 0;
  top: 0;
  min-width: 80dvw;
  transform: translateX(calc(80dvw * -2));
  transition: all 0.25s;
  padding: 0 !important;
}

aside#sidebar > div {
  height: 100%;
}

aside#sidebar.open {
  transform: translate(0);
  z-index: 999;
}

aside#sidebar .btn-close-menu {
  width: 100%;
}

aside#sidebar .wp-block-getwid-megamenu {
  margin: 0 !important;
}

aside#sidebar .gw-mm__content {
  flex-direction: column;
  align-items: flex-start;
}

aside#sidebar nav.gw-mm__wrapper .wp-block-getwid-megamenu-item {
  width: 100%;
}

aside#sidebar
  nav.gw-mm__wrapper
  .wp-block-getwid-megamenu-item
  .gw-mm-item__link
  > a {
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  flex: 1;
}

aside#sidebar p.has-custom-rsuk-dark-blue-color,
aside#sidebar p.has-custom-rsuk-dark-blue-color a {
  color: var(--wp--preset--color--custom-rsuk-dark-blue) !important;
}

aside#sidebar .gw-mm-item__dropdown-wrapper {
  position: fixed;
  top: 0 !important;
  left: 0 !important;
  transition: all 0.25s;
  transform: translateX(-110%);
  height: 100dvh !important;
  max-height: 100dvh;
  overflow-y: hidden;
  z-index: 999;
  max-width: 80dvw !important;
  padding: 0 !important;
}

aside#sidebar .gw-mm-item__dropdown-wrapper > .gw-mm-item__dropdown {
  height: 100dvh;
  margin-top: 0 !important;
  overflow-y: scroll;
  overflow-x: hidden;
  padding: 0;
  border-radius: 0;
}

aside#sidebar .gw-mm-item__toggle {
  width: 12%;
  text-align: right;
  padding-right: var(--wp--preset--spacing--30);
}

aside#sidebar .gw-mm-item__toggle span {
  transform: rotate(-90deg);
}

aside#sidebar .pos-fixed {
  top: unset;
  bottom: 0;
  left: -1rem;
}

aside#sidebar .gw-mm-item__dropdown-wrapper.is-opened {
  transform: translateX(0);
}

aside#sidebar .gw-mm-item__dropdown-content .wp-block-group {
  flex-direction: column;
}

aside#sidebar .gw-mm-item__dropdown-content .wp-block-group.is-layout-grid {
  grid-template-columns: 1fr;
}

body.sidebar-open {
  margin: 0;
  height: 100%;
  overflow: hidden;
  position: relative;
}

body.sidebar-open:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 991;
  background-color: rgba(0, 0, 0, 0.5);
}

aside#sidebar div.gw-mm-item__dropdown--mega-menu-close {
  background-color: var(--wp--preset--color--custom-green);
  padding: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}

aside#sidebar
  .wp-block-getwid-megamenu-item
  .gw-mm-item__dropdown-wrapper.is-opened
  .is-layout-grid {
  gap: 0 !important;
}

@media (max-width: 884px) {
  .review .content {
    z-index: 5;
    background-color: rgba(29, 95, 154, 0.85);
    padding: 1rem;
  }

  .review .content .floating-box {
    max-width: 100% !important;
    margin: 0 auto;
  }

  .review .wp-block-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
  }
}

aside#sidebar .wp-block-getwid-megamenu {
  width: 100%;
}

aside#sidebar .wp-block-cover__inner-container {
  width: 100%;
}
