/****************** Common ******************/
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{
  font-family: Nunito,sans-serif;
  font-weight: 500;
}

.site a, .container-header .mod-menu > li > a{
  color: #3289b7;
}

.site a:hover, .container-header .mod-menu > li > a:hover, .site a:active, .container-header .mod-menu > li > a:active{
  color: #306480;
}

.back-to-top-link{
  bottom: 90px;
  position: fixed;
}

.site-grid{
  margin-top: 30px;
  margin-bottom: 60px;
}

@media (max-width: 1399px){
  .container{
    max-width: 1320px;
  }
}
/****************** End of Common ******************/

/****************** Header ******************/
.container-header{
  border-bottom: 1px solid #f1f1f1;
  box-shadow: 0 5px 10px rgba(0,0,0,.06);
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 1001;
  display: flex;
  align-items: center;
  justify-content:space-between;
}

.container-header .module-add-event{
  height: 30px;
}

.container-header .module-add-event span{
  font-size: 24px;
  line-height: 28px;
}

.container-header .module-add-event a{
  text-decoration: none;
  display: inline-block;
  min-height: 30px;
  background-repeat: no-repeat;
  padding-left: 35px;
  background-size: 30px auto;
  background-position: center left;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233289b7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-file-plus'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'%3E%3C/path%3E%3Cpolyline points='14 2 14 8 20 8'%3E%3C/polyline%3E%3Cline x1='12' y1='18' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='9' y1='15' x2='15' y2='15'%3E%3C/line%3E%3C/svg%3E");
}

.container-header .module-add-event a:hover, .container-header .module-add-event a:active{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23306480' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-file-plus'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'%3E%3C/path%3E%3Cpolyline points='14 2 14 8 20 8'%3E%3C/polyline%3E%3Cline x1='12' y1='18' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='9' y1='15' x2='15' y2='15'%3E%3C/line%3E%3C/svg%3E");
}

.container-header .brand-logo img{
  height: 50px;
  width: auto;
}

.container-header .navbar-toggler{
  color: #306480;
  border-color: #306480;
  box-shadow: none;
}

.container-header .navbar-toggler .icon-menu::before{
  font-size: 22px;
}

.container-header nav{
  margin-top: 0;
}

@media (max-width: 991px){
  .container-header .navbar{
    position: static;
  }

  .container-header .container-nav{
    order: 1;
  }

  .container-header .container-nav nav{
    margin-top: 0;
  }

  .container-header .navbar-expand-md .navbar-toggler{
    display: block;
  }

  .container-header .collapse:not(.show){
    display: none !important;
  }

  .container-header .navbar-collapse{
    position: absolute;
    left: 0;
    top: 80px;
    background-color: white;
    padding: 15px 0;
    width: 100%;
    border-bottom: 1px solid #f1f1f1;
    box-shadow: 0 10px 10px rgba(0,0,0,.06);
  }

  .container-header .navbar-collapse.collapsing{
    transition: height .15s ease
  }

  .container-header .mod-menu > li > a{
    display: block;
    padding: 5px 15px;
  }

  .container-header .mod-menu > li > a:hover, .container-header .mod-menu > li > a:active{
    background-color: var(--fc-list-event-hover-bg-color);
  }
}

@media (min-width: 992px){
  .container-header .brand-logo img{
    height: 35px;
  }

  .container-header .module-add-event span{
    font-size: 20px;
  }

  .container-header .module-add-event a{
    padding-left: 30px;
    background-size: 22px auto;
  }
}
/****************** End of Header ******************/

/****************** Sidebar ******************/
.sidebar-right.card.archive .mod-menu__sub{
  column-count: 2;
}

/* Upcoming Events */
.mod-dpcalendar-upcoming-custom__events .dp-flatcalendar * {
  display: block;
  width: 100%;
  font-size: 1em;
  font-weight: bold;
  font-style: normal;
  text-align: center;
}

.mod-dpcalendar-upcoming-custom__events .dp-flatcalendar {
  font-size: .7em;
  display: inline-block;
  position: relative;
  width: 4.4em;
  min-width: 4.4em;
  height: 4.4em;
  background-color: #fff;
  margin: 0 .7em 0 0;
  border-radius: 3px;
  box-shadow: 0 0 2px rgba(52,58,67,.1),0 2px 5px rgba(52,58,67,.08),0 5px 15px rgba(52,58,67,.08);
  overflow: hidden;
  backface-visibility: hidden;
  transform: rotate(0deg) skewY(0deg);
  transform-origin: 50% 10%;
}

.mod-dpcalendar-upcoming-custom__events .dp-flatcalendar__day {
  width: 100%;
  font-size: 1.5em;
  padding-top: 1.5em;
  color: #2f2f2f;
}

.mod-dpcalendar-upcoming-custom__events .dp-flatcalendar__month {
  position: absolute;
  top: 0;
  padding: 0;
  color: #fff;
  line-height: 2em;
}

.mod-dpcalendar-upcoming-custom__event{
    margin-bottom: 40px;
}

.mod-dpcalendar-upcoming-custom__event:last-child{
    margin-bottom: 0px;
}

.mod-dpcalendar-upcoming-event-header{
    display: flex;
}

.mod-dpcalendar-upcoming-event-header h5 {
  margin-bottom: 0;
  display: inline-flex;
  align-items: center;
}

.mod-dpcalendar-upcoming-custom__event img {
    display: block;
    max-width: 100%;
    height: auto;
}

@media (min-width: 1200px){
  .mod-dpcalendar-upcoming-event-header h5{
    font-size: 1rem;
    display:block;
  }
  
  .mod-dpcalendar-upcoming-event-header + .my-2{
    font-size: 0.8rem
  }
}
/* End of Upcoming Events */

/****************** End of Sidebar ******************/

/****************** Footer ******************/
.footer{
  background: #333;
}

.module-social .email__icon, .module-social .facebook__icon {
  display: inline-block;
  width: 48px;
  height: 48px;
  background-size: 48px auto;
}

.module-social .email__icon{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white' width='36px' height='36px'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}

.module-social .facebook__icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' enable-background='new 0 0 24 24' viewBox='0 0 24 24' fill='white' width='36px' height='36px'%3E%3Crect fill='none' height='24' width='24'/%3E%3Cpath d='M22,12c0-5.52-4.48-10-10-10S2,6.48,2,12c0,4.84,3.44,8.87,8,9.8V15H8v-3h2V9.5C10,7.57,11.57,6,13.5,6H16v3h-2 c-0.55,0-1,0.45-1,1v2h3v3h-3v6.95C18.05,21.45,22,17.19,22,12z'/%3E%3C/svg%3E");
}

@media (max-width: 767px){
  .module-copywrite{
    padding-right: 60px;
  }
}

@media (min-width: 992px){
  .module-copywrite{
    font-size: 12px;
  }

  .module-social .email__icon, .module-social .facebook__icon {
    width: 32px;
    height: 32px;
    background-size: 32px auto;
  }
}
/****************** End of Footer ******************/

/****************** Events ******************/

/* Featured Events */
.events-featured .mod-dpcalendar-upcoming-custom__event:last-child{
  margin-bottom: 40px;
}

.events-featured .mod-dpcalendar-upcoming-custom__events .dp-flatcalendar{
  width: 4em;
  min-width: 4em;
  height: 2em;
}

.events-featured .mod-dpcalendar-upcoming-custom__event{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.upcoming-custom__event-image{
  height: 200px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  font-size: 0;
  text-indent: -9999px;
}

.upcoming-custom__event-image a{
  display: block;
  height: 100%;
}

@media (min-width: 768px){
  .upcoming-custom__event-image{
    background-size: cover;
    height: 300px;
  }
}

@media (min-width: 1200px){  
  .events-featured .mod-dpcalendar-upcoming-event-header{
    display: block;
  }
  
  .events-featured .mod-dpcalendar-upcoming-event-header h5{
    margin-top: 5px;
  }
  
  .events-featured .mod-dpcalendar-upcoming-custom__event, .events-featured .mod-dpcalendar-upcoming-custom__event:last-child{
    margin-bottom: 0px;
  }
  
  .upcoming-custom__event-image{
    height: 200px;
  }
}

/* End of Featured Events */

.com-dpcalendar-event__locations .dp-map {
  height: 250px;
}

.com-dpcalendar-event__image {
  border: none;
}

.com-dpcalendar-calendar .dp-filter .dp-filter__calendars .dp-calendar__label {
  gap: .2rem;
}

.com_dpcalendar .dp-filter .dp-filter__calendars .dp-button-bar, .com-dpcalendar-event__description .dp-heading, .com-dpcalendar-event__locations.com-dpcalendar-event_small > .dp-heading, .com-dpcalendar-location__details.dp-location > .dp-heading, .com-dpcalendar-calendar__list.com-dpcalendar-calendar__list_ .dp-link{
  display: none;
}

.fc-list-event-graphic{
  position: relative;
}

.com-dpcalendar-calendar__list #cal-9 + .dp-calendar__title:before{
  display: inline-block;
}

.com-dpcalendar-calendar .fc-list-event-graphic .fc-list-event-dot{
  border: none;
  min-width: 65px;
  width: auto;
  display: block;
  text-align: center;
  white-space: nowrap;
}

.fc-list-event-graphic .fc-list-event-dot:before{
  display: block;
}

.com_dpcalendar .dp-filter .dp-filter__calendars .dp-calendar__title-dot {
  width: auto;
  background: none !important;
  height: auto;
}

.com_dpcalendar .dp-filter .dp-filter__calendars .dp-calendar__title-dot:before{
  display: inline-block;
}

.fc-list-event-graphic .fc-list-event-dot[style="border-color: rgb(129, 184, 65);"]:before, .com_dpcalendar .dp-filter .dp-filter__calendars #cal-9 + .dp-calendar__title-dot:before{
  content: "🏃‍";
}

.fc-list-event-graphic .fc-list-event-dot[style="border-color: rgb(217, 89, 80);"]:before, .com_dpcalendar .dp-filter .dp-filter__calendars #cal-10 + .dp-calendar__title-dot:before{
  content: "🚴";
}

.fc-list-event-graphic .fc-list-event-dot[style="border-color: rgb(249, 252, 73);"]:before, .com_dpcalendar .dp-filter .dp-filter__calendars #cal-12 + .dp-calendar__title-dot:before{
  content: "🚴🏃‍‍";
}

.fc-list-event-graphic .fc-list-event-dot[style="border-color: rgb(167, 208, 234);"]:before, .com_dpcalendar .dp-filter .dp-filter__calendars #cal-11 + .dp-calendar__title-dot:before{
  content: "🏊‍‍";
}

.fc-list-event-graphic .fc-list-event-dot[style="border-color: rgb(96, 252, 249);"]:before, .com_dpcalendar .dp-filter .dp-filter__calendars #cal-13 + .dp-calendar__title-dot:before{
  content: "🏊‍‍🏃";
}

.fc-list-event-graphic .fc-list-event-dot[style="border-color: rgb(50, 137, 183);"]:before, .com_dpcalendar .dp-filter .dp-filter__calendars #cal-14 + .dp-calendar__title-dot:before{
  content: "🏊‍‍🚴🏃";
}

.com_dpcalendar .dp-filter .dp-filter__calendars .dp-input {
  padding: 0;
}

.com-dpcalendar-calendar .dp-filter__calendars .dp-calendar__input {
  appearance: none;
  position: relative;
}

.com-dpcalendar-calendar .dp-filter__calendars .dp-calendar__input#cal-9 {
  background-color: #81b841;
  border-color: #81b841;
}

.com-dpcalendar-calendar .dp-filter__calendars .dp-calendar__input#cal-10 {
  background-color: #d95950;
  border-color: #d95950;
}

.com-dpcalendar-calendar .dp-filter__calendars .dp-calendar__input#cal-11 {
  background-color: #a7d0ea;
  border-color: #a7d0ea;
}

.com-dpcalendar-calendar .dp-filter__calendars .dp-calendar__input#cal-12 {
  background-color: #f9fc49;
  border-color: #f9fc49;
}

.com-dpcalendar-calendar .dp-filter__calendars .dp-calendar__input#cal-13 {
  background-color: #60fcf9;
  border-color: #60fcf9;
}

.com-dpcalendar-calendar .dp-filter__calendars .dp-calendar__input#cal-14 {
  background-color: #3289b7;
  border-color: #3289b7;
}

.com-dpcalendar-calendar .dp-filter__calendars .dp-input-checkbox::before{
  top: -0.25em;
}

.com-dpcalendar-calendar .dp-filter__calendars .dp-input-checkbox:checked::before {
  visibility: visible;
}

.com-dpcalendar-calendar .dp-filter__calendars .dp-input-checkbox::before {
  content: "✔";
  position: absolute;
  right: 0;
  font-size: 1.2em;
  visibility: hidden;
}

.com-dpcalendar-calendar .dp-filter .dp-filter__calendars{
  display: flex;
  flex-wrap: wrap;
}

.com-dpcalendar-calendar .dp-filter__calendars .dp-calendar__label{
  margin-right: 30px;
}

.com_dpcalendar .com-dpcalendar-calendar .fc .fc-button-primary, .com-dpcalendar-list .dp-button-action, .site a.back-to-top-link{
  box-shadow: none;
  background-color: #2C3E50;
  border-color: #171D23;
  color: white;
  border-radius: 0 !important;
}

.com-dpcalendar-calendar .fc .fc-button-primary:hover, .com-dpcalendar-calendar .fc .fc-button-primary:active, .com-dpcalendar-list .dp-button-action:hover, .com-dpcalendar-list .dp-button-action:active, .back-to-top-link:hover, .back-to-top-link:active{
  border-color: #171D23;
  background-color: #54687e;
  transition: .3s ease all;
}

.com-dpcalendar-calendar .fc .fc-button-active:hover, .com-dpcalendar-calendar .fc .fc-button-active:active {
  cursor: default;
}

.com-dpcalendar-calendar .fc-button-group .fc-button + .fc-button{
  margin-left: -1px !important;
}

a.fc-list-day-text, a.fc-list-day-text:hover, a.fc-list-day-text, a.fc-list-day-text:active, a.fc-list-day-side-text, a.fc-list-day-side-text:hover, a.fc-list-day-side-text, a.fc-list-day-side-text:active{
  color: rgb(34, 38, 42);
  text-decoration: none;
}

.fc .fc-list-sticky .fc-list-day > *{
  z-index: 2;
}

.com-dpcalendar-calendar .fc-event .dp-event__time{
  display: none;
}

.tippy-box{
  display: none !important;
}

.fc-dayGridMonth-view .fc-event .fc-event-main{
  padding: 0px 5px;
}

.com-dpcalendar-calendar__calendar .fc-icon.fc-icon-icon-calendar{
  position: relative;
}

.com-dpcalendar-list .dp-event__details{
  margin-bottom: 15px;
}

.com-dpcalendar-list .dp-event__image .dp-image{
  height: auto;
  object-fit: contain;
}

.com-dpcalendar-event{
  display: block;
}

.com-dpcalendar-event .com-dpcalendar-event__locations.com-dpcalendar-event_small{
  padding: 15px 0;
}

.com-dpcalendar-event .com-dpcalendar-event__information{
  background: none;
  border: none;
}

@media (max-width: 399px) {
  .fc-list-event-graphic{
    display: none;
  }
}

@media (max-width: 767px) {
  .com-dpcalendar-list .dp-event__image{
    margin: 25px 0;
    padding: 0;
  }

  .com-dpcalendar-list .dp-event__image .dp-image, .com-dpcalendar-list .dp-event .dp-figure{
    max-height: 100%;
  }

  .com_dpcalendar .com-dpcalendar-calendar .fc-dayGridMonth-button, .com_dpcalendar .com-dpcalendar-calendar .fc-list-button{
    display: none;
  }
  
  .dp-page-heading, .com-dpcalendar-event__header {
    text-align: center;
  }
  
  .com_dpcalendar .com-dpcalendar-calendar .fc-header-toolbar > .fc-toolbar-chunk:nth-child(3) {
    margin: 0;
  }
}

@media (min-width: 768px) {
  .com-dpcalendar-list .dp-event__image .dp-image {
    width: 200px;
    
  }
}

.mod-dpcalendar-map .leaflet-control-fullscreen a .leaflet-control-fullscreen-icon {
  mask-image: url("/media/com_dpcalendar/images/icons/up-right-and-down-left-from-center.svg");
}

/* Hide click on map pointer */
.dp-location .leaflet-marker-icon.leaflet-interactive.dp-location-marker {
  pointer-events: none;
}

.mod-dpcalendar-map .dp-button-bar.dp-event-tooltip__actions {
  display: none;
}

@media (max-width: 992px) {
  @supports (display: grid) {
    .site-grid {
        grid-template-areas:
            ".banner banner banner banner."
            ".top-a  top-a  top-a  top-a."
            ".top-b  top-b  top-b  top-b."
            ".side-r side-r side-r side-r."
            ".comp   comp   comp   comp."
            ".side-l side-l side-l side-l."
            ".bot-a  bot-a  bot-a  bot-a."
            ".bot-b  bot-b  bot-b  bot-b.";
    }
  }
}

/****************** End of Events ******************/

/****************** Error ******************/
.error_site .page-header{
  margin-top: 0;
}
/****************** End of Error ******************/

/****************** Archive Events ******************/
.archive {
    --archive-accent: #1683d8;
    --archive-text: #263746;
    --archive-muted: #6c7883;
    --archive-border: #dfe5ea;
    --archive-background: #ffffff;
    --archive-subtle-background: #f7f9fb;
}

.archive__subtitle {
    color: var(--archive-muted);
    font-size: 0.875rem;
    line-height: 1.4;
}

.archive__body {
  padding: 0;
}

.archive-menu {
    color: var(--archive-text);
}

.archive-menu details {
    margin: 0;
}

.archive-menu summary {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 44px;
    margin: 0;
    cursor: pointer;
    list-style: none;
    user-select: none;
    touch-action: manipulation;
}

.archive-menu summary::-webkit-details-marker {
    display: none;
}

.archive-menu summary::after {
    width: 0.5rem;
    height: 0.5rem;
    flex: 0 0 auto;
    border-right: 2px solid var(--archive-muted);
    border-bottom: 2px solid var(--archive-muted);
    content: "";
    transform: rotate(-45deg);
    transition: transform 0.2s ease;
}

.archive-menu details[open] > summary::after {
    transform: rotate(45deg);
}

.archive-menu__category:not(:last-child) {
    border-bottom: 1px solid var(--archive-border);
}

.archive-menu__category-summary {
    padding: 0.75rem 1rem;
    font-weight: 700;
}

.archive-menu__category[open] > .archive-menu__category-summary {
    color: var(--archive-accent);
}

.archive-menu__category-content {
    background: var(--archive-subtle-background);
    border-top: 1px solid var(--archive-border);
}

.archive-menu__year {
    border-bottom: 1px solid var(--archive-border);
}

.archive-menu__year:last-child {
    border-bottom: 0;
}

.archive-menu__year > summary {
    min-height: 42px;
    padding: 0.625rem 1rem 0.625rem 1.5rem;
    color: var(--archive-text);
    font-size: 0.9375rem;
    font-weight: 600;
}

.archive-menu__year[open] > summary {
    color: var(--archive-accent);
}

.archive-menu__periods {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(43px, 1fr));
    gap: 0.5rem;
    padding: 0 1rem 0.875rem 1.5rem;
}

.archive-menu__periods a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0.375rem 0.5rem;
    border: 1px solid var(--archive-border);
    border-radius: 0.5rem;
    background: var(--archive-background);
    color: var(--archive-accent);
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    text-decoration: none;
}

.archive-menu__simple {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--archive-border);
}

.archive-menu__simple:last-child {
    border-bottom: 0;
}

.archive-menu__simple-title {
    margin-bottom: 0.35rem;
    color: var(--archive-text);
    font-weight: 700;
}

.archive-menu__years {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.75rem;
}

.archive-menu__years a {
    color: var(--archive-accent);
    font-size: 0.9375rem;
    text-decoration: none;
}

.archive-menu summary:focus-visible,
.archive-menu a:focus-visible {
    outline: 3px solid rgb(22 131 216 / 25%);
    outline-offset: 2px;
}

.archive-menu__category-content > .archive-menu__years {
    padding: 0.75rem 1rem 0.875rem 1.5rem;
}

@media (hover: hover) {
    .archive-menu__category-summary:hover,
    .archive-menu__year > summary:hover {
        background: rgb(22 131 216 / 5%);
    }

    .archive-menu__periods a:hover {
        border-color: var(--archive-accent);
        background: rgb(22 131 216 / 7%);
    }
}

@media (min-width: 768px) {
    .archive__header {
        padding: 1rem 1.125rem;
    }

    .archive-menu__category-summary,
    .archive-menu__simple {
        padding-right: 1.125rem;
        padding-left: 1.125rem;
    }
}
/****************** End of Archive Events ******************/