*{box-sizing:border-box}body{font-family:sans-serif}html{overflow-y:scroll}.hidden{display:none}.vis-hidden{visibility:hidden}.overflow-hidden{overflow:hidden}.carousel-section{padding:0!important}.carousel{background:#515151}.carousel .flickity-prev-next-button{width:60px;height:20%;background:0 0;opacity:.5;color:#ccc;border:solid 1px #e4002ba3;transition:all .2s ease-in-out}.carousel:hover .flickity-prev-next-button{opacity:1}.carousel .flickity-prev-next-button:hover{transform:translateY(-50%) scale(1.2);opacity:1}.carousel .flickity-prev-next-button.clicked{transition:all .6s ease-in-out;transform:translateY(-50%) scale(1.2);border:solid 1px #fff;animation:button-fade .6s ease}@keyframes button-fade{0%{opacity:1;transform:translateY(-50%) scale(1.2)}50%{opacity:.4}100%{opacity:0;transform:translateY(-50%) scale(2.5)}}.flickity-button-icon{transition:all .2s ease-in-out}.carousel .flickity-prev-next-button:hover .flickity-button-icon{transform:scale(.8)}.carousel .flickity-prev-next-button.previous{left:-3%}.carousel .flickity-prev-next-button.next{right:-3%}.carousel .flickity-prev-next-button.previous .flickity-button-icon{left:35%}.carousel .flickity-prev-next-button.next .flickity-button-icon{left:5%}ul.carousel{padding:0;margin:0}.carousel-cell{width:100%;background:#ececec;counter-increment:gallery-cell;list-style:none}.carousel-image{width:100%;min-width:100%;height:100%;object-fit:cover}.flickity-caption>h2,.mobile-caption>h2{color:#fff!important;font-weight:700;text-transform:uppercase;margin-bottom:1rem}.flickity-caption>p,.mobile-caption>p{color:#fff!important;font-size:1.5rem}.flickity-caption>a.button,.mobile-caption>a.button{padding:.65rem}@media only screen and (max-width:700px){.mobile-caption>p{display:none}}@media only screen and (max-width:999px){.flickity-caption{display:none} .mobile-caption{background-color:#333;color:#fff;min-height:200px;padding:20px 20px} .flickity-caption h2,.mobile-caption h2{font-size:2rem}}@media only screen and (min-width:1000px){.flickity-caption{position:absolute;top:0;left:0;height:100%;width:40%;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;padding:40px 20px 40px 100px;background-color:rgba(0,0,0,.4)}.mobile-caption{display:none}.flickity-caption h2,.mobile-caption h2{font-size:2.5rem}}@media only screen and (min-width:1200px) and (max-width:1499px){.flickity-caption h2{font-size:4rem}.flickity-caption a{font-size:1.25rem}}@media only screen and (min-width:1500px){.flickity-caption h2{font-size:4.75rem;line-height:5rem;}.flickity-caption a{font-size:1.25rem}}@media only screen and (max-width:1500px){.flickity-caption p{display:none}}.align-center{align-self:center}.align-flex-start{align-self:flex-start}.flickity-page-dots{bottom:15px}li.dot{background:#ccc!important}.fade-in{animation:fadeIn ease-out .3s;-webkit-animation:fadeIn ease-out .3s;-moz-animation:fadeIn ease-out .3s;-o-animation:fadeIn ease-out .3s;-ms-animation:fadeIn ease-out .3s}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-ms-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}
/** Slider Styles **/
 * {
	 box-sizing: border-box;
}
 body {
	 font-family: sans-serif;
}
/* prevent vertical scroll bar glitch */
 html {
	 overflow-y: scroll;
}
 .hidden {
	 display: none;
}
 .vis-hidden {
	 visibility: hidden;
}
 .overflow-hidden {
	 overflow: hidden;
}
 .carousel-section {
	 padding: 0 !important;
}
 .carousel {
	 background: #515151;
}
 .carousel .flickity-prev-next-button {
	 width: 60px;
	 height: 20%;
	 background: transparent;
	 opacity: 0.5;
	 color: #CCC;
	 border: solid 1px #e4002ba3;
	 transition: all .2s ease-in-out;
}
 .carousel:hover .flickity-prev-next-button {
	 opacity: 1;
}
 .carousel .flickity-prev-next-button:hover {
	 transform: translateY(-50%) scale(1.2);
	 opacity: 1;
}
 .carousel .flickity-prev-next-button.clicked {
	 transition: all .6s ease-in-out;
	 transform: translateY(-50%) scale(1.2);
	 border: solid 1px white;
	 animation: button-fade .6s ease;
}
 @keyframes button-fade {
	 0% {
		 opacity: 1;
		 transform: translateY(-50%) scale(1.2);
	}
	 50% {
		 opacity: 0.4;
	}
	 100% {
		 opacity: 0;
		 transform: translateY(-50%) scale(2.5);
	}
}
 .flickity-button-icon {
	 transition: all .2s ease-in-out;
}
 .carousel .flickity-prev-next-button:hover .flickity-button-icon {
	 transform: scale(0.8);
}
 .carousel .flickity-prev-next-button.previous {
	 left: -3%;
}
 .carousel .flickity-prev-next-button.next {
	 right: -3%;
}
 .carousel .flickity-prev-next-button.previous .flickity-button-icon {
	 left: 35%;
}
 .carousel .flickity-prev-next-button.next .flickity-button-icon {
	 left: 5%;
}
 ul.carousel {
	 padding: 0;
	 margin: 0;
}
 .carousel-cell {
	 width: 100%;
	 background: #ECECEC;
	 counter-increment: gallery-cell;
	 list-style: none;
}
 .carousel-image {
	 width: 100%;
	 min-width: 100%;
	 height: 100%;
	 object-fit: cover;
}
 .flickity-caption > h2, .mobile-caption > h2 {
	 color: white !important;
	 font-weight: bold;
	 text-transform: uppercase;
	 margin-bottom: 1rem;
}
 .flickity-caption > p, .mobile-caption > p {
	 color: white !important;
	 font-size: 1.25rem;
}
 .flickity-caption > a.button, .mobile-caption > a.button {
	 padding: 0.65rem;
}
 @media only screen and (max-width: 700px) {
	 .mobile-caption > p {
		 display: none;
	}
}
 @media only screen and (max-width: 999px) {
	 .flickity-caption {
		 display: none;
	}
	 .mobile-caption {
		 background-color: rgb(51, 51, 51);
		 color: white;
		 min-height: 200px;
		 padding: 20px 20px;
	}
	 .flickity-caption h2, .mobile-caption h2 {
		 font-size: 2rem;
	}
}
 @media only screen and (min-width: 1000px) {
	 .flickity-caption {
		 position: absolute;
		 top: 0px;
		 left: 0px;
		 height: 100%;
		 width: 40%;
		 display: flex;
		 flex-direction: column;
		/* if we want content at the bottom we can set this to justify-content: flex-end */
		 justify-content: flex-end;
		 color: white;
		 padding: 40px 20px 40px 100px;
		 background-color: rgba(0, 0, 0, 0.4);
	}
	 .mobile-caption {
		 display: none;
	}
	 .flickity-caption h2, .mobile-caption h2 {
		 font-size: 2.5rem;
	}
}
 @media only screen and (min-width: 1200px) and (max-width: 1499px) {
	 .flickity-caption h2 {
		 font-size: 4rem;
	}
	 .flickity-caption a {
		 font-size: 1.25rem;
	}
}
 @media only screen and (min-width: 1500px) {
	 .flickity-caption h2 {
		 font-size: 4.75rem;
		 line-height: 5rem;
	}
	 .flickity-caption a {
		 font-size: 1.25rem;
	}
}
 @media only screen and (max-width: 1500px) {
	 .flickity-caption p {
		 display: none;
	}
}
 .align-center {
	 align-self: center;
}
 .align-flex-start {
	 align-self: flex-start;
}
 .flickity-page-dots {
	 bottom: 15px;
}
 li.dot {
	 background: #CCC !important;
}
 .fade-in {
	 animation: fadeIn ease-out 0.3s;
	 -webkit-animation: fadeIn ease-out 0.3s;
	 -moz-animation: fadeIn ease-out 0.3s;
	 -o-animation: fadeIn ease-out 0.3s;
	 -ms-animation: fadeIn ease-out 0.3s;
}
 @keyframes fadeIn {
	 0% {
		 opacity: 0;
	}
	 100% {
		 opacity: 1;
	}
}
 @-moz-keyframes fadeIn {
	 0% {
		 opacity: 0;
	}
	 100% {
		 opacity: 1;
	}
}
 @-webkit-keyframes fadeIn {
	 0% {
		 opacity: 0;
	}
	 100% {
		 opacity: 1;
	}
}
 @-o-keyframes fadeIn {
	 0% {
		 opacity: 0;
	}
	 100% {
		 opacity: 1;
	}
}
 @-ms-keyframes fadeIn {
	 0% {
		 opacity: 0;
	}
	 100% {
		 opacity: 1;
	}
}