/*
 *	Author: Travolgi
 *	Theme: eBookAuthor Pro Next.js
 *	Version: 1.0.0
 *	Created: 25/09/2023
 *	Last update: 25/09/2023
 */

/*--------------------------------------------------------
 * 
 * CONTENT:
 * 
 * 	1.  CSS RESET
 * 	2.  UTILITIES
 * 	3.  HEADER
 * 	4.  HERO
 * 	5.  CARD
 * 	6.  FAQ
 * 	7.  REVIEWS
 * 	8.  TIMELINE
 * 	9.  PRICING
 * 	10. YT VIDEO
 * 	11. SAMPLE
 *    12. FOOTER
 * 	13. RESPONSIVE
 * 	14. ANIMATION
 * 
--------------------------------------------------------*/

/*--------------------------------------------------------
1. CSS RESET
--------------------------------------------------------*/
* {
	padding: 0;
	margin: 0;
	border: 0;
	background: none;
	list-style: none;
	outline: none;
	box-sizing: border-box;
}

:root {
	--white: #F7F7FF;
	--black: rgb(13,19,33);
	--primary: #8D2C44;
	--secondary: #704738;
	--grey: rgba(13,19,33,.12);

	--fs: 1.06rem;
	--ff: 'Roboto', sans-serif;

	--g-xs: 1rem;
	--g: 2rem;
	--g-md: 4rem;
	--g-lg: 5rem;

	--sp: 5rem;

	--b-sm: .8rem;
	--b: 1rem;

	--br-xs: .8rem;
	--br: 4.5rem;
	--br-lg: 6rem;

	--trnst: .6s ease-in-out;
	--shadow: .3rem .3rem .5rem var(--grey);

	--wlogo: 5rem;
}

html,
body {
	font-family: var(--ff);
	font-size: var(--fs);
	font-display: swap;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--black);
	background-color: var(--white);
	overflow-x: hidden;
	scroll-behavior: smooth;
}

h1,
h2,
h3,
h4,
h5,
input,
textarea,
button,
.btn {
	font-family: var(--ff);
	font-weight: 700;
}
h1,
h3,
h5 {
	text-transform: uppercase;
}
h1 {
	font-size: calc( var(--fs) + .66rem );
	margin-bottom: 2.5rem;
}
h2 {
	font-size: calc( var(--fs) + .4rem );
	margin-bottom: 1.6rem;
}
h3 {
	font-size: calc( var(--fs) + .3rem );
	margin-bottom: 1.2rem;
	color: var(--primary);
}
h4 {
	font-size: calc( var(--fs) + .2rem );
	margin-bottom: 1rem;
}
h5 {
	font-size: calc( var(--fs) + .1rem );
	color: var(--primary);
}
a {
	color: var(--primary);
	transition: var(--trnst);
}
h4 > a,
h5 > a {
	color: var(--primary);
	text-decoration: none;
}
h4 > a svg,
h5 > a svg {
	fill: var(--primary);
	width: 1.2rem;
	margin-right: .6rem;
	transform: translateY(.25rem);
}
h5 > a svg {
	margin-left: .6rem;
}
p:not(:last-child) {
	margin-bottom: 1.8rem;
}
time {
	display: block;
	margin-bottom: .5rem;
	color: var(--primary);
}
img {
	width: 100%;
	height: auto;
}


form .grid {
	column-gap: var(--g);
	row-gap: 0;
}
form h5 {
	margin-block: 1rem;
}
form small {
	display: block;
	margin-bottom: .8rem;
}
input,
textarea,
select {
	width: 100%;
	padding: var(--g-xs);
	margin-bottom: var(--g);
	font-size: var(--fs);
	font-weight: 400;
	color: var(--black);
	background-color: var(--white);
	border: .1rem solid var(--grey);
	border-radius: var(--br-xs);
	transition: var(--trnst);
}
input:hover:not([type="checkbox"]),
input:focus:not([type="checkbox"]),
textarea:hover,
textarea:focus {
	border-color: var(--secondary);
}
input[type="checkbox"] {
   width: min-content;
   margin-right: .5em;   
}
label span {
	display: block;
	margin-bottom: .5rem;
}
label[for="underage"] span,
label[for="agree"] span {
	display: inline-block;
}

button,
.btn {
	display: inline-block;
	padding: .5rem 2rem;
	border-radius: var(--g);
	font-size: var(--fs);
	text-transform: uppercase;
	text-decoration: none;
	color: var(--white);
	background: var(--secondary);
	transition: var(--trnst);
	cursor: pointer;
}
button:hover,
.btn:hover {
	transform: scale(1.05);
}
button.gotop {
	display: none;
	position: fixed;
	right: var(--g);
	bottom: var(--g);
	width: 2rem;
	height: 2rem;
	padding: 0;
	opacity: .6;
	background: transparent;
	animation: fadeIn var(--trnst);
	transition: var(--trnst);
	z-index: 999;
}
button.gotop::before,
button.gotop::after {
	content: '';
	display: block;
	position: absolute;
	right: 0;
	width: 60%;
	height: .12rem;
	background-color: var(--black);
	transform: rotate(45deg);
}
button.gotop::after {
	right: unset;
	left: 0;
	transform: rotate(-45deg);
}
button.gotop:hover {
	opacity: 1;
}
.btn-buy {
	z-index: 999999;
	position: fixed;
	top: 5rem;
	right: 0;
	border-radius: 0;
	font-size: 1.3rem;
	background: rgba(255, 0, 0, .75);
}
main {
	padding-top: 4.6rem;
}
section {
	padding-block: var(--sp);
	animation: fadeIn var(--trnst);
}
section:not(:last-child, .bg-light) {
	padding-block: var(--sp) calc( var(--sp) / 2 );
}
iframe {
	width: 100%;
	min-height: 28rem;
}

#preload {
	opacity: 1;
	position: fixed;
	inset: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: var(--g);
	min-height: 100vh;
	padding: var(--g);
	color: var(--black);
	background: var(--white);
	transform: matrix(1, 0, 0, 1, 0, 0);
	transition: var(--trnst);
	transition-duration: 1.5s;
	z-index: 99999;
}
#preload img {
	max-width: 15rem;
}
#preload.loaded {
	opacity: 0;
	visibility: collapse;
}


/*--------------------------------------------------------
2. UTILITIES
--------------------------------------------------------*/
.container {
	width: 100%;
	padding-inline: var(--g-xs);
}
.grid,
.grid-news {
	display: grid;
	gap: var(--g);
}
.flex {
	display: flex;
	gap: 1rem;
}
.d-block {
	display: block;
}
.items-center {
	align-items: center;
}
.items-start {
	align-items: start;
}
.place-center {
	place-items: center;
}
.content-between {
	justify-content: space-between;
}

.mx-w-30 {
	max-width: 30rem;
}
.mx-w-35 {
	max-width: 35rem;
}
/* margin and padding */
.m-0 {
	margin: 0 !important;
}
.m-auto {
	margin: auto;
}
.mt-2 {
	margin-top: 2rem;
}
.mt-3 {
	margin-top: 3rem;
}
.mt-5 {
	margin-top: 5rem;
}
.mb-3 {
	margin-bottom: 3rem !important;
}
.ml-xs {
	margin-left: calc( var(--g-xs) * 2 );
}
.mr-xs {
	margin-right: calc( var(--g-xs) * 2 );
}
.p-0 {
	padding: 0 !important;
}
.pt-0 {
	padding-top: 0 !important;
}
.pt-sp {
	padding-top: var(--sp);
}
.pb-0 {
	padding-bottom: 0;
}
.pb-2 {
	padding-bottom: 2rem;
}
.pb-4 {
	padding-bottom: 4rem;
}
.p-bk-4 {
	padding-block: 4rem;
}
.pnln-xs {
	padding-inline: var(--g-xs);
}
/* borders */
.b-l {
	border-left: var(--b) solid var(--primary);
}
.b-r {
	border-right: var(--b) solid var(--primary);
}
.br-xs {
	border-radius: var(--br-xs);
}
.btl-r-xs {
	border-top-left-radius: var(--br-xs);
}
.btl-r-lg {
	border-top-left-radius: var(--br-lg);
}
.btr-r-xs {
	border-top-right-radius: var(--br-xs);
}
.btr-r-lg {
	border-top-right-radius: var(--br-lg);
}
.bbr-r {
	border-bottom-right-radius: var(--br);
}
.bbr-r-lg {
	border-bottom-right-radius: var(--br-lg);
}
.bbr-r-xs {
	border-bottom-right-radius: var(--br-xs);
}
.bbl-r-xs {
	border-bottom-left-radius: var(--br-xs);
}
.bbl-r-lg {
	border-bottom-left-radius: var(--br-lg);
}
.bc-secondary {
	border-color: var(--secondary) !important;
}

.bg-light {
	background-color: var(--grey);
}
.bg-light a:not(.btn) {
	color: var(--secondary);
}
.bg-light a > svg {
	fill: var(--secondary);
}
.txt-red {
	color: rgb(177, 0, 0);
}
.txt-green {
	color: rgb(0, 128, 0);
}
.upper {
	text-transform: uppercase;
}
.word-wrap {
	word-wrap: break-word;
}

.overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: .5;
	background-color: var(--black);
}

.invisible {
	display: none;
}
.visible {
	display: block !important;
}
.mobile-none {
	display: none;
}

.list li {
	position: relative;
	margin-bottom: .5rem;
	margin-left: 1rem;
	padding-left: 1.5rem;
}
.list li::before {
	content: '\2022';
	position: absolute;
	left: 0;
	font-size: calc( var(--fs) * 1.618 );
	color: var(--primary);
	transform: translateY(-.3rem);
}
.list li h3 {
	margin-bottom: .5rem;
	transform: translateY(-.3rem);
}

a.logo {
	display: grid;
	grid-template-columns: var(--wlogo) 1fr;
	gap: .6rem;
	place-items: center;
	text-decoration: none;
	justify-self: start;
}
a.logo h3 {
	color: var(--black);
	font-size: .8rem;
	margin-bottom: 0;
}

.socials svg {
	width: 1.3rem;
	aspect-ratio: 1;
	cursor: pointer;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
}


/*--------------------------------------------------------
3.  HEADER
--------------------------------------------------------*/
header {
	position: fixed;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1.5rem;
	place-items: center;
	gap: calc( var(--g) - .5rem );
	padding: .3rem var(--g-xs);
	background-color: var(--white);
	box-shadow: var(--shadow);
	z-index: 999;
	animation: fadeIn var(--trnst);
}
header img {
	width: var(--wlogo);
}
header nav#navbar {
	position: fixed;
	top: 5rem;
	left: var(--g-xs);
	right: var(--g-xs);
	max-height: 75vh;
	padding: var(--g);
	border-bottom-right-radius: var(--br);
	border-right: var(--b-sm) solid var(--primary);
	background: var(--white);
	box-shadow: var(--shadow);
	transform: rotateX(90deg);
	transform-origin: top;
	transition: transform var(--trnst);
	overflow-y: scroll;
	scrollbar-width: thin;
	scrollbar-color: var(--secondary) transparent;
	direction: rtl;
	z-index: 9998;
}
header nav#navbar[data-visible="true"] {
	transform: rotateX(0);
}
header nav#navbar a.active {
	font-weight: 700;
	color: var(--primary);
	transition: var(--trnst);
}
header nav#navbar > ul {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
	gap: var(--g-xs);
	direction: ltr;
}
header nav#navbar > ul li a,
header nav#navbar > ul li span {
	position: relative;
	color: var(--black);
	text-decoration: none;
}
header nav#navbar > ul li a.btn {
	color: var(--white);
}
header nav#navbar > ul li.has-submenu > span {
	position: relative;
	display: inline-block;
	padding-right: 1.5rem;
}
header nav#navbar > ul li.has-submenu > span::before,
header nav#navbar > ul li.has-submenu > span::after {
	content: '';
	position: absolute;
	right: 0;
	top: .6rem;
	display: inline-block;
	width: 1rem;
	height: .15rem;
	background-color: var(--black);
	transition: var(--trnst);
}
header nav#navbar > ul li.has-submenu > span::after {
	transform: rotate(-90deg);
}
header nav#navbar > ul li.has-submenu.active > span::after {
	transform: rotate(0);
}
header nav#navbar > ul li.has-submenu ul.submenu {
	display: none;
	padding: var(--g-xs);
}
header nav#navbar > ul li.has-submenu.active ul.submenu {
	display: block;
}
header nav#navbar > ul li.has-submenu ul.submenu li:not(:last-child) {
	margin-bottom: .8rem;
}

button.nav-toggle {
	position: relative;
	display: block;
	width: 1.5rem;
	aspect-ratio: 1;
	padding: 0;
	background: none;
	z-index: 9999;
}
button.nav-toggle .bar1,
button.nav-toggle .bar2 {
	position: absolute;
	width: 100%;
	height: .15rem;
	background-color: var(--black);
	transition: var(--trnst);
}
button.nav-toggle[aria-expanded="false"] .bar1 {
	transform: rotate(-90deg);
}
button.nav-toggle[aria-expanded="true"] .bar1 {
	transform: rotate(0);
}


/*--------------------------------------------------------
4.  HERO
--------------------------------------------------------*/
.hero {
	position: relative;
	min-height: 65vh;
	display: grid;
	place-items: center;
	border-bottom-right-radius: var(--br-lg);
	border-right: var(--b) solid var(--primary);
	color: var(--white);
	background: url(../imgs/hero.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}
.hero .container > * {
	position: relative;
	max-width: 35rem;
}


/*--------------------------------------------------------
5. CARD
--------------------------------------------------------*/
.card,
.card-person {
	background: var(--white);
	border-radius: var(--br-xs) var(--br-xs) var(--br) 0;
	border-right: var(--b) solid var(--primary);
	overflow: hidden;
}
.card-person {
	border-radius: var(--br-xs);
	border-left: var(--b) solid var(--secondary);
	border-right: none;
}
.card-person h2 {
	margin-bottom: .8rem;
}
.card > a {
	position: relative;
	display: block;
	line-height: 0;
	overflow: hidden;
}
.card > a:hover img {
	transform: scale(1.15);
	transition: var(--trnst);
}
.card-content {
	padding: 1.5rem;
}
.card-content a:not(.btn) {
	text-decoration: none;
	color: var(--black);
}


/*--------------------------------------------------------
6. FAQ
--------------------------------------------------------*/
.faq {
	background: var(--white);
	border-radius: var(--br-xs);
	padding: 1rem 1.2rem;
	margin-bottom: 1rem;
	transition: var(--trnst);
}
.faq h4 {
	display: grid;
	grid-template-columns: 1fr max-content;
	align-items: center;
	gap: 1rem;
	margin: 0;
}
.faq h4::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 99;
}
.faq button {
	padding: .12rem .3rem;
	aspect-ratio: 1;
	background: var(--secondary);
}
.faq button svg {
	width: .8rem;
	height: .8rem;
	fill: var(--white);
}
.faq p {
	height: 0;
	transform: rotateX(90deg);
	transition: var(--trnst);
}
.faq[data-faq-opened="true"] p {
	padding-top: 1rem;
	height: auto;
	transform: rotateX(0);
}


/*--------------------------------------------------------
7. REVIEWS
--------------------------------------------------------*/
.review {
	max-width: 32rem;
	padding: 1.5rem;
	border-radius: 0 var(--br-xs) var(--br) 0;
	background: var(--grey);
	margin-bottom: 1rem;
}
.review p {
	margin-bottom: .3rem;
}
.review span {
	font-size: calc( var(--fs) * 1.618);
	color: #ffa500;
}
.rating-1::before { content: '\2605'; }
.rating-2::before { content: '\2605\2605'; }
.rating-3::before { content: '\2605\2605\2605'; }
.rating-4::before { content: '\2605\2605\2605\2605'; }
.rating-5::before { content: '\2605\2605\2605\2605\2605'; }

.author {
	display: grid;
	grid-template-columns: 4rem 1fr;
	align-items: center;
	gap: var(--g-xs);
	margin-top: 1rem;
}
.author img {
	aspect-ratio: 1;
	border-radius: 50%;
}
.author h4 {
	text-transform: uppercase;
	margin: 0;
}


/*--------------------------------------------------------
8. TIMELINE
--------------------------------------------------------*/
.timeline {
	position: relative;
	padding-left: 3.1rem;
}
.timeline::before {
	content: '';
	position: absolute;
	height: 100%;
	border-left: .15rem dashed var(--grey);
}
.timeline li {
	position: relative;
	max-width: 35rem;
	margin-left: var(--g);
	padding: var(--g);
	border-bottom-right-radius: var(--br);
	border-top-right-radius: var(--b);
	background: var(--grey);
}
.timeline li:not(:first-child) {
	margin-top: calc( var(--g) * 2);
}
.timeline li span.line {
	position: absolute;
	left: -2rem;
	top: 0;
	width: .15rem;
	height: 100%;
	background: var(--primary);
}
.timeline li span.line::before,
.timeline li span.line::after {
	content: '';
	position: absolute;
	left: -.2rem;
	top: 0;
	width: .6rem;
	height: .6rem;
	border-radius: 100%;
	background: var(--secondary);
}
.timeline li span.line::after {
	top: 100%;
}
.timeline li span.line strong {
	position: absolute;
	font-size: calc( var(--fs) / 2);
	left: -2rem;
}
.timeline li span.line strong:first-child {
	top: 0;
}
.timeline li span.line strong:last-child {
	top: 100%;
}


/*--------------------------------------------------------
9. PRICING
--------------------------------------------------------*/
.pricing {
	display: grid;
	border-right: .6rem solid var(--primary);
	border-top-right-radius: var(--br-xs);
	border-bottom-right-radius: var(--br);
	background: var(--white);
}
.pricing-plan {
	padding-bottom: var(--g);
	border-bottom: .4rem solid var(--primary);
}
.pricing-plan:last-child {
	border-bottom: none;
}
.pricing-head {
	position: relative;
	padding: var(--g) calc( var(--g) / 2);
	border-bottom: .1rem solid var(--grey);
}
.pricing-head .badge {
	position: absolute;
	top: -1rem;
	left: 10%;
	width: 80%;
	padding: .5rem;
	border-radius: var(--br);
	text-align: center;
	text-transform: uppercase;
	color: var(--white);
	background: var(--primary);
}
.pricing-head h1,
.pricing-head h3 {
	margin-bottom: calc( var(--g) / 2);
}
.pricing-content {
	border-bottom: .1rem solid var(--grey);
}
.pricing-content h4 {
	padding: calc( var(--g) / 2);
	background: var(--grey);
}
.pricing-content ul {
	padding: calc( var(--g) / 2);
}
.pricing-content ul li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--g);
	margin-bottom: calc( var(--g) / 2);
}
.pricing-content ul li p {
	margin: 0;
}
.pricing-plan .btn {
	margin-top: var(--g);
	margin-inline: var(--g);
	display: block;
	text-align: center;
}


/*--------------------------------------------------------
10. YT VIDEO
--------------------------------------------------------*/
.yt-popup-btn {
	position: relative;
	display: flex;
	align-items: center;
	align-items: center;
	padding: 1.5rem;
	aspect-ratio: 1;
	border-radius: 100%;
	border: .2rem solid var(--white);
	background: transparent;
	transition: var(--trnst);
}
.yt-popup-btn svg {
	width: 2.5rem;
	height: 2.5rem;
	fill: var(--white);
	transform: translateX(.25rem);
	transition: var(--trnst);
}
.yt-popup-btn:before {
	content: "";
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border-radius: 100%;
	background: var(--white);
	transform: scale(0);
	transition: var(--trnst);
}
.yt-popup-btn:hover {
	border: .2rem solid var(--primary);
	background: transparent;
}
.yt-popup-btn:hover svg {
	fill: var(--primary);
}
.yt-popup-btn:hover:before {
	transform: scale(1);
}
.yt-popup {
	display: none;
	position: fixed !important;
	max-width: 100% !important;
	inset: 0;
	background-color: rgba(0,0,0, .65);
	z-index: 9999;
}
.yt-popup.active {
	display: block;
}
.yt-popup .yt-popup-content {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 95%;
	aspect-ratio: 3/2;
	transform: translate(-50%, -50%);
}
.yt-popup .yt-popup-content .close-yt-popup {
	float: right;
	color:  var(--white);
	cursor: pointer;
}
.yt-popup .yt-popup-content iframe {
	width: 100%;
	height: 100%;
}


/*--------------------------------------------------------
11. SAMPLE
--------------------------------------------------------*/
.sample-index li {
	padding: .5rem 1rem;
	margin-bottom: .6rem;
	border-radius: var(--br-xs);
	background: var(--grey);
	transition: var(--trnst);
}
.sample-index li.active,
.sample-index li:hover {
	background: var(--primary);
}
.sample-box {
	position: relative;
	padding: var(--g-md);
	padding-bottom: 0;
	border: .1rem solid var(--primary);
	border-radius: 2rem 2rem 0 0;
	background: var(--grey);
	box-shadow: var(--shadow);
}
.sample-box::after {
	content: '';
	position: absolute;
	top: calc( var(--g-md) / 2 );
	left: 50%;
	width: .8rem;
	height: .8rem;
	border-radius: 100%;
	background: var(--primary);
}
.sample-page {
	max-height: 65vh;
	padding: var(--g);
	border: .1rem solid var(--primary);
	background: var(--white);
	overflow-y: auto;
}


/*--------------------------------------------------------
12. FOOTER
--------------------------------------------------------*/
footer {
	display: grid;
	gap: var(--g-md);
	padding-block: 5rem var(--g);
	padding-inline: var(--g-xs);
	color: var(--white);
	fill: var(--white);
	background-color: var(--black);
	animation: fadeIn var(--trnst);
}
footer a.logo {
	grid-template-columns: 1fr;
	place-items: start;
	gap: .8rem;
	margin-bottom: 3rem;
}
footer a.logo h3 {
	color: var(--white);
	font-size: var(--fs);
	text-transform: none;
}
footer img:not(ul.posts img) {
	width: calc( var(--wlogo) * 2.618 );
}
footer ul li:not(:last-child) {
	margin-bottom: .8rem;
}
footer ul.socials > li > svg {
	margin-right: .6rem;
	transform: translateY(.25rem);
}
footer nav ul a {
	color: var(--white);
	text-decoration: none;
}
footer ul a:hover:not(.btn) {
	color: var(--primary);
}
footer ul.posts li a {
	display: grid;
	grid-template-columns: 5rem 1fr;
	gap: var(--g-xs);
	align-items: center;
}
footer ul.posts li a time {
	font-size: .8rem;
	margin-top: .2rem;
}
footer div.cw {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--g);
	margin-top: var(--g);
}
footer div.cw p {
	margin: 0;
}


/*--------------------------------------------------------
13. RESPONSIVE
--------------------------------------------------------*/
/* screen */
@media (min-width: 768px) {
	/* Font */
	:root {
		--br-lg: 10rem;
	}
	h1 {
		font-size: calc( var(--fs) * 2.618 );
	}
	h2 {
	font-size: calc( var(--fs) * 1.618 );
	}
	h3 {
		font-size: calc( var(--fs) + .6rem );
	}
	h4 {
		font-size: calc( var(--fs) + .3rem );
	}
	h5 {
		font-size: calc( var(--fs) + .2rem );
	}
	/* Utilities */
	.container {
		max-width: 72rem;
		margin-inline: auto;
	}
	.grid {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--g-md);
	}
	.grid-news {
		grid-template-columns: 1fr 10rem;
		gap: var(--g-md);
	}
	.gtc-1-2 {
		grid-template-columns: 1fr 2fr;
	}
	.gtc-2-1 {
		grid-template-columns: 2fr 1fr;
	}
	.gtc-3 {
		grid-template-columns: repeat(3, 1fr);
	}
	.gtc-4 {
		grid-template-columns: repeat(4, 1fr);
	}
	.order-md-2 {
		order: 2;
	}
	.pt-tablet-3 {
		padding-top: none;
	}
	.mr,
	.hero {
		margin-right: var(--g);
	}
	.screen-none {
		display: none;
	}
	.mobile-none {
		display: block;
	}

	/* pricing */
	.pricing {
		grid-template-columns: repeat(3, 1fr);
	}
	.pricing-plan {
		border-bottom: 0;
	}
	.pricing-plan:not(:last-child) {
		border-right: .1rem solid var(--grey);
	}
	.pricing-content h4 span {
		visibility: hidden;
	}
	.pricing-content ul li {
		justify-content: center;
	}

	/* yt pop up */
	.yt-popup .yt-popup-content {
		width: 42rem;
	}
	
	/* Footer */
	footer {
		padding-inline: var(--g);
		grid-template-columns: repeat(3, 1fr);
	}
	footer a.logo {
		grid-template-columns: calc( var(--wlogo) * 2.618) max-content;
		place-items: center;
	}
	footer div.cw {
		grid-column: span 3;
	}
}

/* tablet */
@media (min-width: 768px) and (max-width: 1024px) {
	/* Utilities */
	.grid {
		gap: var(--g);
	}
	.gtc-3,
	.gtc-4 {
		grid-template-columns: repeat(2, 1fr);
	}
	.pt-tablet-3 {
		padding-top: 3rem;
	}
	/* Footer */
	footer {
		grid-template-columns: repeat(2, 1fr);
	}
	footer div.cw {
		grid-column: span 2;
	}
}

/* header and footer */
@media (min-width: 1360px) {
	header {
		grid-template-columns: max-content 1fr;
		padding-inline: var(--g);
	}
	header nav#navbar {
		position: relative;
		inset: unset;
		justify-self: end;
		padding: 0;
		border-radius: 0;
		border: 0;
		transform: rotateX(0);
		overflow-y: unset;
		box-shadow: none;
	}
	header nav#navbar > ul {
		justify-content: flex-start;
		align-items: center;
		flex-direction: row;
		gap: var(--g);
	}
	header nav#navbar > ul li.has-submenu {
		position: relative;
	}
	header nav#navbar > ul li.has-submenu ul.submenu {
		position: absolute;
		top: 3.5rem;
		left: 0;
		display: block;
		width: 18rem;
		padding: var(--g);
		opacity: 0;
		visibility: collapse;
		border-bottom-right-radius: var(--br);
		border-right: var(--b-sm) solid var(--secondary);
		background: var(--white);
		box-shadow: var(--shadow);
		transform: translateY(20%);
		transition: var(--trnst);
	}
	header nav#navbar > ul li.has-submenu.active ul.submenu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}			
	button.nav-toggle {
		display: none;
	}
	/* Footer */
	footer {
		grid-template-columns: 2fr repeat(4, 1fr);
	}
	footer div.cw {
		grid-column: span 5;
	}

	.m-ln-5x100-auto {
		margin-inline: 5% auto;
	}
	.m-ln-auto-5x100 {
		margin-inline: auto 5%;
	}
}

/* large screen */
@media (min-width: 1680px) {
	.container {
		max-width: 98rem;
	}
	header {
		padding-inline: var(--g-lg);
	}
	.mr,
	.hero {
		margin-right: var(--g-lg);
	}
	.mx-w-lg-45 {
		max-width: 45rem;
	}
	footer {
		padding-inline: var(--g-lg);
	}
}


/*--------------------------------------------------------
14. ANIMATION
--------------------------------------------------------*/
.fade {
	animation: fadeIn var(--trnst);
}
@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
