/* ARTWORK NOTES
--------------------------------------------

--------------------------------------------
*/
html body.site-home {
    --section-slideshow-bg: var(--secondary-color);
    --section-above-bg: var(--secondary-color);
    --section-feature-bg: var(--secondary-color);
    --section-utility-bg: var(--secondary-color);
    --section-extension-bg: var(--secondary-color);
}
.site-sub #g-container-main {
	background-color: var(--secondary-color);
}
.site-sub #g-mainbar {
	background-color: var(--default-white);
	box-shadow: var(--default-box-shadow);
	margin: 3% 0% 3% 5%;
}

html body {
    --side-menu-bg: var(--primary-color);
    --side-menu-bg-hover: var(--secondary-color);
    --side-menu-font-size-desktop: min(1.25vw, 1.25rem);
    --side-menu-font-family: var(--body-font-family);
    --side-menu-font-weight: 400;
}

html body #g-navigation {
    --main-menu-text-color: var(--default-white);
    --main-menu-text-color-hover: var(--default-white);
	--main-menu-bg: var(--primary-color);
    --main-menu-bg-color: var(--primary-color);

    --navigation-floating-social-padding: min(1vw, 1rem);

    --section-navigation-bg: transparent;
}

.g-array-item-text {
    margin: 0!important;
    padding: 0!important;
}

/* NAVIGATION */
@media only screen and (min-width: 50.99rem) {
    #g-navigation > .g-container {
        box-shadow: var(--default-box-shadow);
    }

    #g-navigation > .g-container > .g-grid:has(.g-main-nav) {
        position: relative;
    }
    #g-navigation > .g-container > .g-grid:has(.g-main-nav):before {
        content: '';
        background: var(--primary-color);
        height: 100%;
        width: 3000%;
        margin-left: -500%;
        margin-right: -500%;
        position: absolute;
    }

    #g-navigation.crawl-space .g-main-nav .g-toplevel>li:hover:not(.g-menu-item-type-particle)>.g-menu-item-container, #g-navigation.crawl-space .g-main-nav .g-toplevel>li.active:not(.g-menu-item-type-particle)>.g-menu-item-container {
        margin: 0;
        border: none!important;
    }

    .crawl-space .g-main-nav .g-toplevel>li:not(.g-toplevel>li:has(.g-social-items))>.g-menu-item-container {
        padding: min(1.5vw, 1.5rem) min(1vw, 14.4px);
    }
    #g-navigation > .g-container > .g-grid:has(.g-main-nav) > .g-block {
        position: relative;
        box-shadow: var(--default-box-shadow);
        z-index: 10;
        border: 1px solid rgba(var(--default-white-rgb),.3);
    }
    #g-navigation .g-toplevel > li {
        flex: 1;
        background: linear-gradient(to top, rgba(var(--primary-color-rgb),1), rgba(var(--default-white-rgb),.3));
        transition: .3s all ease-in-out;
    }
    #g-navigation .g-toplevel > li:hover {
        background: linear-gradient(to top, rgba(var(--primary-color-rgb),1), rgba(var(--default-white-rgb),.8));
    }
    #g-navigation .g-toplevel > li.active {
        background: linear-gradient(to top, rgba(var(--primary-color-rgb),1), rgba(var(--default-white-rgb),.8));
    }
    #g-navigation .g-toplevel > li:not(li:last-child) {
        border-right: 1px solid rgba(var(--default-white-rgb),.4);
    }
}

@media only screen and (min-width: 50.99rem) {
    #g-navigation .g-main-nav .g-sublevel>li>.g-menu-item-container {
        color: var(--default-white);
    }
    #g-navigation .g-main-nav .g-sublevel>li>.g-menu-item-container:hover {
        background: var(--secondary-color);
        color: var(--default-white)!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    #g-navigation > .g-container {
        padding: 1rem 0!important;
    }
}

/*SLIDESHOW*/
@media only screen and (min-width: 50.99rem) {
    .site-home #g-slideshow > .g-container {
        background: url('/images/template/bg-swiper.png') 100% 0% no-repeat, var(--default-white);
        background-size: contain;
        padding: min(2.5vw, 2.5rem)!important;
        position: relative;
    }

    #rotate-addpic .g-swiper.swiper-container-horizontal>.swiper-pagination-bullets {
        position: absolute!important;
        bottom: min(1vw, 1rem)!important;
        right: min(1vw, 1rem)!important;
        left: unset!important;
        top: unset!important;
        transform: none!important;
        display: flex!important;
        flex-direction: row!important;
        gap: min(.5vw, .5rem)!important;
        align-items: center!important;
        justify-content: flex-end!important;
    }
    #rotate-addpic .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0;
        padding: 0;
        border: none;
        background: rgba(var(--secondary-color-rgb),.5);
    }
    #rotate-addpic .g-swiper.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet-active {
        background: rgba(var(--secondary-color-rgb),1);
    }
    #rotate-addpic .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet:after {
        content: unset;
        display: none!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    .site-home.withmaxwidth #g-slideshow > .g-container {
        background: url('/images/template/bg-swiper.png') 100% 100% no-repeat, var(--default-white);
        background-size: contain;
        padding: 0!important;
        position: relative;
    }

    #rotate-addpic .g-swiper.swiper-container-horizontal>.swiper-pagination-bullets {
        position: absolute!important;
        bottom: 1rem!important;
        right: 1rem!important;
        left: unset!important;
        top: unset!important;
        transform: none!important;
        display: flex!important;
        flex-direction: row!important;
        gap: .5rem!important;
        align-items: center!important;
        justify-content: flex-end!important;
    }
    #rotate-addpic .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0;
        padding: 0;
        border: none;
        background: rgba(var(--secondary-color-rgb),.5);
    }
    #rotate-addpic .g-swiper.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet-active {
        background: rgba(var(--secondary-color-rgb),1);
    }
    #rotate-addpic .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet:after {
        content: unset;
        display: none!important;
    }
}

@media only screen and (min-width: 50.99rem) {
  /* ==========================================
    SIDE-BY-SIDE ROTATOR
    ========================================== */

  .side-by-side-rotate {
      margin: 0;
      padding: 0;
  }

  .side-by-side-rotate > .g-content {
      margin: 0;
      padding: 0;
  }


  /* ==========================================
    SWIPER CONTAINER
    ========================================== */

  .side-by-side-rotate .g-swiper {
      margin: 0;
      padding: 0;
      position: relative;
      width: 100%;
      height: auto !important;
      overflow: hidden;
  }

  .side-by-side-rotate .g-swiper-slider,
  .side-by-side-rotate .swiper-wrapper {
      height: auto !important;
      align-items: stretch;
  }


  /* ==========================================
    INDIVIDUAL SLIDE
    ========================================== */

  .side-by-side-rotate .swiper-slide {
      margin: 0;
      padding: 0;

      display: grid !important;
      grid-template-columns: 2fr 1fr;
      align-items: stretch;

      width: 100% !important;
      height: auto !important;

      position: relative !important;
      overflow: hidden;

      background: transparent;
  }


  /* ==========================================
    LEFT SIDE - IMAGE
    ========================================== */

  .side-by-side-rotate .swiper-slide > img {
      margin: 0 !important;
      padding: 0 !important;

      position: relative !important;
      top: auto !important;
      right: auto !important;
      bottom: auto !important;
      left: auto !important;

      transform: none !important;

      width: 100% !important;
      max-width: none !important;

      height: auto !important;
      min-height: 0 !important;

      aspect-ratio: 16 / 9;

      object-fit: cover;
      object-position: center;

      display: block;
  }


  /* ==========================================
    RIGHT SIDE - TEXT PANEL
    ========================================== */

  .side-by-side-rotate .swiper-slide > .slide {
      margin: 0 !important;
      padding: 0 !important;

      position: relative !important;

      top: auto !important;
      right: auto !important;
      bottom: auto !important;
      left: auto !important;

      width: 100% !important;
      height: 100% !important;

      min-height: 0 !important;

      transform: none !important;

      display: flex;
      align-items: stretch;

      background: rgba(255, 255, 255, 0.85);
  }


  /* ==========================================
    CONTENT WRAPPER
    Gantry normally positions this over image
    ========================================== */

  .side-by-side-rotate .slide-content-wrapper {
      margin: 0 !important;
      padding: 0 0 0 min(2vw, 2rem) !important;

      position: relative !important;

      top: auto !important;
      right: auto !important;
      bottom: auto !important;
      left: auto !important;

      width: 100% !important;
      max-width: none !important;

      /*height: 100% !important;
      min-height: 0 !important;*/

      transform: none !important;

      display: flex !important;
      flex-direction: column!important;
      justify-content: flex-start!important;
      align-items: flex-start!important;

      text-align: left;
  }


  /* ==========================================
    CONTENT
    ========================================== */

  .side-by-side-rotate .slide-content {
      margin: 0 !important;
      padding: min(1.5vw, 1.5rem) !important;

      position: relative !important;

      top: auto !important;
      right: auto !important;
      bottom: auto !important;
      left: auto !important;

      background: rgba(var(--default-white-rgb),.8);

      /*width: 100% !important;
      max-width: 100% !important;*/
      flex: 1;

      height: 100%!important;

      transform: none !important;

      text-align: left !important;
  }


  /* ==========================================
    TITLE
    ========================================== */

  .side-by-side-rotate .g-swiper-title {
      margin: 0 0 min(1vw, 1rem) 0 !important;
      padding: 0 !important;

      width: 100%;

      font-size: min(2vw, 2rem)!important;
      line-height: 1.05!important;
      font-family: var(--body-font-family)!important;

      font-weight: 700!important;

      text-align: left !important;

      color: var(--primary-color)!important;
  }


  /* ==========================================
    TEXT
    ========================================== */

  .side-by-side-rotate .g-swiper-text {
      margin: 0 !important;
      padding: 0 !important;

      width: 100%;

      font-size: min(1.25vw, 1.25rem)!important;
      line-height: 1.4!important;
      font-family: var(--body-font-family)!important;

      text-align: left !important;
      color: var(--secondary-color)!important;
  }

  .side-by-side-rotate .g-swiper-text * {
      text-align: left !important;
  }


  /*
      Your actual article content has inline
      8pt / 12pt font sizing, so override it.
  */

  .side-by-side-rotate .g-swiper-text span {
      font-size: inherit !important;
  }

  .side-by-side-rotate .g-swiper-text p,
  .side-by-side-rotate .g-swiper-text h1,
  .side-by-side-rotate .g-swiper-text h2,
  .side-by-side-rotate .g-swiper-text h3,
  .side-by-side-rotate .g-swiper-text h4,
  .side-by-side-rotate .g-swiper-text h5,
  .side-by-side-rotate .g-swiper-text h6 {
      margin: 0 0 min(.75vw, .75rem) !important;
      padding: 0 !important;

      font-size: inherit !important;
      line-height: inherit !important;
      font-weight: inherit;
  }


  /* ==========================================
    REMOVE OVERLAY EFFECTS
    ========================================== */

  .side-by-side-rotate .swiper-slide::before,
  .side-by-side-rotate .swiper-slide::after,
  .side-by-side-rotate .slide::before,
  .side-by-side-rotate .slide::after,
  .side-by-side-rotate .slide-content-wrapper::before,
  .side-by-side-rotate .slide-content-wrapper::after {
      display: none !important;
  }


  /* ==========================================
    PAGINATION
    Keep inside right 1/3
    ========================================== */

  .side-by-side-rotate .swiper-pagination-parent-4934 {
      margin: 0 !important;
      padding: 0 !important;

      position: absolute !important;

      left: 66.666666% !important;
      right: 0 !important;
      bottom: min(1.5vw, 1.5rem) !important;
      top: auto !important;

      width: auto !important;

      z-index: 20;

      display: flex !important;
      justify-content: center;
      align-items: center;

      gap: min(.5vw, .5rem);

      transform: none !important;
  }

  .side-by-side-rotate .swiper-pagination-bullet {
      margin: 0 !important;

      width: min(.9vw, .9rem);
      height: min(.9vw, .9rem);

      opacity: .35;
  }

  .side-by-side-rotate .swiper-pagination-bullet-active {
      opacity: 1;
  }


  /* ==========================================
    OPTIONAL - HIDE ARROWS
    ========================================== */

  .side-by-side-rotate .swiper-navigation {
      display: none;
  }
}

@media only screen and (max-width: 50.99rem) {
  /* ==========================================
    SIDE-BY-SIDE ROTATOR
    ========================================== */

  .side-by-side-rotate {
      margin: 0;
      padding: 0;
  }

  .side-by-side-rotate > .g-content {
      margin: 0;
      padding: 0;
  }


  /* ==========================================
    SWIPER CONTAINER
    ========================================== */

  .side-by-side-rotate .g-swiper {
      margin: 0;
      padding: 0;
      position: relative;
      width: 100%;
      height: auto !important;
      overflow: hidden;
  }

  .side-by-side-rotate .g-swiper-slider,
  .side-by-side-rotate .swiper-wrapper {
      height: auto !important;
      align-items: stretch;
  }


  /* ==========================================
    INDIVIDUAL SLIDE
    ========================================== */

  .side-by-side-rotate .swiper-slide {
      margin: 0;
      padding: 0;

      display: flex !important;
      flex-direction: column;
      /*grid-template-columns: 1fr;
      align-items: stretch;*/

      width: 100% !important;
      height: auto !important;

      position: relative !important;
      overflow: hidden;

      background: transparent;
  }


  /* ==========================================
    LEFT SIDE - IMAGE
    ========================================== */

  .side-by-side-rotate .swiper-slide > img {
      margin: 0 !important;
      padding: 0 !important;

      position: relative !important;
      top: auto !important;
      right: auto !important;
      bottom: auto !important;
      left: auto !important;

      transform: none !important;

      width: 100% !important;
      max-width: none !important;

      height: auto !important;
      min-height: 0 !important;

      aspect-ratio: 16 / 9;

      object-fit: cover;
      object-position: center;

      display: block;
  }


  /* ==========================================
    RIGHT SIDE - TEXT PANEL
    ========================================== */

  .side-by-side-rotate .swiper-slide > .slide {
      margin: 0 !important;
      padding: 0 !important;

      position: relative !important;

      top: auto !important;
      right: auto !important;
      bottom: auto !important;
      left: auto !important;

      width: 100% !important;
      height: fit-content !important;

      min-height: 0 !important;

      transform: none !important;

      display: flex;
      align-items: stretch;

      background: rgba(255, 255, 255, 0.85);
  }


  /* ==========================================
    CONTENT WRAPPER
    Gantry normally positions this over image
    ========================================== */

  .side-by-side-rotate .slide-content-wrapper {
      margin: 0 !important;
      padding: 0 0 0 min(2vw, 2rem) !important;

      position: relative !important;

      top: auto !important;
      right: auto !important;
      bottom: auto !important;
      left: auto !important;

      width: 100% !important;
      max-width: none !important;

      /*height: 100% !important;
      min-height: 0 !important;*/

      transform: none !important;

      display: flex !important;
      flex-direction: column!important;
      justify-content: flex-start!important;
      align-items: flex-start!important;

      text-align: left;
  }


  /* ==========================================
    CONTENT
    ========================================== */

  .side-by-side-rotate .slide-content {
      margin: 0 !important;
      padding: 2rem 1rem !important;

      position: relative !important;

      top: auto !important;
      right: auto !important;
      bottom: auto !important;
      left: auto !important;

      background: rgba(var(--default-white-rgb),.8);

      /*width: 100% !important;
      max-width: 100% !important;*/
      flex: 1;

      height: 100%!important;

      transform: none !important;

      text-align: left !important;
  }


  /* ==========================================
    TITLE
    ========================================== */

  .side-by-side-rotate .g-swiper-title {
      margin: 0 0 1rem 0 !important;
      padding: 0 !important;

      width: 100%;

      font-size: 6vw!important;
      line-height: 1.05!important;
      font-family: var(--body-font-family)!important;

      font-weight: 700!important;

      text-align: left !important;

      color: var(--primary-color)!important;
  }


  /* ==========================================
    TEXT
    ========================================== */

  .side-by-side-rotate .g-swiper-text {
      margin: 0 !important;
      padding: 0 !important;

      width: 100%;

      font-size: 4vw!important;
      line-height: 1.4!important;
      font-family: var(--body-font-family)!important;

      text-align: left !important;
      color: var(--secondary-color)!important;
  }

  .side-by-side-rotate .g-swiper-text * {
      text-align: left !important;
  }


  /*
      Your actual article content has inline
      8pt / 12pt font sizing, so override it.
  */

  .side-by-side-rotate .g-swiper-text span {
      font-size: inherit !important;
  }

  .side-by-side-rotate .g-swiper-text p,
  .side-by-side-rotate .g-swiper-text h1,
  .side-by-side-rotate .g-swiper-text h2,
  .side-by-side-rotate .g-swiper-text h3,
  .side-by-side-rotate .g-swiper-text h4,
  .side-by-side-rotate .g-swiper-text h5,
  .side-by-side-rotate .g-swiper-text h6 {
      margin: 0 0 min(.75vw, .75rem) !important;
      padding: 0 !important;

      font-size: inherit !important;
      line-height: inherit !important;
      font-weight: inherit;
  }


  /* ==========================================
    REMOVE OVERLAY EFFECTS
    ========================================== */

  .side-by-side-rotate .swiper-slide::before,
  .side-by-side-rotate .swiper-slide::after,
  .side-by-side-rotate .slide::before,
  .side-by-side-rotate .slide::after,
  .side-by-side-rotate .slide-content-wrapper::before,
  .side-by-side-rotate .slide-content-wrapper::after {
      display: none !important;
  }


  /* ==========================================
    PAGINATION
    Keep inside right 1/3
    ========================================== */

  .side-by-side-rotate .swiper-pagination-parent-4934 {
      margin: 0 !important;
      padding: 0 !important;

      position: absolute !important;

      left: 66.666666% !important;
      right: 0 !important;
      bottom: min(1.5vw, 1.5rem) !important;
      top: auto !important;

      width: auto !important;

      z-index: 20;

      display: flex !important;
      justify-content: center;
      align-items: center;

      gap: min(.5vw, .5rem);

      transform: none !important;
  }

  .side-by-side-rotate .swiper-pagination-bullet {
      margin: 0 !important;

      width: min(.9vw, .9rem);
      height: min(.9vw, .9rem);

      opacity: .35;
  }

  .side-by-side-rotate .swiper-pagination-bullet-active {
      opacity: 1;
  }


  /* ==========================================
    OPTIONAL - HIDE ARROWS
    ========================================== */

  .side-by-side-rotate .swiper-navigation {
      display: none;
  }
}

/*ABOVE*/
@media only screen and (min-width: 50.99rem) {
    .site-home #g-above > .g-container {
        background: var(--tertiary-color);
        padding: min(2.5vw, 2.5rem)!important;
        position: relative;
    }
}

@media only screen and (max-width: 50.99rem) {
    .site-home.withmaxwidth #g-above > .g-container {
        background: var(--tertiary-color);
        padding: 2rem 1rem!important;
        position: relative;
    }
}

@media only screen and (min-width: 50.99rem) {
    .mission-wrapper {
        display: flex;
        flex-direction: column;
        gap: min(1.25vw, 1.25rem);
    }
    .mission-wrapper .mission-title .g-title {
        margin: 0;
        padding: 0;
        text-align: center;
        font-size: min(2vw, 2rem);
        line-height: 1;
        font-family: var(--title-font-family);
        font-weight: 400;
        text-transform: none;
        font-variant-caps: normal;
        border: none;
        background: none;
        color: var(--default-black);
    }
    .mission-wrapper .mission-content p {
        margin: 0;
        padding: 0;
        text-align: center;
        font-size: min(1.15vw, 1.15rem);
        line-height: 1.4;
        font-family: var(--body-font-family);
        font-weight: 400;
        text-transform: none;
        font-variant-caps: normal;
        border: none;
        background: none;
        color: var(--default-black);
    }
}

@media only screen and (max-width: 50.99rem) {
    .mission-wrapper {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
    .mission-wrapper .mission-title .g-title {
        margin: 0;
        padding: 0;
        text-align: center;
        font-size: 6vw;
        line-height: 1.2;
        font-family: var(--title-font-family);
        font-weight: 400;
        text-transform: none;
        font-variant-caps: normal;
        border: none;
        background: none;
        color: var(--default-black);
    }
    .mission-wrapper .mission-content p {
        margin: 0;
        padding: 0;
        text-align: center;
        font-size: 4vw;
        line-height: 1.4;
        font-family: var(--body-font-family);
        font-weight: 400;
        text-transform: none;
        font-variant-caps: normal;
        border: none;
        background: none;
        color: var(--default-black);
    }
}

/*FEATURE*/
@media only screen and (min-width: 50.99rem) {
    .site-home #g-feature > .g-container {
        background: var(--primary-color);
        padding: min(2.5vw, 2.5rem)!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    .site-home.withmaxwidth #g-feature > .g-container {
        background: var(--primary-color);
        padding: 2rem 1rem!important;
    }
}

@media only screen and (min-width: 50.99rem) {
    .ql-fullimage {
        margin: 0;
        padding: 0;
    }
    .ql-fullimage > .g-content {
        margin: 0;
        padding: 0;
    }
    .ql-fullimage > .g-content > div {
        margin: 0;
        padding: 0;
    }
    .ql-fullimage .g-blockcontent {
        margin: 0;
        padding: 0;
    }
    .ql-fullimage .g-blockcontent-subcontent {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        gap: min(2vw, 2rem);
        justify-content: space-around;
        align-items: center;
    }
    .ql-fullimage .g-blockcontent-subcontent-block {
        margin: 0;
        padding: 0;
        position: relative;
        max-width: 300px;
        border: 5px solid #AAAAAA;
        border-radius: .5rem;
        overflow: hidden;
        transition: .3s all ease-in-out;
    }
    .ql-fullimage .g-blockcontent-subcontent-block:hover {
        transform: scale(1.05);
        border: 5px solid var(--default-white);
    }
    .ql-fullimage .g-blockcontent-subcontent-block-content {
        margin: 0;
        padding: 0;
        transition: .3s all ease-in-out;
    }
    .ql-fullimage .g-blockcontent-subcontent-img {
        margin: 0;
        padding: 0;
        transition: .3s all ease-in-out;
    }
    .ql-fullimage .g-blockcontent-subcontent-title {
        margin: 0;
        padding: 0;
        display: none!important;
        transition: .3s all ease-in-out;
    }
    .ql-fullimage .g-blockcontent-buttons {
        margin: 0;
        padding: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: 100%;
        width: 100%;
        opacity: 0;
    }
    .ql-fullimage .g-blockcontent-buttons a {
        margin: 0;
        padding: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: 100%;
        width: 100%;
        opacity: 0;
    }
}

@media only screen and (max-width: 50.99rem) {
    .ql-fullimage {
        margin: 0;
        padding: 0;
    }
    .ql-fullimage > .g-content {
        margin: 0;
        padding: 0;
    }
    .ql-fullimage > .g-content > div {
        margin: 0;
        padding: 0;
    }
    .ql-fullimage .g-blockcontent {
        margin: 5vw;
        padding: 0;
    }
    .ql-fullimage .g-blockcontent-subcontent {
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 1rem;
        justify-content: space-around;
        align-items: center;
    }
    .ql-fullimage .g-blockcontent-subcontent-block {
        margin: 0;
        padding: 0;
        position: relative;
        flex: 1;
        border: 5px solid #AAAAAA;
        border-radius: .5rem;
        overflow: hidden;
        transition: .3s all ease-in-out;
    }
    .ql-fullimage .g-blockcontent-subcontent-block:hover {
        transform: scale(1.05);
        border: 5px solid var(--default-white);
    }
    .ql-fullimage .g-blockcontent-subcontent-block-content {
        margin: 0;
        padding: 0;
        transition: .3s all ease-in-out;
    }
    .ql-fullimage .g-blockcontent-subcontent-img {
        margin: 0;
        padding: 0;
        transition: .3s all ease-in-out;
    }
    .ql-fullimage .g-blockcontent-subcontent-title {
        margin: 0;
        padding: 0;
        display: none!important;
        transition: .3s all ease-in-out;
    }
    .ql-fullimage .g-blockcontent-buttons {
        margin: 0;
        padding: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: 100%;
        width: 100%;
        opacity: 0;
    }
    .ql-fullimage .g-blockcontent-buttons a {
        margin: 0;
        padding: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: 100%;
        width: 100%;
        opacity: 0;
    }
}

/*UTILITY*/
@media only screen and (min-width: 50.99rem) {
    .site-home #g-utility > .g-container {
        background: var(--background-color);
        padding: min(2vw, 2rem) min(10vw, 10rem)!important;
    }
    .site-home #g-utility > .g-container > .g-grid {
        display: flex;
        flex-direction: row;
        /*gap: min(5vw, 5rem);*/
    }
    .site-home #g-utility > .g-container > .g-grid > .g-block:nth-child(1) {
        flex: 1;
        width: unset;
        max-width: unset;
    }
    .site-home #g-utility > .g-container > .g-grid > .g-block:nth-child(2) {
        flex: 1;
        width: unset;
        max-width: unset;
    }

    /*.facebook-wrapper {
        text-align: center;
    }*/
}

@media only screen and (max-width: 50.99rem) {
    .site-home.withmaxwidth #g-utility > .g-container {
        background: var(--background-color);
        padding: 2rem 1rem!important;
    }
    .site-home #g-utility > .g-container > .g-grid {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }
    .site-home #g-utility > .g-container > .g-grid > .g-block:nth-child(1) {
        flex: 1;
        width: 100%;
        max-width: 100%;
    }
    .site-home #g-utility > .g-container > .g-grid > .g-block:nth-child(2) {
        flex: 1;
        width: 100%;
        max-width: 100%;
    }

    /*.facebook-wrapper {
        text-align: center;
    }*/
}

@media only screen and (min-width: 50.99rem) {
    .doc-widget-wrapper {
        display: flex;
        flex-direction: column;
        gap: min(1vw, 1rem);
    }
    .doc-widget-wrapper .doc-widget-inner {
        display: flex;
        flex-direction: column;
        gap: min(1vw, 1rem);
    }
    .doc-widget-wrapper .doc-widget-title .g-title {
        text-align: center;
        padding: min(.5vw, .5rem);
        color: var(--default-white);
        background: var(--secondary-color);
        font-weight: 500;
        font-family: var(--body-font-family);
        font-size: min(2vw, 2rem);
        text-transform: none;
        font-variant-caps: normal;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .doc-widget-wrapper .doc-widget-button {
        text-align: center;
    }
    .doc-widget-wrapper .doc-widget-button .button {
        background: var(--secondary-color);
    }
}

@media only screen and (max-width: 50.99rem) {
    .doc-widget-wrapper {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
    .doc-widget-wrapper .doc-widget-inner {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }
    .doc-widget-wrapper .doc-widget-title .g-title {
        text-align: center;
        padding: .5rem;
        color: var(--default-white);
        background: var(--secondary-color);
        font-weight: 500;
        font-family: var(--body-font-family);
        font-size: 6vw;
        text-transform: none;
        font-variant-caps: normal;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .doc-widget-wrapper .doc-widget-button {
        text-align: center;
        padding: 0 1rem!important;
    }
    .doc-widget-wrapper .doc-widget-button .button {
        background: var(--secondary-color);
    }
}

/*EXTENSION*/
@media only screen and (min-width: 50.99rem) {
    .site-home #g-extension > .g-container {
        background: url('/images/template/bg-testimonial.png') 0% 0% no-repeat, var(--background-color);
        background-size: contain;
        padding: min(2vw, 2rem) min(2.5vw, 2.5rem)!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    .site-home.withmaxwidth #g-extension > .g-container {
        background: url('/images/template/bg-testimonial.png') 0% 0% no-repeat, var(--background-color);
        background-size: cover;
        padding: 0!important;
    }
}


@media only screen and (min-width: 50.99rem) {
    #testSwiper:before {
        content: "Why St. John's?";
        text-align: center;
        padding: min(.5vw, .5rem);
        color: var(--default-white);
        background: var(--secondary-color);
        font-weight: 500;
        font-family: var(--body-font-family);
        font-size: min(2vw, 2rem);
        text-transform: none;
        font-variant-caps: normal;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #testSwiper .slide-content {
        display: flex;
        flex-direction: column;
        gap: min(1vw, 1rem);
        justify-content: flex-start;
        align-items: flex-start;
        padding: min(1vw, 1rem) min(2vw, 2rem);
    }
    #testSwiper .g-swiper-title {
        margin: 0;
        padding: 0;
        order: 2;
        display: flex;
        flex-direction: row;
        gap: min(.25vw, .25rem);
        text-align: left;
        color: var(--default-black);
        font-size: min(1.25vw, 1.25rem);
        font-family: var(--body-font-family);
        line-height: 1.25;
        text-transform: none;
        font-variant-caps: normal;
        font-weight: 700;
    }
    #testSwiper .g-swiper-title:before {
        content: '-';
        text-align: left;
        color: var(--default-black);
        font-size: min(1.25vw, 1.25rem);
        font-family: var(--body-font-family);
        line-height: 1.25;
        text-transform: none;
        font-variant-caps: normal;
        font-weight: 700;
    }
    #testSwiper .g-swiper-text {
        margin: 0;
        padding: 0;
        text-align: left;
        order: 1;
        color: var(--default-black);
        font-size: min(1.25vw, 1.25rem);
        font-family: var(--body-font-family);
        line-height: 1.25;
        text-transform: none;
        font-variant-caps: normal;
        font-weight: 400;
    }

    #testSwiper .g-swiper.swiper-container-horizontal>.swiper-pagination-bullets {
        position: absolute;
        bottom: 0;
        right: min(2vw, 2rem);
        left: unset;
        top: unset;
        transform: none;
        display: flex;
        flex-direction: row;
        gap: min(.5vw, .5rem);
        align-items: center;
        justify-content: flex-end;
    }
    #testSwiper .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0;
        padding: 0;
        border: none;
        background: rgba(var(--secondary-color-rgb),.5);
    }
    #testSwiper .g-swiper.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet-active {
        background: rgba(var(--secondary-color-rgb),1);
    }
    #testSwiper .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet:after {
        content: unset;
        display: none!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    #testSwiper:before {
        content: "Why St. John's?";
        text-align: center;
        padding: .5rem;
        color: var(--default-white);
        background: var(--secondary-color);
        font-weight: 500;
        font-family: var(--body-font-family);
        font-size: 6vw;
        text-transform: none;
        font-variant-caps: normal;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #testSwiper #swiper-1385 .slide {
        background-color: rgba(var(--background-color-rgb),.7)!important;
    }

    #testSwiper .slide-content {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        justify-content: flex-start;
        align-items: flex-start;
        padding: 2rem 1rem;
    }
    #testSwiper .g-swiper-title {
        margin: 0;
        padding: 0;
        order: 2;
        display: flex;
        flex-direction: row;
        gap: .25rem;
        text-align: left;
        color: var(--default-black);
        font-size: 4vw;
        font-family: var(--body-font-family);
        line-height: 1.25;
        text-transform: none;
        font-variant-caps: normal;
        font-weight: 700;
    }
    #testSwiper .g-swiper-title:before {
        content: '-';
        text-align: left;
        color: var(--default-black);
        font-size: 4vw;
        font-family: var(--body-font-family);
        line-height: 1.25;
        text-transform: none;
        font-variant-caps: normal;
        font-weight: 700;
    }
    #testSwiper .g-swiper-text {
        margin: 0;
        padding: 0;
        text-align: left;
        order: 1;
        color: var(--default-black);
        font-size: 4vw;
        font-family: var(--body-font-family);
        line-height: 1.25;
        text-transform: none;
        font-variant-caps: normal;
        font-weight: 400;
    }

    #testSwiper .g-swiper.swiper-container-horizontal>.swiper-pagination-bullets {
        position: absolute;
        bottom: 1rem;
        right: 1rem;
        left: unset;
        top: unset;
        transform: none;
        display: flex;
        flex-direction: row;
        gap: .5rem;
        align-items: center;
        justify-content: flex-end;
    }
    #testSwiper .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0;
        padding: 0;
        border: none;
        background: rgba(var(--secondary-color-rgb),.5);
    }
    #testSwiper .g-swiper.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet-active {
        background: rgba(var(--secondary-color-rgb),1);
    }
    #testSwiper .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet:after {
        content: unset;
        display: none!important;
    }
}

/* TESTIMONIAL SWIPER */
#testSwiper {
    height: auto !important;
    min-height: 0 !important;
}

#testSwiper > .g-content {
    height: auto !important;
    min-height: 0 !important;
}

#testSwiper .g-swiper {
    min-height: 0 !important;
}

#testSwiper .swiper-wrapper {
    min-height: 0 !important;
}

#testSwiper .swiper-slide {
    min-height: 0 !important;
}

#testSwiper .slide,
#testSwiper .slide-content-wrapper,
#testSwiper .slide-content {
    height: auto !important;
    min-height: 0 !important;
}

#testSwiper .g-swiper-title,
#testSwiper .g-swiper-text {
    height: auto !important;
}

/*FOOTER*/
@media only screen and (min-width: 50.99rem) {
    #g-footer > .g-container {
        padding: min(2.5vw, 2.5rem) min(2.5vw, 2.5rem) min(5vw, 5rem) min(2.5vw, 2.5rem)!important;
    }

    .footer-wrapper h3 {
        margin: 0;
        bottom: 0;
        text-align: center;
        font-size: min(2vw, 2rem);
        font-weight: 500;
        font-family: var(--body-font-family);
        color: var(--default-white);
        line-height: 1;
        margin-bottom: min(1vw, 1rem);
        text-transform: none;
        font-variant-caps: normal;
        border: none;
        background: none;
    }
    .footer-wrapper p {
        margin: 0;
        padding: 0;
        text-align: center;
        font-size: min(1.25vw, 1.25rem);
        font-weight: 400;
        font-family: var(--body-font-family);
        color: var(--default-white);
        line-height: 1;
    }
}

@media only screen and (max-width: 50.99rem) {
    #g-footer > .g-container {
        padding: 2rem 1rem 5rem 1rem!important;
    }

    .footer-wrapper h3 {
        margin: 0;
        bottom: 0;
        text-align: center;
        font-size: 6vw;
        font-weight: 500;
        font-family: var(--body-font-family);
        color: var(--default-white);
        line-height: 1;
        margin-bottom: 1rem;
        text-transform: none;
        font-variant-caps: normal;
        border: none;
        background: none;
    }
    .footer-wrapper p {
        margin: 0;
        padding: 0;
        text-align: center;
        font-size: 4vw;
        font-weight: 400;
        font-family: var(--body-font-family);
        color: var(--default-white);
        line-height: 1;
    }
}

/*BOTTOM*/
@media only screen and (min-width: 50.99rem) {
    #g-bottom {
        position: relative;
        z-index: 10;
    }
    #g-bottom > .g-container {
        padding: 2rem 0!important;
    }
    #g-bottom .admod td {
        padding-top: 0!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    #g-bottom {
        position: relative;
        z-index: 10;
    }
    .site.withmaxwidth #g-bottom > .g-container {
        padding: 2rem 0!important;
    }
    #g-bottom .admod td {
        padding-top: .5rem!important;
    }
}

.search-page #searchForm .btn {
    background: var(--primary-color);
}

.grid-articles .g-array-item-text a:not(a.button) {
    color: var(--primary-color);
}
.grid-articles .g-array-item-text a {
    color: var(--primary-color);
}

@media only screen and (max-width: 50.99rem) {
    .admod.adside tbody {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: .5rem .5rem;
    }
}

@media only screen and (max-width: 50.99rem) {
    body#site-grid.newslayout #g-container-main > .g-container {
        padding: 2rem 1rem!important;
    }
    body#site-grid.newslayout #g-container-main #g-mainbar {
        margin: 0!important;
        padding: 0!important;
    }

    #site-grid.newslayout .grid-mobile-stacked .g-item-title {
        --grid-title-font-size: 3vw;
    }

	body .side-menu-particle .g-blockcontent-subcontent-title-text {
        --side-menu-font-size-desktop: 4vw;
    }

	.grid-img-box-shadow-50 .g-array-item-image {
        box-shadow: none!important;
    }
    .grid-mobile-stacked .g-array-item-image img {
        box-shadow: none!important;
    }

	.bulletin-page .koowa_media {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 1rem;
    }
    .bulletin-page .koowa_media__item {
        flex: 1;
        min-width: calc(50% - .5rem);
        max-width: calc(50% - .5rem);
    }
}

/*-----------------------------
blue borders on left and right panels

----------------------------*/
@media only screen and (min-width: 50.99rem) {
body[class*="-sub"]:not(.sponsorshippage) #g-container-main:has(#g-mainbar.section-padding-5, #g-aside) #g-mainbar.section-padding-5 {
	padding-left: 5% !important;
}

}
@media only screen and (max-width: 50.99rem) {
	.site-sub #g-mainbar {
		padding: 3%;
	}
	.withmaxwidth:not(.sponsorshippage) :is(#g-top, #g-container-main, #g-above, #g-feature, #g-showcase, #g-utility, #g-container-main, #g-expanded, #g-extension, #g-bottom, #g-footer) > .g-container {
		padding-left: ;
		padding-right: ;
	}
}