@import url('https://fonts.googleapis.com/css2?family=Exo:wght@400;600;900&display=swap');

/* ==============================
          GENERAL 
 ============================== */
*,
*::before,
*::after {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	/* outline: 1px dashed blue; */
}
html {
	font-size: 16pt;
	line-height: 1.6;
}
body {
	font-family: Helvetica Neue, sans-serif;
	display: flex;
	flex-direction: column;
	min-height: 100dvh;
	overflow-x: hidden;
}

/* ====== HEADER ====== */
header {
	display: flex;
	align-items: center;
	padding-inline: 1em;
	padding-block: 0.3em;
	width: 100%;
	background-image: linear-gradient(to bottom, #161618, #0a0a0a);
}
.logo {
	flex: 25%;
	img {
		width: 100%;
		object-fit: cover;
	}
}
.title {
	flex: 50%;
	text-align: center;
	h1 {
    	font-family: 'Exo', sans-serif;
		font-size: 1.8rem;
		font-weight: 900;
		line-height: 1;
		text-transform: uppercase;
	a {
		color: #d7e7f7;
		text-decoration: none;
		transition: letter-spacing 0.3s ease;
			&:hover {
				letter-spacing: 1px;
			}
		}
	}
    h2 {
      font-size: 1rem; 
      font-weight: 300; 
	  color: #d7e7f7;
      margin-block-start: 0;             
    }		
}
.appicon {
	flex: 25%;
	display: flex;
	justify-content: flex-end;
	img {
		object-fit: cover;
		width: 3.5em;
		aspect-ratio: 1;
	}
}

@media screen and (width <= 700px) {
	header {
		display: grid;
		place-items: center;
		gap: 0.75em;
		padding-block-end: 0.8em;
	}
	.logo img {
		display: none;
	}
	.appicon {
		img {
			width: 3em;
			height: 3em;
		}
	}
}
/* ====== END HEADER ====== */


/* ====== PAGE CONTENTS ====== */
main {
	display: flex;
	flex-direction: row;
	gap: 2em;
	margin-inline: auto;
	margin-block: 2.5em;
	width: 95%;
	max-width: 1100px;
}

/* === ALL BODY LINKS === */
.body {
	text-decoration: none;
	width: fit-content;
	padding-block-end: 1px;
	border-block-end: 2px solid transparent;
	transition: 0.3s ease-in-out;
	
	&:hover {
		border-block-end: 2px solid blue;		
	}
}

.sidebar-left {
	position: relative;
	flex: 25%;
	text-align: center;

	section {
		position: sticky;
		top: 1em;
		h2 {
			line-height: 1.2;
			margin-block-end: 1em;
		}
		.watch {
			max-width: 6em;
		}
		.device {
			max-width: 10em;
		}
		.image-left {
			max-width: 15em;
			border-radius: 0.3em;
		}
		.watch, .device, .image-left {
		transition: opacity 1.5s ease;
		
			@starting-style {
				opacity: 0;
			}			
		}
	}
}
.main-content-right {
	flex: 75%;

	p {
		margin-block-end: 0.6lh;
	}
	h3 {
		font-size: 1.3rem;
		margin-block-end: 0.5lh;
	}
}


@media screen and (width <= 800px) {
	main {
		flex-direction: column;
		margin-block: 1em;
		.sidebar-left {
			section {
				position: relative;
				.device {
					width: 8em;
				}
			}
		}
	}
	.sidebar-left,
	.main-content-right {
		padding: 5px;
	}
	.device,
	.image-left {
		display: block;
		margin: 0 auto;
	}
	.device {
		max-width: 25%;
	}
	.watch {
		max-width: 20%;
		margin-block-start: 1em;
	}
	.image-left + p {
		font-size: 0.85rem;
		margin-block-start: 0.5em;
	}
}
/* ==== END MEDIA QUERIES ==== */

/* ====== TOOLTIPS ====== */
.tips {
  cursor: pointer;
  display: inline-block;
}

.tooltip {
	position: relative;
}
.tooltip::before,
.tooltip::after {
	display: block;
	opacity: 0;
	pointer-events: none;
	position: absolute;
}
/* the arrow */
.tooltip::after {
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	content: "";
	height: 0;
	top: -12px;
	left: 50px;
	width: 0;
}
/* text container */
.tooltip::before {
	border-radius: 5px;
	color: #fff;
	content: attr(data-title);
	font-size: 12pt;
	padding: 6px 10px;
	top: -48px;
	left: -40px;
	white-space: nowrap;
}

/* the animation */
/* animate the text container from: */
.tooltip.expand::before {
	transform: scale3d(0.2, 0.2, 1) translateY(5rem);
	transition: transform 0.3s ease-in-out;
}
/* animate the arrow from: */
.tooltip.expand::after {
	transform: translate3d(0, -6px, 0) translateY(0);
	transition: transform 0.2s ease-in-out;
}
/* animate the arrow and text container to: */
.tooltip.expand:hover::before,
.tooltip.expand:focus::before,
.tooltip.expand:hover::after,
.tooltip.expand:focus::after {
	opacity: 1;
	transform: scale3d(1, 1, 1);
}
/* delay the arrow by .15s */
.tooltip.expand:hover::after,
.tooltip.expand:focus::after {
	transition: all 0.3s ease-in-out 0.15s;
}
/* ====== END TOOLTIPS ====== */
			/* ====== END PAGE CONTENTS ====== */


/* ====== FOOTER ====== */
footer {
	position: sticky; /* === FOR FOOTER ON CONTACT PAGE TO STICK TO BOTTOM === */
	top: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 1em;
	padding-block: 1.2em;
	background-image: linear-gradient(#1f2642, #000);
}
.footer-icons {
	display: flex;
	gap: 1em;
	img {
		width: 3em;
		border-radius: 0.5em;
		transition: transform 0.3s ease, filter 0.3s ease;
		&:hover {
			transform: scale(1.1);
			filter: brightness(1.1);
		}
	}
}
.footer-info {
	display: flex;
	justify-content: space-between;
	width: 95%;

	.copyright {
		font-size: 0.75rem;
		color: #d7e7f7;
	}

	.footer-nav {
		display: flex;
		gap: 1em;
		font-size: 0.75rem;
		&:hover {
			a {
				opacity: 0.5;
			}
		}
		a {
			color: #d7e7f7;
			text-decoration: none;
			transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
			&:hover {
				transform: translateY(-2px);
				opacity: 1;
			}
		}
	}
}

@media screen and (width <= 800px) {
	footer {
		.footer-info {
			flex-direction: column;
			justify-content: center;
			align-items: center;
			gap: 0.5em;
			.copyright {
				order: 2;
			}
		}
	}
}
/* ====== END FOOTER ====== */
