#sky {
   transition: background-color 1s linear;
} 

#horizont {
  position: sticky;
  top: 0;
  left: 0;
  width: 100vw;
  height: calc(6rem + 12vw)
  overflow-x: hidden;
	z-index: 11;
}
#sun {
  position: absolute;
  border-radius: 50%;
  width: 12vw;
  height: 12vw;
  transition: background-color 0s linear, width 1s linear, height 1s linear, top 3s linear, left 6s linear;
  /*z-index: 1;*/
} 
.day #sun {
  background-color: white;
} 
/*.day #sun::after {
  content: "";
  position: absolute;
  border-radius: inherit;
  top: 0;
	left: 0;
	width:100%;
	height: 100%;
	transform: scale(2.8, 2.2);
  background: white;
  filter: blur(1rem);
  opacity: 0.8;
	z-index: -1;
}*/
.sleepsun {
	display: none;
	background-color: rgba(0, 0, 0, 1);
  top: 0%;
	left: -10%;
	-webkit-box-shadow: 0px 0px 0rem 0px rgb(255,255,255);
	-moz-box-shadow: 0px 0px 0rem 0px rgb(255,255,255);
	box-shadow: 0px 0px 0rem 0px rgb(255,255,255);
  transition: 6s cubic-bezier(0.075, 0.82, 0.165, 1);
 } 
#star {
	position: absolute;
  width: 12vw;
  height: 12vw;
  transition: background-color 1s linear, width 1s linear, height 1s linear, top 1s linear, left 1s linear;
  transition: 1s;	
} 
.nightstar #star {
	filter: url("#goo");
} 
#love {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 1rem);
  height: 12vw;
  font-family: 'NewTitle-Medium';
  padding-left: 1rem;     
  font-size: 12vw;        
}
#love a {
  display: flex; 
  flex-direction: row;
  flex-wrap: nowrap;
}
.page{
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.analemma {
	  position: absolute;
    top: 0;
    left: -12vw;
    width: calc(100% + 12vw);
    height: 100%;
	}

.sleepstar {
		display: none;
    top: 133%;
    left: 100%;
    transition: 6s cubic-bezier(0.075, 0.82, 0.165, 1);
 } 
 .blank {
	position: relative;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1;          
} 

 #locationForm {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
		align-content: flex-start;
            }

/*  link  */
#love a:link {
                color: var(--light-text);
                text-decoration: none;
}

.line a:link{ 
	font-family: 'NewTitle-Medium';
  color: var(--light-text);
  font-size: 6rem;
  display: flex;
  text-decoration: none;
	flex-direction: row;
  flex-wrap: nowrap;
  align-items: baseline;
  align-content: flex-start;
  justify-content: center;
	}
            .line a:visited {
                color: var(--light-text);
                text-decoration: none;
            }
            .line a:hover  {
                color: var(--light-text);  
								text-decoration: none !important;
    }

            .dot{
                /*background-color: var(--light-text); */
                width: 12vw;
                height: 12vw; 
                display: block;
                border-radius: 50%;
                margin-top: .05em;
							  margin-left: 0.2rem;
							  margin-right: 0.2rem;
            }
            .night {
                display: flex !important;
                justify-content: flex-start;
                align-items: flex-start;
                }
.day {
	/*background-color: white;*/
	background-color: light-dark(var(--light-bg), var(--dark-bg))!important;
}
.center{
		text-align: center;
		/*padding-left:0.5rem;
padding-right:0.5rem;*/
	}
.modal-content .line .dot{
                
                width: 3.4rem;
                height: 3.4rem; 
                
            }
.modal-content .line a:link{ 

                font-size: 4rem;
	}
		.evening {
       background-size: 100% 100vh;
		    background-attachment: fixed;
       animation-name: sunrise;
			/*animation-duration: 20s;*/
		
        }
@keyframes sunrise {
    0%{
      box-shadow: 
  0 70vh 30vh -40vh rgba(255,255,255,1) inset,
  0 -70vh 30vh -40vh rgba(255,255,255,1) inset;
  background-color: rgba(255,255,255,1);
     }
    20%{
  box-shadow: 
  0 70vh 30vh -40vh rgba(153,153,255,1) inset,
  0 -70vh 30vh -40vh rgba(255,255,255,1) inset;
  background-color: rgba(204,255,255,1); /*0,0,255,1*/
      }
  40%{
   box-shadow: 
  0 70vh 30vh -40vh rgba(255,0,0,1) inset,
  0 -70vh 30vh -40vh rgba(153,153,255,1) inset; /*203*/
  background-color: rgba(255,0,0,1);
  }
   60%{
   box-shadow: 
  0 70vh 30vh -40vh rgba(0,0,0,1) inset,
  0 -70vh 30vh -40vh rgba(255,0,0,1) inset;
  background-color: rgba(80,0,0,1);
  }
  100%{
      box-shadow: 
  0 70vh 30vh -40vh rgba(0,0,0,1) inset,
  0 -70vh 30vh -40vh rgba(0,0,0,1) inset;
  background-color: rgba(0,0,0,1);
     }
}

	.morning {
     background-size: 100% 100vh;
		background-attachment: fixed;
      animation-name: sunset;
		/*animation-duration: 20s;*/
		
            
        }
@keyframes sunset {
    0%{
      box-shadow: 
  0 70vh 30vh -40vh rgba(0,0,0,1) inset,
  0 -70vh 30vh -40vh rgba(0,0,0,1) inset;
  background-color: rgba(0,0,0,1);
     }
    20%{
  box-shadow: 
  0 70vh 30vh -40vh rgba(0,60,100,1) inset,
  0 -70vh 30vh -40vh rgba(0,153,255,1) inset;
  background-color: rgba(0,153,255,1); /*0,0,255,1*/
      }
  40%{
   box-shadow: 
  0 70vh 30vh -40vh rgba(0,153,255,1) inset,
  0 -70vh 30vh -40vh rgba(0,183,255,1) inset; /*203*/
  background-color: rgba(0,153,255,1);
  }
   60%{
   box-shadow: 
  0 70vh 30vh -40vh rgba(0,153,255,1) inset,
  0 -70vh 30vh -40vh rgba(255,255,255,1) inset;
  background-color: rgba(0,183,255,1);
  }
  100%{
      box-shadow: 
  0 70vh 30vh -40vh rgba(255,255,255,1) inset,
  0 -70vh 30vh -40vh rgba(255,255,255,1) inset;
  background-color: rgba(255,255,255,1);
     }
}

	.morningstar {
			animation-name: morningstar;
			/*animation-duration: 20s;*/    
		  /*animation: morningstar 60s ease-out 1 running;*/
        }
@keyframes morningstar {
    	0%{ background-color: rgba(255,255,255,1);} 
      70%{background-color: rgba(255,85,90,1);} 
      100%{background-color: rgba(0,0,0,1);}    
}
	.eveningstar {
			/*margin-left: -12vw;*/
			animation-name: eveningstar;
			/*animation-duration: 20s;*/  
			/*animation: eveningstar 60s ease-out 1 running;*/
        }
@keyframes eveningstar {
    	0%{ background-color: rgba(0,0,0,1);} 
      70%{background-color: rgba(255,85,90,1);} 
			86%{background-color: rgba(255,255,255,1);}
      100%{background-color: rgba(255,255,255,1);}    
}


/* Modal Content/Box */


.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 100; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: hidden; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,1); /* Black w/ opacity */
}
.modal p {font-size: 1.4rem;}


.modal-content {
    /*background-color: white;
		border: 2px solid white;*/
    margin: 15% auto;
    padding: 2vw;
    
    width: 80%;
    height: 50%;
    border-radius: 3vw;
    color: white;
    font-size: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.2;
    justify-content: flex-start;
	grid-area: 1 / 1;
  z-index: 10;
	/*filter: invert(100%);*/
}
.dayy .modal-content {
	color: black;
}
.dayy .line a:link {
	color: black !important;
	}
.dayy input[type=text]{
	color: black !important;
	border: solid 2px black !important;
	}
.dayy input[type=text]:focus {
  color: black !important;
	border: solid 2px black !important;
}
.dayy input::placeholder {
  color: black !important;
}
.dayy .dot {
  background-color: black !important;
}
.modal .line a:link {
	color: white;
	}
.modal input[type=text]{
	color: white;
	border: solid 2px white;
	}
.modal input[type=text]:focus {
  color: white;
	border: solid 2px white;
}
.modal input::placeholder {
  color: white ;
}
.modal .dot {
  background-color: white;
}

.sky{
	grid-area: 1 / 1;
  z-index: 1;
   width: 100vw;
   height: 100vh;
} 

.modal .evening {
	  
	animation: sunrise 12s 1;
	animation-fill-mode: forwards;
	/*animation-delay: 30s; infinite*/
}
.modal .morning {
	 
	animation: sunset  12s 1;
	animation-fill-mode: forwards;

	
}
 
.horizont {
  grid-area: 1 / 1;
  z-index: 3;
  width: 100%;
  height: 50%;
  overflow: hidden;
	
}
.analemma-two{
	grid-area: 1 / 1;
  z-index: 3;
    position: relative;
    width: calc(100% - 12vw);
    height: 100%;
    top: 6vw;
    left: 6vw;
}
.sun {
  position:absolute;
	top:100%;
	left: 0;
  z-index: 4;
 border-radius: 50%;
  width: 12vw;
  height: 12vw;


} 
.dayy .sun {background-color: black;
}
.sunstart{
	background-color: white;
	offset-path: ellipse(50% 100% at 50% 100%); /*circle(50% at 50% 100%); ellipse(80% 80% at right);*/
  animation: sunmove 24s 1 linear /*infinite alternate ease-in-out*/;
}
@keyframes sunmove {
  0% {
    offset-distance: 25%;
  }
  100% {
    offset-distance: 100%;
  }
}

.star {
	position:absolute;
	top:100%;
	left: 0;
  z-index: 4;
	border-radius: 50%;
	
  width: 12vw;
  height: 12vw;
  
} 
.starstart{
	background-color: white;
	offset-path: ellipse(50% 100% at 50% 100%);
  animation: starmove 16s 1 linear /*infinite alternate ease-in-out*/;
}
@keyframes starmove {
  0% {
    offset-distance: 100%;
  }
  100% {
    offset-distance: 0%;
  }
}


/* Text */


.onebig {
		font-family: 'NewTitle-Medium';
    color: var(--light-text);
    font-size: 5rem;
		line-height: 7rem;
		text-align: center;
	}

.toobig {
		font-family: 'NewTitle-Medium';
    color: var(--light-text);
    font-size: 11.1rem;
		line-height: 7rem;
		text-align: center;
		margin-top: 2rem;
		font-kerning: normal;
	}


/* The Close Button */
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}
/*desktop style*/
@media only screen and (min-width: 800px) and (max-width: 8200px) {
	 #Form {    
     width: calc(100vw - .8rem);			
		 padding-right: 50%; /*70*/
		 padding-left: 20%;
            }
      #sun, .sun {
            width: 6vw;
            height: 6vw;
        }  
	 #star, .star {
            width: 6vw;
            height: 6vw;
        } 
	#Countdown {

	line-height: 8rem;
	}
	#CountdownTime {
text-align: left;
	}
#CountdownText {
	text-align: left;
	}
				#horizont {
	height: calc(6rem + 6vw);
		}
	#love {
	height: 6vw;
		font-size: 6vw;
		}
		.dot {
			width: 6vw;
	height: 6vw;
		}

	.line a:link{ 
    justify-content: flex-start;
}
		.eveningstar {
			/*margin-left: -6vw;*/
            content: "";
			}
	.analemma {
    left: -6vw;
			width: calc(100% + 6vw); /*(6vw + .8em)*/
}
	.analemma-two{
    width: calc(100% - 6vw);
    top: 3vw;
    left: 3vw;
}
			.center{
		text-align: left;

	}

    .modal {
      display: none; /* Hidden by default */
      position: fixed; /* Stay in place */
      z-index: 100; /* Sit on top */
      left: 0;
      top: 0;
      width: 100%; /* Full width */
      height: 100%; /* Full height */
      overflow: auto; /* Enable scroll if needed */
      background-color: rgb(0,0,0); /* Fallback color */
      background-color: rgba(0,0,0,1); /* Black w/ opacity */
    }
    
    /* Modal Content/Box */
    .modal-content {
        
        margin: 15% auto;
        padding: 6vw;
        
        width: 60%;
        height: 50%;
        border-radius: 6vw;
        
        font-size: 2rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        
        justify-content: flex-start;
      
    }
	.beam {
  width: 4vw !important;
  height: 4vw !important;
		}
}
 /* dark theme */
@media (prefers-color-scheme: dark) {
  #Form {
  /*color: var(--dark-text);*/
  }
  #sun {
  /*filter: invert(100%);*/
  content: "";
  }
  #sky{
   /*filter: invert(100%); */
   content: "";
  }
}

@keyframes beam-left-top-anim {
  0% {
    transform: scale(1) translate(0, 0);
  }
  25% {
    transform: scale(0.5) translate(-50%, -50%);
  }
  50% {
    transform: scale(1) translate(0, 0);
  }
  75% {
    transform: scale(0.5) translate(50%, 50%);
  }
  100% {
    transform: scale(1) translate(0, 0);
  }
}
@keyframes beam-right-top-anim {
  0% {
    transform: scale(1) translate(0, 0);
  }
  35% {
    transform: scale(0.5) translate(0, -50%);
  }
  50% {
    transform: scale(1) translate(0, 0);
  }
  85% {
    transform: scale(0.5) translate(0, 50%);
  }
  100% {
    transform: scale(1) translate(0, 0);
  }
}
@keyframes beam-left-bottom-anim {
  0% {
    transform: scale(1) translate(0, 0);
  }
  25% {
    transform: scale(0.5) translate(-50%, 0);
  }
  50% {
    transform: scale(1) translate(0, 0);
  }
  75% {
    transform: scale(0.5) translate(50%, 0);
  }
  100% {
    transform: scale(1) translate(0, 0);
  }
}
@keyframes beam-right-bottom-anim {
  0% {
    transform: scale(1) translate(0, 0);
  }
  25% {
    transform: scale(0.5) translate(50%, -50%);
  }
  50% {
    transform: scale(1) translate(0, 0);
  }
  75% {
    transform: scale(0.5) translate(-50%, 50%);
  }
  100% {
    transform: scale(1) translate(0, 0);
  }
}
.beam {
  position: absolute;
  background: white;
  left: 50%;
  top: 50%;
  width: 6vw;
  height: 6vw;
  line-height: 1;
  text-align: center;
  font-size: 40px;
  border-radius: 100%;
  /*margin-top: -3vw;
  margin-left: -3vw;*/
  animation: beam-left-top-anim cubic-bezier(0.77, 0, 0.175, 1) 30s infinite;
}
.beam:nth-child(2) {
  animation-name: beam-right-top-anim;
  animation-delay: 2s;
}
.beam:nth-child(3) {
  animation-name: beam-left-bottom-anim;
  animation-delay: 4s;
}
.beam:nth-child(4) {
  animation-name: beam-right-bottom-anim;
  animation-delay: 8s;
}
.beam:nth-child(5) {
  animation: none;
  font-size: 26px;
  position: relative;
}
.down{
	display: flex;
    align-content: center;
    flex-direction: column;
    justify-content: flex-end;
    height: 100vh;
}
.slogan{
	position:relative;
	overflow: hidden;
	text-transform: uppercase;
	width: 96%;
  height: 6rem;
	color: var(--light-text);
	font-size: 6rem;
	white-space: nowrap;
  text-overflow: ellipsis;
}
.slogananimation section{
	position:absolute;
	top: 100%;
	left: 0%;
	animation: up cubic-bezier(0.075, 0.82, 0.165, 1) 6s 1;
}
.slogananimation section:nth-child(2){
animation-delay: 4s;
}
.slogananimation section:nth-child(3){
animation-delay: 8s;
}
.slogananimation section:nth-child(4){
animation-delay: 12s;
}

@keyframes up {
  0% {
    top: 100%;
  }
  25% {
    top: 0%;
  }
  60% {
    top: 0%;
  }
	70% {
    top: 100%;
  }
  100% {
    top: 100%;
  }
}

