@import url("https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100..900;1,100..900&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap");
@font-face {
  font-family: "FSMBSlantedTitle";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/FSMBSlantedTitleSemibold.woff") format("woff");
}
@font-face {
  font-family: "FSMBSlantedTitle";
  font-style: italic;
  font-weight: 600;
  src: url("../fonts/FSMBSlantedTitleSemiboldItalic.woff") format("woff");
}
@font-face {
  font-family: "FSMBSlantedTitle";
  font-style: normal;
  font-weight: bold;
  src: url("../fonts/FSMBSlantedTitleBold.woff") format("woff");
}
@font-face {
  font-family: "FSMBSlantedTitle";
  font-style: italic;
  font-weight: bold;
  src: url("../fonts/FSMBSlantedTitleBoldItalic.woff") format("woff");
}
@font-face {
  font-family: "FSMBSlantedText";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/FSMBSlantedTextMedium.woff") format("woff");
}
@font-face {
  font-family: "FSMBSlantedText";
  font-style: italic;
  font-weight: 500;
  src: url("../fonts/FSMBSlantedTextMediumItalic.woff") format("woff");
}
@font-face {
  font-family: "FSMBSlantedText";
  font-style: normal;
  font-weight: bold;
  src: url("../fonts/FSMBSlantedTextBold.woff") format("woff");
}
@font-face {
  font-family: "FSMBSlantedText";
  font-style: italic;
  font-weight: bold;
  src: url("../fonts/FSMBSlantedTextBoldItalic.woff") format("woff");
}
.content-section--narrow, .content-section--wide, .content-section {
  --vertical-padding: clamp(26px, 4.6875vw, 36px);
  --horizontal-padding: clamp(26px, 4.6875vw, 36px);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: calc(var(--max-width) + var(--horizontal-padding) * 2);
  padding: var(--vertical-padding) var(--horizontal-padding);
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .content-section--narrow, .content-section--wide, .content-section {
    --vertical-padding: clamp(36px, 2.25rem + ((1vw - 7.67px) * 6.538), 80px);
  }
}

.content-section {
  --max-width: var(--wp--style--global--content-size);
}
@media (min-width: 768px) {
  .content-section {
    --horizontal-padding: clamp(26px, 1.625rem + ((1vw - 7.67px) * 16.345), 136px);
  }
}
.content-section--wide {
  --max-width: var(--wp--style--global--wide-size);
}
@media (min-width: 768px) {
  .content-section--wide {
    --horizontal-padding: clamp(26px, 1.625rem + ((1vw - 7.67px) * 11.293), 102px);
  }
}
.content-section--narrow {
  --max-width: calc(var(--wp--style--global--content-size) - 30px);
}
@media (min-width: 768px) {
  .content-section--narrow {
    --horizontal-padding: clamp(26px, 1.625rem + ((1vw - 7.67px) * 18.425), 150px);
  }
}

/* Temporary Styles to help with stubbing things out.
 * Will be adjusted/moved to their own components during
 * the course of development.
 */
html,
body {
  scrollbar-gutter: stable;
}

body {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  font-family: var(--wp--preset--font-family--nunito-sans), sans-serif;
  font-size: var(--wp--preset--font-size--standard-copy);
}
body.admin-bar {
  min-height: calc(100vh - var(--wp-admin--admin-bar--height));
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--wp--preset--font-family--inter-tight), sans-serif;
}

.wp-site-blocks {
  flex-grow: 1;
  display: grid;
  grid-template-areas: "header" "content" "footer";
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
}

.wp-site-blocks > header {
  grid-area: header;
  align-self: start;
}

.wp-site-blocks > main {
  align-self: start;
  grid-area: "content";
}

.wp-site-blocks > footer {
  grid-area: footer;
  align-self: end;
  height: 100%;
}

/* Reusable Styles. Will likely move these to another file
 * once we have things worked out
 */
/* Completely hidden, including screen readers */
.hidden,
[hidden] {
  display: none;
}

.invisible {
  visibility: hidden;
}

.assistive-content {
  -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  box-sizing: border-box;
  position: absolute;
  margin: 0;
  padding: 0;
}

/* Styles for collapsing columns. Will likely move these to
 * another file once they are finalized.
 */
.columns, .columns > .block-editor-inner-blocks > .block-editor-block-list__layout,
.collapsing-columns,
.collapsing-columns > .block-editor-inner-blocks > .block-editor-block-list__layout {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: clamp(20px, 5.5555555556vw, 80px);
}
.columns > div,
.collapsing-columns > div {
  width: 100%;
}

@media (max-width: 767px) {
  .collapsing-columns, .collapsing-columns > .block-editor-inner-blocks > .block-editor-block-list__layout {
    flex-direction: column;
    flex-wrap: wrap;
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .collapsing-columns > div, .collapsing-columns > .block-editor-inner-blocks > .block-editor-block-list__layout > div {
    flex-wrap: wrap;
  }
}

/* Stubbing out global styles for certain elements during
 * initial development. These will be cleaned up, moved (if
 * needed), and finalized later.
 */
p,
ul,
ol,
dl {
  line-height: 1.77777778;
}

ul {
  --text-color: var(--wp--preset--color--copy-primary);
  padding-left: 0.85em;
  color: var(--text-color);
}
.has-primary-background-color ul {
  --text-color: var(--wp--preset--color--neutral);
}

ol {
  padding-left: 1em;
}

table {
  width: 100%;
}
table th,
table td {
  text-align: left;
  padding: 0.5em 1em;
}

nav ul {
  list-style-type: none;
}
nav ul,
nav dl,
nav dt,
nav dd {
  margin: 0;
  padding: 0;
}

/* Accessibility Styles */
.focus-point {
  display: block;
  margin: -1px 0 0 -1px;
  width: 1px;
  height: 1px;
  cursor: pointer;
  position: absolute;
  opacity: 0;
}
.focus-point:focus {
  outline: none;
}

/* Custom Icon (this should be moved somewhere else in our final code) */
.ui-icon--chevron:after {
  content: "";
  display: inline-block;
  margin-left: 0.59em;
  width: 0.65em;
  height: 0.45em;
  clip-path: polygon(81.477% 7.883%, 50% 57.798%, 18.523% 7.883%, 18.523% 7.883%, 17.177% 6.07%, 15.705% 4.659%, 14.139% 3.652%, 12.509% 3.047%, 10.848% 2.846%, 9.187% 3.047%, 7.558% 3.652%, 5.992% 4.659%, 4.521% 6.07%, 3.177% 7.883%, 3.177% 7.883%, 2.033% 10.017%, 1.144% 12.351%, 0.508% 14.835%, 0.127% 17.419%, 0% 20.053%, 0.127% 22.687%, 0.508% 25.27%, 1.144% 27.753%, 2.033% 30.086%, 3.177% 32.218%, 42.327% 94.299%, 42.327% 94.299%, 43.673% 96.112%, 45.145% 97.523%, 46.711% 98.53%, 48.341% 99.135%, 50.002% 99.336%, 51.662% 99.135%, 53.292% 98.53%, 54.857% 97.523%, 56.328% 96.112%, 57.673% 94.299%, 96.823% 32.218%, 96.823% 32.218%, 97.967% 30.084%, 98.857% 27.75%, 99.492% 25.266%, 99.873% 22.682%, 100% 20.048%, 99.873% 17.414%, 99.492% 14.831%, 98.857% 12.348%, 97.967% 10.015%, 96.823% 7.883%, 96.823% 7.883%, 95.478% 6.07%, 94.006% 4.659%, 92.439% 3.652%, 90.81% 3.047%, 89.149% 2.846%, 87.488% 3.047%, 85.859% 3.652%, 84.293% 4.659%, 82.822% 6.07%, 81.477% 7.883%);
  transition: 0.3s background-color ease-in-out;
}
@media (max-width: 1024px) {
  .ui-icon--chevron:after {
    content: "\f054";
    font-family: "Font Awesome 6 Pro";
    font-weight: 900;
    clip-path: unset;
    height: unset;
    width: unset;
  }
}

a {
  --link-color: var(--wp--preset--color--ui-control);
  --link-color--interacting: var(--wp--preset--color--link-default-hover);
  --text-decoration: underline;
  --text-decoration--interacting: underline;
}
a:not(.wp-block-frs-blocks-button) {
  transition: color 0.3s ease-in-out;
}
a, a:visited {
  color: var(--link-color);
  text-decoration: var(--text-decoration);
}
a:hover, a:focus, a:active {
  color: var(--link-color--interacting);
  text-decoration: var(--text-decoration--interacting);
}

.has-primary-background-color a {
  --link-color: var(--wp--preset--color--link-primary);
  --link-color--interacting: var(--wp--preset--color--neutral);
}

/* Selectable Options (should be moved outside of this file as part of cleanup) */
.selectable-options {
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: clamp(582px, 544.7476px + 4.8569vw, 638px);
  gap: 32px;
}
@media (max-width: 767px) {
  .selectable-options {
    gap: 12px;
  }
}
@media (max-width: 480px) {
  .selectable-options {
    flex-direction: column;
    align-items: center;
  }
}
.selectable-options li {
  display: inline-flex;
  margin: 0;
  max-width: calc(50% - clamp(12px, 10.6667px + 0.2778vw, 16px));
  flex-grow: 1;
}
@media (max-width: 767px) {
  .selectable-options li {
    max-width: unset;
  }
}
.selectable-options--option {
  padding: 0;
  border: none;
  background: transparent none;
  color: var(--wp--preset--color--copy-primary);
  font-size: clamp(22px, 20.0043px + 0.2602vw, 25px);
  letter-spacing: 0;
  font-weight: normal;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  justify-content: space-between;
  text-align: left;
  position: relative;
  transition: 0.25s all ease-in-out;
}
@media (max-width: 767px) {
  .selectable-options--option {
    font-size: clamp(16px, 12.6551px + 0.6969vw, 18px);
  }
}
.selectable-options--option, .selectable-options--option i, .selectable-options--option span {
  cursor: pointer;
}
.selectable-options--option[disabled] {
  opacity: 0.75;
}
.selectable-options--option[disabled], .selectable-options--option[disabled] i, .selectable-options--option[disabled] span {
  cursor: default;
}
.selectable-options--option:focus {
  outline: none;
  color: var(--wp--preset--color--copy-primary);
}
.selectable-options--option:focus:after {
  content: "";
  display: block;
  width: 106%;
  height: 110%;
  transform: translate(-50%, -50%);
  border: 2px solid var(--wp--preset--color--main-primary-medium);
  border-radius: 4px;
  position: absolute;
  top: 50%;
  left: 50%;
  pointer-events: none;
}
.selectable-options--option i {
  font-size: 117%;
  margin: 3px 20px 0 0;
  cursor: pointer;
  color: var(--wp--preset--color--main-primary-medium);
}
@media (max-width: 767px) {
  .selectable-options--option i {
    margin: 3px 9px 0 0;
  }
}
.selectable-options--option .option-text {
  flex-grow: 1;
  flex-shrink: 1;
  line-height: 1.45;
  cursor: pointer;
}
.selectable-options--option .option-text .divider {
  padding: 0 0.25em;
}
@media (max-width: 767px) {
  .selectable-options--option .option-text .divider {
    padding: 0 0.1em;
  }
}

/* Calendar Styles. Will also need their own home, but have been placed here for now */
body .fc.fc-theme-standard td,
body .fc.fc-theme-standard th {
  border: none;
}
body .fc.fc-theme-standard .fc-toolbar.fc-header-toolbar {
  background-color: var(--wp--preset--color--main-primary-medium);
  margin-bottom: 0.15em;
}
body .fc.fc-theme-standard .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk {
  display: flex;
  height: 100%;
}
body .fc.fc-theme-standard .fc-toolbar.fc-header-toolbar .fc-button {
  background-color: transparent;
  padding: 0;
  border: none !important;
  position: relative;
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
body .fc.fc-theme-standard .fc-toolbar.fc-header-toolbar .fc-button .fc-icon {
  display: block;
  font-weight: bold;
  font-size: 28px;
}
@media (max-width: 767px) {
  body .fc.fc-theme-standard .fc-toolbar.fc-header-toolbar .fc-button .fc-icon {
    font-size: 26px;
  }
}
body .fc.fc-theme-standard .fc-toolbar.fc-header-toolbar .fc-button.disabled {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
body .fc.fc-theme-standard .fc-toolbar.fc-header-toolbar .fc-button.fc-prev-button {
  margin-left: 10px;
  padding: 0;
}
@media (max-width: 767px) {
  body .fc.fc-theme-standard .fc-toolbar.fc-header-toolbar .fc-button.fc-prev-button {
    margin-left: 2px;
  }
}
body .fc.fc-theme-standard .fc-toolbar.fc-header-toolbar .fc-button.fc-prev-button:focus:after {
  transform: translate(-48%, -48%);
}
body .fc.fc-theme-standard .fc-toolbar.fc-header-toolbar .fc-button.fc-next-button {
  margin-right: 10px;
  padding: 0;
}
@media (max-width: 767px) {
  body .fc.fc-theme-standard .fc-toolbar.fc-header-toolbar .fc-button.fc-next-button {
    margin-right: 2px;
  }
}
body .fc.fc-theme-standard .fc-toolbar.fc-header-toolbar .fc-button.fc-next-button:focus:after {
  transform: translate(-52%, -48%);
}
body .fc.fc-theme-standard .fc-toolbar.fc-header-toolbar .fc-button:focus {
  box-shadow: none;
  outline: none;
}
body .fc.fc-theme-standard .fc-toolbar.fc-header-toolbar .fc-button:focus:after {
  content: "";
  width: 100%;
  height: 102%;
  position: absolute;
  top: 50%;
  left: 50%;
  border: 2px solid var(--wp--preset--color--neutral);
  border-radius: 4px;
  transform: translate(-50%, -50%);
}
body .fc.fc-theme-standard .fc-toolbar.fc-header-toolbar .fc-button:hover {
  background-color: transparent !important;
  transform: none !important;
  color: var(--wp--preset--color--neutral) !important;
  border: none !important;
}
body .fc.fc-theme-standard .fc-toolbar .fc-toolbar-title {
  margin: clamp(8px, 7.2px + 0.25vw, 12px) 0;
  font-family: var(--wp--preset--font-family--inter-tight);
  font-size: clamp(18px, 16.8px + 0.375vw, 24px);
  font-size: clamp(16px, 14.4px + 0.5vw, 24px);
  line-height: 1.2;
  letter-spacing: 0.02em;
  font-weight: 600;
  text-transform: none;
}
body .fc.fc-theme-standard .fc-toolbar,
body .fc.fc-theme-standard .fc-toolbar .fc-toolbar-title {
  color: var(--wp--preset--color--neutral);
}
body .fc.fc-theme-standard .fc-scrollgrid {
  border: none;
}
body .fc.fc-theme-standard .fc-daygrid-body,
body .fc.fc-theme-standard .fc-scrollgrid-sync-table {
  width: 100% !important;
}
body .fc.fc-theme-standard .fc-daygrid-day {
  vertical-align: middle;
  border: 0.08em solid var(--wp--preset--color--neutral);
  background-color: var(--wp--preset--color--accent-primary-6);
  background-clip: padding-box;
  cursor: pointer;
}
body .fc.fc-theme-standard .fc-daygrid-day .fc-highlight {
  background-color: var(--wp--preset--color--main-primary);
}
body .fc.fc-theme-standard .fc-daygrid-day, body .fc.fc-theme-standard .fc-daygrid-day a, body .fc.fc-theme-standard .fc-daygrid-day a:hover {
  font-size: 22px;
  line-height: 1.2;
  font-weight: bold;
  color: var(--wp--preset--color--neutral);
  text-decoration: none;
  transition: unset;
}
@media (max-width: 767px) {
  body .fc.fc-theme-standard .fc-daygrid-day, body .fc.fc-theme-standard .fc-daygrid-day a, body .fc.fc-theme-standard .fc-daygrid-day a:hover {
    font-size: clamp(15px, 10px + 1.5625vw, 22px);
  }
}
body .fc.fc-theme-standard .fc-daygrid-day .fc-daygrid-day-frame {
  height: 100%;
}
body .fc.fc-theme-standard .fc-daygrid-day .fc-daygrid-day-frame .fc-daygrid-day-top {
  opacity: 1;
  justify-content: center;
  align-items: center;
  height: 100%;
}
body .fc.fc-theme-standard .fc-daygrid-day .fc-daygrid-day-frame .fc-daygrid-day-number {
  padding: 0;
}
body .fc.fc-theme-standard .fc-daygrid-day .fc-daygrid-day-bottom {
  display: none;
}
body .fc.fc-theme-standard .fc-daygrid-day.fc-day-past, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-sun, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-sat, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-disabled, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-today {
  cursor: not-allowed;
}
body .fc.fc-theme-standard .fc-daygrid-day.fc-day-past .fc-daygrid-day-top, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-sun .fc-daygrid-day-top, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-sat .fc-daygrid-day-top, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-disabled .fc-daygrid-day-top, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-today .fc-daygrid-day-top {
  opacity: 1;
}
body .fc.fc-theme-standard .fc-daygrid-day.fc-day-past, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-past a, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-past a:hover, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-sun, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-sun a, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-sun a:hover, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-sat, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-sat a, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-sat a:hover, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-disabled, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-disabled a, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-disabled a:hover, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-today, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-today a, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-today a:hover {
  font-weight: 300;
  color: var(--wp--preset--color--accent-secondary-4);
}
body .fc.fc-theme-standard .fc-daygrid-day.fc-day-past, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-sun, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-sat, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-disabled, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-today {
  background-color: var(--wp--preset--color--accent-secondary-2);
}
body .fc.fc-theme-standard .fc-daygrid-day.fc-day-today {
  background-color: var(--wp--preset--color--accent-secondary-4);
}
body .fc.fc-theme-standard .fc-daygrid-day.fc-day-today, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-today a, body .fc.fc-theme-standard .fc-daygrid-day.fc-day-today a:hover {
  color: var(--wp--preset--color--neutral);
  font-weight: bold;
}

.fc-scrollgrid-section > td {
  background-color: transparent;
}
