*,
*::after,
*::before {
	box-sizing: border-box;
}

:root {
	font-size: 16px;
	--color-text: #fff;
	--color-bg: #000;
	--color-bg-alt: hsl(15deg 55% 6%);
	--color-link: rgba(255,255,255,0.5);
	--color-link-hover: #fff;
	--color-title: #e93f33;
}

body {
	margin: 0;
	color: var(--color-text);
	background-color: var(--color-bg);
	font-family: "tenon", sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	overflow-x: hidden;
}

/* Page Loader */
.js .loading::before,
.js .loading::after {
	content: '';
	position: fixed;
	z-index: 1000;
}

.js .loading::before {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-bg);
}

.js .loading::after {
	top: 50%;
	left: 50%;
	width: 60px;
	height: 60px;
	margin: -30px 0 0 -30px;
	border-radius: 50%;
	opacity: 0.4;
	background: var(--color-link);
	animation: loaderAnim 0.7s linear infinite alternate forwards;
}

@keyframes loaderAnim {
	to {
		opacity: 1;
		transform: scale3d(0.5,0.5,1);
	}
}

a {
	text-decoration: none;
	color: var(--color-link);
	outline: none;
	cursor: pointer;
}

a:hover {
	color: var(--color-link-hover);
	outline: none;
}
.container {
	height: 100vh;
	width: 100%;
	position: relative;
	text-align: center;
	overflow: hidden;
  }
  
  .title1 {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
	color: #ECEFF1;
	font-size: 120px;
	font-weight: 600;
  }
  
  .title-large {
	height: 130px;
	margin-left: -5px;
	opacity: 0.1;
  }
  
  .img-container {
	display: inline-block;
	overflow: hidden;
	margin-left: -2.8px;
	margin-right: -2.8px;
	width: 170px;
	vertical-align: top;
	border-radius: 0px 0px 80px 80px;
	animation-name: flow;
	animation-duration: 4s;
	animation-iteration-count: infinite;
	animation-delay: -2s;
	transition-timing-function: cubic-bezier(0,.57,1,.46);
	box-shadow: 2px 2px 16px 2px rgba(0,0,0,0.5);
  }
  
  .second-animation {
	animation-delay: -1.5s;
  }
  
  .third-animation {
	animation-delay: -1s; 
  }
  
  .fourth-animation {
	animation-delay: -0.5s; 
  }
  
  .fifth-animation {
	animation-delay: 0s; 
  }
  
  .sixth-animation {
	animation-delay: 0.5s; 
  }
	
  .seventh-animation {
	animation-delay: 1s;
  }
  
  .img {
	object-fit: cover;
	width: 170px;
	height: 100vh;
	margin-top: -60px;
  }
  
  .nba {
	margin-top: -20px;
  }
  
  @keyframes flow {
	0% {height: 20%; border-radius: 0px 0px 30px 30px;}
	50% {height: 90%; border-radius: 0px 0px 100px 100px;}
	100% {height: 20%; border-radius: 0px 0px 30px 30px;}
  }
  
  @media only screen and (max-width: 1200px) {
	#img-7 {
	  display: none;
	}
  }
  
  @media only screen and (max-width: 1028px) {
	#img-1 {
	  display: none;
	}
  }
  
  @media only screen and (max-width: 860px) {
	#img-6 {
	  display: none;
	}
  }
/* Better focus styles from https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible */
a:focus {
	/* Provide a fallback style for browsers
	 that don't support :focus-visible */
	outline: none;
	background: lightgrey;
}

a:focus:not(:focus-visible) {
	/* Remove the focus indicator on mouse-focus for browsers
	 that do support :focus-visible */
	background: transparent;
}

a:focus-visible {
	/* Draw a very noticeable focus style for
	 keyboard-focus on browsers that do support
	 :focus-visible */
	outline: 2px solid red;
	background: transparent;
}

.unbutton {
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	font: inherit;
	cursor: pointer;
}

.unbutton:focus {
	outline: none;
}

.frame {
	position: relative;
	width: 100%;
	padding: 1rem;
	display: grid;
	grid-template-columns: 100%;
	grid-template-areas: 'back' 'prev' 'sponsor';
	grid-gap: 0.5rem;
	justify-items: start;
	align-self: start;
	justify-self: start;
	pointer-events: none;
	align-items: center;
	text-transform: uppercase;
	font-size: 0.85rem;
	background: var(--color-bg-alt);
}

body #cdawrap {
    justify-self: start;
}

.frame a {
	pointer-events: auto;
}

.frame a:not(.frame__title-back) {
	white-space: nowrap;
	overflow: hidden;
	position: relative;
}

.frame a:not(.frame__title-back)::before {
	content: '';
	height: 1px;
	width: 100%;
	background: currentColor;
	position: absolute;
	top: 90%;
	transition: transform 0.3s;
	transform-origin: 0% 50%;
}

.frame a:not(.frame__title-back):hover::before {
	transform: scaleX(0);
	transform-origin: 100% 50%;
}

.frame__title {
	grid-area: title;
	display: flex;
}

.frame__title-main {
	font-size: inherit;
	margin: 0;
	font-weight: inherit;
}

.frame__title-back {
	position: relative;
	display: flex;
	align-items: flex-end;
	margin-bottom: 0.15rem;
}

.frame__title-back span {
	display: none;
}

.frame__title-back svg {
	fill: currentColor;
}

.frame__prev {
	grid-area: prev;
}

.frame__credits {
	grid-area: credits;
}

.intro {
	height: calc(100vh - 3rem);
    text-align: center;
    place-items: center;
    display: grid;
    margin-bottom: 30vh;
    background: linear-gradient(0deg, transparent, var(--color-bg-alt));
}

.intro__title {
    place-items: center;
    margin: 0;
    line-height: .9;
    display: grid;
    margin-top: 15vh;
    font-weight: 400;
}

.intro__title-pre {
	font-family: "stinger-variable", sans-serif;
	font-variation-settings: "wdth" 140, "wght" 300;
	font-weight: 300;
    font-size: clamp(2rem,10vw,5rem);
    color: var(--color-title);
}

.intro__title-sub {
    font-size: 1.5rem;
    margin: 1rem 0;
}

.intro__info {
	max-width: 15ch;
    opacity: .6;
    margin-bottom: 4rem;
    padding-bottom: 1rem;
    line-height: 1.2;
    position: relative;
    align-self: end;
}

.intro__info::after {
	content: "";
	width: 1px;
	height: 2rem;
	background: #fff;
	position: absolute;
	top: 100%;
	left: 50%;
}

.content__title {
	margin-top: 40vh;
}

.credits {
	font-size: 1.5rem;
	text-align: center;
	margin: 50vh auto 0;
}

.card-wrap {
	margin-top: 5vh;
	display: grid;
	grid-gap: 2rem;
	grid-auto-flow: row;
	grid-template-columns: 250px;
}

.card__image {
	display: block;
	border-radius: 7px;
	background-size: cover;
	background-position: 50% 50%;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	filter: brightness(0.8);
}

.content-wrap {
	display: grid;
	place-items: center;
	grid-template-areas: 'main';
}

.content {
	grid-area: main;
	display: grid;	
	place-items: center;
	line-height: 1.2;
	grid-template-areas: 'content';
}

.content-wrap .content:first-child {
	height: 100vh;
}

.content--layout {
	grid-template-areas:  'title-up title-down' 
						  'img img'
						  'text text';
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.content__img {
	grid-area: img;
	max-width: 50%;
	height: auto;
}

.content__img--1 {
	aspect-ratio: 896/1344;
}

.content__img--2 {
	aspect-ratio: 1000/450;
}

.content__img--3 {
	aspect-ratio: 1000/560;
}

.content__img--4 {
	aspect-ratio: 1400/560;
}

.content__img--5 {
	aspect-ratio: 680/920;
}

.content__img--6 {
	aspect-ratio: 1;
}

.content__img--7 {
	aspect-ratio: 1400/560;
}

.title-wrap {
	display: flex;
	gap: 1em;
	align-items: center;
    justify-content: center;
}

.title {
	padding-top: 0.3em;
	line-height: 0.525;
	font-size: 2rem;
	font-family: "stinger-variable", sans-serif;
	font-variation-settings: "wdth" 140, "wght" 150;
	font-weight: 300;
	position: relative;
	z-index: 100;
	text-indent: -0.1em;
}

.title--up {
	grid-area: title-up;
	font-style: italic;
	
}

.title--down {
	grid-area: title-down;
	font-variation-settings: "wdth" 140, "wght" 350;
}

.content__text {
	grid-area: text;
	text-transform: uppercase;
	margin: 0;
	opacity: 0.5;
}

@media screen and (min-width: 53em) {
	.frame {
		grid-template-columns: auto auto 1fr;
		grid-template-areas: 'back prev sponsor';
		justify-items: start;
		grid-gap: 2rem;
	}

	.frame__prev {
		justify-self: end;
	}

	.title {
		font-size: clamp(2rem,15vw,9rem);
	}

	.content-wrap:not(:last-child) {
		margin-bottom: 30vmax;
	}

	.content__img {
		max-width: none;
	}

	.content__img--1 {
		height: auto;
		width: 100%;
		max-width: 100%;
		max-height: 100vh;
	}

	.content__img--2 {
		width: 60vw;
	}

	.content__img--3 {
		width: 30vw;
		align-self: center;
	}

	.content__img--4 {
		width: 100%;
		align-self: center;
	}

	.content__img--5 {
		height: auto;
		width: 100%;
		max-width: 100%;
		max-height: 100vh;
	}

	.content__img--6 {
		max-width: 100%;
	}

	.content__img--7 {
		width: 100%;
		align-self: center;
	}

	.content--layout-1 {
		grid-template-areas:  'title-up img ...' 
							  'text img title-down';
		grid-template-columns: 30% auto 30%;
		grid-template-rows: 1fr 1fr;
		column-gap: 2vw;
	}

	.content--layout-2 {
		grid-template-areas:  'title-up ...' 
							  'img img'
							  'text title-down';
		grid-template-columns: auto auto;
		justify-content: center;
		row-gap: 3vh;
	}

	.content--layout-3 {
		grid-template-areas:  'title-up img title-down' 
							  'text text text';
		grid-template-columns: 20vw auto 20vw;
		grid-template-rows: auto auto;
		row-gap: 10vh;
		column-gap: 2vw;
		justify-content: center;
		align-content: center;
	}

	.content--layout-4 {
		width: 100%;
		grid-template-areas:  'title-up'
							   'img'
							   'title-down'
							  'text';
		grid-template-columns: 1fr;
		justify-content: center;
		row-gap: 4vh;
	}

	.content--layout-5 {
		grid-template-areas:  'title-up img ...' 
							  'text img title-down';
		grid-template-columns: 30% auto 30%;
		grid-template-rows: 1fr 1fr;
		column-gap: 3vw;
	}

	.content--layout-6 {
		grid-template-areas:  'title-up img' 
							  'title-down img'
							  'text img';
		grid-template-columns: 1fr 50%;
		grid-template-rows: auto auto 1fr;
		column-gap: 3vw;
		row-gap: 0;
	}

	.content--layout-7 {
		width: 100%;
		grid-template-areas:  'img img img img'
							   '... text title-up ...'
							   '... text title-down ...';
		grid-template-columns: 10vw 1fr 1fr 10vw;
		justify-content: center;
		row-gap: 4vh;
	}

	.title--up {
		justify-self: end;
		align-self: start;
	}

	.content--layout-2 .title--up {
		justify-self: start;
	}

	.content--layout-3 .title--up {
		justify-self: end;
		align-self: center;
	}

	.content--layout-4 .title--up {
		justify-self: center;
	}

	.content--layout-6 .title--up {
		justify-self: end;
		align-self: start;
	}

	.content--layout-7 .title--up {
		justify-self: start;
	}

	.title--down {
		justify-self: start;
		align-self: end;
	}

	.content--layout-2 .title--down {
		justify-self: end;
	    align-self: start;
		margin-top: -0.1em;
	}

	.content--layout-3 .title--down {
		align-self: center;
	}

	.content--layout-4 .title--down {
		justify-self: center;
	}

	.content--layout-6 .title--down {
		justify-self: end;
		align-self: start;
	}

	.content--layout-2 .content__text {
		align-self: start;
		justify-self: start;
		max-width: 400px;
	}

	.content--layout-1 .content__text {
		max-width: 250px;
		text-align: right;
		justify-self: end;
		align-self: end;
	}

	.content--layout-3 .content__text {
		column-count: 2;
		column-gap: 4vw;
		max-width: 590px;
		text-align: justify;
	}

	.content--layout-4 .content__text {
		text-align: center;
		max-width: 400px;
		margin-top: 3rem;
	}

	.content--layout-5 .content__text {
		max-width: 250px;
		text-align: right;
		justify-self: end;
		align-self: end;
	}

	.content--layout-6 .content__text {
		max-width: 250px;
		justify-self: end;
		align-self: end;
		text-align: right;
	}

	.content--layout-7 .content__text {
		max-width: 250px;
		justify-self: start;
		align-self: start;
		text-align: right;
	}

	.card-wrap {
		grid-template-columns: repeat(3,250px);
	}

	body #cdawrap {
	    justify-self: end;
	}

}



.footer {
  position: relative;
  width: 100%;
  background: #cd191a;
  min-height: 300px;

  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
 box-sizing: border-box;
  font-family: "Poppins", sans-serif;
margin-top: 300px;

  
  
}

.social-icon,
.menu {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 10px 0;
  flex-wrap: wrap;
}

.social-icon__item,
.menu__item {
  list-style: none;
}

.social-icon__link {
  font-size: 2rem;
  color: #fff;
  margin: 0 10px;
  display: inline-block;
  transition: 0.5s;
}
.social-icon__link:hover {
  transform: translateY(-10px);
}

.menu__link {
  font-size: 1.2rem;
  color: #fff;
  margin: 0 10px;
  display: inline-block;
  transition: 0.5s;
  text-decoration: none;
  opacity: 0.75;
  font-weight: 300;
}

.menu__link:hover {
  opacity: 1;
}

.footer p {
  color: #fff;
  margin: 15px 0 10px 0;
  font-size: 1rem;
  font-weight: 300;
}

.wave {
  position: absolute;
  top: -100px;
  left: 0;
  width: 100%;
  height: 100px;
  background: url("/img/wave.png");
  background-size: 1000px 100px;
}

.wave#wave1 {
  z-index: 1000;
  opacity: 1;
  bottom: 0;
  animation: animateWaves 4s linear infinite;
}

.wave#wave2 {
  z-index: 999;
  opacity: 0.5;
  bottom: 10px;
  animation: animate 4s linear infinite !important;
}

.wave#wave3 {
  z-index: 1000;
  opacity: 0.2;
  bottom: 15px;
  animation: animateWaves 3s linear infinite;
}

.wave#wave4 {
  z-index: 999;
  opacity: 0.7;
  bottom: 20px;
  animation: animate 3s linear infinite;
}

@keyframes animateWaves {
  0% {
    background-position-x: 1000px;
  }
  100% {
    background-positon-x: 0px;
  }
}

@keyframes animate {
  0% {
    background-position-x: -1000px;
  }
  100% {
    background-positon-x: 0px;
  }
}
.card-front__heading {
	font-size: 1.5rem;
	margin-top: .25rem;
  }
  
  /* Main heading for inside page */
  .inside-page__heading { 
	padding-bottom: 1rem; 
	width: 100%;
  }
  
  /* Mixed */
  
  /* For both inside page's main heading and 'view me' text on card front cover */
  .inside-page__heading,
  .card-front__text-view {
	font-size: 1.3rem;
	font-weight: 800;
	margin-top: .2rem;
  }
  
  .inside-page__heading--city,
  .card-front__text-view--city { color: #ff62b2; }
  
  .inside-page__heading--ski,
  .card-front__text-view--ski { color: #2aaac1; }
  
  .inside-page__heading--beach,
  .card-front__text-view--beach { color: #fa7f67; }
  
  .inside-page__heading--camping,
  .card-front__text-view--camping { color: #00b97c; }
  
  /* Front cover */
  
  .card-front__tp { color: #fafbfa; }
  
  /* For pricing text on card front cover */
  .card-front__text-price {
	font-size: 1.2rem;
	margin-top: -.2rem;
  }
  
  /* Back cover */
  
  /* For inside page's body text */
  .inside-page__text {
	color: #333;
  }
  
  /* Icons ===========================================*/
  
  .card-front__icon {
	fill: #fafbfa;
	font-size: 3vw;
	height: 3.25rem;
	margin-top: -.5rem;
	width: 3.25rem;
  }
  
  /* Buttons =================================================*/
  
  .inside-page__btn {
	background-color: transparent;
	border: 3px solid;
	border-radius: .5rem;
	font-size: 1.2rem;
	font-weight: 600;
	
	overflow: hidden;
	padding: .7rem .75rem;
	position: relative;
	text-decoration: none;
	transition: all .3s ease;
	width: 100%;
	z-index: 10;
  }
  
  .inside-page__btn::before { 
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scaleY(0);
	transition: all .3s ease;
	width: 100%;
	z-index: -1;
  }
  
  .inside-page__btn--city { 
	border-color: #ff40a1;
	color: #ff40a1;
  }
  
  .inside-page__btn--city::before { 
	background-color: #ff40a1;
  }
  
  .inside-page__btn--ski { 
	border-color: #279eb2;
	color: #279eb2;
  }
  
  .inside-page__btn--ski::before { 
	background-color: #279eb2;
  }
  
  .inside-page__btn--beach { 
	border-color: #fa7f67;
	color: #fa7f67;
  }
  
  .inside-page__btn--beach::before { 
	background-color: #fa7f67;
  }
  
  .inside-page__btn--camping { 
	border-color: #00b97d;
	color: #00b97d;
  }
  
  .inside-page__btn--camping::before { 
	background-color: #00b97d;
  }
  
  .inside-page__btn:hover { 
	color: #fafbfa;
  }
  
  .inside-page__btn:hover::before { 
	transform: scaleY(1);
  }
  
  /* Layout Structure=========================================*/
  
  .main {
	background: linear-gradient(
	  to bottom right,
	  #eee8dd,
	  #e3d9c6
	);
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100vh;
	width: 100%;
  }
  
  /* Container to hold all cards in one place */
  .card-area {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	height: 100%;
	justify-content: space-evenly;
	padding: 1rem;
	margin-top: 2rem;
  }
  
  /* Card ============================================*/
  
  /* Area to hold an individual card */
  .card-section {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%;
  }
  
  /* A container to hold the flip card and the inside page */
  .card {
	background-color: rgba(0,0,0, .05);
	box-shadow: -.1rem 1.7rem 6.6rem -3.2rem rgba(0,0,0,0.5);
	height: 20rem;
	position: relative;
	transition: all 1s ease;
	width: 15rem;
  }
  
  /* Flip card - covering both the front and inside front page */
  
  /* An outer container to hold the flip card. This excludes the inside page */
  .flip-card {
	height: 20rem;
	perspective: 100rem;
	position: absolute;
	right: 0;
	transition: all 1s ease;
	visibility: hidden;
	width: 15rem;
	z-index: 100;
  }
  
  /* The outer container's visibility is set to hidden. This is to make everything within the container NOT set to hidden  */
  /* This is done so content in the inside page can be selected */
  .flip-card > * {
	visibility: visible;
  }
  
  /* An inner container to hold the flip card. This excludes the inside page */
  .flip-card__container {
	height: 100%;
	position: absolute;
	right: 0;
	transform-origin: left;
	transform-style: preserve-3d;
	transition: all 1s ease;
	width: 100%;
  }
  
  .card-front,
  .card-back {
	backface-visibility: hidden;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
  }
  
  /* Styling for the front side of the flip card */
  
  /* container for the front side */
  .card-front {
	background-color: #fafbfa;
	height: 18rem;
	width: 15rem;
  }
  
  /* Front side's top section */
  .card-front__tp {
	align-items: center;
	clip-path: polygon(0 0, 100% 0, 100% 90%, 57% 90%, 50% 100%, 43% 90%, 0 90%);
	display: flex;
	flex-direction: column;
	height: 12rem;
	justify-content: center;
	padding: .75rem;
  }
  
  .card-front__tp--city {
	background: linear-gradient(
	  to bottom,
	  #ff73b9,
	  #ff40a1
	);
  }
  
  .card-front__tp--ski {
	background: linear-gradient(
	  to bottom,
	  #47c2d7,
	  #279eb2
	);
  }
  
  .card-front__tp--beach {
	background: linear-gradient(
	  to bottom,
	  #fb9b88,
	  #f86647
	);
  }
  
  .card-front__tp--camping {
	background: linear-gradient(
	  to bottom,
	  #00db93,
	  #00b97d
	);
  }
  
  /* Front card's bottom section */
  .card-front__bt {
	align-items: center;
	display: flex;
	justify-content: center;
  }
  
  /* Styling for the back side of the flip card */
  
  .card-back {
	background-color: #fafbfa;
	transform: rotateY(180deg);
	overflow: hidden;
  }
  
  /* Specifically targeting the <video> element */
  .video__container {
	clip-path: polygon(0% 0%, 100% 0%, 90% 50%, 100% 100%, 0% 100%);
	height: auto;
	min-height: 100%;
	object-fit: cover;
	width: 100%;
  }
  
  /* Inside page */
  
  .inside-page {
	background-color: #fafbfa;
	box-shadow: inset 20rem 0px 5rem -2.5rem rgba(0,0,0,0.25);
	height: 100%;
	padding: 1rem;
	position: absolute;
	right: 0;
	transition: all 1s ease;
	width: 15rem;
	z-index: 1;
  }
  
  .inside-page__container {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	text-align: center; 
	width: 100%;
  }
  
  /* Functionality ====================================*/
  
  /* This is to keep the card centered (within its container) when opened */
  .card:hover {
	box-shadow:
	-.1rem 1.7rem 6.6rem -3.2rem rgba(0,0,0,0.75);
	width: 30rem;
  }
  
  /* When the card is hovered, the flip card container will rotate */
  .card:hover .flip-card__container {
	transform: rotateY(-180deg);
  }
  
  /* When the card is hovered, the shadow on the inside page will shrink to the left */
  .card:hover .inside-page {
	box-shadow: inset 1rem 0px 5rem -2.5rem rgba(0,0,0,0.1);
  }
  
