.val2024 {
background-color:#fff3f3;
background-image: url(../assets/images/val2024hearts.jpg);
background-repeat:no-repeat;
	background-position: center center;
	background-size:cover;
padding-top:1rem;
padding-bottom:1rem;
margin-bottom:1rem;
}


body {
color: #424242;
}


.title-bar {
background: #66489c;
}



.newsletterTitle {
color:#ffffff;
font-size:2rem;
font-weight:bold;
margin-bottom:0;
}

.newsletterText {
color:#ffffff;
font-size:1.25rem;
font-weight:bold;
}
.signup {
padding:2rem;
background:#eaeaea;
margin-bottom:1rem;
}

.terms-small {
font-size:90%;
}

/*
font-family: 'Arvo', serif;
font-family: 'Delius', cursive;
font-family: 'Open Sans', sans-serif;
font-family: 'Playfair Display', serif;
font-family: 'Source Sans Pro', sans-serif;
*/


.no-bottom-margin {
    margin-bottom: 0;
}


p a:link {
  color: #ea2f88;
}


p a:visited {
  color: #ea2f88;
}


p a:hover {
  color: #ea2f88;
}

p a:active {
  color: #ea2f88;
}
p {
	font-family: 'Source Sans Pro', sans-serif;
	color:#424242;
}




.button {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 1rem 0;
	font-family: inherit;
	padding: 0.65em 1em;
	-webkit-appearance: none;
	border: 2px solid #eaeaea;
	border-radius: 3px;
	transition: background-color 0.25s ease-out, color 0.25s ease-out;
	font-size: 0.9rem;
	line-height: 1;
	text-align: center;
	cursor: pointer;
	background-color: #bda1f1;
	color: #333333;
text-transform:uppercase;
font-weight:bold;
}
.button:hover, .button:focus {
	background-color: #452779;
	color: #ffffff;
}
.preheader {
	background:#66489c;
	color:#ffffff;
	font-size:0.875rem;
	padding:0.625rem 0;
}

.preheader a {
	color:#ffffff;
}
.header {
	padding:0.75rem 0;
	font-family: "Source Sans Pro", sans-serif;
	font-weight:400;
	font-size:0.875rem;

}

.topnav {
	font-family: "Source Sans Pro", sans-serif;
	font-weight:400;
	font-size:1rem;
    text-transform: uppercase;

}

.topnav a:hover {
	color: #da4144;

}


.menu a {
	color: #424242;
	transition: color 0.15s ease-in;


}
.menu a:hover {
	color: #da4144;
	background:#ffffff;
}
.booking {
	background:#66489c;
	color:#ffffff;
}
.rooms {
	background:#66489c;
	padding:2rem 0;
}
.rooms-showcase {
	background:#66489c;
}
.rooms-showcase-item {
	background:#ffffff;
}
.footer {
	background:#101010;
}
.copyright {
	background:#666666;
}
.rooms-showcase-text {
	padding:1rem;
}
.weddings-showcase {
	padding:2rem 0;
	background-image: url(../assets/images/misc/weddings-background-3.webp);
	background-repeat:no-repeat;
	background-position: center center;
	background-size:cover;
}


.weddings-showcase-home {
	padding:2rem 0;
	background-image: url(../assets/images/misc/weddings-background-3.jpg);
	background-repeat:no-repeat;
	background-position: center center;
	background-size:cover;
}


.calloutBlue {
color:#3c9ea4;

}

.--125 {
font-size:  1.25rem;
}
.section-header {
	padding:2rem 0;

	background-image: url(../images/page-headers/header-1.jpg);
	background-repeat:no-repeat;
	background-position: center center;
	min-height:200px;
    border-top:1px solid #f5f5f5;
}

.christmas-header {
	padding:2rem 0;

	background-image: url(../assets/images/page-headers/christmas-header-2.jpg);
	background-repeat:no-repeat;
	background-position: center center;
	min-height:200px;
	background-size:cover;
}


ul.orbit-container {
	height: auto !important;
	width:auto;
}
li.orbit-slide {
	max-height: none !important;
	width:auto;
}
.orbit-bullets {
	display:none;
}




.orbit-caption {
	position: absolute;
	/*top: 0;
	left: 0;*/
	width: 100%;
	height: 100%;
	background:none;
}
.horizontal-line {
	color: #b19f6a;
	background-color: #b19f6a;
	height: 3px;
	border-bottom: none;
	display: inline-block;
}

/* Small only */
@media screen and (max-width: 39.9375em) {


     .accordion-title::before { background-color: #ffffff;
        padding:0.5rem;
          display: none;
    }

    .accordion-title {
        font-size: 1.25rem;
   font-family: 'Playfair Display', serif;
        font-weight:700;
        padding: 1rem;
    }

    .accordion-title-spa {

      border-bottom:1px solid #cccccc;
    }

    .accordion-title-small {

        font-weight:400;
        font-size: 100%;
        font-family: 'Source Sans Pro', sans-serif;
    }


    .accordion-item {
        background-color: #d1eaf1;
        margin-bottom: 1rem;

    }


    .accordion-content {
         border-bottom: 1px solid #e6e6e6;
        background-color: #e6e6e6;

    }


     .accordion-content li {
       font-family: 'Source Sans Pro', sans-serif;
	color:#424242;
         font-size: 0.9375rem;

    }


      .accordion-content ul {
       margin-bottom:1rem;

    }
    
    

.pl1rem {padding-left:1rem;
}

	h1 {
font-size:1.5rem;
color:#424242;
font-family: 'Playfair Display', serif;
 font-weight:400;
}

 .orbit-caption p {
 font-size: 12px;
 font-weight: 400;
}
.rooms-showcase-item {
 margin-bottom:1rem;
}

.booking {
	padding:1rem;
}
.booking a {
	color:#eaeaea;
}

.rooms h3 {
font-size:1.5rem;
color:#ffffff;
font-family: 'Playfair Display', serif;
 font-weight:400;
 text-transform:none;
}

.rooms p {
 color:#ffffff;

}

.weddings-showcase h3 {
font-size:2.625rem;
color:#ffffff;
font-family: 'Playfair Display', serif;
 font-weight:400;
  text-transform:none;
}

.weddings-showcase p {
 color:#ffffff;

}
 .weddings-showcase p a {
 color:#ea358f;
 font-weight:700;
}

.footer-heading {
font-size:1rem;
color:#ffffff;
font-family: 'Playfair Display', serif;
 font-weight:400;
 text-transform:uppercase;
}

.footer ul {
	margin:0;
	padding:0;
}


.event-image {
	background:#f1f1f1;
}


.footer li {
  list-style-type: none;
  position: relative;
  padding-left: 0.5rem;
  padding-bottom:0.5rem;
}

.footer li a {

	 font-size:0.875rem;
color:#ffffff;
font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;
 /*list-style-position:inside;*/


}

.footer li:before {
  content: "\25BA \0020";
  font-size: 0.5rem;
  position: absolute;
  top: 10px;
  left: -10px;
  color:#baaa7a;
}
 .footer p {
 font-size:0.9375rem;
color:#ffffff;
font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;
}

 .copyright  {
 font-size:0.8125rem;
color:#ffffff;
font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;

}


h2 {
font-size:2rem;
color:#4d4c4c;
font-family: 'Playfair Display', serif;
 font-weight:400;
 text-transform:uppercase;
}

 h3 {
font-size:1.375rem;
color:#4d4c4c;
font-family: 'Playfair Display', serif;
 font-weight:400;
 text-transform:uppercase;
}


.accommodation-list li {
	font-size:0.9375rem;
color:#424242;
font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;
 list-style-type: none;
  position: relative;
  padding-left: 0.5rem;
 /* padding-bottom:0.6rem;*/
}
.accommodation-list li span {

color:#959595;

}
.other-events {
color:#454343;
font-size:0.875rem;
font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;
}
.other-events-title {
color:#454343;
font-size:1rem;
font-family: 'Playfair Display', serif;
 font-weight:400;
 margin-bottom:0;
 padding-bottom:0;
}

.accommodation-list li:before {
  content: "\25BA \0020";
  font-size: 0.6rem;
  position: absolute;
  top: 5px;
  left: -10px;
  color:#baaa7a;

}

.accommodation-feature-list ul {
	margin-left:0;
	padding-left:0;

}


.accommodation-feature-list li {
	font-size:0.9375rem;
color:#424242;
font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;
 list-style-type: none;
  position: relative;

}

.accommodation-item-heading {
 color:#4d4c4c;
font-size:1.3125rem;
font-family: 'Playfair Display', serif;
 font-weight:400;
}

.room-showcase-heading {
 color:#4d4c4c;
font-size:1.5rem;
font-family: 'Playfair Display', serif;
 font-weight:400;
}

.christmas-header h3 {
	color:#ffffff;
	font-size:	3rem;}

 .christmas-header p {
 color:#ffffff;
 font-size:1.75rem;
}


.christmas-item {
	color:#bd3a37;
}


 .christmas-header p a {
 color:#ffffff;
 font-weight:700;
}
.no-bullet {
	list-style:none;
	list-style-type:none;
}

.venue-event  {
	color:#b19f6a;
	font-size: 1rem;
	font-weight:bold;

}
    
    .accommodation-item-container {
	background:#f1f1f1;
	padding:0.75rem 1rem 0.75rem 1rem;
}


}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {
}

/* Medium and up */
@media screen and (min-width: 40em) {


p.treatment-type-list {
font-size:1.1rem;

text-transform:uppercase;
}

.offerList h4
 {
color:#3c9da4;
}

    .spa-terms {
        font-size:0.8125rem;
    }

    .tabs {

        background: none;


    }

    .tabs-content {

        background: none;

    }

    .tabs-panel {


        padding:0.5rem;
        line-height: normal;
    }

  .tabs-title > a {
       font-size: 1rem;
      color: #424242;
    background: #baaa7a;

        padding:0.5rem;
        line-height: normal;

    }
    .tabs-title > a:hover {
      background: #baaa7a;
      color: #393939; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #3c9ea4;
      color: #ffffff; }



    .accordion-title::before { background-color: #ffffff;
        padding:0.5rem;
          display: none;
    }

    .accordion-title {
        font-size: 1rem;
   font-family: 'Playfair Display', serif;
        font-weight:700;
        padding: 1rem;
    }

    .accordion-title-spa {

      border-bottom:1px solid #cccccc;
    }

    .accordion-title-small {

        font-weight:400;
        font-size: 90%;
        font-family: 'Source Sans Pro', sans-serif;
    }


    .accordion-item {
        background-color: #d1eaf1;
        margin-bottom: 1rem;

    }


    .accordion-content {
         border-bottom: 1px solid #e6e6e6;
        background-color: #e6e6e6;

    }


     .accordion-content li {
       font-family: 'Source Sans Pro', sans-serif;
	color:#424242;
         font-size: 0.9375rem;

    }


      .accordion-content ul {
       margin-bottom:1rem;

    }



	 h3 {
font-size:1.375rem;
color:#4d4c4c;
font-family: 'Playfair Display', serif;
 font-weight:400;
 text-transform:uppercase;
}

	.event-detail-image {
		background:#f1f1f1;
		padding:0.7rem;
	}

	.event-includes {
		font-size:0.875rem;
	}
 .header ul {
 padding-top:2rem;
}
h1 {
font-size:2.625rem;
color:#424242;
font-family: 'Playfair Display', serif;
 font-weight:400;
}
 h2 {
font-size:1.8rem;
color:#333333;
font-family: 'Playfair Display', serif;
 font-weight:400;
 text-transform:uppercase;
}
.terms {
	font-size:0.75rem;
}

.accommodation-terms {
	font-size:0.8125rem;
}
.rooms-type-list {
font-size:1.0rem;
color:#4d4c4c;
font-family: 'Playfair Display', serif;
 font-weight:400;
 text-transform:uppercase;
}

 h4 {
font-size:1.5rem;
color:#4d4c4c;
font-family: 'Playfair Display', serif;
 font-weight:400;
}
 h5 {
font-size:1.3125rem;
color:#4d4c4c;
font-family: 'Playfair Display', serif;
 font-weight:400;
}
.welcome {
 padding:2rem 0;
}
.welcome p {
 font-size:1rem;
 margin-top:1.75rem;
}
 .rooms h3 {
font-size:1.5rem;
color:#ffffff;
font-family: 'Playfair Display', serif;
 font-weight:400;
 text-transform:none;
}
 .rooms p {
 color:#ffffff;
 font-size:1rem;
}
 .rooms-showcase {
 padding-bottom:3rem;
}
 .room-showcase-heading {
 color:#4d4c4c;
font-size:1.5rem;

font-family: 'Playfair Display', serif;
 font-weight:400;
}
 .rooms-showcase-text ul {
 list-style:none;
 list-style-type:none;
 margin:0;
 padding:0;
}
 .rooms-showcase-text li {
 list-style:none;
 list-style-type:none;
 margin:0;
 padding:0;
 color:#4d4c4c;
font-size:0.8125rem;
line-height:1rem;
font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;
}
 .weddings-showcase {
 padding-bottom:4.5rem;
}
 .weddings-showcase h3 {
font-size:2.625rem;
color:#ffffff;
font-family: 'Playfair Display', serif;
 font-weight:400;
  text-transform:none;
}
 .weddings-showcase p {
 color:#333333;
 font-size:1.125rem;
}
 .weddings-showcase p a {
 color:#ea358f;
 font-weight:700;
}

.wedding-item li {
font-size:1.0rem;
font-family: 'Source Sans Pro', sans-serif;
	color:#424242;

}


 .events .heading {
font-size:1.125rem;
color:#474747;
font-family: 'Source Sans Pro', sans-serif;
/*font-family: 'Playfair Display', serif;*/
 font-weight:400;

}
 .events .date {
font-size:1rem;
color:#474747;
font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;

}

.events .date span {
	color:#248890;
}


.wedding-terms {
font-size:0.8125rem;
}

 .events .copy {
font-size:0.9375rem;
color:#474747;
font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;
}
 .event-container {
padding-bottom:3rem;
}

 .accommodation-container {
padding:2.5rem 0;
}

 .restaurant-container {
padding:2.5rem 0;
}

.moreLink {
	border-top:1px solid #cccccc;border-bottom:1px solid #cccccc;padding:5px 0 5px 0;
}

.accommodation-item {
	padding:0 0 0.5rem 0;
}

.accommodation-img {
	padding:0 0 1rem 0;
}


.accommodation-list li {
	font-size:0.9375rem;
color:#424242;
font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;
 list-style-type: none;
  position: relative;
  padding-left: 0.5rem;
 /* padding-bottom:0.6rem;*/
}
.accommodation-list li span {

color:#959595;

}
.other-events {
color:#454343;
font-size:0.875rem;

font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;
}
.other-events-title {
color:#454343;
font-size:1rem;
font-family: 'Playfair Display', serif;
 font-weight:400;
 margin-bottom:0;
 padding-bottom:0;
}

.accommodation-list li:before {
  content: "\25BA \0020";
  font-size: 0.6rem;
  position: absolute;
  top: 5px;
  left: -10px;
  color:#baaa7a;

}

.accommodation-feature-list ul {
	margin-left:0;
	padding-left:0;

}


.accommodation-feature-list li {
	font-size:0.9375rem;
color:#424242;
font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;
 list-style-type: none;
  position: relative;

}

.no-margin {
	margin:0;
}

.no-padding {
	padding:0;
}

.accommodation-item-container {
	background:#f1f1f1;
	padding:0.75rem 1rem 0.75rem 1rem;
}

.accommodation-item-heading {
 color:#4d4c4c;
font-size:1.3125rem;
font-family: 'Playfair Display', serif;
 font-weight:400;
}

 .footer {
 padding:3rem 0;
}
 .footer p {
 font-size:0.9375rem;
color:#ffffff;
font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;
}
.footer-heading {
font-size:1rem;
color:#ffffff;
font-family: 'Playfair Display', serif;
 font-weight:400;
 text-transform:uppercase;
}

.footer ul {
	margin:0;
	padding:0;
}


.event-image {
	background:#f1f1f1;
}


.footer li {
  list-style-type: none;
  position: relative;
  padding-left: 0.5rem;
  padding-bottom:0.5rem;
}

.footer li a {

	 font-size:0.875rem;
color:#ffffff;
font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;
 /*list-style-position:inside;*/


}

.footer li:before {
  content: "\25BA \0020";
  font-size: 0.5rem;
  position: absolute;
  top: 10px;
  left: -10px;
  color:#baaa7a;
}

 .copyright  {
 font-size:0.8125rem;
color:#ffffff;
font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;

}

.congratulations {
	font-family: 'Delius', cursive;
	font-size:3rem;
	color:#f50c97;
}


.menu-list li {

	font-size:1rem;

font-family: 'Source Sans Pro', sans-serif;
 font-weight:400;
 list-style-type: none;
 margin:0 0 0.75rem 0;
/*  position: relative;
  padding-left: 0.5rem;*/

}

.menu-list li a { color:#ea2f88; }



.no-bullet {
	list-style:none;
	list-style-type:none;
}

.venue-event  {
	color:#b19f6a;
	font-size: 1rem;
	font-weight:bold;

}
 .section-header h3 {
font-size:	1.875rem;
color:#424242;
font-family: 'Playfair Display', serif;
 font-weight:400;
  text-transform:none;
}


.christmas-header h3 {
	color:#ffffff;
	font-size:	3rem;}

 .christmas-header p {
 color:#ffffff;
 font-size:1.75rem;
}


.christmas-item {
	color:#bd3a37;
}


 .christmas-header p a {
 color:#ffffff;
 font-weight:700;
}

 .section-header p {
 color:#424242;
 font-size:1.125rem;
}
 .section-header p a {
 color:#b19f6a;
 font-weight:700;
}

.event-detail-container {
	padding:2rem 0;
}

.additional-images-container {
	margin-bottom:0.75rem;
	/*width:100%;*/
}

/*
.reveal {
	position:fixed;
}
*/



.booking-engine {
	padding:0.5rem 0;
font-size:0.9rem;
}

.booking-engine label {
	color:#eaeaea;
}



/* Large and up */
@media screen and (min-width: 64em) {

.orbit-caption p {
	position: relative;
	top: 40%;
	-webkit-transform: translateY(-40%);
	-ms-transform: translateY(-40%);
	transform: translateY(-40%);
	text-align: left;
	color: #101010;
	font-size: 60px;
	font-family: 'Playfair Display', serif;
	font-weight: 400;
	text-decoration: underline;
	text-decoration-color: #bcad7e;
	line-height:20px;
display:none;
}
.orbit-caption span {
	position: relative;
	font-size: 28px;
	font-weight:400;
	line-height:30px;
	padding:0;
	margin:0;
	text-decoration:none;

}
}

/* Large only */
@media screen and (min-width: 64em) and (max-width: 74.9375em) {
}




.map-responsive{
    overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:0;
}
.map-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}


.is-dropdown-submenu {
border-top:0;

}

.polaroid {
  position: relative;
  width: 220px;
}
 
.polaroid img {
  border: 10px solid #fff;
  border-bottom: 45px solid #fff;
  -webkit-box-shadow: 2px 2px 2px #777;
     -moz-box-shadow: 2px 2px 2px #777;
          box-shadow: 2px 2px 2px #777;
}



.about-the-author {
  background-color: #fefefe;
  padding: 1rem;
  border: 1px solid #cacaca;
}

.about-the-author .separator-left {
  text-align: left;
}

.about-the-author .separator-left::before, .about-the-author .separator-left::after {
  display: table;
  content: ' ';
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.about-the-author .separator-left::after {
  clear: both;
}

.about-the-author .separator-left::after {
  position: relative;
  width: 5rem;
  border-bottom: 0.125rem solid #1779ba;
  margin: 0.3rem auto 0;
  margin-left: 0;
}

.about-the-author .author-title {
  text-transform: uppercase;
}

.about-the-author .author-social {
  text-align: center;
  margin-top: 0.7rem;
  margin-bottom: 0.7rem;
}

.about-the-author .author-social .fa-stack {
  display: inline-block;
}

.about-the-author .author-social .fa-stack.facebook {
  color: #4c70ba;
}

.about-the-author .author-social .fa-stack.facebook:hover, .about-the-author .author-social .fa-stack.facebook:focus {
  color: #3b5998;
}

.about-the-author .author-social .fa-stack.twitter {
  color: #83c3f3;
}

.about-the-author .author-social .fa-stack.twitter:hover, .about-the-author .author-social .fa-stack.twitter:focus {
  color: #55acee;
}

.about-the-author .author-social .fa-stack.linkedin {
  color: #009ee8;
}

.about-the-author .author-social .fa-stack.linkedin:hover, .about-the-author .author-social .fa-stack.linkedin:focus {
  color: #007bb5;
}

.about-the-author .author-image {
  border: 1px solid #cacaca;
}


.weddingOffer h2 {
color:#ff53a5;
}

.weddingOffer {
  
background-color:#fff0f5;
border:1px solid #e0e0e0;
}


.weddingOffer:hover {
  
background-color:#ffe6f2;
cursor: pointer;
}

.weddingsHome {color:#ffffff;}
.weddingsHome p {color:#ffffff;}
.weddingsHome a:link {color:#ffffff;}

.button.weddingsHome a {
  color: #ffffff !important;
}

.date {
    font-size: 1rem;
    color: #474747;
    font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
   
}
}


/* ==========================================================================
   Events: grids, cards, hero
   ========================================================================== */

.date {
  font-size: 1rem;
  color: #474747;
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 400;
}

/* Grid container */
.event-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

@media (max-width: 992px) {
  .event-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 576px) {
  .event-grid {
    grid-template-columns: 1fr;
  }
}

/* Event card */
.event-card {
  display: block;
  height: 100%;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.event-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.14);
}

.event-card__media {
  position: relative;
  background: #111;
}

.event-card__media::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.event-card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.01);
  transition: transform 200ms ease, filter 200ms ease;
}

.event-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0) 60%);
  pointer-events: none;
}

.event-card:hover .event-card__media img {
  transform: scale(1.04);
  filter: brightness(0.92);
}

.event-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  font-size: 12px;
  line-height: 1;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
}

.event-card__body {
  padding: 14px 14px 16px;
}

.event-card__title {
  margin: 0 0 8px 0;
  font-size: 16px;
  line-height: 1.25;
  font-weight: 700;
}

.event-card__meta {
  margin: 0 0 10px 0;
  font-size: 15px;
  font-weight: 600;
  color: #666;
}

.event-card__cta {
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  color: #2f6f72;
}

.event-card:hover .event-card__cta {
  text-decoration: underline;
}

.event-card:focus {
  outline: 3px solid rgba(47, 111, 114, 0.35);
  outline-offset: 2px;
}

/* Featured event hero card */
.event-hero {
  display: block;
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  background: #fff;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.1);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.event-hero:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.16);
}

.event-hero__media {
  position: relative;
  background: #111;
}

.event-hero__media::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.event-hero__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.01);
  transition: transform 220ms ease, filter 220ms ease;
}

.event-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0) 60%);
  pointer-events: none;
}

.event-hero:hover .event-hero__media img {
  transform: scale(1.03);
  filter: brightness(0.92);
}

.event-hero__body {
  padding: 16px 16px 18px;
}

.event-hero__title {
  margin: 0 0 8px 0;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 700;
}

.event-hero__meta {
  margin: 0 0 12px 0;
  font-size: 15px;
  font-weight: 600;
  color: #666;
}

.event-hero__cta {
  display: inline-block;
  font-size: 18px;
  font-weight: 700;
  color: #2f6f72;
}

.event-hero:hover .event-hero__cta {
  text-decoration: underline;
}

.event-hero:focus {
  outline: 3px solid rgba(47, 111, 114, 0.35);
  outline-offset: 2px;
}
