/*
------------------------------------------------
   main
------------------------------------------------
*/

:root {
   --color-primary: #050a30;
   --color-accent-1-light: #73c8e3;
   --color-accent-1-dark: #000c66;
   --color-accent-2-light: #73c8e3;
   --color-accent-2-dark: #0000ff;
   --color-light-0: #ffffff;
   --color-light-1: #efefef;
   --color-light-2: #dfdfdf;
   --color-light-3: #cfcfcf;
   --color-dark-0: #000000;
   --color-dark-1: #0f0f0f;
   --color-dark-2: #1f1f1f;
   --color-dark-3: #2f2f2f;
   --add-10-white: rgba(255, 255, 255, .1);
   --add-25-white: rgba(255, 255, 255, .25);
   --add-50-white: rgba(255, 255, 255, .50);
   --add-75-white: rgba(255, 255, 255, .75);
   --add-90-white: rgba(255, 255, 255, .90);
   --add-10-black: rgba(0, 0, 0, .1);
   --add-25-black: rgba(0, 0, 0, .25);
   --add-50-black: rgba(0, 0, 0, .50);
   --add-75-black: rgba(0, 0, 0, .75);
   --add-90-black: rgba(0, 0, 0, .90);
   --add-10-gray: rgba(128, 128, 128, .1);
   --add-25-gray: rgba(128, 128, 128, .25);
   --add-50-gray: rgba(128, 128, 128, .50);
   --add-75-gray: rgba(128, 128, 128, .75);
   --add-90-gray: rgba(128, 128, 128, .90);
   --corner-radius: .35rem;
   --height-100: 100vh;
   --width-100: 100vw;
   --banner-height: 30rem;
   --sig-width: 400px;
   --sig-height: 200px;
   --shadow: 3px 3px 5px var(--add-50-black);
}

@supports(height: 100dvh) {
   :root {
      --height-100: 100dvh;
      --width-100: 100dvw;
   }
}

html {
   font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

body, form, html {
   margin: 0;
   padding: 0;
}

a {
   color: var(--color-accent-1-dark);
   text-decoration: none;
}

   a:hover {
      color: var(--color-accent-1-light);
   }


h1 {
   font-size: 2rem;
   margin: .5rem 0;
}

h2 {
   font-size: 1.8rem;
   margin: .5rem 0;
}

h3 {
   font-size: 1.6rem;
   margin: .5rem 0;
}

h4 {
   font-size: 1.4rem;
   margin: .5rem 0;
}

h5 {
   font-size: 1.3rem;
   margin: .5rem 0;
}

/*
------------------------------------------------
    Default Art of Site Styles (aos-)
------------------------------------------------
*/

.aos-root {
   display: flex;
   flex-direction: column;
   height: var(--height-100);
   width: 100%;
   overflow: auto;
}

.aos-header-root {
   display: flex;
   padding: .5rem;
   background-color: var(--color-light-0);
   color: var(--color-dark-1);
   flex-direction: row;
   position: fixed;
   top: 0;
   left: 0;
   width: calc(100% - 1rem);
   z-index: 4;
}

.aos-header-logo {
   margin: 0 .5rem;
}

.aos-menu-desktop {
   place-self: center;
}

.aos-menu-mobile {
   display: block;
   float: right;
   position: absolute;
   top: 3rem;
   right: 0;
   z-index: 100;
   background-color: var(--add-90-black);
   width: calc(var(--width-100) - 20vw);
   height: calc(var(--height-100) - 3rem);
   overflow-y: auto;
   overflow-x: hidden;
}

.aos-menu-mobile-button {
   cursor: pointer;
}

   .aos-menu-mobile-button i {
      zoom: 150%;
   }

.aos-menu-child {
   margin-left: .5rem;
}

.aos-menu-horiz-parent {
   font-weight: bold;
}

.aos-banner-container {
   z-index: 1;
   overflow: hidden;
   width: 100%;
   height: var(--banner-height);
   top: 3rem;
   position: fixed !important;
   background-color: var(--color-accent-1-dark);
   background-image: var(--banner-image);
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center;
}

.aos-banner {
   position: relative;
   height: var(--banner-height);
   display: flex;
   flex-direction: column;
   align-items: center;
}

.aos-banner-head {
   font-size: 2.5rem;
   font-weight: 500;
   width: 80vw;
   margin-top: 5rem;
   padding: 1rem;
   background-color: var(--add-50-white);
   border-radius: var(--corner-radius);
}

.aos-banner-subhead {
   font-size: 1.25rem;
   font-weight: 400;
   margin: 2rem 0;
   padding: 1rem;
   background-color: var(--add-50-white);
   border-radius: var(--corner-radius);
   width: 80vw;
   line-height: 2.5rem;
}

.aos-content-container {
   overflow-y: auto;
   display: flex;
   flex-direction: column;
   position: absolute;
   top: var(--banner-height);
   width: 100%;
   min-height: calc(var(--height-100) - var(--banner-height));
   z-index: 2;
   overflow-x: hidden;
}

.aos-header-no-banner {
   position: relative;
}

.aos-content-no-banner {
   position: relative;
   top: auto;
   min-height: auto;
   height: 100%;
}

.aos-main-root {
   display: flex;
   flex: 1;
   background-color: var(--color-light-1);
   width: 100%;
}

.aos-footer-root {
   display: flex;
   flex-direction: column;
   background-color: var(--color-primary);
   color: var(--color-light-1);
   padding: .5rem;
}

.aos-footer-menu a, .aos-footer-children a {
   color: var(--color-light-1);
   text-decoration: none;
}

   .aos-footer-menu a:hover {
      color: var(--add-75-white);
   }

.aos-footer-children {
   margin: 0;
   padding: 0;
   list-style: none;
   display: flex;
   flex-direction: row;
}

.aos-footer-menu {
   justify-content: space-around;
   display: flex;
   list-style: none;
   margin: 0;
   padding: 0;
   flex-wrap: wrap;
   gap: 1rem;
}

.aos-footer-children {
   flex-direction: column;
}

.aos-footer-top-link {
   font-weight: bold;
}

.aos-footer-menu li {
   margin: .25rem 0;
}

.aos-footer-end {
   margin: 1rem 5vw 3rem 5vw;
   display: flex;
   flex-direction: row;
   justify-content: space-between;
}

.aos-footer-copyright {
   display: flex;
   flex-direction: column;
}

.aos-copyright-symbol {
   font-size: .9rem;
   margin: .1rem;
}

.aos-love-symbol {
   color: red;
   font-size: 1rem;
}

.aos-footer-copyright a {
   color: var(--color-light-1);
   text-decoration: none;
   font-size: .8rem;
   margin-top: .5rem;
}

.aos-footer-end .aos-footer-socials {
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-items: center;
}

   .aos-footer-end .aos-footer-socials a {
      margin: 0 .5rem;
   }

   .aos-footer-end .aos-footer-socials img {
      max-height: 1.75rem;
      max-width: 1.75rem;
   }

/*
------------------------------------------------
   Pages
------------------------------------------------
*/
.aos-page-root {
   width: 100%;
}

.aos-section {
   width: 100%;
   padding: 1rem 2rem;
}

.aos-section-preview {
   min-height: 3rem;
}

.aos-section-controls {
   display: none;
}

.aos-section-preview:hover {
   background-color: var(--add-75-black);
}

   .aos-section-preview:hover .aos-section-controls {
      display: grid;
      grid-template-columns: [edit] auto 1fr [add] auto 1fr [up-down-delete] auto;
      position: absolute;
      width: calc(100% - 5rem);
      margin: .5rem 1rem;
   }

.aos-section-control {
   margin: 0 .5rem !important;
   color: var(--color-light-0);
   background-color: var(--color-dark-3);
   cursor: pointer;
}

.aos-section-control-edit {
   grid-column-start: edit;
}

.aos-section-control-add {
   grid-column-start: add;
}

.aos-section-control-up-down-delete {
   grid-column-start: up-down-delete;
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: end;
}

   .aos-section-control-up-down-delete .icono-trash {
      margin-top: .25rem !important;
   }

.aos-section-control:hover {
   color: var(--color-accent-1-light);
   background-color: var(--add-10-white);
}

.aos-preview-ribbon {
   position: fixed;
   background: var(--color-dark-0);
   box-shadow: 0 0 0 999px var(--color-dark-0);
   color: var(--color-light-1);
   clip-path: inset(0 -100%);
   inset: 0 0 auto auto;
   transform-origin: 0 0;
   transform: translate(29.3%) rotate(45deg);
   z-index: 10;
   padding: .1rem;
}

/*
------------------------------------------------
   Articles
------------------------------------------------
*/

.aos-article-root {
   width: 90%;
   margin: .5rem auto;
}

.aos-article-toc {
   display: flex;
   flex-direction: row;
   width: 100%;
}

.aos-article {
   display: flex;
   flex-direction: column;
   margin: 1rem;
   flex: 4;
}

.aos-toc {
   flex: 1;
   min-width: 10rem;
   margin: .5rem .35rem 1.5rem .35rem;
}

   .aos-toc ul {
      list-style: none;
      margin: 0;
      padding: 0;
   }

      .aos-toc ul li {
         margin: .5rem 0;
      }

.aos-article-body {
   margin: 1rem 1rem 1rem 0;
}

.aos-previous-next-articles {
   display: flex;
   flex-direction: row;
}

.aos-previous-next-article {
   flex: 1;
   margin: auto .5rem;
}

.aos-article-link-text {
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   display: inline-block;
   max-width: 35vw;
}

.aos-previous-next-article i {
   margin-top: .15rem;
}

.aos-previous-article {
   text-align: left;
}

.aos-next-article {
   text-align: right;
}

.aos-toc-current-article {
   font-weight: bold;
}

   .aos-toc-current-article::before {
      content: "\2B9E";
      display: block;
      position: relative;
      float: left;
      margin-left: -1.25rem;
   }

   .aos-toc-current-article::after {
      content: "\2B9C";
      display: block;
      position: relative;
      float: right;
      margin-right: -1rem;
   }

.aos-article-tile-root {
   align-self: center;
}

.aos-article-tile {
   width: calc(100% - 1rem);
   margin: .5rem;
   border: 2px solid var(--color-accent-1-dark);
   box-shadow: 3px 3px 5px var(--add-50-black);
   border-radius: var(--corner-radius);
   cursor: pointer;
   display: flex;
   flex-direction: column;
}

   .aos-article-tile:hover {
      border: 2px solid var(--color-accent-2-dark);
      box-shadow: 3px 3px 5px var(--add-75-black);
   }

   .aos-article-tile:active {
      box-shadow: none;
   }

.aos-article-image {
   height: 6rem;
   border-radius: .25rem .25rem 0 0;
   background-color: var(--color-accent-2-dark);
   display: flex;
   justify-content: center;
   background-image: var(--article-header-image);
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center;
}

.aos-article-title {
   margin: auto .35rem;
   padding: .5rem .35rem;
   font-size: 1.1rem;
   color: var(--color-light-1);
   font-weight: 500;
   text-align: center;
   background-color: var(--add-75-black);
   border-radius: var(--corner-radius);
   min-width: 90%;
}

.aos-article-snippet {
   min-height: 4rem;
   word-wrap: break-word;
   overflow: hidden;
   margin: .35rem;
   padding: .35rem;
   font-size: .9rem;
   color: var(--color-dark-1);
   line-height: 1.1rem;
}

.aos-load-more-button {
   display: flex;
   justify-content: center;
   margin: .5rem;
}

.aos-articles-loading {
   display: flex;
   width: 100%;
   min-height: 60vh;
   align-content: center;
   justify-content: center;
}

/*
------------------------------------------------
   forms
------------------------------------------------
*/

form.htmx-request {
   opacity: .5;
   transition: opacity 300ms linear;
}

.aos-form-field {
   max-width: min(90vw, 100%);
   margin: .5rem 0;
}

.aos-form-root .aos-form-item-list {
   margin-left: 1rem;
   display: flex;
}

   .aos-form-root .aos-form-item-list .aos-form-list-item {
      margin: 0 .25rem 0 0;
   }

.aos-form-root .aos-form-label {
   font-weight: 500;
   margin-top: .35rem;
}

.aos-form-root .aos-input-1-5 {
   width: 20%;
}

.aos-form-root .aos-input-1-6 {
   width: 16.67%;
}

.aos-form-root .aos-input-1-8 {
   width: 12.5%;
}

.aos-form-root .aos-input-1-10 {
   width: 10%;
}

.aos-required-glyph {
   margin-top: -.5rem;
   margin-left: .25rem;
   color: var(--color-accent-1-dark);
}

.aos-form-star-rating {
   display: flex;
   flex-direction: row-reverse;
   justify-content: flex-end;
}

.aos-form-star-input {
   position: fixed;
   opacity: 0;
   pointer-events: none;
}

.aos-form-star-label {
   cursor: pointer;
   font-size: 0;
   color: var(--add-50-gray);
   transition: color 0.1s ease-in-out;
}

   .aos-form-star-label:before {
      content: "\2605";
      display: inline-block;
      font-size: 2rem;
      text-shadow: 2px 2px var(--add-10-black);
   }

.aos-form-star-xsmall.aos-form-star-label:before {
   font-size: min(1rem, 10vw);
}

.aos-form-star-small.aos-form-star-label:before {
   font-size: min(2rem, 10vw);
}

.aos-form-star-medium.aos-form-star-label:before {
   font-size: min(3rem, 10vw);
}

.aos-form-star-large.aos-form-star-label:before {
   font-size: min(4rem, 10vw);
}

.aos-form-star-xlarge.aos-form-star-label:before {
   font-size: min(6rem, 10vw);
}

.aos-form-star-input:checked ~ .aos-form-star-label {
   color: var(--color-accent-2-dark);
}

.aos-form-star-label:hover,
.aos-form-star-label:hover ~ .aos-form-star-label {
   color: var(--color-accent-2-light);
}

.aos-form-star-input:checked ~ .aos-form-star-label:hover {
   color: var(--color-accent-1-light);
}

.aos-form-star-label:active:before {
   text-shadow: none;
}

.aos-signature-wrapper {
   position: relative;
   width: var(--sig-width);
   height: var(--sig-height);
   -moz-user-select: none;
   -webkit-user-select: none;
   -ms-user-select: none;
   user-select: none;
   border: 1px solid var(--add-25-black);
   border-radius: var(--corner-radius);
}

.aos-signature-pad {
   position: absolute;
   left: 0;
   top: 0;
   width: var(--sig-width);
   height: var(--sig-height);
   background-color: var(--color-light-0);
   border-radius: var(--corner-radius);
}

.aos-rich-editor-wrapper {
   height: 20rem;
   width: 20rem;
   border: 1px solid var(--color-accent-1-dark);
   border-radius: var(--corner-radius);
   background-color: var(--color-light-0);
   display: flex;
   flex-direction: column;
}

.aos-signature-clear {
   position: absolute;
   right: .1rem;
   top: .1rem;
   zoom: .75;
   cursor: pointer;
   color: var(--add-50-black);
}

   .aos-signature-clear:hover {
      color: var(--add-75-black);
   }

.aos-rich-editor-toolbar {
   display: flex;
   flex-direction: row;
}

   .aos-rich-editor-toolbar div {
      font-style: normal;
      font-weight: bold;
      cursor: pointer;
      margin: .25rem;
      padding: .25rem;
      min-width: 1.25rem;
      min-height: 1.25rem;
      text-align: center;
      font-size: 1rem;
      border: 1px solid var(--add-25-black);
      border-radius: var(--corner-radius);
   }


.aos-rich-editor {
   height: 19rem;
   width: 19rem;
   background-color: var(--color-light-0);
   border-radius: var(--corner-radius);
   padding: .5rem;
}

.aos-paragraph-xsmall {
   height: 4rem;
}

.aos-paragraph-small {
   height: 6rem;
}

.aos-paragraph-medium {
   height: 8rem;
}

.aos-paragraph-large {
   height: 10rem;
}

.aos-paragraph-xlarge {
   height: 12rem;
}

.aos-nps-ranking {
   display: flex;
   flex-direction: row-reverse;
   justify-content: flex-end;
}

.aos-nps-rank-input {
   position: fixed;
   opacity: 0;
   pointer-events: none;
}

.aos-nps-rank-label {
   cursor: pointer;
   font-size: 0;
   color: var(--text-dark-color-1);
   transition: color 0.1s ease-in-out;
}

   .aos-nps-rank-label:before {
      content: attr(data-ranking);
      border: 1px solid var(--accent-1);
      border-radius: 100%;
      cursor: pointer;
      box-shadow: 3px 3px 5px var(--add-50-black);
      width: 2rem;
      height: 2rem;
      margin: 0 .25rem;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: .9rem;
      font-weight: bold;
      background-color: var(--color-light-0);
   }

.aos-nps-rank-xsmall.aos-nps-rank-label:before {
   font-size: min(.65rem, calc(5vw - .5rem));
   width: min(1.25rem, calc(9vw - .5rem));
   height: min(1.25rem, calc(9vw - .5rem));
}

.aos-nps-rank-small.aos-nps-rank-label:before {
   font-size: min(.8rem, calc(5vw - .5rem));
   width: min(1.5rem, calc(9vw - .5rem));
   height: min(1.5rem, calc(9vw - .5rem));
}

.aos-nps-rank-medium.aos-nps-rank-label:before {
   font-size: min(.9rem, calc(5vw - .5rem));
   width: min(2rem, calc(9vw - .5rem));
   height: min(2rem, calc(9vw - .5rem));
}

.aos-nps-rank-large.aos-nps-rank-label:before {
   font-size: min(1.1rem, calc(5vw - .5rem));
   width: min(2.5rem, calc(9vw - .5rem));
   height: min(2.5rem, calc(9vw - .5rem));
}

.aos-nps-rank-xlarge.aos-nps-rank-label:before {
   font-size: min(1.35rem, calc(5vw - .5rem));
   width: min(3rem, calc(9vw - .5rem));
   height: min(3rem, calc(9vw - .5rem));
}

.aos-nps-rank-input:checked ~ .aos-nps-rank-label:before {
   background-color: var(--color-accent-1-light);
}

.aos-nps-rank-label:hover,
.aos-nps-rank-label:hover ~ .aos-nps-rank-label {
   color: var(--color-light-1);
}

   .aos-nps-rank-label:hover:before, .aos-nps-rank-label:hover ~ .aos-nps-rank-label:before,
   .aos-nps-rank-input:checked ~ .aos-nps-rank-label:hover:before {
      background-color: var(--color-accent-2-dark);
      color: var(--color-light-0);
   }

.aos-nps-rank-label:active:before {
   box-shadow: none;
}


.aos-form-field input[type="file"] {
   max-width: 100%;
   color: var(--color-dark-1);
   padding: .25rem;
   background: var(--color-light-0);
   border-radius: var(--corner-radius);
   border: 1px solid var(--add-25-black);
}

   .aos-form-field input[type="file"]::file-selector-button {
      margin-right: 1rem;
      border: none;
      background-color: var(--color-accent-1-dark);
      padding: .5rem 1rem;
      border-radius: var(--corner-radius);
      color: var(--color-light-1);
      cursor: pointer;
      transition: background .2s ease-in-out;
      font-weight: 500;
   }

      .aos-form-field input[type="file"]::file-selector-button:hover {
         background-color: var(--color-accent-1-light);
         color: var(--color-dark-1);
      }

.aos-form-field input[type="range"] {
   accent-color: var(--color-accent-1-dark);
}


.aos-form-edit {
   min-height: 3rem;
   padding: .5rem;
   border: 1px dashed var(--add-25-black);
   border-radius: var(--corner-radius);
   display: flex;
   flex-direction: column;
}

.aos-form-edit-controls {
   display: none;
}

.aos-form-edit:hover {
   background-color: var(--add-75-black);
   border: 1px dashed var(--add-50-black);
}

   .aos-form-edit:hover .aos-form-edit-controls {
      display: grid;
      grid-template-columns: [edit] auto 1fr [add] auto 1fr [up-down-delete] auto;
      width: min(calc(90vw - 2.5rem), calc(100% - 5rem));
      margin: .5rem 1rem;
      position: absolute;
   }

   .aos-form-edit:hover input,
   .aos-form-edit:hover select,
   .aos-form-edit:hover .aos-nps-rank-label:before,
   .aos-form-edit:hover textarea,
   .aos-form-edit:hover canvas {
      background-color: var(--add-50-gray);
   }

.aos-form-edit-control {
   margin: 0 .5rem !important;
   color: var(--add-90-white);
   background-color: var(--add-50-gray);
   cursor: pointer;
}

.aos-form-edit-control-edit {
   grid-column-start: edit;
}

.aos-form-edit-control-add {
   grid-column-start: add;
}

.aos-form-edit-control-up-down-delete {
   grid-column-start: up-down-delete;
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: end;
}

   .aos-form-edit-control-up-down-delete .icono-trash {
      margin-top: .25rem !important;
   }

.aos-form-edit-control:hover {
   color: var(--color-accent-1-light);
   background-color: var(--add-10-white);
}

.aos-form-button {
   padding: .75rem 1.25rem;
   margin: .5rem 0;
   border-radius: var(--corner-radius);
   box-shadow: 3px 3px 5px var(--add-50-black);
}

   .aos-form-button:active {
      box-shadow: none;
   }

/*
------------------------------------------------
   form response aos-formr-
------------------------------------------------
*/

.aos-formr-root {
   margin: 1rem 5vw;
}

   .aos-formr-root .aos-formr-title {
      margin: .35rem 0;
   }

   .aos-formr-root .aos-formr-subtitle {
      margin: .35rem 0;
      font-style: italic;
   }

   .aos-formr-root .aos-formr-response {
      list-style: none;
      padding: 0;
      margin: 0;
   }

      .aos-formr-root .aos-formr-response li {
         margin: .35rem 0;
      }

   .aos-formr-root .aos-formr-field-title {
      font-weight: bold;
      margin: .35rem 0;
   }

   .aos-formr-root .aos-formr-field-value {
      margin-left: .35rem;
   }

      .aos-formr-root .aos-formr-field-value p {
         margin: .25rem 0 .25rem .35rem;
      }

   .aos-formr-root .aos-formr-response img {
      margin: .25rem 0 .25rem .35rem;
   }

   .aos-formr-root .aos-formr-signature {
      display: flex;
      flex-direction: column;
   }

      .aos-formr-root .aos-formr-signature img {
         border: 1px solid var(--add-75-black);
         border-radius: var(--corner-radius);
      }

/*
------------------------------------------------
   thumbnail image viewer
------------------------------------------------
*/

.aos-modal-dialog {
   display: flex;
   align-items: center;
   justify-content: center;
   position: fixed;
   left: 0;
   top: 5rem;
   z-index: 100;
   width: calc(100vw - .5rem);
   height: calc(100vh - 5rem);
}

.aos-modal-inner {
   box-shadow: 3px 3px 5px var(--add-50-black);
   border: 1px solid var(--color-light-3);
   background-color: var(--color-light-0);
   border-radius: var(--corner-radius);
   padding: .5rem;
}

   .aos-modal-inner button {
      background-color: var(--color-dark-3);
      color: var(--color-light-1);
      border-color: transparent;
      position: relative;
      float: right;
      margin-left: -2rem;
      cursor: pointer;
      border-radius: var(--corner-radius);
   }

      .aos-modal-inner button:hover {
         background-color: var(--color-dark-2);
         color: var(--color-light-0);
      }

.aos-modal-footer {
   display: flex;
   align-items: center;
   justify-content: space-between;
}

   .aos-modal-footer h3 {
      color: var(--color-dark-3);
      font-size: .85rem;
      font-weight: normal;
      margin: .5rem .25rem .25rem .25rem;
   }

.aos-modal-inner img {
   border-radius: var(--corner-radius);
   background-color: var(--color-light-0);
}

.aos-image-container {
   width: 100%;
   max-width: calc(100vw - 4rem);
}

.aos-image-container img {
   cursor: pointer;
   border: 2px solid transparent;
   border-radius: var(--corner-radius);
   justify-self: center;
   align-self: center;
}

   .aos-image-container img:hover {
      border: 2px solid var(--color-accent-1-light);
   }

   .aos-image-container ul li {
      display: flex;
   }

.splide__arrow {
   background: var(--color-accent-1-dark);
   width: 2.5rem;
   height: 2.5rem;
}

   .splide__arrow svg {
      fill: #fff;
   }

/*
------------------------------------------------
   google reviews
------------------------------------------------
*/

.aos-greviews-section {
   width: 45vw;
}

.aos-greview-card {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   gap: .25rem;
   width: 45vw;
}

.aos-greview-author-image {
   height: auto;
   width: auto;
   max-width: 4rem;
}

.aos-greview-author-name {
   font-weight: bold;
   font-size: 1.2rem;
}

.aos-greview-date {
   color: var(--add-50-black);
}

.aos-greview-rating {
   font-weight: bold;
   font-size: 1.8rem;
}

.aos-greview-star {
   font-style: normal;
}

.aos-greview-star-yellow {
   color: #F9B237;
   text-shadow: 2px 2px 4px var(--add-50-black);
}

.aos-greview-star-gray {
   color: dimgray;
}

.aos-greview-text {
   max-width: 80%;
   height: 7rem;
   margin: 1rem;
}

/*
------------------------------------------------
   Article Widget
------------------------------------------------
*/

.aos-article-widget-root {
   display: flex;
   flex-direction: row;
   list-style: none;
   margin: 0;
   padding: 0;
}

.aos-article-widget-item {
   width: var(--article-width);
   margin: .5rem;
   padding: .5rem;
}

.aos-article-widget-image {
   height: 8rem;
   border-radius: var(--corner-radius);
   background-color: var(--color-accent-2-dark);
   display: flex;
   justify-content: center;
   background-image: var(--article-header-image);
   background-repeat: no-repeat;
   background-size: cover;
   background-position: center;
}

.aos-article-widget-title {
   font-size: 1.1rem;
   color: var(--color-light-1);
   font-weight: 500;
   text-align: center;
   background-color: var(--add-50-black);
   border-radius: var(--corner-radius);
   height: 100%;
   width: 100%;
   display: flex;
   justify-content: center;
   text-shadow: 1px 1px 2px var(--color-accent-1-dark);
}

   .aos-article-widget-title div {
      margin: .5rem;
   }

   .aos-article-widget-snippet {
      min-height: 4rem;
      word-wrap: break-word;
      overflow: hidden;
      margin: .35rem 0;
      padding: .35rem 0;
      font-size: .9rem;
      color: var(--color-dark-1);
      line-height: 1.1rem;
   }

/*
------------------------------------------------
   utility
------------------------------------------------
*/
.aos-vertical-stack {
   display: flex;
   flex-direction: column;
}

.aos-horizontal-stack {
   display: flex;
   flex-direction: row;
}

.aos-flex-fill {
   flex: 1;
}

.aos-margin-lr-sm {
   margin-left: .25rem;
   margin-right: .25rem;
}

.aos-margin-lr-md {
   margin-left: .35rem;
   margin-right: .35rem;
}

.aos-margin-lr-lg {
   margin-left: .5rem;
   margin-right: .5rem;
}

.aos-margin-tb-sm {
   margin-top: .25rem;
   margin-bottom: .25rem;
}

.aos-margin-tb-md {
   margin-top: .35rem;
   margin-bottom: .35rem;
}

.aos-margin-tb-lg {
   margin-top: .5rem;
   margin-bottom: .5rem;
}

.aos-margin-all-sm {
   margin: .25rem;
}

.aos-margin-all-md {
   margin: .35rem;
}

.aos-margin-all-lg {
   margin: .5rem;
}

.aos-margin-none {
   margin: 0;
}

.aos-padding-lr-sm {
   padding-left: .25rem;
   padding-right: .25rem;
}

.aos-padding-lr-md {
   padding-left: .35rem;
   padding-right: .35rem;
}

.aos-padding-lr-lg {
   padding-left: .5rem;
   padding-right: .5rem;
}

.aos-padding-tb-sm {
   padding-top: .25rem;
   padding-bottom: .25rem;
}

.aos-padding-tb-md {
   padding-top: .35rem;
   padding-bottom: .35rem;
}

.aos-padding-tb-lg {
   padding-top: .5rem;
   padding-bottom: .5rem;
}

.aos-padding-all-sm {
   padding: .25rem;
}

.aos-padding-all-md {
   padding: .35rem;
}

.aos-padding-all-lg {
   padding: .5rem;
}

.aos-padding-none {
   padding: 0;
}

.aos-zoom-150 {
   zoom: 150%;
}

.aos-zoom-125 {
   zoom: 125%;
}

.aos-zoom-75 {
   zoom: 75%;
}

.aos-zoom-50 {
   zoom: 50%;
}

.aos-horz-center {
   display: flex;
   justify-content: center;
}

.aos-vert-center {
   display: flex;
   align-items: center;
}

.aos-center-all {
   display: flex;
   justify-content: center;
   align-items: center;
}

.aos-faded-text {
   color: var(--add-75-gray);
   font-style: italic;
   font-size: .85rem;
}

.aos-counts-wrapper {
   display: flex;
   flex-direction: row;
}

   .aos-counts-wrapper .aos-counts {
      margin: 0 .25rem;
   }

.aos-center-text {
   text-align: center;
}

.aos-color-light-1 {
   color: var(--color-light-1);
}

/*
------------------------------------------------
   appointment response widget 
------------------------------------------------
*/

.aos-appt-response {
   display: flex;
   flex-direction: column;
   align-items: center;
}

.aos-appt-details {
   display: flex;
   flex-direction: column;
   padding: 1rem;
   background-color: var(--color-light-0);
   border-radius: var(--corner-radius);
   box-shadow: var(--shadow);
   align-items: center;
}

.aos-response-options {
   display: flex;
   flex-direction: row;
}

.aos-response-button {
   margin: 1rem 1rem 0 1rem;
   padding: .5rem 1rem;
   border: 1px solid var(--add-25-black);
   border-radius: var(--corner-radius);
   color: var(--color-light-1);
   text-transform: uppercase;
   font-size: .9rem;
   box-shadow: var(--shadow);
   font-weight: bold;
   cursor: pointer;
   text-align: center;
}

   .aos-response-button:active {
      box-shadow: none;
      font-weight: normal;
   }

.aos-response-confirm {
   background-color: #013220;
}

.aos-response-cancel {
   background-color: #600000;
}

.aos-response-button:active {
   color: var(--color-light-0);
}

.aos-response-confirm:hover {
   background-color: #01492E;
}

.aos-response-cancel:hover {
   background-color: #8b0000;
}

.aos-response-disabled {
   background-color: var(--add-25-black);
   cursor: not-allowed;
}

   .aos-response-disabled:hover {
      background-color: var(--add-25-black);
   }

   .aos-response-disabled:active {
      box-shadow: var(--shadow);
      font-weight: bold;
   }

.aos-response-warning {
   color: #600000;
   font-weight: bold;
   max-width: 20rem;
   text-align: center;
}

.aos-response-loading {
   display: flex;
   flex-direction: column;
   font-size: .9rem;
   position: absolute;
   top: 0;
   left: 0;
   bottom: 0;
   right: 0;
   z-index: 100;
   height: 100%;
   width: 100%;
   background-color: var(--add-25-black);
   align-items: center;
}

   .aos-response-loading img {
      filter: invert(52%) sepia(39%) saturate(2582%) hue-rotate(158deg) brightness(89%) contrast(103%);
      height: 1.5rem;
      width: 1.5rem;
      margin: 0 auto 1rem auto;
   }

.aos-response-loading-inner {
   margin: 10vh auto;
   display: flex;
   flex-direction: column;
   padding: 2rem;
   background-color: var(--add-90-white);
   border-radius: var(--corner-radius);
   box-shadow: var(--shadow);
   align-items: center;
}

/*
------------------------------------------------
   alpine.js stuff 
------------------------------------------------
*/
[x-cloak] {
   display: none !important;
}

/*
------------------------------------------------
   pure overrides 
------------------------------------------------
*/

.pure-menu-link {
   color: var(--color-dark-1);
}

   .pure-menu-link:hover {
      background-color: var(--add-10-white);
   }

.pure-menu-selected {
   background-color: var(--add-25-gray);
}

   .pure-menu-selected:hover {
      background-color: var(--add-50-gray);
   }

.pure-menu-horizontal {
   width: auto;
}

.pure-form select,
.pure-form input[type="text"],
.pure-form input[type="email"],
.pure-form input[type="tel"],
.pure-form input[type="number"],
.pure-form input[type="url"],
.pure-form input[type="time"],
.pure-form input[type="date"],
.pure-form input[type="datetime-local"] {
   height: 2.75em;
}

/*
------------------------------------------------
   desktop overrides
------------------------------------------------
*/

@media (min-width: 768px) {
   .aos-menu-mobile-root {
      display: none;
   }
}

/*
------------------------------------------------
   mobile overrides
------------------------------------------------
*/

@media (max-width: 768px) {
   .aos-toc {
      display: none;
   }

   .aos-menu-desktop {
      display: none;
   }

   .pure-menu-link {
      color: var(--color-light-1);
   }

   .pure-menu-item a:hover {
      color: var(--color-light-2);
   }

   .aos-menu-mobile-root .pure-menu-selected > .pure-menu-link,
   .pure-menu-selected > .pure-menu-link:visited {
      color: var(--color-light-0);
   }

   .aos-previous-next-articles {
      flex-direction: column;
   }

   .aos-previous-next-article {
      margin: .35rem 0;
   }

   .aos-article-link-text {
      max-width: 70vw;
   }

   .aos-banner-head {
      font-size: 1.3rem;
   }

   .aos-banner-subhead {
      font-size: 1.1rem;
      line-height: normal;
   }

   .aos-greviews-section, .aos-greview-card {
      width: 90vw;
   }

   .aos-article-widget-root {
      flex-direction: column;
   }

   .aos-article-widget-item {
      width: 100%;
   }

   .aos-response-options {
      flex-direction: column;
   }
}
