body,html{
  font-family:Arial,sans-serif;
  text-rendering:optimizeLegibility!important;
  -webkit-font-smoothing:antialiased!important;
  color:#fff;
  font-weight:400;
  width:100%!important;
  height:100%!important
}

html,body{
  margin:0
}

html{
  scroll-behavior:smooth
}

h1{
  font-family:"Hobo",Arial,sans-serif;
  font-size:3.1rem;
  margin:0 0 20px;
  font-weight:600;
  color:#fff
}

h2{
  margin:0 0 20px 0;
  font-weight:600;
  font-size:36px;
  color:#fff
}

p{
  font-size:17px;
  color:#333
}

@media (max-width:768px){
  p{
    font-size:19px;
    line-height:1.6
  }
}

a{
  color:#5de1e5;
  font-weight:400
}

hr{
  height:3px;
  width:70px;
  text-align:center;
  position:relative;
  background:#6ab5c4;
  margin:0 auto 20px;
  border:0
}

img{
  vertical-align:middle;
  border:0
}

#menu{
  padding:8px;
  transition:all .8s
}

#menu.navbar-default{
  background-color:#6ab5c4;
  border-color:rgba(231,231,231,0);
  padding:12px 0
}

#menu a.navbar-brand{
  font-size:20px;
  font-weight:600;
  color:#FFF
}

#menu.navbar-default .navbar-nav>li>a{
  text-transform:uppercase;
  color:#000;
  font-size:15px;
  font-weight:400;
  letter-spacing:1px;
  padding:8px 2px;
  border-radius:0;
  margin:9px 20px 0 20px
}

#menu.navbar-default .navbar-nav>li>a:hover{
  color:#041d42
}

.navbar-toggle{
  border-radius:0
}

.navbar-default .navbar-toggle:focus,
.navbar-default .navbar-toggle:hover{
  background-color:#fff;
  border-color:#fff
}

.navbar-default .navbar-toggle:hover>.icon-bar{
  background-color:#0c6980
}

.btn-custom{
  text-transform:uppercase;
  color:#fff;
  background-color:#0c6a80;
  padding:9px 15px;
  letter-spacing:1px;
  margin:0;
  font-size:14px;
  font-weight:400;
  margin-top:20px;
  transition:all .3s
}

.btn-custom:active,
.btn-custom:focus{
  color:#0c6981;
  background-color:#5de1e7
}

@media (min-width:1920px){
  #about{
    padding:190px 0 40px 0
  }
}

#about{
  padding:50px 0 80px 0;
  background-color:#fff
}

#about .btn-custom{
  background-color:#0c6981;
  color:#fff
}

#about .btn-custom:hover,
#about .btn-custom:active,
#about .btn-custom:focus{
  color:#0FF
}

#about h1{
  margin:0 0 20px 0;
  font-weight:600;
  font-family:"Hobo",Arial,sans-serif;
  font-size:3.1rem;
  color:#4A4A4A
}

#about h2{
  font-size:22px;
  font-weight:600;
  color:rgba(51,51,51,.9);
  margin:20px 0 0
}

#about .about-text span{
  color:#03357f;
  font-weight:700;
  letter-spacing:-1px
}

#about hr{
  margin-left:0;
  margin-bottom:40px
}

#about .btn{
  margin-top:2px
}

#about .about-media img{
  position:relative;
  display:block;
  width:100%;
  height:auto
}

#about .about-desc,
#about .about-text{
  margin-bottom:0;
  margin-top:18px
}

#about p{
  line-height:24px;
  margin-top:20px;
  color:#333
}

#about a{
  color:#0C6981
}

#about a:hover,
#about a:focus{
  text-decoration:none;
  color:#2969eb
}

#portfolio{
  padding:100px 0 40px 0;
  background-color:#f8f8f8;
  background-repeat:repeat;
  background-position:center top;
  margin:0;
  color:#333
}

#portfolio .btn-custom{
  background-color:#0c6981;
  color:#fff
}

#portfolio .btn-custom:hover,
#portfolio .btn-custom:active,
#portfolio .btn-custom:focus{
  text-decoration:none;
  color:#0FF
}

#portfolio h1{
  margin:0 0 20px 0;
  font-weight:600;
  font-family:"Hobo",Arial,sans-serif;
  font-size:3.1rem;
  color:#333
}

#portfolio .portfolio-text span{
  color:#03357f;
  font-weight:700;
  letter-spacing:-1px
}

#portfolio hr{
  margin-left:0;
  margin-bottom:40px
}

#portfolio .btn{
  margin-top:2px
}

#portfolio .portfolio-media img{
  position:relative;
  display:block;
  width:100%;
  height:auto
}

#portfolio .portfolio-desc,
#portfolio .portfolio-text{
  margin-bottom:40px
}

#portfolio p{
  line-height:24px;
  margin-top:20px;
  color:#333
}

#portfolio a{
  color:#0C6981
}

#portfolio a:hover,
#portfolio a:focus{
  text-decoration:none;
  color:#2969eb
}

#article1 .btn-custom:hover,
#article1 .btn-custom:active,
#article1 .btn-custom:focus{
  color:#0FF
}

#article1 a:hover,
#article1 a:focus{
  text-decoration:none;
  color:#0c6980
}

#article2 .btn-custom:hover,
#article2 .btn-custom:active,
#article2 .btn-custom:focus{
  color:#0FF
}

#article2 a:hover,
#article2 a:focus{
  text-decoration:none;
  color:#0c6980
}

#testimonials{
  padding:100px 0 40px 0;
  background-color:#fff
}

#testimonials .btn-custom{
  background-color:#0c6981
}

#testimonials .btn-custom:hover,
#testimonials .btn-custom:active,
#testimonials .btn-custom:focus{
  color:#0FF
}

#testimonials h1{
  margin:0 0 20px 0;
  font-weight:600;
  font-family:"Hobo",Arial,sans-serif;
  font-size:3.1rem;
  color:#333
}

#testimonials .testimonials-text span{
  color:#03357f;
  font-weight:700;
  letter-spacing:-1px
}

#testimonials hr{
  margin-left:0;
  margin-bottom:40px
}

#testimonials .btn{
  margin-top:2px
}

#testimonials .about-media img{
  position:relative;
  display:block;
  width:100%;
  height:auto
}

#testimonials .about-desc,
#testimonials .about-text{
  margin-bottom:40px
}

#testimonials p{
  line-height:24px;
  margin-top:20px;
  color:#333
}

#testimonials a{
  color:rgba(255,255,255,.9)
}

#testimonials a:hover,
#testimonials a:focus{
  text-decoration:none;
  color:#0c6980
}

#contact .btn-custom:hover,
#contact .btn-custom:active,
#contact .btn-custom:focus{
  color:#0FF
}

#contact a:hover,
#contact a:focus{
  text-decoration:none;
  color:#0c6980
}

#footer{
  background:#6ab5c4;
  padding:10px 0 5px
}

#footer .social{
  margin:10px 0 30px 0
}

#footer .social ul li{
  display:inline-block;
  margin:0 20px
}

#footer .social i.fa-brands{
  font-size:26px;
  width:40px;
  height:40px;
  padding:10px 10px 10px 7px;
  background:#fff;
  color:#000;
  border-radius:50%;
  transition:all .3s
}

#footer .social i.fa-brands:hover{
  background:#cea370;
  color:#fff
}

#footer p{
  color:#000;
  font-size:15px;
  margin-bottom:18px
}

#footer a{
  color:#000;
  text-decoration:none
}

#footer a:hover{
  color:#ccc
}

#shop{
  padding:100px 0 40px 0;
  background-color:#f8f8f8;
  color:#333;
  margin:0
}

#shop .btn-custom{
  text-transform:uppercase;
  color:#fff;
  background-color:#0c6a80;
  padding:9px 15px;
  letter-spacing:1px;
  margin:0;
  font-size:14px;
  font-weight:400;
  margin-top:20px;
  transition:all .3s
}

#shop .btn-custom:hover,
#shop .btn-custom:active,
#shop .btn-custom:focus{
  color:#0FF
}

#shop h1{
  margin:0 0 20px 0;
  font-weight:600;
  font-family:"Hobo",Arial,sans-serif;
  font-size:3.1rem;
  color:#333
}

#shop .shop-text span{
  color:#03357f;
  font-weight:700;
  letter-spacing:-1px
}

#shop hr{
  margin-left:0;
  margin-bottom:40px
}

#shop .btn{
  margin-top:2px
}

#shop .shop-desc,
#shop .shop-text{
  margin-bottom:40px
}

#shop p{
  line-height:24px;
  margin-top:20px;
  color:#333
}

#shop a{
  color:#0C6981
}

#shop a:hover,
#shop a:focus{
  text-decoration:none;
  color:#5de1e7
}

#links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  padding:5px;
  margin-bottom:-20px
}

@media (max-width:768px){
  ul li{
    font-size:15px;
    padding:10px 10px 10px 10px
  }
}

.logo1{
  text-transform:uppercase;
  color:#000;
  font-size:15px;
  margin-left:-9px;
  margin-top:-18px;
  position:relative;
  top:17px
}

@media screen and (max-width:840px){
  #header{
    display:none
  }
}

@media screen and (max-width:1280px){
  #header{
    padding:2em 0 0 0
  }
}

#header{
  text-align:center;
  padding:3em 0 0 0;
  background-color:#114274;
  background-position:top left, top left, top left;
  background-size:100% 6em, 100% 6em, auto;
  background-repeat:no-repeat, no-repeat, repeat
}

#header img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:auto;
  box-shadow:0 5px 10px rgba(0,0,0,.8)
}

#shop .article2-media img{
  position:relative;
  display:block;
  width:100%;
  height:auto
}

#about .article2-media img{
  position:relative;
  display:block;
  width:100%;
  height:auto
}

@media (max-width:767px){
  .navbar-fixed-top .navbar-collapse{
    max-height:none!important;
    overflow-y:visible!important
  }
}

.navbar-nav>li.dropdown{
  position:relative
}

.navbar-nav>.dropdown>a .caret{
  margin-left:5px;
  border-top:4px solid #333;
  border-right:4px solid transparent;
  border-left:4px solid transparent;
  display:inline-block;
  vertical-align:middle;
  transition:transform .3s ease
}

.navbar-nav .dropdown-menu{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  background:#e6e6e6;
  border:2px solid #cea370;
  min-width:160px;
  z-index:1000;
  padding:10px 0;
  box-shadow:0 2px 5px rgba(0,0,0,.15);
  border-radius:1rem
}

.navbar-nav .dropdown-menu li a{
  display:block;
  padding:8px 20px;
  color:#333;
  text-decoration:none
}

.navbar-nav .dropdown-menu li a:hover{
  background-color:#f5f5f5
}

@media (min-width:768px){
  .navbar-nav>.dropdown:hover>.dropdown-menu{
    display:block
  }
}

@media (max-width:767px){
  .navbar-nav .dropdown-menu{
    display:none!important;
    position:static!important;
    width:100%;
    box-shadow:none;
    border:2px solid #cea370;
    padding-left:15px
  }

  .navbar-nav .dropdown-menu li a{
    padding-left:30px
  }

  .navbar-fixed-top .navbar-collapse{
    max-height:none!important;
    overflow-y:visible!important
  }
}

#sponsors{
  padding:60px 0;
  background:#fff
}

#sponsors h2{
  text-align:center;
  margin:40px 0 15px;
  color:#4A4A4A;
  font-family:Hobo,Arial,sans-serif;
  font-size:3.1rem;
  font-weight:600
}

#sponsors h2 span{
  color:#0C6981;
  font-weight:700;
  letter-spacing:-1px
}

.sponsors-intro{
  max-width:850px;
  margin:0 auto 35px;
  padding:0 20px;
  text-align:center;
  font-size:17px;
  line-height:1.7;
  color:#666
}

.sponsor-grid{
  display:grid;
  grid-template-columns:repeat(1,minmax(0,1fr));
  gap:24px;
  margin:0 auto 40px;
  padding:0 15px
}

@media (min-width:576px){
  .sponsor-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media (min-width:992px){
  .sponsor-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}

.sponsor-item{
  display:flex;
  flex-direction:column;
  min-width:0;
  text-align:center
}

.sponsor-card{
  display:block;
  background:#fff;
  border:2px solid #cea370;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 6px 14px rgba(0,0,0,.15);
  transition:transform .18s ease, box-shadow .18s ease;
  text-decoration:none
}

.sponsor-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 28px rgba(0,0,0,.22)
}

.sponsor-card:focus-visible{
  outline:3px solid #5de1e5;
  outline-offset:3px
}

.sponsor-media{
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#fff
}

.sponsor-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block
}

.sponsor-title{
  margin-top:16px;
  font-size:16px;
  font-weight:700;
  line-height:1.2;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word
}

.sponsor-title a{
  display:inline-block;
  max-width:100%;
  color:#333;
  text-decoration:none;
  font-weight:700;
  transition:color .2s ease
}

.sponsor-title a:hover{
  color:#0C6981
}

.sponsor-title a:focus-visible{
  outline:3px solid #5de1e5;
  outline-offset:3px;
  border-radius:12px
}

.sponsor-desc{
  margin-top:6px;
  font-size:1.1em;
  line-height:1.4;
  color:#333;
  max-width:100%;
  overflow-wrap:anywhere
}

#affiliates .sponsor-media{
  aspect-ratio:1/1
}

.wrap{
  width:100%;
  padding:16px;
  display:flex;
  flex-direction:column;
  align-items:center
}

.header2{
  width:100%;
  max-width:650px;
  margin:70px auto 12px;
  text-align:left
}

.header2 hr{
  margin-left:0
}

.header2 h1{
  margin:0 0 20px;
  font-weight:600;
  font-family:Hobo,Arial,sans-serif;
  font-size:3.1rem;
  color:#333
}

.form-container{
  max-width:650px;
  background:#fff;
  padding:35px;
  border-radius:12px;
  box-shadow:0 8px 25px rgba(0,0,0,.08);
  margin:40px auto;
  font-family:Arial,sans-serif;
  overflow:hidden
}

.form-container label{
  font-weight:600;
  display:block;
  margin-top:20px;
  color:#333
}

.form-container .required{
  color:#d93025
}

.form-container .name-group{
  display:flex;
  gap:12px
}

.form-container .name-group input{
  flex:1
}

.form-container input,
.form-container textarea,
.form-container select{
  width:100%;
  padding:12px;
  margin-top:6px;
  border:1px solid #dcdcdc;
  border-radius:8px;
  font-size:16px;
  transition:border .2s ease, box-shadow .2s ease;
  box-sizing:border-box
}

.form-container input:focus,
.form-container textarea:focus,
.form-container select:focus{
  outline:none;
  border-color:#2a7ae2;
  box-shadow:0 0 0 3px rgba(42,122,226,.15)
}

.form-container textarea{
  min-height:130px;
  resize:vertical
}

.form-container small{
  color:#666;
  display:block;
  margin-top:4px;
  font-size:13px
}

.form-container button{
  margin-top:30px;
  padding:14px;
  width:100%;
  background:#6ab5c4;
  color:#000;
  border:none;
  border-radius:8px;
  font-size:16px;
  font-weight:600;
  cursor:pointer;
  transition:background .2s ease, transform .1s ease
}

.form-container button:hover{
  background:#1f5fcc
}

.form-container button:active{
  transform:scale(.98)
}

.form-container button:disabled{
  background:#9bbdf2;
  cursor:not-allowed
}

.form-container .message{
  margin-top:15px;
  font-size:14px
}

@media (max-width:600px){
  .form-container{
    padding:25px;
    margin:20px
  }

  .form-container .name-group{
    flex-direction:column;
    gap:0
  }
}

.gallery-title{
  text-align:center;
  margin:54px 0 15px;
  color:#4A4A4A;
  font-family:Hobo,Arial,sans-serif;
  font-size:3.1rem;
  font-weight:600
}

.gallery-title span{
  color:#0C6981;
  font-weight:700;
  letter-spacing:-1px
}

.gallery-intro{
  max-width:850px;
  margin:0 auto 35px;
  padding:0 20px;
  text-align:center;
  font-size:17px;
  line-height:1.7;
  color:#666
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(1,minmax(0,1fr));
  gap:24px;
  margin:0 auto 40px;
  padding:0 15px
}

@media (min-width:576px){
  .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media (min-width:992px){
  .gallery-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}

.gallery-card{
  display:block;
  background:#fff;
  border:2px solid #cea370;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 6px 14px rgba(0,0,0,.15);
  transition:transform .18s ease, box-shadow .18s ease;
  text-decoration:none
}

.gallery-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 28px rgba(0,0,0,.22)
}

.gallery-card:focus-visible{
  outline:3px solid #5de1e5;
  outline-offset:3px;
  border-radius:18px
}

.gallery-media{
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#fff
}

.gallery-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block
}

.lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 220ms ease, visibility 0s linear 220ms
}

.lightbox:target{
  display:block;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity 220ms ease
}

.lb-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.78);
  z-index:1
}

.lb-panel{
  position:relative;
  max-width:min(1100px,94vw);
  margin:6vh auto 0;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.35);
  z-index:2;
  transform:translateY(8px);
  transition:transform 220ms ease
}

.lightbox:target .lb-panel{
  transform:translateY(0)
}

.lb-close{
  position:absolute;
  top:10px;
  right:12px;
  width:44px;
  height:44px;
  line-height:42px;
  text-align:center;
  font-size:34px;
  text-decoration:none;
  color:#333;
  background:rgba(255,255,255,.9);
  border-radius:12px;
  z-index:3
}

.lb-figure{
  margin:0
}

.lb-figure img{
  width:100%;
  height:auto;
  display:block
}

.lb-caption{
  padding:14px 16px 18px;
  font-weight:700;
  color:#333;
  text-align:center;
  border-top:2px solid #cea370
}

.lb-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  line-height:50px;
  text-align:center;
  font-size:44px;
  text-decoration:none;
  color:#333;
  background:rgba(255,255,255,.9);
  border-radius:14px;
  z-index:3;
  user-select:none
}

.lb-prev{
  left:14px
}

.lb-next{
  right:14px
}

.lb-nav:hover,
.lb-close:hover{
  background:#fff
}

.lb-nav:focus-visible,
.lb-close:focus-visible{
  outline:3px solid #5de1e5;
  outline-offset:3px
}

#events-page .sponsor-title a,
#events-page .event-meta a{
  color:#0C6981;
  text-decoration:none
}

#events-page .sponsor-title a:hover,
#events-page .event-meta a:hover{
  color:#2969eb
}

#events-page a.event-email-btn:hover,
#events-page a.event-email-btn:focus{
  color:#5de1e5!important;
  text-decoration:none
}

.insurance-item{
  max-width:355px;
  margin:33px auto 0
}

.insurance-card{
  width:100%
}

.insurance-card .sponsor-media{
  aspect-ratio:1/1;
  overflow:hidden
}

.insurance-card .sponsor-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block
}

.insurance-desc{
  margin-top:16px
}

/* preserved dynamic dropdown states */
.navbar-nav>.dropdown.open>a .caret{
  transform:rotate(180deg)
}

.navbar-nav>.dropdown.open>.dropdown-menu{
  display:block
}

@media (max-width:767px){
  .navbar-nav>.dropdown.open>.dropdown-menu{
    display:block!important
  }
}