@keyframes border-dance {
	0% {
		background-position: left top, right bottom, left bottom, right   top;
	}
	100% {
		background-position: left 15px top, right 15px bottom , left bottom 15px , right   top 15px;
	}
}

@keyframes fly {
	0% {
		transform: scale(1);
	}
	15% {
		transform: scale(0.8) rotate(0);
	}
	100% {
		transform: scale(0.8) translate(100vw, -130vh);
	}
}

@keyframes fadein {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 100%;
	}
}

html, body
{
    font-family: 'Montserrat', arial, sans-serif;
    font-size:16px;
	font-weight:500;
	width:100%;
    height:100%;
	margin:0;
	padding:0;
}

pre
{
	font-family: 'Montserrat', arial, sans-serif;
	font-size:16px;
	font-weight:500;
	margin:0;
	white-space: break-spaces;
}

body.light
{
	color: #666666;
	background-color: #f6f8fa;
}

body.dark
{
	color: #666666;
	background-color: #1b1e21;
}

textarea::-webkit-scrollbar,
body::-webkit-scrollbar
{
	width: 10px;
}

textarea::-webkit-scrollbar-track,
body::-webkit-scrollbar-track
{
	/*-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);*/
}

textarea::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb
{
	outline: none !important;
	border-radius:5px;
}

body.light textarea::-webkit-scrollbar-thumb,
body.light::-webkit-scrollbar-thumb
{
	background-color: #c4d5ea;
}

body.dark textarea::-webkit-scrollbar-thumb,
body.dark::-webkit-scrollbar-thumb
{
	background-color: #33383d;
}

.search
{
	width: calc(100% - 80px);
	position:relative;
	top:15px;
	left:50%;
	transform:translateX(-50%);
	padding-bottom:40px;
}

.search form
{
	width:100%;
	position: relative;
	line-height: 0;
}

.search textarea
{
	width:100%;
	/*height: 250px;*/
	padding: 12px 20px;
	box-sizing: border-box;
	/*border: 2px dashed #9caabb;*/
	border-radius: 4px;
	font-family: 'Montserrat', arial, sans-serif;
	font-size: 16px;
	font-weight:500;
	color: #7d8997;
	resize: none;
	line-height: 1.5;
	transition: box-shadow .5s ease-in-out;
	overflow:hidden;
}

body.light .search textarea
{
	background-color: #fff;
	border: 1px solid #a0aaba;
}

body.dark .search textarea
{
	background-color: #000;
	border: 1px solid #5a6067;
}

.search textarea:focus
{
	outline: none !important;
}

body.light .search textarea:focus
{
	box-shadow: 0 0 20px rgba(160, 170, 186, 0.4);
}

body.dark .search textarea:focus
{
	box-shadow: 0 0 20px rgb(90, 96, 103, 0.4);
}

.search textarea::placeholder
{
	font-style: italic;
}

body.light .search textarea::placeholder
{
	color: #b5c6d9;
}

body.dark .search textarea::placeholder
{
	color: #4c5059;
}

.search button
{
	padding: 8px 12px;
	font-size: 17px;
	font-weight:500;
	/*margin-top:10px;*/
	/*font-weight: 600;*/
	background-color: #9caabb;
	border: 1px solid #9caabb;
	border-top-left-radius: 4px;
	border-bottom-right-radius: 4px;
	cursor: pointer;
	position: absolute;
	bottom: 0;
	right: 0;
	min-width:40px;
	transition: all .2s ease-in-out;
	/*overflow:hidden;*/
}

body.light .search button
{
	color: #e4e7ef;
	background-color: #9caabb;
	border: 1px solid #9caabb;
}

body.dark .search button
{
	color: #000;
	background-color: #3d4349;
	border: 1px solid #3d4349;
}

.search button:disabled
{
	color: #fff;
	cursor:not-allowed;
}

body.light .search button:disabled
{
	background-color: #9caabb;
	border: 1px solid #9caabb;
}

body.dark .search button:disabled
{
	background-color: #3d4349;
	border: 1px solid #3d4349;
}

body.light .search button:not(:disabled):hover
{
	background-color: #adbcce;
	border-color: #adbcce;
}

body.dark .search button:not(:disabled):hover
{
	background-color: #555d65;
	border: 1px solid #555d65;
}

.search button .fa-paper-plane
{
	/*transition: transform .1s ease-in-out;*/
}

.search button.clicked .fa-paper-plane
{
	animation-name: fly;
	animation-duration: 2s;
	animation-fill-mode: forwards;
	animation-timing-function: ease-in;
	/*filter:drop-shadow(0 0 10px black);*/
}

p.results
{
	font-weight:500;
	line-height: 1.5;
	margin: 20px 0 0 0;
}

p.previous-results
{
	margin: 1em 0 0 0;
}


.theme-switch-wrapper {
	display: flex;
	align-items: center;
	float:right;
	margin-bottom:10px;
	z-index: 1;
	position:relative;
}

.light-mode {
	margin-right: 10px;
	font-size: 18px;
}

.dark-mode {
	margin-left: 10px;
	font-size: 18px;
}

body.light .light-mode,
body.light .dark-mode
{
	color: #a0aaba;
}

body.dark .light-mode,
body.dark .dark-mode
{
	color: #5a6067;
}

.theme-switch {
	display: inline-block;
	height: 24px;
	position: relative;
	width: 50px;
}

.theme-switch input {
	display:none;
}

.slider {
	background-color: #a0aaba;
	bottom: 0;
	cursor: pointer;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: .4s;
}

.slider:before {
	background-color: #fff;
	bottom: 4px;
	content: "";
	height: 16px;
	left: 4px;
	position: absolute;
	transition: .4s;
	width: 16px;
}

input:checked + .slider {
	background-color: #ff0074;
}

input:checked + .slider:before {
	transform: translateX(26px);
}

.slider.round {
	border-radius: 14px;
}

.slider.round:before {
	border-radius: 50%;
}