:root {
  --slat-border:2px;
  --slat-rotation:rotateX(-85deg);
  --string-color:dimgray;
}
* {
  box-sizing:border-box;
}

html {
  background:url('https://media.gettyimages.com/photos/street-with-old-fashioned-1950s-style-working-class-bungalows-picture-id1227647731?s=2048x2048');
  /*   background:url('https://media1.tenor.com/images/1653820f3e094d991bd77532a1b5c624/tenor.gif?itemid=7344272'); */
  background-size:cover;
  background-position:center bottom;
  min-height:100vh;
  /*   background-position:50% 0; */
  overflow: hidden;
}
body {
  margin:0;
  padding:0;
}

img {
  position: absolute;
  left: 41%;
  top: 41%;
}
#window_container {
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  left:0;
}
#window_container:before {
  content:'';
  width:2px;
  height:100%;
  background:var(--string-color);
  position:absolute;
  top:0;
  left:1em;
  box-shadow:0 -2px 10px rgba(0,0,0,.5);
}
#window_container:after {
  content:'';
  width:2px;
  height:100%;
  background:var(--string-color);
  position:absolute;
  top:0;
  left:calc(100% - 1em);
  box-shadow:0 -2px 10px rgba(0,0,0,.5);
  z-index:-1;
}

.open_blinds .blind_slat {
  animation:open_blinds .5s linear forwards;
}

.blind_slat {
  width:100%;
  height:10vh;
  background:
    radial-gradient(ellipse, lightgray 75%, transparent 75%),
    radial-gradient(ellipse, lightgray 75%, transparent 75%),
    url("../img/retina-wood.png"),
    linear-gradient(to bottom, gray 5%, ivory 20%, #aaa);
  background-size:10px 35px, 10px 35px, auto auto, auto auto;
  background-repeat:no-repeat,no-repeat,repeat,repeat;
  background-position:.75em 60%, calc(100% - .65em) 60%, 0 0, 0 0;
  backdrop-filter:blur(8px);
  /*   border-bottom:var(--slat-border) solid lightgray; */
  box-shadow:0 10px 10px rgba(0,0,0,.25);  
  position:relative;
}

.blind_slat:before {
  content:'';
  width:2px;
  height:74%;
  background:var(--string-color);
  position:absolute;
  left:1em;
  box-shadow:0 0 5px rgba(0,0,0,.5);
}
.blind_slat:after {
  content:'';
  width:2px;
  height:74%;
  background:var(--string-color);
  position:absolute;
  left:calc(100% - 1em);
  box-shadow:0 0 5px rgba(0,0,0,.5);
}

#open_string {
  position:fixed;
  width:50px;
  height:75px;
  background:
    linear-gradient(to bottom, lightgray, white, lightgray);
  right:10%;
  top:5%;
  border-radius:100% 100% 75% 75%;
  cursor:grab;
  box-shadow:
    inset 0 0 0 3px white,
    0 5px 10px rgba(0,0,0,.5);
  font-size:28px;
  text-align:center;
  line-height:65px;
  color:gray;
  animation:pull 4s linear infinite;
  transform-origin:center -100vh;
}
#open_string:before {
  content:'';
  width:5px;
  height:100vh;
  background:linear-gradient(to right, lightgray, white, lightgray);
  position:absolute;
  left:calc(50% - 2.5px);
  transform:translateY(-100%);
  box-shadow:0 -2px 10px rgba(0,0,0,.5);
}

@keyframes pull {
  25% { transform:rotate(1deg); }
  75% { transform:rotate(-1deg); }
}

.grabbing {
  cursor:grabbing !important;
}

#hero-text {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  transition:.75s;
  user-select:none;
}
#hero-text h1 {
  color: white;
  font-size: 20vmin;
  font-weight: bold;
  line-height: 100%;
  font-family:cursive;
  transform:skewY(-10deg);
  text-shadow:1vmin 1vmin 0 #444, 2vmin 2vmin 0 #222, 3vmin 3vmin 0 #000;
}