/* ----------------------------------
        SHOWCASE STYLES
---------------------------------- */

:root {
    --default-width: calc(100% - 10vw);
    --default-block-padding: min(110px, 10vw);
    --default-inline-padding: min(50px, 5vw);
    --border-height: min(114px, 6vw);
    --border: min(2em, 3vw) solid #000;
	--box-style-padding: min(100px, 9vw) min(100px, 9vw) min(80px, 6vw) min(100px, 7vw);
}

* {
    margin: 0px;
    padding: 0px;
}

html {
    background: #fff;
}

body {
    overflow-x: hidden;
    color: #000;
	width: 100vw;
}

.section {
	position: relative;
	padding-block: var(--default-block-padding);
    padding-inline: var(--default-inline-padding);
    box-sizing: border-box;
	overflow-x: clip;
}

.wrapper {
    margin-inline: auto;
    position: relative;
}


/* ----------------------------------
        MARK: Default Styles
---------------------------------- */
.nomargin { margin: 0 !important; }
.notopmargin, .nomargintop {margin-top: 0 !important;}
.nobottommargin, .nomarginbottom {margin-bottom: 0 !important;}

.left {text-align: left;}
.center {text-align: center;}
.right {text-align: right;}

.vhc {
	display: flex;
	align-items: center;
	justify-content: center;
}
.vc {
	display: flex;
	align-items: center;
}
.hc {
	display: flex;
	justify-content: center;
}

.full_img {
    width: 100%;
    height: auto;
    position: relative;
    display: block;
}


/* NEW VIDEO STYLES */
.video-container {
  position: relative;
  max-width: 1700px;
  width: 100%;
}

video {
  width: 100%;
  height: auto;
  display: block;
  cursor: pointer;
}


/* ----------------------------------
        	MARK: COLORS
---------------------------------- */
.red {color: #ff0735;}
.blue {color: #2294b8;}
.white {color: #ffffff;}
.orange {color: #e87f07;}

.white_bg {background: #fff;}


/* ----------------------------------
        MARK: CUSTOM CODE
---------------------------------- */
.fixed_bg {
	width: 100vw;
	height: 100dvh;
	position: fixed;
	top: 0;
	left: 0;
	display: block;
} 

.balance {text-wrap: balance;}

.textbox {
	width: 100%;
	position: relative;
	margin-inline: auto;
}

h5 {
    --min-font-size: 43;
}


/* ----------------------------------
        	MARK: Box #1
---------------------------------- */
#box_1 .wrapper {width: min(1000px, 100%);}
#textbox_1 p {
	width: min(775px, 100%);
	margin: auto;
}


/* ----------------------------------
        	MARK: Box #2
---------------------------------- */
#box_2, #box_5 {background: #2294b8 url(../images/BG-1_HD.jpg) 50% 0% / 100% auto no-repeat;}
#box_2 {
	overflow: hidden;
	border-top: var(--border);
	padding-inline-start: 0;
	padding-block: 0;
}
#box_2 .wrapper {
	width: 100%;
	
	display: flex;
}
#box_2 .text_container {
	padding-block: var(--default-block-padding);
	box-sizing: border-box;
	z-index: 2;
}
 #textbox_2 {
    width: min(800px, calc(100% + 5vw));
    padding: var(--box-style-padding);
    box-sizing: border-box;
    background: url(../images/Box.png) 50% 50% / 100% 100% no-repeat;
    margin-inline-start: -5vw;
}
@media only screen and (min-width: 1921px) {
	#textbox_2 {width: max(900px, 38vw);}
}
#box_2 .img_container {
	display: flex;
	align-items: flex-end;
	align-self: stretch;
}
#person_container_2 {
	width: min(1086px, 45%);
	position: relative;
	display: flex;
    align-items: flex-end;
	flex-shrink: 0;
	margin-top: var(--default-block-padding);
}
.black_dot_bg {
	width: min(1860px, 185%);
    height: auto;
    position: absolute;
    bottom: -45%;
	z-index: 0;
}
#guy_2 {
	width: 100%;
	height: auto;
	position: relative;
	display: block;
	z-index: 5;
}


/* ----------------------------------
        	MARK: Box #3
---------------------------------- */
#box_3 {
	background: #ffd400 url(../images/BG-2_HD.jpg) 100% 100% / 100% auto no-repeat;
	border-top: var(--border);
}
#box_3 .wrapper {width: min(1210px, 100%);}
#textbox_3 {
	width: min(950px, 100%);
	margin-inline: auto;
	margin-bottom: min(80px, 7vw);
}
.video-container {
    margin: 0;
    border: var(--border);
    box-sizing: border-box;
}
#bottom_container_3 {
	width: 100%;
	position: relative;
}
#bottom_container_3 .red_dots {
    width: min(1078px, 100%);
    height: auto;
    position: absolute;
    bottom: -24%;
    left: -30%;
}
#star_container_right {
    width: 330px;
    aspect-ratio: 399 / 800;
    position: absolute;
    top: -18%;
    left: 100%;
    z-index: 10;
	transform: rotate(-7deg);
}
#star_container_right .red_star {
    width: 36.592%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
}
#star_container_right .white_star {
    width: 87.22%;
    height: auto;
    position: absolute;
    bottom: 33%;
    right: 0;
}
#star_container_right .blue_star {
    width: 55.89%;
    height: auto;
    position: absolute;
    bottom: 0;
    left: 0;
}
#star_container_left {
	width: 230px;
    aspect-ratio: 273 / 497;
    position: absolute;
    bottom: -15%;
    right: 100%;
    z-index: 10;
}
#star_container_left .red_star {
    width: 53.48%;
    height: auto;
    position: absolute;
    bottom: 0;
    right: 0;
}
#star_container_left .blue_star {
    width: 81.685%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
}


/* ----------------------------------
        	MARK: Box #4
---------------------------------- */
#box_4 {
	background: #000 url(../images/Splash.png) 50% 50% / cover no-repeat;
	min-height: 75vh;
	border-top: var(--border);
	border-bottom: var(--border);
}
#box_4 .wrapper {width: min(950px, 100%);}
#textbox_4 {
	background: url(../images/Box.png) 50% 50% / 100% 100% no-repeat;
	position: relative;
	padding: var(--box-style-padding);
	box-sizing: border-box;
	margin: auto;
}


/* ----------------------------------
        	MARK: Box #5
---------------------------------- */
.chat_layout .wrapper {width: min(1210px, 100%);}
.chat_layout .textbox {
	width: 100%;
	position: relative;
	margin: auto;
	color:#fff;
	gap: min(50px, 5vw);
}
.closing {
	max-width: 70%;
	flex-shrink: 0;
}


/* Keep these near the bottom to make sure your custom code doesn't accidentally overwrite these classes */
.show_on_HD {display: block;}
.show_on_4K, .show_on_MOB {display: none;}



/* ----------------------------------
        MARK: Media Queries
---------------------------------- */

/* TABLET */
@media only screen and (max-width: 1024px) {
	.show_on_MOB {display: block;}
    .show_on_HD, .show_on_4K {display: none;}
}

/* MOBILE */
@media only screen and (max-width: 768px) {
	#box_2, #box_5 {background: #2294b8 url(../images/BG-1_MOB.jpg) 50% 0% / 100% auto no-repeat;}
	#box_3 {background: #ffd400 url(../images/BG-2_MOB.jpg) 100% 100% / 100% auto no-repeat;}
	#box_2 .wrapper {
		flex-direction: column;
		padding: 0;
	}
	#box_2 .text_container {
		padding-block: var(--default-block-padding) 0;
		padding-inline: var(--default-inline-padding);
		order: 1;
	}
	#textbox_2 {
		width: 100%;
		margin-inline-start: 0;
	}
	#person_container_2 {
		width: min(1086px, 80%);
		margin-top: -3vw;
		order: 2;
	}
    #box_4 {min-height: 60vh;}
}

@media only screen and (max-width: 600px) {
	:root {
		--box-style-padding: min(100px, 16vw) min(100px, 11vw) min(80px, 10vw) min(100px, 9vw);
	}
	#box_4 {background: #000 url(../images/Splash.png) 50% 50% / auto 130% no-repeat;}
	#textbox_4 {
		text-align: start;
	}
	#person_container_2 {
        width: min(1086px, 90%);
        margin-top: -6vw;
        order: 2;
    }
	.chat_layout {padding-bottom: calc(var(--default-block-padding) + 4vw);}
	.chat_layout .textbox {
		gap: 7vw;
		flex-direction: column;
		text-align: center;
	}
	.closing {max-width: 100%;}
}
