/*

Theme Name: Moto Memo
Theme URI: https://motomemo.world
Author: Kelly Tester
Description: A custom theme built from the Moto Memo website.
Version: 1.0
Text Domain: motomemo

*/

/* PRELOADER CSS */
.page-loader{
		position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    width: 100vw;
    background: #0b1120;
    background-image: linear-gradient(to top, #0b1120, #10103d);
    z-index: 1000;
    transition: opacity 0.8s ease, visibility 0.8s ease;
}

.loader-hidden {
    opacity: 0;
    visibility: hidden;
}

.spin-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 100%;
    width: 100%;
}
 
.spinner {
    position: relative;
    width: 150px; 
    height: 150px;
    -webkit-animation: rotation 1s infinite linear;
    animation: rotation 1s infinite linear;
    /*border-left: 6px solid rgba(0, 174, 239, 0.15);
    border-right: 6px solid rgba(0, 174, 239, 0.15);
    border-bottom: 6px solid rgba(0, 174, 239, 0.15);
    border-top: 6px solid rgba(0, 174, 239, 0.8);*/
    border-left: 6px solid rgb(59 255 249 / 15%);
    border-right: 6px solid rgb(59 255 249 / 15%);
    border-bottom: 6px solid rgb(59 255 249 / 15%);
    border-top: 6px solid rgb(59 255 249 / 80%);
    border-radius: 100%;
}
@-webkit-keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(359deg);
  }
}

@-moz-keyframes rotation {
  from {
    -moz-transform: rotate(0deg);
  }
  to {
    -moz-transform: rotate(359deg);
  }
}

@-o-keyframes rotation {
  from {
    -o-transform: rotate(0deg);
  }
  to {
    -o-transform: rotate(359deg);
  }
}

@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.main-content {
	flex: 1;
}

.sec-footer {
	position: relative;
	z-index: 10;
	width: 100%;
	overflow: hidden;
}

.footer-spacer {
	clear: both;
	height: 1800px;
}

@media only screen and (min-width: 768px) {
	.footer-spacer {
		height: 1400px;
	}
}

@media only screen and (min-width: 1400px) {
	.footer-spacer {
		height: 1400px;
	}
}

/*************** General ***************/
body,
html {
	font-family: "quicksand", sans-serif !important;
	font-size: 16px;
	background-repeat: repeat;
}

body.home {
	max-width: 1650px;
	background-image: url(./img/bg-patch.png);
}

@media only screen and (min-width: 1690px) {
	body.home {
		margin: 0.4rem auto;
		border: 6px solid black;
	}
}

html {
	background-color: #0b1120;
}

.playpen {
	font-family: "Playpen Sans", cursive;
	font-optical-sizing: auto;
	font-style: normal;
}

.grayscale {
	filter: grayscale(.5);
}

.container {
	width: 90%;
	max-width: 1100px !important;
}

.menu-container {
	max-width: 1100px;
	z-index: 11;
}

.home .menu-container {
	justify-content: center; !important;
	display: block !important;
}


@media only screen and (min-width: 768px) {
	.home .menu-container {
		max-width: calc(1650px - 2rem);
		justify-content: end !important;
	}
}

.home .menu-logo {
  display: none !important;
}

.home .menu-buttons {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.menu {
	width: 100%;
	gap: 0.3rem;
}

@media only screen and (max-width: 768px) {
	.menu {
		justify-content: center !important;
	}
}

.menu .nav-btn {
		width: 100%;
    display: block;
    text-decoration: none;
    text-align: center;
    border-radius: 6px;
    margin-top: 15px;
    padding: 10px;
    color: white;
    box-shadow: 0 0 0 2px rgb(13 15 55 / 70%);
    background: rgb(13 15 56 / 60%);
    transition: 0.3s ease;
}

.menu .nav-btn:hover {
		background: rgb(13 15 56 / 95%);
		transition: 0.3s ease;
}

.card {
	background: #0b1120;
	color: #f0f0f0;
	filter: drop-shadow(2px 2px 6px #000000a8);
    border: none !important;
    background: #0b1120 !important;
}

@media only screen and (max-width: 768px) {
.card-top {
	overflow: hidden;
	height: 380px;
}
}

/*************** Card Animations ***************/
.card-float {
	overflow: hidden;
	text-decoration: none !important;
	transform: translateY(0px);
	transition: all 0.3s ease;
}

.card-float:hover {
	text-decoration: none !important;
	/*transform: translateY(-5px);*/
	transition: all 0.6s ease;
}

.card-img-top {
	height: 380px;
	transform: scale(1.0);
	object-fit: cover;
	transition: all 0.6s ease-out;
}

.card-img-hide {
	opacity: 0.1;
}

.card-img-show {
	animation: show 0.6s ease-in forwards;
}

@media only screen and (min-width: 768px) {
.card-img-show {
	animation: show 1.5s ease-in forwards;
}
}

@-webkit-keyframes "show" {
	0% {
		opacity: 0.1;
	}

	50% {
		opacity: 0.3;
	}

	100% {
		opacity: 1;
	}
}

.card-float:hover .card-img-top {
	transform: scale(1.3);
	transition: all 8s ease-out;
}

.card-float .card-body {
	transform: translateY(55px);
	transition: all 0.4s ease-out;
	width: 100%;
	position: absolute;
	bottom: 0;
	background: #0c1222;
}

.card-float:hover .card-body {
	transform: translateY(0px);
	transition: all 0.3s ease-out;
	animation-delay: 0.3s;
}

@media only screen and (max-width: 767px) {
	.card-img-top {
		height: 330px;
	}

	.card-float .card-body {
		transform: translateY(0px);
	}
}

.card-float .card-text {
	height: 66px;
	font-family: "Playpen Sans", "quicksand", sans-serif !important;
	color: #e0e0e0;
}

.btn.btn-primary {
	background: #40587c;
	border: none;
	transition: all 0.4s ease;
	width: 100%;
	opacity: 0;
}

.card-float:hover .btn.btn-primary {
	opacity: 1;
	transition: all 0.4s ease-out;
	animation-delay: 1s;
}

.btn.btn-primary:hover {
	background: #2b3c55;
	transition: all 0.3s ease;
}

/*************** Sec Sky ***************/
.img-motomemo img {
	max-width: 100%;
	width: 100%;
	filter: drop-shadow(3px 3px 0px black);
}

.hero {
	position: absolute;
	top: 90px;
	left: 50%;
	transform: translate(-50%);
	width: 440px;
	max-width: 80%;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.hero p {
	color: #f0eeee;
	text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.7);
	line-height: 1.6;
	max-width: 360px;
}

.img-Kelly img {
	width: 600px;
	max-width: 100%;
	position: absolute;
	top: 300px;
}

.img-cloud {
	display: flex;
	z-index: 0;
}

.img-cloud img {
	margin: 145px auto 0;
	min-width: 920px;
}

@media only screen and (min-width: 678px) {
	.img-cloud img {
		min-width: 820px;
	}
}

.img-big-moon {
	position: absolute;
	top: 40px;
	left: 6%;
}

.img-mini-moon {
	position: absolute;
	right: 12%;
	top: 300px;
}

.bg.sec-sky {
	background-image: url(./img/sky.jpg);
	position: relative;
	min-height: 700px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 1;
}

.sec-sky-container {
	max-width: 1160px !important;
	margin: 0 auto;
}

@media only screen and (min-width: 400px) {
	.bg.sec-sky {
		min-height: 800px;
	}
}

@media only screen and (min-width: 500px) {
	.bg.sec-sky {
		min-height: 930px;
	}
}

@media only screen and (min-width: 600px) {
	.bg.sec-sky {
		min-height: 1030px;
	}
}

@media only screen and (min-width: 678px) {
	.img-Kelly img {
		right: calc(5% + 5rem);
	}
}

@media only screen and (min-width: 991px) {
	.img-Kelly img {
		right: 9%;
	}

	.bg.sec-sky {
		min-height: 1130px;
	}
}

@media only screen and (min-width: 1200px) {
	.bg.sec-sky {
		min-height: 1230px;
	}
}

@media only screen and (min-width: 1500px) {
	.bg.sec-sky {
		min-height: 1400px;
	}

	.img-Kelly img {
		top: 340px;
		width: 700px;
	}

	.img-cloud img {
		margin: 180px auto 0;
	}
}

/*************** Sec Clouds ***************/
.sec-clouds {
	position: relative;
	margin-top: -41%;
	/*transform: scale(1.3);*/
	z-index: 2;
}

@media only screen and (min-width: 768px) {
	.sec-clouds {
		margin-top: -35%;
		transform: scale(1);
	}
}

@media only screen and (min-width: 991px) {
	.sec-clouds {
		margin-top: -44%;
	}
}

.bg.sec-blue-clouds-left img {
	background-size: contain;
	max-width: 100%;
	width: 100%;
}

.bg.sec-blue-clouds-right img {
	background-size: contain;
	max-width: 100%;
	width: 100%;
	position: absolute;
	bottom: -40px;
}

@media only screen and (min-width: 768px) {
    .bg.sec-blue-clouds-right img {
        bottom: 0;
    }
}

.bg.sec-pink-clouds img {
	background-size: contain;
	max-width: 100%;
	width: 100%;
	position: absolute;
	bottom: -23%;
}

@media only screen and (min-width: 2000px) {
	.sec-clouds {
		margin-top: -45%;
	}
}

/*************** Sec Land ***************/
.sec-land {
	position: relative;
	min-height: 300px;
	margin-top: -10%;
	z-index: 4;
}

.bg.sec-mountains-left {
	margin-top: 3%;
}

@media only screen and (min-width: 768px) {
	.bg.sec-mountains-left {
		margin-top: 0;
	}

	.sec-land {
		margin-top: -17%;
	}
}

.bg.sec-mountains-left img {
	background-size: contain;
	max-width: 100%;
	width: 100%;
}

.bg.sec-mountains-right img {
	background-size: contain;
	max-width: 100%;
	width: 100%;
	position: absolute;
	top: -0.5%;
}

@media only screen and (min-width: 768px) {
	.bg.sec-mountains-right img {
		top: -1%;
	}
}

/*************** Sec Heart ***************/
.heart-sec {
	position: absolute;
	width: 140px;
	height: 140px;
	left: calc(50% - 70px);
	top: 55%;
	z-index: 0;
}

.heart-sec-bg {
	position: absolute;
	width: 140px;
	height: 140px;
	left: calc(50% - 70px);
	top: 55%;
	z-index: 0;
}

.heart-sec-ovelay {
	position: absolute;
	width: 140px;
	height: 140px;
	left: calc(50% - 70px);
	top: 55%;
	z-index: 3;
	animation: heart-pulse 4s ease infinite;
}

.heart-in-view {
	opacity: 0;
	background-image: url(./img/heart-rays.png);
	width: 140px;
	height: 140px;
	background-size: contain;
	animation: view-opacity 2.5s ease forwards;
	animation-delay: 0.5s;
	z-index: 0;
}

.heart-sec-bg {}

.img-heart {
	animation: heart-pulse 4s ease infinite;
}

.img-coffee {
	opacity: 0;
	transform: translateY(300px);
	animation: coffee-out 0.5s ease;
}

.img-coffee-sign {
	position: absolute;
	right: -170px;
	top: -70px;
	opacity: 0;
	animation: coffee-out 0.5s ease;
	transform: scale(1);
	transition: 0.3s ease;
	pointer-events: none;
}

.heart-sec-ovelay {
	display: flex;
	align-items: center;
	justify-content: center;
	animation: none !important;
}

.heart-sec-coffee {
	position: absolute;
	width: 140px;
	height: 140px;
	left: calc(50% - 70px);
	top: 55%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 0;
}

.heart-sec-ovelay:hover~.heart-sec-coffee .img-coffee {
	animation: coffee 1s ease-out forwards;
}

@media only screen and (max-width: 991px) {
	.heart-sec-coffee .img-coffee {
		animation: coffee 1s ease-out forwards;
	}
}

@media only screen and (max-width: 767px) {
	.sec-clouds {
		overflow-x: clip;
	}

	.bg.sec-pink-clouds img {
		max-width: 136%;
		width: 136%;
		bottom: -55%;
	}

	.heart-sec,
	.heart-sec-coffee {
		transform: scale(0.8);
	}

	.map-marker {
		display: none;
	}
}

.heart-sec-ovelay:hover~.heart-sec-coffee .img-coffee-sign {
	animation: coffee-sign 1s ease-out forwards;
	animation-delay: 0.5s;
}

@-webkit-keyframes "view-opacity" {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@-webkit-keyframes "heart-pulse" {
	0% {
		-webkit-transform: scale(1);
	}

	25% {
		-webkit-transform: scale(1.08);
	}

	50% {
		-webkit-transform: scale(1);
	}

	75% {
		-webkit-transform: scale(1.08);
	}

	100% {
		-webkit-transform: scale(1);
	}
}

@-webkit-keyframes "coffee" {
	0% {
		-webkit-transform: scale(0);
		opacity: 0;
		transform: translateY(300px);
	}

	50% {
		-webkit-transform: scale(0.5);
		transform: translateY(150px);
		opacity: 0;
	}

	100% {
		-webkit-transform: scale(1);
		opacity: 1;
	}
}

@-webkit-keyframes "coffee-sign" {
	0% {
		-webkit-transform: scale(0);
		opacity: 0;
	}

	50% {
		-webkit-transform: scale(0.5);
		opacity: 0;
	}

	100% {
		-webkit-transform: scale(1);
		opacity: 1;
	}
}

@-webkit-keyframes "coffee-out" {
	0% {
		-webkit-transform: scale(1);
		opacity: 1;
	}

	50% {
		-webkit-transform: scale(0.5);
		opacity: 0;
	}

	100% {
		-webkit-transform: scale(0);
		opacity: 0;
	}
}

/*************** Sec Hills ***************/
.bg.sec-hills {
	position: relative;
	margin-top: -42%;
	z-index: 5;
}

@media only screen and (min-width: 768px) {
	.bg.sec-hills {
		margin-top: -39%;
	}
}

.bg.sec-hills .img-hills {
	position: relative;
	background-size: contain;
	max-width: 100%;
	width: 100%;
	top: 40px;
	z-index: 1;
}

.bg.sec-hills .img-bush {
	background-size: contain;
	max-width: 100%;
	width: 100%;
	position: absolute;
	bottom: -52%;
	z-index: 2;
}

@media only screen and (min-width: 768px) {
	.bg.sec-hills .img-bush {
		bottom: -43%;
	}
}

/*************** Sec Wiggy ***************/
.img-wiggy {
	position: absolute;
	left: 50%;
	transform: translate(-50%, -70%);
	top: -135px;
}

.img-wiggy img {
	position: relative;
	width: 650px;
	max-width: 98vw;
	z-index: 1;
}

@media only screen and (min-width: 450px) {
	.img-wiggy {
		transform: translate(-50%, -80%);
		top: -130px;
	}

	.img-wiggy img {
		width: 800px;
		max-width: 86vw;
	}
}

@media only screen and (min-width: 768px) {
	.img-wiggy {
		transform: translate(-50%, -90%);
		top: -80px;
	}
}

@media only screen and (min-width: 1000px) {
	.img-wiggy img {
		width: 800px;
	}
}

@media only screen and (min-width: 1200px) {
	.img-wiggy {
		transform: translate(-50%, -90%);
		top: -150px;
	}

	.img-wiggy img {
		width: 900px;
	}
}

@media only screen and (min-width: 1500px) {
	.img-wiggy img {
		width: 950px;
	}
}

/*************** Sec Map ***************/
.drop-shadow {
	filter: drop-shadow(2px 2px 6px #000000a8);

	.card {
		filter: none;
	}
}

.sec-map {
	position: relative;
	z-index: 5;
	margin-top: 70%;
}

@media only screen and (min-width: 450px) {
	.sec-map {
		margin-top: 60%;
	}
}

@media only screen and (min-width: 768px) {
	.sec-map {
		margin-top: 46%;
	}
}

@media only screen and (min-width: 1100px) {
	.sec-map {
		margin-top: 43%;
	}
}

@media only screen and (min-width: 1400px) {
	.sec-map {
		margin-top: 38%;
	}
}

.img-map img {
	max-width: 100%;
}

img.img-journey {
	position: absolute;
	left: 50%;
	/*filter: drop-shadow(2px 4px 7px #000000a1);*/
	z-index: 4;
	transform: translate(-50%, -50%);
	max-width: 60%;
}

@media only screen and (min-width: 350px) and (max-width: 450px) {
	img.img-journey {
    height: 64px;
    width: 202px;
	}
}

@media only screen and (min-width: 678px) {
	img.img-journey {
		max-width: 45%;
		transform: translate(-50%, -52%);
	}
}

@media only screen and (min-width: 991px) {
	img.img-journey {
		max-width: 40%;
	}
}

.UK-dot {
	top: 35.35%;
	left: 45.75%;
}

.France-dot {
	top: 38.35%;
	left: 46.75%;
}

.Spain-dot {
	top: 41.25%;
	left: 45%;
}

.Morocco-dot {
	top: 45.25%;
	left: 45%;
}

.Italy-dot {
	top: 40.25%;
	left: 49.2%;
}

.Slovenia-dot {
	top: 38.5%;
	left: 50.75%;
}

.Greece-dot {
	top: 41.5%;
	left: 51.2%;
}

.India-dot {
	top: 51%;
	left: 64%;
}

.Nepal-dot {
	top: 47.75%;
	left: 64.75%;
}

.Vietnam-dot {
	top: 49.5%;
	left: 70.75%;
}

.Cambodia-dot {
	top: 52.25%;
	left: 71%;
}

.Malaysia-dot {
	top: 55.25%;
	left: 70.5%;
}

.Indonesia-dot {
	top: 58%;
	left: 73.75%;
}

.Australia-dot {
	top: 69.5%;
	left: 75%;
}

.NZ-dot {
	top: 76.5%;
	right: 12.5%;
}

.card-count {
	top: 0.5rem;
	right: 0.5rem;
	z-index: 1;
	height: 2rem;
	width: 2rem;
	background: rgb(0 0 0 / 50%);
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 1rem;
	border: 1px solid rgb(255 255 255 / 50%);
	line-height: 1;
}

/*************** Map Dots ***************/
#chartdiv {
	width: 100%;
	height: 500px;
}

.map-marker {
	position: absolute;
	margin-left: -2px;
	margin-top: 1px;
}

.map-marker:focus-visible {
	outline: none;
}

.map-marker.map-clickable {
	cursor: pointer;
}

.pulse {
	width: 17px;
	height: 17px;
	border: 4px solid #3bfff9;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
	background-color: #000;
	z-index: 10;
	position: absolute;
}

.map-marker .dot {
	border: 10px solid #30d5d0;
	background: transparent;
	-webkit-border-radius: 60px;
	-moz-border-radius: 60px;
	border-radius: 60px;
	height: 50px;
	width: 50px;
	-webkit-animation: pulse 3s ease-out;
	-moz-animation: pulse 3s ease-out;
	animation: pulse 3s ease-out;
	-webkit-animation-iteration-count: infinite;
	-moz-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	position: absolute;
	top: -17px;
	left: -17px;
	z-index: 1;
	opacity: 0;
}

@-moz-keyframes pulse {
	0% {
		-moz-transform: scale(0);
		opacity: 0.0;
	}

	25% {
		-moz-transform: scale(0);
		opacity: 0.1;
	}

	50% {
		-moz-transform: scale(0.1);
		opacity: 0.3;
	}

	75% {
		-moz-transform: scale(0.5);
		opacity: 0.5;
	}

	100% {
		-moz-transform: scale(1);
		opacity: 0.0;
	}
}

@-webkit-keyframes "pulse" {
	0% {
		-webkit-transform: scale(0);
		opacity: 0.0;
	}

	25% {
		-webkit-transform: scale(0);
		opacity: 0.1;
	}

	50% {
		-webkit-transform: scale(0.1);
		opacity: 0.3;
	}

	75% {
		-webkit-transform: scale(0.5);
		opacity: 0.5;
	}

	100% {
		-webkit-transform: scale(1);
		opacity: 0.0;
	}
}

/*************** Sec Footer ***************/

.home footer {
	padding: 0 !important;
	margin: 0 !important;
}

.footer-bg {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	display: flex;
	justify-content: center;
}

.sec-footer {
	padding-top: 6% !important;
}

.footer-bg img {
	max-width: 100%;
}

@media only screen and (max-width: 991px) {
	.sec-footer {
		padding-top: 20% !important;
	}

	img.footer-bg-sign {
		transform: scale(1.5);
		bottom: 25% !important;
	}
}

@media only screen and (max-width: 767px) {
	.sec-footer {
		padding-top: 62% !important;
	}

	.sec-footer-signs {
		max-height: 600px;
	}

	img.footer-bg-sign {
		transform: scale(2);
		object-position: -1rem bottom;
		max-height: 300px;
	}
}

img.footer-bg-sign {
	bottom: 0;
}

@media only screen and (min-width: 768px) {
	img.footer-bg-sign {
		padding: 0 5%;
	}
}

@media only screen and (min-width: 1200px) {
	img.footer-bg-sign {
		padding: 0 8%;
		margin-bottom: 3rem;
	}

	.sec-footer {
		padding-top: 8% !important;
	}
}

@media only screen and (min-width: 1400px) {
	img.footer-bg-sign {
		padding: 0 14%;
	}

	.sec-footer {
		padding-top: 6% !important;
	}
}

.sec-signs {
	position: absolute;
	left: 50%;
	transform: translate(-36%, -110px);
}

.sec-signs>img {
	background-size: contain;
	width: 370px;
	max-width: 100%;
}

.sec-footer {
	position: relative;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(26 12 48 / 15%));
	z-index: 1;
}

.sec-footer>img {
	background-size: contain;
	max-width: 100%;
	width: 100%;
}

.sec-footer-signs {
	height: 100%;
	width: 100%;
	position: absolute;
	bottom: 0;
	z-index: 6;
}

.sec-footer-signs img {
	position: absolute;
	filter: brightness(0.87);
	filter: drop-shadow(2px 4px 6px #000000a1);
	max-width: 215px;
	opacity: 0;
	transition: 0.3s ease-out;
}

.home-sign {
	bottom: 66%;
	left: 22%;
}

.story-sign {
	bottom: 48%;
	left: 70.5%;
}

.shop-sign {
	bottom: 35%;
	left: 22%;
	width: 210px;
}

.contact-sign {
	bottom: 21%;
	left: 66%;
	width: 210px;
}

.home-sign-link,
.story-sign-link,
.shop-sign-link,
.contact-sign-link {
	width: 280px;
	height: 55px;
	position: absolute;
}

.home-sign-link {
	bottom: 62%;
	left: 40%;
}

.story-sign-link {
	bottom: 51%;
	left: 44%;
	width: 280px;
}

.shop-sign-link {
	bottom: 38%;
	left: 42%;
}

.contact-sign-link {
	bottom: 26%;
	left: 41%;
}

@media only screen and (max-width: 767px) {
	.sign-link {
		width: 50%;
		left: 50%;
		transform: translateX(-50%);
		height: 42px;
	}

	.home-sign-link {
		bottom: 77%;
	}

	.story-sign-link {
		bottom: 63%;
	}

	.shop-sign-link {
		bottom: 47%;
	}

	.contact-sign-link {
		bottom: 32%;
	}
}

@media only screen and (min-width: 468px) and (max-width: 767px) {
	.sign-link {
		height: 56px;
	}
}

@media only screen and (min-width: 710px) and (max-width: 767px) {
	.story-sign-link {
		bottom: 65%;
	}

	.shop-sign-link {
		bottom: 50%;
	}

	.contact-sign-link {
		bottom: 37%;
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.home-sign-link {
		bottom: 83%;
	}

	.story-sign-link {
		bottom: 70%;
	}

	.shop-sign-link {
		bottom: 55%;
	}

	.contact-sign-link {
		bottom: 43%;
	}
}

@media only screen and (min-width: 1230px) {
	.sign-link {
		width: 320px;
	}

	.home-sign-link {
		bottom: 63%;
		left: 42%;
	}

	.story-sign-link {
		bottom: 53%;
	}

	.shop-sign-link {
		bottom: 42%;
	}

	.contact-sign-link {
		bottom: 32%;
		left: 42%;
	}
}

@media only screen and (min-width: 1230px) {
	.home-sign {
		bottom: 65%;
		left: 26%;
	}

	.story-sign {
		bottom: 51%;
		left: 68%;
	}

	.shop-sign {
		bottom: 39%;
		left: 27%;
	}

	.contact-sign {
		bottom: 25%;
		left: 65%;
	}
}

@media only screen and (min-width: 1400px) {
	.home-sign {
		bottom: 59%;
		left: 29%;
	}

	.story-sign {
		bottom: 47%;
		left: 66%;
	}

	.shop-sign {
		bottom: 36%;
		left: 29%;
	}

	.contact-sign {
		bottom: 22%;
		left: 64%;
	}

	.home-sign-link {
		bottom: 56%;
	}

	.story-sign-link {
		bottom: 47%;
	}

	.shop-sign-link {
		bottom: 37%;
	}

	.contact-sign-link {
		bottom: 28%;
	}
}

.sec-footer-signs img {
	display: none;
}

@media only screen and (min-width: 992px) {
	.sec-footer-signs img {
		display: block;
	}

	.home-sign-link:hover+.home-sign {
		opacity: 1;
		transition: 0.3s ease-in;
	}

	.story-sign-link:hover+.story-sign {
		opacity: 1;
		transition: 0.3s ease-in;
	}

	.shop-sign-link:hover+.shop-sign {
		opacity: 1;
		transition: 0.3s ease-in;
	}

	.contact-sign-link:hover+.contact-sign {
		opacity: 1;
		transition: 0.3s ease-in;
	}
}

.parallax {
	will-change: transform;
}

/*************** Button Animations ***************/
/* Code Pen https://codepen.io/pizza3/pen/qmerBv */
.button-container {
	position: relative;
	width: 80px;
	height: 25px;
	transition: 0.5s;
	letter-spacing: 1px;
	border-radius: 2rem;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	margin: 0 0.2rem;
	background: #a4aacc;
	background-image: linear-gradient(315deg, #f0ecfc 0%, #b1b6d7 88%);
	border: none;
	box-shadow: 0 0 0 1px #9aa6ee, 0 4px 8px 0 rgba(0, 0, 0, 0.5);
	/*font-family: "Playpen Sans", cursive !important;
    font-weight: 300 !important;*/
}

@media only screen and (min-width: 768px) {
	.button-container:hover {
		/*transform: translateY(-2px);*/
		transition: all 0.3s ease;
		f
	}
}

.button-container button {
	position: absolute;
	transform: translate(-50%, -50%);
	top: 50%;
	left: 50%;
	width: 80px;
	height: 25px;
	font-weight: 400;
	border-radius: 2rem;
	letter-spacing: 1px;
	background: #121246;
	-webkit-mask: url(https://raw.githubusercontent.com/robin-dela/css-mask-animation/master/img/urban-sprite.png);
	mask: url(https://raw.githubusercontent.com/robin-dela/css-mask-animation/master/img/urban-sprite.png);
	-webkit-mask-size: 3000% 100%;
	mask-size: 3000% 100%;
	color: #ebebeb;
	cursor: pointer;
	-webkit-animation: ani2 0.7s steps(29) forwards;
	animation: ani2 0.7s steps(29) forwards;
	border: none;
}

.button-container button:hover,
.button-container button:focus-visible {
	-webkit-animation: ani 0.7s steps(29) forwards;
	animation: ani 0.7s steps(29) forwards;
	animation-delay: 0.05s;
}

.mask {
	position: absolute;
	transform: translate(-50%, -50%);
	top: 50%;
	left: 50%;
	color: #090909;
	text-align: center;
	width: 80px;
	height: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border: none;
}

.dropdown-toggle::after {
	/*display: none;*/
}

.dropdown-menu {
	background-color: rgb(10 13 51 / 60%) !important;
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
    margin: 10px 0 0 0 !important;
    top: 10px !important;
    border-radius: 8px !important;
    border: 2px solid #9aa6ee !important;
    color: #ebebeb !important;
    text-shadow: 0 1px 2px black;
    line-height: 1.45;
    padding: 12px !important;
    font-size: 13px !important;
    width: 320px;
    left: -120px !important;
    box-shadow: inset 0px 0px 85px rgba(0, 0, 0, 0.3);
}

.dropdown-item {
		display: flex !important;
    align-items: center;
    white-space: wrap !important;
    color: #ebebeb !important;
    text-shadow: none !important;
    border-radius: 2px !important;
    line-height: 1.3;
    margin: 1px 0;
    padding: 8px 10px !important;

	&:hover,
	&:focus {
		font-weight: 700;
		background-image: linear-gradient(315deg, #f0ecfc 0%, #d4d6e3 50%);
		box-shadow: 0 0 0 2px #c4c4c4;
		color: #212529 !important;
	}
}

@media only screen and (min-width: 991px) {
.dropdown-item {
    padding: 7px 10px !important;
  }
}

.dropdown hr {
	width: calc(100% - 20px);
	margin: 0 auto !important;
}

.menu-arrow-icon {
	position: relative;
	top: -22px;
	left: calc(50% - 5px);
	width: 0;
	height: 0;
	z-index: 1;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid #9aa6ee;
	transform: rotate(180deg);
}

.menu-arrow-icon::before {
	content: "";
	position: absolute;
	top: -12px;
	left: -8px;
	width: 0;
	height: 0;
	z-index: 2;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 8px solid #0d0f38;
}

.dropdown-location {
	font-weight: 700;
}

.dropdown-chapter {
	font-weight: 300;
	min-width: 86px;
}

.dropdown-item:hover .dropdown-chapter,
.dropdown-item:focus .dropdown-chapter {
	font-weight: 400;
}

/* Animations */
@-webkit-keyframes ani {
	from {
		-webkit-mask-position: 0 0;
		mask-position: 0 0;
	}

	to {
		-webkit-mask-position: 100% 0;
		mask-position: 100% 0;
	}
}

@keyframes ani {
	from {
		-webkit-mask-position: 0 0;
		mask-position: 0 0;
	}

	to {
		-webkit-mask-position: 100% 0;
		mask-position: 100% 0;
	}
}

@-webkit-keyframes ani2 {
	from {
		-webkit-mask-position: 100% 0;
		mask-position: 100% 0;
	}

	to {
		-webkit-mask-position: 0 0;
		mask-position: 0 0;
	}
}

@keyframes ani2 {
	from {
		-webkit-mask-position: 100% 0;
		mask-position: 100% 0;
	}

	to {
		-webkit-mask-position: 0 0;
		mask-position: 0 0;
	}
}

.text-start .button-container {
	box-shadow: 0 0 0 1px #c3c7dd;
}

.text-start .button-container button {
	background: #0c1222;
}

.text-start .button-container,
.text-start .button-container button,
.text-start .mask {
	height: 36px;
	width: 100% !important;
	font-size: 14px;
}

.text-start .button-container:hover {
	transform: translateY(-3px);
}

.text-start .button-container button:hover {
	animation-delay: 0.06s;
}

.text-start .mask {
	font-weight: 700;
}

#map-inner {
	cursor: move;
}

.dot-tooltip {
	position: relative;
	width: 100px;
	height: 65px;
	border-radius: 8px;
	border: 2px solid #3cfff9;
	color: #ebebeb;
	text-shadow: 0 1px 2px black;
	line-height: 1.45;
	padding: 10px;
	text-align: center;
	font-size: 13px;
	left: calc(50% + 8px);
	top: -42px;
	transform: translate(-50%, -50%);
	opacity: 0;
	display: none;
	z-index: 12;
	backdrop-filter: blur(5px);
	background: linear-gradient(to top, rgba(0, 0, 0, .9), rgba(0, 0, 0, .6));
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
	transition: .3s ease;
}

.dot-tooltip::before {
	content: "";
	position: absolute;
	bottom: -18px;
	left: 0;
	width: 100%;
	height: 36px;
}

.dot-tooltip:hover,
.dot-tooltip:focus {
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5), 0 0 25px 8px rgb(43 204 199 / 50%);
	transition: .5s ease;

	.arrow-icon {
		border-top: 7px solid black;
		transition: .3s ease;
	}
}

.map-marker:hover-out {
	animation: hide-tooltip .3s ease-in forwards;
}

@-webkit-keyframes "hide-tooltip" {
	0% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

.map-marker:hover>.dot-tooltip,
.map-marker:focus>.dot-tooltip {
	display: block;
	animation: show-tooltip .4s ease-in forwards;
}

@-webkit-keyframes "show-tooltip" {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.arrow-container {
	position: relative;
	width: 9px;
	height: 9px;
}

.arrow-container::before {
	content: "";
	position: absolute;
	top: 14px;
	left: 29px;
	width: 0;
	height: 0;
	z-index: 1;
	border-left: 9px solid transparent;
	border-right: 9px solid transparent;
	border-top: 9px solid #00FFFF;
}

.arrow-icon {
	position: absolute;
	top: 12px;
	left: 31px;
	width: 0;
	height: 0;
	z-index: 2;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-top: 7px solid rgb(0 0 0 / 94%);
}

.list-arrow-icon {
	height: 0;
}

@media only screen and (max-width: 767px) {

	.button-container,
	.button-container button,
	.mask {
		width: 74px;
	}

	.dropdown-menu {
		right: 0 !important;
		left: -10vw !important;
	}

	.list-arrow-icon {
		display: none;
	}
}

@media only screen and (min-width: 678px) and (max-width: 991px) {
	.object-pos-lg {
		object-position: center -110px;
	}
}

@media only screen and (max-width: 990px) {
	.object-pos-40 {
		object-position: center -60px;
	}
}

@media only screen and (min-width: 991px) {
	.object-pos-20 {
		object-position: center -20px;
	}

	.object-pos-40 {
		object-position: center -40px;
	}

	.object-pos-30 {
		object-position: 0 -30px;
	}
}

@media only screen and (min-width: 540px) and (max-width: 768px) {
	.object-pos-40 {
		object-position: center bottom !important;
	}
	.object-tall-wigs {
		object-position: center -70px !important;
	}
}

body {
		position: relative;
}
#wrapper {
	  position: relative;
	  min-height: 100vh;
}

#copyright {
		position: absolute;
		bottom: 0;
    width: 100%;
    padding: 1.5rem;
    text-align: center;
    background: #efefef;
}

.home #copyright {
		position: relative;
    width: auto;
    padding: 0;
    margin-top: -40px;
    margin-left: 20px;
    z-index: 2;
    position: relative;
    color: #ffffff;
    opacity: 0.55;
    font-size: 14px;
    text-align: left;
    background: transparent;
}

.fw-400 {
	font-weight: 400 !important;
}

/****************************** 
******************************* 
POST STYLES
******************************* 
******************************/

.post-container {
    margin-bottom: 6rem;
    min-height: calc(100vh - 600px);
}

ul.sidebar-container {
	list-style: none;
}

#sidebar {
    background: url(https://motomemo.world/wp-content/uploads/2026/01/post-it2.png) no-repeat center center;
    background-size: contain;
    max-width: 300px;
    min-height: 240px;
    aspect-ratio: 1 / 1;
    filter: drop-shadow(0px 5px 4px #00000052);
}

@media only screen and (min-width: 991px) {
    #sidebar {
        min-height: 270px;
    }
}

#sidebar ul {
    font-family: "Playpen Sans", quicksand, sans-serif !important;
    text-align: center;
    transform: skew(4deg, -2deg);
}

#sidebar ul li li a {
    text-decoration: none;
}

.category-sidemenu li a:hover {
    color: #ff4500;
}

.post-hero {
		background: linear-gradient(rgba(18, 18, 70, 0.5), rgba(0, 0, 0, 0.5)), url(https://motomemo.world/wp-content/uploads/2026/01/sky-banner.jpg) no-repeat center center;
    background-size: cover;
    min-height: 400px;
    display: flex;
    align-items: center;
}

/****************************** 
******************************* 
POST INDEX STYLES
******************************* 
******************************/

.index-post-image-link {
    border-radius: 12px;
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
}

.attachment-post-thumbnail {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 12px;
    transform: scale(1.0);
		transition: all 0.6s ease-out;
}

.index-post-image-link:hover .attachment-post-thumbnail {
	transform: scale(1.3);
	transition: all 8s ease-out;
}

main article:nth-of-type(1) .index-post-item {
    border: none !important;
}

.btn-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--brand-salmon);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: opacity 0.2s;
}

.nav-next, .nav-previous  {
	margin-bottom: 1rem;
}

.nav-next a, .nav-previous a  {
		display: flex;
    justify-content: center;
    border: 1px solid #121246;
    background: transparent;
    color: #121246;
    border-radius: 40px;
    text-decoration: none;
    transition: 0.3s ease;
}

.nav-previous a  {
    padding: 7px 24px 7px 16px;
}

.nav-next a  {
    padding: 7px 16px 7px 24px;
}

.nav-next a:hover, .nav-previous a:hover,
.nav-next a:focus, .nav-previous a:focus {
    border: 1px solid #121246;
    background: #121246;
    color: #e0e0e0;
    transition: 0.3s ease;
}

.nav-links .meta-nav {
    margin: 0 5px;
}

@media only screen and (min-width: 991px) {
.nav-links {
    display: flex;
    justify-content: space-between;
}
.nav-next a, .nav-previous a  {
		display: block;
}
}

h1.post-tag,
h1.entry-title,
h1.post-title {
    font-family: "Playpen Sans", quicksand, sans-serif !important;
    font-weight: 300 !important;
}

.entry-content h2,
h2.entry-title {
    font-family: "Playpen Sans", quicksand, sans-serif !important;
    font-weight: 400 !important;
}

.post-title.fs-6 {
    letter-spacing: 0.5px;
}
