/* Blocks */

/*  Background Size */
.bg-size-cover {
  background-size: cover;
}
.bg-size-contain {
  background-size: contain;
}
.bg-size-100 {
  background-size: 100%;
}
.bg-size-75 {
  background-size: 75%;
}
.bg-size-50 {
  background-size: 50%;
}
.bg-size-25 {
  background-size: 25%;
}

/* Background Position*/
.bg-position-x-0 {
  background-position-x: 0;
}
.bg-position-x-50 {
  background-position-x: 50%;
}
.bg-position-x-100 {
  background-position-x: 100%;
}
.bg-position-y-0 {
  background-position-y: 0;
}
.bg-position-y-50 {
  background-position-y: 50%;
}
.bg-position-y-100 {
  background-position-y: 100%;
}

.bg-norepeat {
  background-repeat: no-repeat;
}
.bg-repeat {
  background-repeat: repeat;
}
.bg-repeat-x {
  background-repeat: repeat-x;
}
.bg-repeat-y {
  background-repeat: repeat-y;
}

/* 100vh for blocks (for customization) */
@media screen and (min-width: 768px) {
  .block-viewport {
    min-height: 100vh;
  }
}

/* Handle user images in the WYSIWYG */
.block .wysiwyg img {
  max-width: 100%;
}

/* Soft Corners */
.block .softcorners,
.block.softcorners {
  border-radius: var(--borderRadius);
}

/* Image Border Style */
.block img {
  border: 0;
  border-color: var(--white);
  border-style: solid;
}

.block .fixed,
.block.fixed {
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}
/* IOS safari solution for fixed backgrounds*/
@supports (-webkit-touch-callout: none) {
  .block .fixed,
  .block.fixed {
    background-attachment: scroll;
  }
}
@supports not (-webkit-touch-callout: none) {
  .block .fixed,
  .block.fixed {
    background-attachment: fixed;
  }
}

/* Carousel Styling */
.block .carousel-control-prev,
.block .carousel-control-next {
  width: 6.5%;
}
.carousel-control-next-icon,
.carousel-control-prev-icon {
  width: 2.4rem;
  height: 2.4rem;
}
.light-mode .carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}
.light-mode .carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2300'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
/* @media screen and (min-width: 576px) {
  .block .carousel-control-prev,
  .block .carousel-control-next {
    width: 7.5%;
  }
} */
@media screen and (min-width: 992px) {
  .block .carousel-control-prev,
  .block .carousel-control-next {
    width: 10%;
  }
  .carousel-control-next-icon,
  .carousel-control-prev-icon {
    width: 4rem;
    height: 4rem;
  }
}

/* Blocks: Image Border */
.block .border-hairline {
  border-width: 1px;
}
.block .border-regular {
  border-width: 8px;
  box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.09);
  margin: 10px;
}
.block .border-thick {
  border-width: 20px;
}

/* Block text */
.block-text.bg-none {
  margin-top: var(--spacingMobile);
}
.block:first-of-type:is(.block-text.bg-none) {
  margin-top: 0;
}
.block-text:not(.bg-none):not(.inner-padding) {
  padding: 20px 20px 15px;
}

/* Call-to-Action & Text Carousel MASK */
.block-carousel-text .bg-mask,
.block-cta .bg-mask {
  position: relative;
  background-repeat: no-repeat;
  background-size: 100% 40px;
  padding: 50px 0;
}

.block-carousel-text .triangle-left,
.block-cta .triangle-left {
  background-image: url(/images/mask-slice-left-top.svg), url(/images/mask-slice-left-bottom.svg);
  background-position: top center, bottom center;
}

.block-carousel-text .triangle-right,
.block-cta .triangle-right {
  background-image: url(/images/mask-slice-right-top.svg), url(/images/mask-slice-right-bottom.svg);
  background-position: top center, bottom center;
}

.block-carousel-text .swoosh-left,
.block-cta .swoosh-left {
  background-image: url(/images/mask-swoosh-left-top.svg), url(/images/mask-swoosh-left-bottom.svg);
  background-position: top center, bottom center;
  padding: 100px 0;
}

.block-carousel-text .swoosh-right,
.block-cta .swoosh-right {
  background-image: url(/images/mask-swoosh-right-top.svg), url(/images/mask-swoosh-right-bottom.svg);
  background-position: top center, bottom center;
  padding: 100px 0;
}

@media screen and (min-width: 576px) {
  .block-carousel-text .bg-mask,
  .block-cta .bg-mask {
    background-size: 100% 60px;
    padding: 100px 0;
  }
}

@media screen and (min-width: 768px) {
  .block-carousel-text .bg-mask,
  .block-cta .bg-mask {
    background-size: 100% 80px;
  }
}

@media screen and (min-width: 992px) {
  .block-carousel-text .bg-mask,
  .block-cta .bg-mask {
    background-size: 100% 100px;
  }

  .block-cta .slice-right,
  .block-cta .slice-left {
    padding: 125px 0;
  }

  .block-cta .swoosh-left,
  .block-cta .swoosh-right {
    padding: 150px 0;
  }
}

@media screen and (min-width: 1200px) {
  .block-carousel-text .bg-mask,
  .block-cta .bg-mask {
    background-size: 100% 110px;
  }

  .block-cta .slice-right,
  .block-cta .slice-left {
    padding: 150px 0;
  }

  .block-cta .swoosh-left,
  .block-cta .swoosh-right {
    padding: 200px 0;
  }
}

@media screen and (min-width: 1400px) {
  .block-carousel-text .bg-mask,
  .block-cta .bg-mask {
    background-size: 100% 120px;
  }
}

@media screen and (min-width: 1600px) {
  .block-carousel-text .bg-mask,
  .block-cta .bg-mask {
    background-size: 100% 130px;
  }
}

/* Blog-Posts */
.block-blog-posts:not(.bg-none):not(.inner-padding) {
  padding-top: var(--spacingMobile);
}

.block-blog-posts .post {
  margin-bottom: var(--spacingMobile);
}

@media screen and (min-width: 768px) {
  .block-blog-posts .post {
    margin-bottom: var(--spacingTablet);
  }
}

.block-blog-posts .post-name {
  text-decoration: none;
}

.block-blog-posts .post-name:hover {
  text-decoration: underline;
}

.block-blog-posts .post-image {
  width: 100%;
  object-fit: cover;
  margin-bottom: 20px;
  border: solid 2px transparent;
}

.block-blog-posts .post-image:hover {
  border-color: var(--primary);
}

.block-blog-posts .post-dateline {
  color: var(--medium);
  margin-right: 10px;
}

.block-blog-posts .post-line {
  display: inline-block;
  background-color: var(--secondary);
  height: 3px;
  width: 120px;
  margin-bottom: 3px;
}

/* Calendar */
.block-calendar .eventsx {
  display: none;
}

.block-calendar .calendarx {
  display: none;
}

.block-calendar .centered {
  text-align: center;
  justify-content: center;
}

.block-calendar .fc .fc-toolbar-title {
  font-size: 2.5rem;
}

@media screen and (max-width: 768px) {
  #calendar {
    display: none;
  }
  .block-calendar .fc .fc-toolbar-title {
    font-size: 2.5rem;
  }
}

.block-calendar .fc-header-toolbar.fc-toolbar .fc-toolbar-chunk:last-child {
  display: flex;
}

.block-calendar .fc .fc-button-primary {
  border-color: var(--primary);
  background-color: var(--primary);
}

.block-calendar .fc-daygrid-event-dot {
  border-color: var(--secondary);
}

.block-calendar .fc-daygrid-event .fc-event-title {
  font-weight: 400;
}

.block-calendar .fc-daygrid-event:hover {
  color: var(--black);
}

.block-calendar .fc .fc-list-event-dot {
  border-color: var(--secondary);
}
