/* ----------------------------------
        SHOWCASE STYLES
---------------------------------- */
:root {
    --default-width: calc(100% - 10vw);
    --default-block-padding: min(110px, 10vw);
    --default-inline-padding: min(50px, 5vw);
    --thin-width: min(774px, 100%);
    --bs: 6px 8px 20px 0px rgba(0, 0, 0, 0.35);
	--red: #e63741;
	--tan: #f1d9bf;
}

* {
    margin: 0;
    padding: 0;
}

body {
	overflow-x: hidden;
}

.section {
	position: relative;
    padding-block: var(--default-block-padding);
    padding-inline: var(--default-inline-padding);
	box-sizing: border-box;
	width: 100%;
	/* overflow-x: hidden; */
}

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

/* Font Styles ------------------------- */

.red {color: var(--red);}
.white {color: #ffffff;}

h1, h2 {color: var(--red);}


/* Misc 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;
}

.white_bg {
    background: #fff;
}

/* ----------------------------------
           MARK: CUSTOM 
---------------------------------- */
.textbox {
	width: 100%;
	position: relative;
	margin-inline: auto;
}

.box_style {
	background-color: #fff;
	padding: min(70px, 6vw) min(70px, 6vw);
    box-sizing: border-box;
    box-shadow: var(--bs);
}

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

.perspective {
	perspective: 1000px;
}

/* ----------------------------------
        	MARK: Box #1
---------------------------------- */
#box_1 {
	overflow: hidden;
}
#box_1 .wrapper {
	width: min(970px, 100%);
}

/* ----------------------------------
        	MARK: Box #2
---------------------------------- */
#bg_2 {
    background: var(--red);
}
.fixed_bg {
    width: 100vw;
    height: 100dvh;
    position: fixed;
    top: 0;
    left: 0;
    display: block;
}
#bg_2 img {
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0px;
	right: 0px;
	object-fit: cover;
}
#box_2 {
    min-height: min(1030px, 95dvh);
}

#images_2 {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
#tech_2 {
	width: auto;
	height: 108.7%;
	position: absolute;
	bottom: 0;
	right: 57%;
}
#bean_wrapper_2 {
	height: 104%;
	aspect-ratio: 440 / 1068;
	position: absolute;
	bottom: 0px;
	left: 37%;
}
#bean_wrapper_2 img {
	height: 100%;
	position: absolute;
	bottom: 0px;
	left: 0px;
}
#textbox_2 {
	width: min(var(--thin-width), 90%);
}

/* ----------------------------------
        	MARK: Box #3
---------------------------------- */
#box_3::before {
    content: '';
    width: 100%;
    height: min(20px, 3vw);
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25), transparent);
}

#box_3 .wrapper {
	width: min(1490px, 100%);
	min-height: min(1221px, 114dvh);
	background: url(../images/Image2.jpg) 90% 10% / cover no-repeat;
	box-shadow: var(--bs);
	padding: var(--default-inline-padding);
	box-sizing: border-box;
}
#textbox_3 {width: var(--thin-width);}


/* ----------------------------------
        	MARK: Box #4
---------------------------------- */
#box_4 {
    padding-top: 0;
}
#box_4 .wrapper {
	width: min(1000px, 100%);
}
#flip_4 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: min(675px, 100%);
    margin-inline: auto;
    gap: min(40px, 4vw) min(50px, 5vw);
	margin-top: min(40px, 5vw);
}
.card_style {
    position: relative;
    perspective: 1500px;
    transform-style: preserve-3d;
    user-select: none;
    visibility: visible;
    cursor: pointer;
	transition: transform 0.75s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: transform;
}

.card_style > div {
    width: 100%;
	aspect-ratio: 0.9;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    box-sizing: border-box;
    filter: drop-shadow(0 0 5px rgb(0 0 0 / 20%));
    display: flex;
    justify-content: center;
    align-items: center;
	background: var(--tan);
}

.card_style .front {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
}

.card_style .front img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: contain;
}

.card_style .back {
    padding: min(40px, 4vw) min(60px, 4vw);
}

.card_style .text p {
    text-align: center;
	font-weight: bold;
	--max-font-size: 20;
    --min-font-size: 18;
}


@media (hover: hover) and (pointer: fine) {
    .card_style:not(.flipped):hover {
        transform: scale(1.05);
    }
}

/* ----------------------------------
        	MARK: Box #5
---------------------------------- */
#box_5 {
    min-height: min(930px, 95dvh);
	overflow: hidden;
}

#box_5 .bg {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
	object-fit: cover;
	object-position: 32% 10%;
}
#textbox_5 {
	width: min(780px, 100%);
}

/* ----------------------------------
        	MARK: Box #6
---------------------------------- */
#box_6::before {
    content: '';
    width: 100%;
    height: min(20px, 3vw);
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25), transparent);
}

#box_6 {
	background: url(../images/Image4.jpg) 15% 50% / cover no-repeat;
}
.chat_layout .wrapper {width: min(870px, 100%);}
.chat_layout .textbox {
	width: 100%;
	position: relative;
	margin: auto;
	color:#fff;
	gap: min(50px, 5vw);
}
.closing {
	max-width: 70%;
	flex-shrink: 0;
}

/* ----------------------------------
            MEDIA QUERIES
---------------------------------- */

/* MARK: 1024 */
/* TABLET */
@media only screen and (max-width: 1024px) {
	
}
		
/* MARK: 768 */
/* MOBILE */
@media only screen and (max-width: 768px) {
	
	#box_2, #box_3 .wrapper, #box_5 {min-height: 78dvh;}



}

/* MARK: 600 */
@media only screen and (max-width: 600px) {
	#box_2, #box_3 .wrapper, #box_5 {
        min-height: unset;
        padding-block: calc(var(--default-block-padding) * 2.5);
    }

	#box_2 {
		padding-bottom: 50vw;
	}	
	#tech_2 {
		height: 61vw;
		bottom: -7%;
		right: unset;
		left: 0%;
	}
	#bean_wrapper_2 {
		height: 70vw;
		left: 30%;
	}
	#device_2 {
		height: 39vw;
		left: unset;
		right: -18%;
	}
	#textbox_2 {
		width: 100%;
	}
	.box_style {text-align: start;}

	#flip_4 {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.card_style {
		width: min(100%, 360px);
		margin-inline: auto;
	}

	.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%;}
}


