/*
Theme Name: Twenty Twenty-Three child
Theme URI: 
Author: Surface Impression
Author URI: https://surfaceimpression.digital
Description: Child theme of twentytwentythree by Surface Impression
Requires at least: 5.8
Tested up to: 6.2
Requires PHP: 5.7
Version: 0.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentythree
Text Domain: twentytwentythreechild
Tags: 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, threaded-comments, translation-ready, 
*/
:root {
  --content-padding: clamp(1rem, 5vw, 2rem);
}

:root * {
  box-sizing: border-box;
}

a:not(.wp-block-button__link):not(h2 a):not(
    .wp-block-navigation-item__content
  ):not(.hit-header--link):not(.ais-Pagination-link):not(
    .wp-block-cover__inner-container a
  ):not(.current-programs-promos a):not(
    .past-programs-promos a
  ):hover {
  text-decoration: underline;
  text-decoration-style: dotted;
}

.entry-content {
  padding-left: var(--content-padding);
  padding-right: var(--content-padding);
}

.wp-block-post-content
  a:where(:not(.wp-element-button)):not(.hit-header--link):not(
    .ais-Pagination-link
  ):not(.wp-block-cover__inner-container a):not(
    .current-programs-promos a
  ):not(.past-programs-promos a) {
  color: var(--wp--preset--color--tertiary);
}

.past-programs-promos h2 {
  font-size: clamp(1.5rem, 3vw, 3rem);
}

/* Theme Custom CSS start */

.wp-site-blocks {
  padding-top: 0;
  padding-bottom: 0;
}

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

input[type='submit'] {
  padding: 0.5rem 1rem !important;
  font-size: 1.2rem;
  border-radius: 0;
  cursor: pointer;
}

.home .template-part-banner {
  display: none;
}

@media screen and (min-width: 1024px) {
  .home .wp-block-cover__inner-container .positioner {
    max-width: 1024px !important;
    margin-left: 0 !important;
  }
}

.home h1.wp-block-post-title {
  display: none;
}

.home main.wp-block-group,
.home .entry-content {
  margin-top: 0 !important;
}

.wp-block-cover.alignfull {
}

.wp-block-cover.alignfull .wp-block-cover__inner-container {
  width: min(95vw, 1600px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.home .positioner {
  margin-right: clamp(0, 30%, 30vw) !important;
}

.entry-content.wp-block-post-content > .alignfull {
  margin-left: calc(var(--content-padding) * -1);
  margin-right: calc(var(--content-padding) * -1);
}

/***************
 * Breadcrumbs *
 ***************/

ol.breadcrumb {
  padding-inline-start: 0;
}

/************************
 * Custom button styles *
 ************************/

.no-margin-block-start {
  margin-block-start: 0;
}

.cursor-default {
  cursor: default;
}

.cursor-default a {
  cursor: default;
}

.button-no-hover a:hover {
  background-color: var(--wp--preset--color--primary);
}

/**********
 * Header *
 **********/

header .wp-block-button {
  min-width: 6rem;
}

header .wp-block-navigation__responsive-container.has-modal-open {
  padding-right: 2rem;
}

body header .wp-block-buttons > .my-jobs-header-button {
  display: none;
}

body header .header-button-bar {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

body header .header-button-bar .header-buttons-container {
  gap: 1rem;
}

body.logged-in header .my-jobs-header-button {
  display: inline-block;
}

body .entry-content .logged-in-nav {
  display: none;
}

body.logged-in .entry-content .logged-in-nav {
  display: flex;
}

@media (min-width: 768px) {
  body header .header-button-bar {
    padding-top: 0;
    padding-bottom: 0;
  }
}

/**********
 * Footer *
 **********/

footer .wp-block-navigation__container {
  gap: 1rem;
}

.mailing-list-signup-container .wp-block-button__link {
  white-space: nowrap;
}
.mailing-list-signup-container .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--contrast) !important;
  color: var(--wp--preset--color--base) !important;
}

.mailing-list-signup-container > div.wp-block-group {
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
}

.supporters-logos figure {
  background: unset;
}

.supporters-logos figure img {
  height: 150px;
  object-fit: contain;
}

@media (min-width: 768px) {
  .mailing-list-signup-container > div.wp-block-group {
    flex-direction: row;
  }
}

/**************
 * Front page *
 *************/

.jobfeed .cmswt-InstantSearch {
  width: 100%;
}

.front-page-program-promo-row {
  flex-direction: column;
}

.front-page-program-promo-row figure {
  width: 100% !important;
  aspect-ratio: unset !important;
}

@media (min-width: 768px) {
  .front-page-program-promo-row {
    flex-direction: row;
  }

  .front-page-program-promo-row figure {
    width: 50% !important;
    aspect-ratio: 4/3 !important;
  }
}
.inner-header a:hover {
  background-color: var(--wp--preset--color--base) !important;
  color: var(--wp--preset--color--contrast) !important;
}

/***************
 * WooCommerce *
 ***************/

.woocommerce-page main {
  max-width: calc(1200px + 5vw) !important;
}

/*.woocommerce-account .wp-block-post-title, */
.woocommerce.wp-block-group {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 5rem; /*max-width: 1200px !important*/
}

.woocommerce.wp-block-group .woocommerce-variation-description,
.woocommerce div.product form.cart div.quantity {
  display: none;
}
.woocommerce-cart-form .product-quantity,
.woocommerce-cart-form .product-price {
  display: none;
}

/********************
 * Jobs & more page *
 ********************/
.job_listings .job_filters .search_jobs {
  padding: 0;
}

.job_listings .job_filters {
  background-color: unset;
  font-size: 1.2rem;
}

.search_jobs input:not(.select2-search input),
.job_filters #search_location {
  font-size: 1.2rem;
  min-height: 2.5rem;
  font-family: var(--wp--preset--font-family--dm-sans);
}

.job_listings .selection span {
  height: 2.5rem;
}

.job_listings .selection ul {
  padding-left: 0 !important;
}

.job_listings .selection li {
  margin: 0 !important;
  height: 100%;
}

.job_listings .selection input {
  min-height: 2.5rem;
  padding-left: 0.5rem !important;
}

.search_remote_position {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-top: 0 !important;
}

.search_submit {
  display: flex;
  justify-content: flex-end;
}

.job_listings input[type='checkbox'] {
  accent-color: var(--wp--preset--color--secondary);
}

/* Search jobs button */
.search_submit input {
  width: auto !important;
  background-color: var(--wp--preset--color--primary);
  color: white;
  border: 0;
  font-family: var(--wp--preset--font-family--dm-sans);
  font-weight: 700;
  padding: calc(0.667em + 2px) calc(1.33em + 2px);
}

.job_listings input[type='text'] {
  padding-left: 0.5rem;
}

.select2-container--default
  .select2-results__option--highlighted[aria-selected],
.select2-container--default
  .select2-results__option--highlighted[data-selected] {
  background-color: var(--wp--preset--color--secondary) !important;
}

.job_listings .job_filters .job_types {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  background: white;
}

.job_listings .job_filters .job_types::before,
.job_listings .job_filters .job_types::after {
  content: none;
}

.job_listings .job_filters .job_types li {
  border-right: none;
}

/*******************
 * Post a Job form *
 *******************/

.job-manager-form input[name='save_draft'] {
  background-color: buttonface;
  border: 1px solid buttonborder;
}

.job-manager-form input[name='submit_job'],
.job_listing_preview_title input[name='continue'],
#job_package_selection input[type='submit'] {
  background-color: var(--wp--preset--color--primary) !important;
  color: white;
  font-weight: 700;
  font-family: var(--wp--preset--font-family--dm-sans);
  border: none;
  margin-left: 0.5rem !important;
}

.job-manager-form input[name='save_draft']:hover,
.job-manager-form input[name='submit_job']:hover {
  background-color: var(--wp--preset--color--contrast) !important;
  color: var(--wp--preset--color--base);
}

.job-manager-form input[type='text'],
.job-manager-form input[type='submit'],
.job-manager-form textarea,
.job-manager-form select {
  font-size: 1.2rem !important;
}

.job-manager-form input[name='submit_job'],
input.wp-job-manager-file-upload::file-selector-button {
  border-radius: 0;
  border-width: 1px;
}

/********************
 * Job preview page *
 ********************/

.job_listing_preview_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

@media (min-width: 1000px) {
  .job_listing_preview_title {
    flex-direction: row;
  }
}

.job_listing_preview_title input {
  height: 2.7rem;
}

.job_listing_preview_title input[name='edit_job'] {
  border-width: 1px;
  border-color: buttonborder;
}

.job_listing_preview_title input[name='continue']:hover,
.job_listing_preview_title input[name='edit_job']:hover {
  background-color: var(--wp--preset--color--contrast) !important;
  color: var(--wp--preset--color--tertiary);
}

/***********************
 * My Jobs page *
 ***********************/

.feature-job-link {
  display: none !important;
}

/***********************
 * Events listing loop *
 ***********************/

.ecs-event-list {
  list-style-type: none;
  padding-inline-start: 0;
}

.ecs-event-list img {
  width: 100%;
  object-fit: cover;
  height: 100%;
}

.ecs-event {
  margin-bottom: 2rem;
}

.ecs-event .entry-title {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.entry-content ul.job_listings li.job_listing a div.position .company,
.entry-content ul.job_listings li.job_listing a div.location,
.entry-content
  ul.job_listings
  li.no_job_listings_found
  a
  div.position
  .company,
.entry-content
  ul.job_listings
  li.no_job_listings_found
  a
  div.location {
  color: var(--wp--preset--color--contrast);
}

/*****************
 * About us page *
 *****************/

.about-us-column p {
  margin: 0 !important;
}

.about-us-column .wp-block-cover__inner-container {
  min-height: calc(260px - 2rem);
  display: flex;
  align-items: end;
  justify-content: left;
  width: 100%;
}

/******************
 * Resources loop *
 ******************/

.resources-resource-query ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

/* Both testimonials and resources */
.resources-resource-query ul li {
  margin-top: 0;
  position: relative;
}

/* Resource post title */
.resources-resource-query .resource-post-title a {
  font-size: var(--wp--preset--font-size--medium);
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-decoration: none;
  color: white;
}

.resources-resource-query .resource-cover > div {
  width: 100%;
}

.resources-resource-query .resource-columns {
  height: 100%;
  margin-top: 0;
  padding: 1rem 0;
  width: 100%;
}

.resources-resource-query .resource-cat-title-column {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}

.resources-resource-query .resource h4 {
  width: 100%;
  margin: 0;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: end;

  height: 100%;
}

.resources-resource-query .resource-category {
  width: fit-content;
  background-color: var(--wp--preset--color--tertiary);
  position: absolute;
  left: 0;
  bottom: 0;
  font-size: var(--wp--preset--font-size--medium);
  font-weight: bold;
  padding: 0.1rem 0.75rem;
}

.resources-resource-query .resource-category a {
  text-decoration: none;
  color: var(--wp--preset--color--white) !important;
  font-size: 0.8rem;
}

.resources-resource-query .resource-category:hover {
  color: var(--wp--preset--color--white) !important;
  background-color: var(--wp--preset--color--contrast) !important;
}

.resources-resource-query .testimonial {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1rem;
  color: var(--wp--preset--color--contrast);
}

.resources-resource-query .resource > div {
  min-height: 0;
}

.resources-resource-query .resource > div > * {
  object-fit: cover;
}

.resources-resource-query .testimonial * {
  margin: 0;
}

.resources-resource-query .testimonial p {
  font-weight: 800;
  font-size: clamp(0.8rem, 1.3vw, 1.2rem) !important;
}

.resources-resource-query .testimonial .wp-block-button a {
  font-size: var(--wp--preset--font-size--small);
  padding: 0.4rem 0.8rem;
  background-color: var(--wp--preset--color--accent);
  color: black;
}

.resources-resource-query .testimonial .wp-block-button {
  display: none;
}

.resources-resource-query .testimonial .wp-block-button a:hover {
  background-color: black;
  color: white;
}

.resources-resource-query .resource,
.resources-resource-query .testimonial,
.resources-resource-query .resource > div > *,
.resources-resource-query .resource > div {
  height: 45vw;
  max-height: 20rem;
}

@media (min-width: 1000px) {
  .resources-resource-query ul {
    grid-template-columns: 1fr 1fr;
  }

  .resources-resource-query .resource,
  .resources-resource-query .testimonial,
  .resources-resource-query .resource > div > *,
  .resources-resource-query .resource > div {
    height: 20vw;
  }
}

li.resource-post-template {
  position: relative;
}

/****************
* Research loop *
*****************/

.research-loop ul {
  display: flex;
  flex-direction: column;
}

.research-loop li {
  margin: 0;
  padding-left: 1rem;
  padding-right: 1rem;
}

/* style odd numbered list items */
.research-loop ul li:nth-child(odd) {
  background-color: #f4f4f4;
}

/****************
**  Jobs grid  **
*****************/

.cmswt-Results img {
  object-fit: contain !important;
}

.cmswt-InstantSearch .ais-Hits-list,
.cmswt-InstantSearch .ais-InfiniteHits-list {
  gap: 2rem !important;
}

@media only screen and (min-width: 768px) {
  .cmswt-InstantSearch {
    gap: 2rem !important;
  }

  .cmswt-FilterPanel {
    width: 18% !important;
  }
}

/****************
** Archive page **
*****************/

.archive-item-stack {
  height: 100%;
}

/****************
** Make fluid breakpoints for WP columns and query grids**
*****************/
@media screen and (max-width: 1100px) and (min-width: 850px) {
  .wp-block-query .wp-block-post-template-is-layout-grid.columns-5 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .wp-block-query .wp-block-post-template-is-layout-grid.columns-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .wp-block-query .wp-block-post-template-is-layout-grid.columns-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 850px) and (min-width: 600px) {
  .wp-block-query .wp-block-post-template-is-layout-grid.columns-5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wp-block-query .wp-block-post-template-is-layout-grid.columns-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wp-block-query .wp-block-post-template-is-layout-grid.columns-3 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .wp-block-query .wp-block-post-template-is-layout-grid.columns-2 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

/* Theme Custom CSS end */
