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

/* minimal reset */
*,
*::before,
*::after {
	box-sizing: border-box;
}
html, body, h1, h2, h3, p, ul, ol, li, figure {
	margin: 0;
	padding: 0;
}
ul, ol {
	list-style: none;
}

html {
	font-size: 21px;
	line-height: 1.2;
}
body {
	position: relative;
	font-family: Nunito, sans-serif;
	line-height: 1.2;
	background: #c32401;
	color: #fff;
	text-align: center;
}
button {
	font-family: Nunito, sans-serif;
	font-size: 18px;
	line-height: 1.2;
}
@media (prefers-color-scheme: dark) {
	body {
		background: #111a2b;
		color: #f4f5f0;
	}
}

h1 {
	font-weight: 900;
	margin: 15px 0 30px;
	font-size: 33px;
	font-family: Nunito, sans-serif;
	line-height: 1;
}
h1 span {
	display: inline-block;
}
h2 {
	font-weight: 900;
	margin: 90px 0 15px;
	font-size: 30px;
	font-family: Nunito, sans-serif;
	line-height: 1;
}
h2 span {
	display: inline-block;
}
h3 {
	margin: 30px 0 3px;
	font-size: 24px;
	font-weight: 900;
	font-family: Nunito, sans-serif;
}
h3 span {
	display: inline-block;
}

p {
	margin: 15px 0;
}
p span {
	display: inline-block;
}
ul,
ol {
	margin: 0;
}
ul {
	list-style: none;
}
a {
	display: inline-block;
	padding: 0 6px;
	color: #fff;
	border-radius: 3px;
	text-decoration: none;
}

#title {
	position: relative;
	width: 90px;
	margin: 0 auto;
	padding: 6px 0;
	text-align: center;
}
#title a {
	display: inline-block;
	padding: 0;
	width: 60px;
	height: 60px;
	background: transparent url(/logo.svg) no-repeat 50% 50%;
	background-size: 45px;
	color: #222;
	text-indent: -4000em;
	background-position: 50%;
	transition: all .12s;
	line-height: 36px;
}

#menu {
	position: fixed;
	z-index: 3;
	top: 0;
	right: 0;
	width: 42px;
	height: 42px;
	font-size: 21px;
}
#menu ul {
	display: none;
	font-weight: 900;
}
#menu li {
	max-width: 360px;
	margin: 0 auto;
}
#menu ul a {
	display: block;
	padding: 6px 9px;
}
#menu.active {
	width: calc(100vw);
	height: calc(100vh);
	background: #c32401 url(/logo.svg) no-repeat 50% 9px;
	background-size: 60px;
}
#menu.active ul {
	display: block;
	margin: 120px 0 0;
}

#menu-onoff {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 36px;
	height: 36px;
	font-size: 0;
	color: transparent;
	background: #c32401 url(/icon-menu.svg) no-repeat 50% 50%;
	background-size: 24px;
}
#menu.active #menu-onoff {
	background: transparent url(/icon-close.svg) no-repeat 50% 50%;
	background-size: 18px;
}
#menu-app {
	margin-top: 36px !important;
}
#menu-app a span {
	padding-right: 36px !important;
	background: transparent url(/icon-next.svg) no-repeat 100% 50%;
	background-size: 24px;
}
@media (prefers-color-scheme: dark) {
	#menu.active { background-color: #111a2b; }
	#menu-onoff {
		background-color: #111a2b;
	}
}

#intro {
	position: relative;
	margin: 0;
	min-height: 1vh;
	z-index: 1;
}
#intro h1 {
	font-size: 30px;
	max-width: 450px;
	line-height: 1.2;
	margin: 6px auto 15px;
	padding: 0 6px;
}
#intro p span {
	display: inline-block;
}
#intro .line {
	display: block;
}
#intro .subline {
	margin: 24px auto 6px;
	padding: 0 6px;
	font-size: 21px;
	line-height: 1.3;
	font-weight: 900;
}
#intro .instantly,
#intro .radius {
	position: relative;
	display: inline-block;
}
#intro .instantly:after {
	display: none;
	content: '3 min - 6 hrs';
	position: absolute;
	top: 32px;
	right: 9px;
	color: #c32401;
	background-color: #fff;
	text-shadow: none;
	font-size: 15px;
	padding: 3px 6px;
	line-height: 1;
	border-radius: 3px;
}
#intro .radius:after {
	content: 'up to 600 m';
	position: absolute;
	top: -15px;
	right: 9px;
	background: #fff;
	color: #c32401;
	font-size: 15px;
	padding: 3px 6px;
	line-height: 1;
	border-radius: 3px;
	text-shadow: none;
}

#intro .bgdot {
	position: absolute;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	opacity: 0;
	transition: opacity .9s, transform .9s;
	background: transparent url(/marker-post.svg) 50% 50% no-repeat;
	background-size: 100%;
	box-shadow: 0 0 9px #ffffff;
	will-change: transform, opacity;
}
#intro .bgdot.enter {
	opacity: 0;
	transform: scale(0.9);
}
#intro .bgdot.show {
	opacity: .06;
	transform: scale(1);
}
#intro .bgdot.leave {
	opacity: 0;
	transform: scale(0.9);
}

@media (prefers-color-scheme: dark) {
	#intro .bgdot.show { opacity: .03; }
}


#intro .cta {
	margin: 30px auto 9px;
	padding: 0 6px;
}

#intro .cta .add {
	display: inline-block;
	margin: 0 0 9px;
	padding: 3px 18px;
	border-radius: 30px;
	background: #fff;
	color: #444;
	font-size: 22px;
	font-weight: 900;
	line-height: 36px;
}
#intro .cta .check  {
	display: inline-block;
	margin: 0 3px 0;
	padding: 0 12px;
	line-height: 36px;
	font-weight: bold;
	font-size: 18px;
	border-radius: 36px;
	color: #fff;
	background: transparent;
	border: 3px solid #fff;
}

#intro .quick {
	margin: 30px auto 30px;
	padding: 0 6px;
	font-weight: 900;
	font-size: 15px;
}

@media (prefers-color-scheme: dark) {
	#intro .cta .add { background: #c32401; color: #fff; }
	#intro .cta .check { }
}



#animation {
	margin: 60px auto 30px;
	padding: 0;
	border-radius: 50%;
	height: 300px;
	width: 300px;
	position: relative;
	z-index: 1;
	background: transparent url(./dalle-map.jpg) 50% 0% no-repeat;
	background-size: contain;
	outline: 12px solid #c32401;
	animation: shine 3s infinite;
}
@media (prefers-color-scheme: dark) {
	#animation  {
		outline: 12px solid #111a2b;
		animation: shinedark 3s infinite;
		color: #444;
	}
}

@media screen and (min-width: 480px) {
    #animation {
        height: 360px;
        width: 360px;
    }
}
@media screen and (min-width: 690px) {
    #animation {
        height: 540px;
        width: 540px;
    }
}

@keyframes shine {
	0%, 100% { box-shadow: 0 0 30px #111a2b; }
	50% { box-shadow: 0 0 60px rgb(7 20 45 / 31%); }
}
@keyframes shinedark {
	0%, 100% { box-shadow: 0 0 30px #111a2b; }
	50% { box-shadow: 0 0 60px #15316c; }
}


#animation .marker {
	position: absolute;
	bottom: 0;
	opacity: 0;
	width: 45px;
	height: 45px;
	text-align: left;
	text-indent: -1000em;
	background: transparent url(/marker-post.svg) 50% 50% no-repeat;
	background-size: 100%;
	border-radius: 50%;
	transition: opacity .6s, transform 0.9s ease-in-out;
	transform: rotate(-6deg);
	z-index: 1;
	box-shadow: 0 0 30px #fff;
	will-change: transform, opacity;
}
#animation .marker.one { transform: rotate(0); }
#animation .marker.two,
#animation .marker.four,
#animation .marker.five { transform: rotate(6deg); }
#animation .marker.three,
#animation .marker.six { transform: rotate(-6deg); }

#animation .marker.one.active { animation: pulsate3 3s, showup 6s; }
#animation .marker.two.active,
#animation .marker.four.active,
#animation .marker.five.active { animation: pulsate2 3s, showup 6s; }
#animation .marker.three.active,
#animation .marker.six.active { animation: pulsate 3s, showup 6s; }

#animation .marker.active img {
	position: absolute;
	background: #fff;
	bottom: 60px;
	left: -63.5px;
	width: 150px;
	height: auto;
	border-radius: 3px;
	padding: 0;
	text-indent: 0;
	text-align: center;
	font-size: 15px;
	line-height: 1.5;
	box-shadow: 0 0 30px #000;
	opacity: 0;
	animation: showup2 3s;
}

@keyframes showup {
	0%, 100% {
		opacity: 0;
		z-index: 1;
	}
	3%, 45% {
		z-index: 3;
	}
	6%, 90% {
		opacity: 1;
	}
}
@keyframes showup2 {
	0%, 3%, 96% {
		opacity: .3;
		z-index: 1;
	}
	6%, 90% {
		opacity: .9;
		z-index: 3;
	}
	9%, 51% {
		opacity: 1;
	}
}
@keyframes pulsate {
	0%, 100% { transform: scale(1) rotate(-6deg); }
	30%, 81% { transform: scale(1.2) rotate(0); }
}
@keyframes pulsate2 {
	0%, 100% { transform: scale(1) rotate(6deg); }
	30%, 81% { transform: scale(1.2) rotate(0); }
}
@keyframes pulsate3 {
	0%, 100% { transform: scale(1); }
	30%, 81% { transform: scale(1.2); }
}

#animation .marker.one { top: 15%; left: calc(50%); }
#animation .marker.two { top: 66%; left: calc(50% + 45px); }
#animation .marker.three { top: 42%; left: calc(50% - 75px); }
#animation .marker.four { top: 24%; left: calc(50% + 51px); }
#animation .marker.five { top: 66%; left: calc(60%); }
#animation .marker.six { top: 48%; left: calc(50% - 90px); }

#animation .marker.one img { width: 153px; left: -66px; }
#animation .marker.two img { width: 163px; left: -69px; }
#animation .marker.three img { width: 147px; left: -60.5px; }
#animation .marker.four img { width: 163px; left: -75px; }
#animation .marker.five img { width: 145px; left: -45px; }
#animation .marker.six img { width: 120px; left: -45px; }

#what-not {
	margin: 60px 0 0;
	padding: 60px 18px 120px;
}
#what-not h2 {
	margin: 0 0 15px
}

#what-not p {
	font-weight: 900;
}
#what-not .hint {
	display: inline-block;
	margin-top: 9px;
	font-size: 18px;
	font-weight: 400;
}
@media (prefers-color-scheme: dark) {
}

#description {
	position: relative;
	max-width: 630px;
	margin: 0 auto;
}
#description h2 {
	margin-top: 60px;
}
#description .lead {
	font-weight: 900;
	font-size: 21px;
	margin-bottom: 30px;
}
#description p strong { font-size: 21px; }

#about {
	position: relative;
	max-width: 630px;
	margin: 0 auto;
}
#about h2 {
	margin-top: 60px;
}
#about .lead {
	font-weight: 900;
	font-size: 21px;
	margin-bottom: 30px;
}
#about p strong { font-size: 21px; }


#contact {
	position: relative;
	max-width: 630px;
	margin: 0 auto;
	padding: 0 18px;
}
#contact h2 {
	margin-top: 60px;
}
#contact .mail {
	margin: 60px 0;
	font-size: 26px;
	font-weight: 900;
}
#contact .info {
	font-size: 18px;
	font-weight: 900;
}

#usecases {
	margin: 0 auto;
	padding: 30px 18px 90px;
}
#usecases h2 {
	max-width: 540px;
	margin: 30px auto 45px;
	font-weight: 900;
	font-size: 30px;
}
#usecases h2 .rt,
#usecases h2 .lb,
#usecases h2 .pa {
	font-size: 33px;
}

#usecases h3 {
	position: relative;
	margin: 0 0 14px;
	padding: 180px 0 0;
	line-height: 1;
}
#usecases h3:before {
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - 75px);
	display: block;
	margin: 0 auto;
	height: 150px;
	width: 150px;
	border-radius: 90px;
	outline: 6px solid #fff;
	outline-offset: 3px;
}
#usecases p {
	margin: 0 0 12px;
	font-size: 21px;
	line-height: 1.3;
}
#usecases .case {
	position: relative;
	margin: 90px auto 0;
	max-width: 420px;
}
#usecases .case h3 span {
	display: inline-block;
}
#usecases .case .action {
	margin-top: 30px;
}
#usecases .case .action a {
	display: inline-block;
	background: #fff;
	color: #444;
	padding: 6px 15px;
	border-radius: 30px;
	font-weight: 900;
	font-size: 18px;
}
#usecases .more {
	margin: 45px 0 15px;
}
#usecases .more a {
	display: inline-block;
	padding: 6px 18px;
	border: 3px solid #fff;
	font-size: 18px;
	font-weight: 900;
	border-radius: 30px;
}

#case1 {
	margin-top: 30px !important;
}

#case1 h3:before {
	background: transparent url(/emo-lost-dog.jpg) 50% 50% no-repeat;
	background-size: cover;
}
#case2 h3:before {
	background: transparent url(/emo-group.jpg) 50% 50% no-repeat;
	background-size: cover;
}
#case3 h3:before {
	background: transparent url(/emo-give-plant.jpg) 50% 50% no-repeat;
	background-size: cover;
}
@media (prefers-color-scheme: dark) {
	#usecases { background: #151d2e }
}

@media screen and (min-width: 810px) {
	#usecases .case {
		margin-top: 30px;
		display: inline-block;
		width: 33%;
		padding: 0 6px;
		vertical-align: top;
	}
}

#applications {
	max-width: 630px;
	margin: 0 auto;
	padding: 0 18px;
}
#applications .lead {
	margin-bottom: 60px;
	font-weight: 900;
	font-size: 21px;
}
#applications p strong { font-size: 21px; }

#applications .not-best {
	margin: 45px 0;
}
#applications .not-best a {
	position: relative;
	font-weight: 900;
}
#applications .not-best a:after {
	position: absolute;
	bottom: -3px;
	left: 0;
	content: '';
	width: 100%;
	height: 4px;
	border-radius: 3px;
	background: #fff;
}
#applications .cta {
	margin: 60px 0;
}
#applications .cta a {
	line-height: 36px;
}


#warning {
	position: relative;
	margin: 90px 6px;
	padding: 30px 30px 15px;
	border-radius: 6px;
	text-align: left;
	line-height: 1.2;
	border: 3px solid #fff;
	font-size: 21px;
	max-width: 630px;
}
#warning:before {
	content: "Warning";
	position: absolute;
	top: -15px;
	right: 60px;
	background: #fff;
	color: #c32401;
	padding: 3px 12px;
	border-radius: 3px;
	font-weight: 900;
}
#warning h2 {
	margin: 0 0 15px;
	font-size: 24px;
}
#warning h3 {
	margin: 30px 0 15px;
	font-size: 21px;
}
#warning li {
	margin: 15px 0;
}
#warning .safety-tips { display: none; }
#warning .safety-tips.open { display: block; }

#warning .more {
	margin: 30px 0 6px;
	text-align: center;
}
#safety-toggle {
	display: inline-block;
	border: 3px solid #fff;
	color: #fff;
	background: transparent;
	padding: 6px 18px;
	border-radius: 30px;
	font-weight: 900;
}

@media (prefers-color-scheme: dark) {
	#warning {
		border-color: #fff;
	}
	#warning:before {
		background: #c32401;
		color: #fff;
	}
}
@media screen and (min-width: 630px) {
	#warning {
		margin: 90px auto;
	}
}



#testimonials {
	max-width: 1200px;
	margin: 60px auto;
	padding: 60px 6px;
}
#testimonials blockquote {
	position: relative;
	margin: 60px 0 0;
	padding: 0 9px;
}
#testimonials h2 {
	margin-top: 0;
}
#testimonials p {
	line-height: 1.3;
	font-size: 18px;
}
#testimonials blockquote footer {
	text-align: center;
	font-weight: 900;
}
#testimonials blockquote:before {
	content: "”";
	font-size: 120px;
	position: absolute;
	top: -72px;
	left: calc(50% - 25px);
}
#testimonials blockquote + blockquote {
	margin-top: 90px;
}
@media (prefers-color-scheme: dark) {
	#testimonials {
		background: #151d2e;
	}
}

@media screen and (min-width: 810px) {
	#testimonials blockquote {
		margin-top: 90px;
		display: inline-block;
		width: 33%;
		vertical-align: top;
	}
}


#businesses {
	max-width: 630px;
	margin: 0 auto;
	padding: 0 18px;
}
#businesses .lead {
	margin-bottom: 60px;
	font-weight: 900;
	font-size: 21px;
}
#businesses p strong { font-size: 21px; }
#businesses .cta { 
	margin: 60px 0 0;
}
#businesses .cta .add { 
	line-height: 36px;
}

#prices {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 18px;
}
#prices .plan {
	position: relative;
	vertical-align: top;
	font-size: 21px;
	margin: 45px 6px 9px;
	padding: 0 12px;
	border: 3px solid #fff;
	border-radius: 9px;
}
#prices h3 {
	position: relative;
	top: -21px;
	line-height: 30px;
	display: inline-block;
	margin-top: 0;
	padding: 3px 9px;
	border-radius: 3px;
	color: #fff;
	background: #c32401;
	font-size: 21px;
	font-weight: 900;
	text-transform: uppercase;
}
#prices span { display: inline-block; }
#prices li + li { margin-top: 12px; }
#prices .price {
	font-weight: 900;
	margin-top: -9px;
}
#prices .single-price {
	display: block;
	font-size: 27px;
}
#prices .note {
	font-weight: 900;
}
#prices .action {
	display: inline-block;
	margin: 12px 0 18px;
	padding: 6px 18px;
	color: #444;
	background-color: #fff;
	font-weight: 900;
	border-radius: 24px;
}
@media (prefers-color-scheme: dark) {
	#prices { background: transparent; }
	#prices h3 { background: #111a2b; }
	#prices .plan { border-color: #fff; }
	#prices .action {
		background: #fff;
		color: #111a2b;
	}
}
@media screen and (min-width: 1024px) {
	#prices .plan {
		display: inline-block;
		width: calc(33% - 14px);
		vertical-align: top;
		min-height: 440px;
	}
}


#no-use {
	max-width: 720px;
	margin: 0 auto;
}
#no-use .lead {
	margin-bottom: 30px;
	font-weight: 900;
	font-size: 21px;
}
.cta .add,
.cta .check {
	display: inline-block;
	font-weight: 900;
	padding: 3px 18px;
	background: #fff;
	color: #444;
	border-radius: 30px;
}


#faq {
	margin: 0 auto;
	max-width: 630px;
	padding: 0 18px;
}
#faq .lead {
	margin-bottom: 45px;
}
#faq h2 {
	position: relative;
	margin: 0;
	padding: 15px 36px;
	border-top: 1px solid #ffffff45;
	font-weight: 900;
	font-size: 24px;
	cursor: pointer;
}
#faq h2:before {
	content: "+";
	font-size: 24px;
	position: absolute;
	left: 12px;
	top: 15px;
	opacity: .9;
	transition: transform .3s;
}
#faq h2.active:before {
	transform: rotate(45deg);
}
#faq p {
	font-size: 21px;
	line-height: 1.3;
}
#faq h2 + p {
	display: none;
	margin-top: 3px;
}
#faq h2.active {
	font-size: 30px;
}
#faq h2.active + p {
	display: block;
	padding: 0 36px 36px;
}

#faq-short {
	margin: 120px auto;
	max-width: 630px;
	padding: 60px 6px;
}
#faq-short h2 {
	margin: 90px 0 30px;
}
#faq-short h3 {
	position: relative;
	margin: 0;
	padding: 15px 6px 15px 36px;
	border-top: 1px solid #ffffff45;
	font-weight: 900;
	font-size: 21px;
	cursor: pointer;
	line-height: 1.2;
}
#faq-short h3:before {
	content: "+";
	font-size: 24px;
	position: absolute;
	left: 12px;
	top: 15px;
	opacity: .9;
	transition: transform .3s;
}
#faq-short h3.active:before {
	transform: rotate(45deg);
}
#faq-short p {
	font-size: 21px;
	line-height: 1.3;
}
#faq-short h3 + p {
	display: none;
	margin-top: 3px;
}
#faq-short h3.active {
	font-size: 30px;
}
#faq-short h3.active + p {
	display: block;
	padding: 0 36px 36px;
}
#faq-short .more {
	margin: 45px 0 15px;
}
#faq-short .more a {
	display: inline-block;
	padding: 6px 18px;
	border: 3px solid #fff;
	font-size: 18px;
	font-weight: 900;
	border-radius: 30px;
}

#quickguide {
	max-width: 630px;
	margin: 30px auto;
	padding: 30px 18px;
}
#quickguide ol {
	margin: 0 auto;
	padding: 0 6px 0 calc(50% - 102px);
	text-align: left;
	list-style: none;
}
#quickguide .number {
	display: inline-block;
	font-weight: 900;
}
#quickguide li + li {
	margin-top: 3px;
}
#quickguide .hint {
	font-size: 21px;
	font-weight: 900;
}
#quickguide .more {
	margin: 30px 0 60px;
}
#quickguide .more a {
	display: inline-block;
	padding: 6px 18px;
	border: 3px solid #fff;
	font-size: 18px;
	font-weight: 900;
	border-radius: 30px;
}


#guide {
	max-width: 630px;
	margin: 0 auto;
	padding: 0 18px;
}
#guide ol {
	margin: 0 auto;
	padding: 0 6px 0 calc(50% - 129px);
	text-align: left;
	list-style: numeric;
}
#guide .hint {
	font-size: 21px;
	font-weight: 900;
}
#guide .cta {
	margin-top: 60px;
	line-height: 36px;
}


#getstarted {
	margin: 60px auto;
	max-width: 480px;
}
#getstarted li {
	font-size: 30px;
	font-weight: 900;
}
#getstarted li + li { margin-top: 90px; }
#getstarted .number {
	display: block;
	margin: -24px auto 12px;
	font-size: 24px;
	width: 36px;
	height: 36px;
	line-height: 36px;
	border-radius: 50%;
	background: #fff;
	color: #c32401;
}
#getstarted .explain {
	display: block;
	margin: 6px auto 0;
	font-size: 21px;
	color: #fff;
	max-width: 72%;
	border: 1px solid #eaeaea;
	border-width: 0 0 0;
	padding: 6px 0 0;
}
@media (prefers-color-scheme: dark) {
	#getstarted .number { color: #111a2b; }
}



#socials {
	margin: 0;
	padding: 90px 6px 30px;
	background: #c32401;
}
@media (prefers-color-scheme: dark) {
	#socials { background-color: #111a2b; }
}
#socials h2 { display: none; }
#socials li { display: inline-block; margin: 0 15px; }
#socials .social {
	width: 45px;
	height: 45px;
	display: block;
	text-align: left;
	text-indent: -10000em;
	overflow: hidden;
}
#socials .facebook {
	background: transparent url(logo-facebook.svg) 50% 50% no-repeat;
	background-size: contain;
}
#socials .x {
	background: transparent url(logo-x.svg) 50% 50% no-repeat;
	background-size: contain;
}
#socials .instagram {
	background: transparent url(logo-instagram.svg) 50% 50% no-repeat;
	background-size: contain;
}
@media (prefers-color-scheme: dark) {
	#socials .facebook {
		background: transparent url(logo-facebook-white.svg) 50% 50% no-repeat;
		background-size: contain;
	}
	#socials .x {
		background: transparent url(logo-x-white.svg) 50% 50% no-repeat;
		background-size: contain;
	}
	#socials .instagram {
		background: transparent url(logo-instagram-white.svg) 50% 50% no-repeat;
		background-size: contain;
	}
}

#rules {
	padding: 120px 0 30px;
}
#rules p {
	font-size: 18px;
}
#rules a {
	font-weight: 900;
	padding: 3px 12px;
	border-radius: 18px;
}
#rules li { display: inline-block; margin: 6px; }
#rules .agelimit {
	margin-top: 30px;
	display: inline-block;
	width: 70px;
	line-height: 60px;
	background: #c32401;
	border-radius: 50px;
	font-size: 24px;
	border: 6px solid #fff;
}


#credits {
	margin: 60px 0 0;
	font-size: 21px;
	font-weight: 900;
}




