:root {
    --rotation-animation-speed: 2s;
	--rotation-animation-easing: linear;
	--stroke-animation-speed: 1.5s;
	--stroke-animation-easing: ease-in-out;
	--stroke-width: 4px;
	--stroke-start-dasharray: 1, 200;
	--stroke-end-dasharray: 89, 200;
}

.loader, #result_window{
	position: fixed;
	top:0; left: 0;
	background: rgba(255, 255, 255, .85);
	height: 100%; width: 100%;
	min-height: 100px;
	z-index: 1;
}

#result_window{
	display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;
}
#result_window > div{min-width: 300px; flex: 1;}
#result_window > div:nth-child(2) {flex: 0.1; justify-items: center;}
#result_window > div > input{margin: 0 0 10px 0; max-width: 250px;}

.loader > div{
	position: absolute;
	left: 50%; top: 50%;
    width: 50px;  height: 50px;
	transform: translate(-50%, -50%);
}

.circular-loader {
    animation: rotate var(--rotation-animation-speed) var(--rotation-animation-easing) infinite;
}

.loader-path {
    fill: none;
    stroke-width: var(--stroke-width); 
    animation: animate-stroke var(--stroke-animation-speed) var(--stroke-animation-easing) infinite;
    stroke-linecap: round;
}

@keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}

@keyframes animate-stroke {
    0% {
        stroke-dasharray: var(--stroke-start-dasharray);
        stroke-dashoffset: 0;
        stroke: var(--color-green);
    }
    50% {
        stroke-dasharray: var(--stroke-end-dasharray);
        stroke-dashoffset: -35;
        stroke: var(--color-orange);
    }
    100% {
        stroke-dasharray: var(--stroke-end-dasharray);
        stroke-dashoffset: -124;
        stroke: var(--color-green);
    }
}