:focus-visible{
     outline: 2px solid;
     outline-offset:2px;
}
.sr-only, .visually-hidden {
     position: absolute;
     width: 1px;
     height: 1px;
     padding: 0;
     margin: -1px;
     overflow: hidden;
     clip: rect(0,0,0,0);
     border: 0;
}

 .skip-to-main-content {
     background: #015C71;
     color:#fff !important;
     height: 30px;
     left: 0%;
     line-height:1;
     padding: 5px 20px 10px;
     position: absolute;
     transform: translateY(-500%);
     transition: transform 0.3s;
     z-index:99999999999;
}
.skip-to-main-content:hover, .skip-to-main-content:visited{
     color:#fff;
}
 .skip-to-main-content:focus {
     transform: translateY(0%);
}


 h1, h2, h3, h4, h5, h6{
     font-family: 'Roboto Slab', serif;
	 font-weight:400;
     line-height:1.1;
}
 a, a:link, a:visited{
	 color:inherit;
}
 a:hover, a:focus, a:active{
	 color:#CE1126;
}
a.et-vb-page-bar-save-button{
	color:#fff;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, p a{
    text-decoration: underline;
}



 ul {
     margin: 10px auto;
}
/* header.et-l.et-l--header .et_pb_menu__menu {
     display: flex !important;
}
 header.et-l.et-l--header .et_mobile_nav_menu {
     display: none !important;
}*/
nav.breadcrumb {
    font-size: 13px;
    color: #222222;
}
nav.breadcrumb a{
	
	color: #222222;
	display:inline-block;
	padding:5px 0;
	
}
nav.breadcrumb a:hover{
	color: #222222;
	display:inline-block;
	padding:5px 0;
	text-decoration:underline;
	
}
 #top-menu li {
    /*display: inline-block;
    */
     display: inline-flex;
     font-size: 16px;
     padding-right: 10px;
}
 @media (min-width:981px) and (max-width:1366px){
     #top-menu li {
         padding-right: 10px;
    }
}
 #top-menu a {
     border-bottom:0;
     color: #015C71;
     font-size: 15px;
     padding-bottom: 5px !important;
     padding: 5px 0;
     text-transform: uppercase;
}
 #top-menu a:hover, #top-menu a:active, #top-menu a:focus{
     border-bottom: 1px solid #015c71;
}
 #top-menu .current-menu-item a, #top-menu li.current-menu-item>a{
     color: #015C71;
     border-bottom: 1px solid #015c71;
}
 #top-menu .current-menu-parent{
     color: #015C71;
}
 .mobile_menu_bar:before, .mobile_menu_bar:after, #top-menu li.current-menu-ancestor>a, #top-menu li.current-menu-item>a {
     color: #015C71;
}
 #top-menu li.current-menu-ancestor>a, #top-menu li.current-menu-item>a {
     color: #015C71;
     border-bottom: 1px solid #015c71;
}
 #top-menu li.current-menu-item.no-parent>a{
     border-bottom:0;
}
 #top-menu li.nav-button {
}
 #top-menu li.nav-button a {
     background: #F5E6E8;
     padding: 15px 28px 15px;
     padding-bottom:15px !important;
     border-radius: 30px;
}
 #top-menu .menu-item-has-children>a:first-child, #et-secondary-nav .menu-item-has-children>a:first-child {
     padding-right: 6px;
}
 #top-menu .menu-item-has-children>a:first-child:after, #et-secondary-nav .menu-item-has-children>a:first-child:after {
     content: "\f107";
     font-family: "Font Awesome 6 Pro";
     font-weight: 300;
     position: absolute;
     right: 0px;
     top: -2px;
     transform: translateY(6px);
     pointer-events: none;
     font-size: 20px;
     color: #015C71;
     display:none;
}
 #top-menu li.menu-item-has-children ul{
     border-top:1px solid #015C71;
     top:calc(100% - 1px);
     margin:0 0;
}
 #top-menu .menu-item-has-children > button.menu-toggle-btn {
     background: transparent;
     border: 0;
     margin-top: -3px;
     padding-left: 0;
     padding-right: 0;
     font-weight: 300;
     color: #015C71;
}
 #top-menu .menu-item-has-children:hover > .sub-menu {
     display: block;
     visibility: visible;
     opacity: 1;
}
 #top-menu .sub-menu.keyboard-visible {
     display: block !important;
     visibility: visible !important;
     opacity: 1 !important;
}
 .et_pb_menu .et-menu>li {
     padding-left: 0px;
     padding-right: 12px;
     align-items: center !important;
}
 .et-menu .menu-item-has-children>a:first-child {
     padding-right: 0;
}
 .et-menu .menu-item-has-children>a:first-child:after{
     display:none;
}
.et-menu .menu-item-has-children button.menu-toggle-btn {
    background: transparent;
    border: 0;
    color: #222;
    margin-top: -6px;
}
 .et-menu .menu-item-has-children:hover button.menu-toggle-btn {
     border: 0;
     color: #CE1126;
}
 .et-menu .menu-item-has-children button.menu-toggle-btn i::before {
     font-weight: 300;
}
 .menu-item-has-children {
     position: relative;
}
 .menu-toggle-btn i {
     transition: transform 0.3s ease;
     display: inline-block;
}
 ul.sub-menu{
     margin-top:0;
	 border-top:0;
	 
}
ul.sub-menu::before{
	
}
 ul.sub-menu.keyboard-visible {
     opacity: 1;
     visibility: visible;
}
 ul.sub-menu.keyboard-hidden {
     opacity: 0;
     visibility: hidden;
}
/* Rotate when button or link is hovered or focused */
 .menu-item-has-children:hover .menu-toggle-btn i, .menu-item-has-children:focus-within .menu-toggle-btn i {
     transform: rotate(180deg);
    /* Counter-clockwise (chevron points up) */
}
/* Rotate based on aria-expanded state */
 .menu-toggle-btn[aria-expanded="true"] i {
     transform: rotate(-180deg);
    /* Persist rotation when submenu is open */
}
 .et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li>a {
     padding-bottom: 10px;
	 padding-top:10px;
}

.et-db #et-boc .et-l .et-menu .menu-item-has-children>a:first-child {
    padding-right: 0;
}

/*mobile menu fixes*/
/* Toggle button base styles */
.menu-toggle-btn {
  background: transparent;
  border: none;
  padding: 8px 12px;
  cursor: pointer;
  color: inherit;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.menu-toggle-btn:focus {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.menu-toggle-btn i {
  transition: transform 0.3s ease;
  pointer-events: none;
}

.menu-toggle-btn i.rotated {
  transform: rotate(180deg);
}

/* Desktop submenu visibility */
#et-top-navigation .sub-menu.keyboard-hidden,
#et-secondary-nav .sub-menu.keyboard-hidden,
#top-menu .sub-menu.keyboard-hidden,
.et-menu .sub-menu.keyboard-hidden {
  display: none !important;
}

#et-top-navigation .sub-menu.keyboard-visible,
#et-secondary-nav .sub-menu.keyboard-visible,
#top-menu .sub-menu.keyboard-visible,
.et-menu .sub-menu.keyboard-visible {
  display: block !important;
}

/* Desktop menu toggle button positioning */
@media (min-width: 981px) {
	img#main-logo {
    height: auto;
    width: auto;
}
	.et_pb_sticky .et_pb_image_0_tb_header .et_pb_image_wrap img {
    height: auto !important;
    width: auto;
}
  #et-top-navigation .menu-toggle-btn,
  #et-secondary-nav .menu-toggle-btn,
  #top-menu .menu-toggle-btn,
  .et-menu .menu-toggle-btn {
    display: inline-flex;
    margin-left: 5px;
  }
}

/* Mobile menu specific styles */
@media (max-width: 980px) {
	#footer-menu .et_pb_menu__wrap {
    justify-content: center !important;
}
	#footer-menu.et_pb_menu .et_pb_menu__menu {
    display: block;
}
	#footer-menu.et_pb_menu .et_mobile_nav_menu {
    display: none;
}
  .et_mobile_menu .menu-toggle-btn {
    position: absolute;
    right: 0;
    top: 24px;
    transform: translateY(-50%);
    padding: 15px;
    z-index: 10;
  }

  .et_mobile_menu .menu-item-has-children {
    position: relative;
  }

  .et_mobile_menu .menu-item-has-children > a {
    padding-right: 50px;
  }
  
  /* Mobile submenu visibility */
  .et_mobile_menu .sub-menu.keyboard-hidden,
  .et_mobile_menu ul.keyboard-hidden, #main-header .et_pb_menu .et_mobile_menu li ul.keyboard-hidden {
    display: none !important;
  }

  .et_mobile_menu .sub-menu.keyboard-visible,
  .et_mobile_menu ul.keyboard-visible, #main-header .et_pb_menu .et_mobile_menu li ul.keyboard-visible {
    display: block !important;
  }
}
/* Homepage*/
.home-event-featured-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
/**
 * Divi 5 Owl Carousel Custom Styles
 * Save this file as: /wp-content/themes/your-child-theme/css/divi-owl-carousel.css
 * or add to your existing custom CSS file
 */

/* Carousel wrapper */
.owl-carousel-wrapper {
    position: relative;
}

/* Full width section support */
.et_pb_section.et_pb_fullwidth_section .owl-carousel-wrapper,
.et_pb_row.et_pb_row_fullwidth .owl-carousel-wrapper {
    max-width: 100%;
}

/* Navigation container */
.owl-carousel .owl-nav {
    margin-top: 10px;
}

/* Navigation buttons base styles */
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5) !important;
    color: #fff !important;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 24px;
    line-height: 50px;
    text-align: center;
    transition: all 0.3s ease;
    z-index: 10;
    border: none;
    cursor: pointer;
}

/* Navigation button hover states */
.owl-carousel .owl-nav button.owl-prev:hover,
.owl-carousel .owl-nav button.owl-next:hover {
    background: rgba(0, 0, 0, 0.8) !important;
}

/* Navigation button focus states for accessibility */
.owl-carousel .owl-nav button.owl-prev:focus,
.owl-carousel .owl-nav button.owl-next:focus {
    outline: 2px solid #4A90E2;
    outline-offset: 2px;
}

/* Previous button positioning */
.owl-carousel .owl-nav button.owl-prev {
    left: -25px;
}

/* Next button positioning */
.owl-carousel .owl-nav button.owl-next {
    right: -25px;
}

/* Full width navigation positioning */
.et_pb_section.et_pb_fullwidth_section .owl-carousel .owl-nav button.owl-prev,
.et_pb_row.et_pb_row_fullwidth .owl-carousel .owl-nav button.owl-prev {
    left: 20px;
}

.et_pb_section.et_pb_fullwidth_section .owl-carousel .owl-nav button.owl-next,
.et_pb_row.et_pb_row_fullwidth .owl-carousel .owl-nav button.owl-next {
    right: 20px;
}

/* Hide default text in navigation buttons */
.owl-carousel .owl-nav button.owl-prev span,
.owl-carousel .owl-nav button.owl-next span {
    display: none;
}

/* Ensure FontAwesome icons don't interfere with clicks */
.owl-carousel .owl-nav button.owl-prev i,
.owl-carousel .owl-nav button.owl-next i {
    pointer-events: none;
}

/* Responsive adjustments for medium screens */
@media (max-width: 980px) {
    .owl-carousel .owl-nav button.owl-prev,
    .owl-carousel .owl-nav button.owl-next {
        width: 40px;
        height: 40px;
        font-size: 20px;
        line-height: 40px;
    }
}

/* Responsive adjustments for small screens */
@media (max-width: 768px) {
    .owl-carousel .owl-nav button.owl-prev {
        left: 5px;
    }
    
    .owl-carousel .owl-nav button.owl-next {
        right: 5px;
    }
    
    .owl-carousel .owl-nav button.owl-prev,
    .owl-carousel .owl-nav button.owl-next {
        width: 35px;
        height: 35px;
        font-size: 18px;
        line-height: 35px;
    }
}

/* Ensure carousel items maintain proper spacing */
.owl-carousel .owl-stage-outer {
    overflow: hidden;
}

.owl-carousel .owl-item {
    backface-visibility: hidden;
}

/* Optional: Full-width carousel wrapper class */
.owl-carousel-wrapper.full-width {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    padding: 0 40px;
}

@media (max-width: 768px) {
    .owl-carousel-wrapper.full-width {
        padding: 0 10px;
    }
}

/* Screen reader only text for accessibility */
.owl-carousel .sr-only {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Optional: Custom arrow button colors - uncomment and modify as needed */
/*
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
    background: rgba(255, 255, 255, 0.9) !important;
    color: #333 !important;
}

.owl-carousel .owl-nav button.owl-prev:hover,
.owl-carousel .owl-nav button.owl-next:hover {
    background: rgba(255, 255, 255, 1) !important;
    color: #000 !important;
}
*/

/* Optional: Square buttons instead of circular - uncomment if needed */
/*
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
    border-radius: 4px;
}
*/

/* Optional: Add shadow to navigation buttons - uncomment if needed */
/*
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
*/