/*
 Theme Name:   Twenty Twenty-Five Child
 Theme URI:    https://exmerce.ca./
 Description:  A child theme for the Twenty Twenty-Five theme.
 Author:       Exmerce
 Author URI:   https://exmerce.ca/
 Template:     twentytwentyfive
 Version:      1.0.0
 Text Domain:  twentytwentyfive-child
*/

/* Your custom CSS styles go here */

:focus,
:focus-visible {
    outline: none!important;
}

a {
    text-decoration: none!important;
}

p.underline a {
    text-decoration: underline!important;
}

strong {
    font-weight: 600!important;
}

body.home h1 strong {
    font-size: var(--wp--preset--font-size--xx-large) !important;
}

.wp-block-navigation__container li > a {
    font-size: 14px!important;
    text-decoration: none!important;
    transition: .3s;
    padding: 0.7rem 0;
}

.wp-block-navigation__submenu-container {
    left: 0!important;
    right: auto!important;
    width: max-content!important;
    border: none!important;
    box-shadow: none!important;
}

.wp-block-navigation__submenu-container > li {
    margin: 0!important;
}

.wp-block-navigation__submenu-container > li > a {
    padding: 0.7rem 1rem!important;
}

.wp-block-navigation__submenu-container > li > a:hover {
    background-color: #40444a!important;
    color: #fff!important;
}

.footer-menu ul {
    list-style: none!important;
    margin: 10px 0 0!important;
    padding: 0!important;
}

footer {
    margin-top: 0!important;
}

.contact-our-team iframe {
    border-radius: 8px;
}

a.wp-block-social-link-anchor {
    font-size: 30px!important;
}
/* Newsletter form */
#mc_embed_signup {
    background:#fff;
    border-radius: 8px;
    color: #000;
    font-size: 14px;
    padding: 15px!important;
}

#mc_embed_signup .mc-field-group {
    width: 100%!important;
    padding-bottom: 10px!important;
}
#mc_embed_signup .asterisk {
    display: none!important;
}
#mc_embed_signup .indicates-required {
    display: none!important;
}
#mc_embed_signup .submit-wrapper {
    display: flex;
    justify-content: flex-end;
}
#mc_embed_signup .submit-wrapper input,
.ac-form-control input {
    margin: 0!important;
    background-color: #3ab44b!important;
    border-radius: 4px!important;
    font-family: var(--wp--preset--font-family--montserrat)!important;
    font-size: var(--wp--preset--font-size--medium)!important;
    font-style: normal!important;
    font-weight: 600!important;
    text-transform: uppercase!important;
    padding-top: var(--wp--preset--spacing--20)!important;
    padding-right: var(--wp--preset--spacing--60)!important;
    padding-bottom: var(--wp--preset--spacing--20)!important;
    padding-left: var(--wp--preset--spacing--60)!important;
    height: auto!important;
}
#mc_embed_signup .mc-field-group input {
    width: auto!important;
    border: 1px solid #ccc!important;
    padding: 12px 5px!important;
    border-radius: 4px!important;
}

h2.animated-title mark {
    opacity: 0;
    /* Add a smooth transition for when the opacity changes */
    transition: opacity 0.4s ease-in-out;
  }

.typing-effect {
    border-right: 2px solid; 
    animation: blink-caret 0.75s step-end infinite;
    padding-right: 0.1em; 
  }

  /* The blinking animation keyframes */
  @keyframes blink-caret {
    from, to { 
      border-color: transparent;
    }
    50% { 
      border-color: currentColor; 
    }
  }

.wp-block-details {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 12px 15px;
    margin: 0 0 6px;
    background-color: #fafafa;
    transition: .3s;
    font-size: 14px;
}
.wp-block-details summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
    font-size: 16px;
}

.wp-block-details summary:after {
    content: '❯';
    transition: .3s;
}
.wp-block-details[open] {
    background-color: #fff;
}
.wp-block-details[open] summary:after {
    transform: rotate(90deg);
}

.wp-block-details summary a:empty {
    display: none;
}
.wp-block-details summary::marker {
    content: ''!important;
}

/* The main container for the slider */
.quotes-slider {
    position: relative;
    overflow: hidden;
}

.quotes-slider .wp-block-pullquote {
    display: flex;
    align-items: center;
    margin-bottom: 0;
    padding: 40px 0;
}

.quotes-slider .wp-block-pullquote blockquote {
    max-width: 750px;
    margin: 0 auto;
}

.quotes-slider .wp-block-pullquote blockquote cite {
    font-weight: normal;
    font-size: 16px;
    margin-top: 30px;
}

/* The new wrapper that holds all slides and moves */
.slider__slides-wrapper {
    display: flex;
    transition: transform 0.4s ease-out;
    cursor: grab;
    user-select: none;
}

/* Each individual slide (your original <figure> elements) */
.slider__slide {
    flex: 0 0 100%;
    width: 100%;
    box-sizing: border-box;
}

/* Arrows */
.slider__arrow {
    position: absolute;
    top: 50%;
    /* Adjust vertical alignment to account for bottom padding */
    transform: translateY(calc(-50% - 18px)); 
    z-index: 10;
    background: none;
    border: none;
    color: #fff; /* Arrows should remain white */
    font-size: 2rem;
    cursor: pointer;
    padding: 10px;
    opacity: 0.7;
    transition: opacity 0.2s;
}

.slider__arrow:hover {
    opacity: 1;
}

.slider__arrow--prev {
    left: 20px;
}

.slider__arrow--next {
    right: 20px;
}

/* Dots Navigation (to match screenshot) */
.slider__dots {
    position: absolute;
    /* Position dots in the center of the new padded area */
    bottom: 25px; 
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    z-index: 10;
    margin: 0;
}

.slider__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    /* Inactive dot color (like screenshot) */
    background-color: rgba(0, 0, 0, 0.25); 
    border: none;
    cursor: pointer;
    padding: 0;
    transition: background-color 0.2s;
}

.slider__dot--active {
    /* Active dot color (like screenshot) */
    background-color: #000; 
}
.ac-form-div {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 20px;
    background-color: #fff;
    padding: 35px 35px 25px;
    border-radius: 8px;
    margin-top: 40px;
}
.ac-form-row:nth-child(1),
.ac-form-row:nth-child(2) {
    flex: 1;
}
.ac-form-row label {
    color: #000;
    font-size: 14px;
    margin-bottom: 5px;
}

.ac-form-row input,
.ac-form-row select,
.ac-form-row textarea {
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 12px 10px
}
.ac-form-row textarea {
    min-height: 100px;
}
.ac-form-control {
    display: flex;
    justify-content: flex-end;
}
.ac-form-control input {
    padding-top: var(--wp--preset--spacing--30)!important;
    padding-bottom: var(--wp--preset--spacing--30)!important;
}

.featured-article h2:before {
    content: 'Featured Article';
    font-size: 16px;
    font-weight: 100;
    text-transform: uppercase;
    display: block;
    background-color: #E4C2F8;
    padding: 10px 25px;
    max-width: fit-content;
    margin-bottom: 30px;
}
.calendar-wrapper .tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
    min-height: 0!important;
}
.calendar-wrapper .tribe-events-c-top-bar,
.calendar-wrapper .tribe-events-header__events-bar,
.calendar-wrapper .tribe-events-c-subscribe-dropdown__container {
    display: none!important;
}
.calendar-wrapper .tribe-common-l-container {
    padding: 0!important;
}
.calendar-wrapper .tribe-events .tribe-events-calendar-latest-past__event-date-tag-datetime {
    background-color: #cbcbcc;
    height: auto;
    padding: 10px;
    border-radius: 8px;
}

.posts-wrapper {
    max-width: 1520px!important;
}

ul.wp-block-categories-list.wp-block-categories {
    display: flex;
    flex-wrap: wrap;        /* allow items to move to next row */
    justify-content: center; /* center the items */
    list-style: none;
    margin: 0;
    padding: 0;
    column-gap: 1rem; 
    margin-bottom: 3rem;
}

ul.wp-block-categories-list.wp-block-categories li {
    position: relative;
    white-space: nowrap;
}

ul.wp-block-categories-list.wp-block-categories > li::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: transparent;
    transition: background 0.2s ease;
}

ul.wp-block-categories-list.wp-block-categories > li:hover::after {
    background: #243b81;
}

ul.wp-block-categories-list.wp-block-categories > li:hover a {
    color: #243b81;
}

ul.wp-block-categories-list.wp-block-categories li a {
    font-weight: 600;
    color: #393939;
    padding: 13px 10px !important;
    font-size: 14px !important;
    display: block;
}

div.wp-block-query.home-blog .wp-block-post-featured-image :where(img) {
      border-radius: 24px;
}

div.wp-block-query.home-blog > ul {
    display: grid;
    row-gap: 4rem;
    column-gap: 3rem;
    grid-template-columns: repeat(12, 1fr);
}

.home-blog {
  margin-bottom: 40px !important;
}

.home-blog ul.wp-block-post-template li.wp-block-post {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
}

.home-blog ul.wp-block-post-template li.wp-block-post:nth-child(n) {
    grid-area: span 2 / span 9;
}

.home-blog ul.wp-block-post-template li.wp-block-post:nth-child(2n),
.home-blog ul.wp-block-post-template li.wp-block-post:nth-child(3n) {
    grid-area: span 1 / span 3;
}

.home-blog ul.wp-block-post-template li.wp-block-post:nth-child(4n),
.home-blog ul.wp-block-post-template li.wp-block-post:nth-child(5n),
.home-blog ul.wp-block-post-template li.wp-block-post:nth-child(6n),
.home-blog ul.wp-block-post-template li.wp-block-post:nth-child(7n) {
    grid-area: span 1 / span 6;
}

.home-blog ul.wp-block-post-template li.wp-block-post:nth-child(n+8) {
    grid-area: span 1 / span 4;
}

.home-blog ul.wp-block-post-template li.wp-block-post:nth-child(1) img {
    height: 500px;
}

.home-blog ul.wp-block-post-template li.wp-block-post:nth-child(2) img,
.home-blog ul.wp-block-post-template li.wp-block-post:nth-child(3) img {
    max-height: 180px;
}

.home-blog ul.wp-block-post-template li.wp-block-post:nth-child(n+4):nth-child(-n+7) img {
    height: 340px;
}

.home-blog ul.wp-block-post-template li.wp-block-post:nth-child(n+8):nth-child(-n+10) img {
    height: 240px;
}

.home-blog ul.wp-block-post-template li.wp-block-post .wp-block-post-title {
    font-size: 1.3rem;
    font-weight: 400;
    margin: 0.6rem 0 0.4rem 0;
}

.home-blog ul.wp-block-post-template li.wp-block-post .wp-block-post-featured-image {
    margin-bottom: 0;
}

.wp-block-query-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin: 1rem 0 !important;
  font-family: inherit;
  font-size: 14px;
}

.wp-block-query-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 5px;
  border-radius: 4px;
  text-decoration: none;
  border: 1px solid #ddd;
  background: #fff;
  color: #333;
  transition: all 0.2s ease-in-out;
}

.wp-block-query-pagination .page-numbers:hover {
  background: #2051a1;
  color: #fff;
  border-color: #2051a1;
}

.wp-block-query-pagination .page-numbers.current {
  background: #2051a1;
  color: #fff;
  border-color: #2051a1;
  font-weight: bold;
  cursor: default;
}

.wp-block-query-pagination .page-numbers.dots {
  border: none;
  background: none;
  cursor: default;
}

.wp-block-query-pagination .wp-block-query-pagination-next,
.wp-block-query-pagination .wp-block-query-pagination-previous {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  border-radius: 4px;
  border: 1px solid #ddd;
  background: #fff;
  color: #333;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}

.wp-block-query-pagination .wp-block-query-pagination-next:hover,
.wp-block-query-pagination .wp-block-query-pagination-previous:hover {
  background: #2051a1;
  border-color: #2051a1;
  color: #fff;
}

.wp-block-query-pagination .wp-block-query-pagination-previous-arrow,
.wp-block-query-pagination .wp-block-query-pagination-next-arrow {
    margin: 0 !important;
}

.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__content {
    position: absolute;
    z-index: 9;
}

.tribe-block__events-link, .tribe-events-c-events-bar {
    display: none !important;
}

.tribe-block__venue {
    max-width: unset !important;
}

.wp-block-gallery.has-nested-images figure.wp-block-image img {
    width: fit-content;
}

figure.wp-block-gallery figure.wp-block-image.aligncenter {
    align-items: center;
}