:root{
  --primary: #267FFF;
  --gray: #ced6de;
  --dark-gray: #6a7075;
}

*{
  box-sizing: border-box;
}
html, body{
  height: 100%;
  padding: 0;
  margin: 0;
}
body{
  font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, roboto, noto, arial, sans-serif;
  background: #F2F6FF;
}
header img{
  width: auto;
  max-width: 100%;
  height: 50px;
  margin: 15px auto;
  filter: drop-shadow(0 0 20px rgba(185, 205, 250));
}
h1, h2, h3, h4{
  margin: 0;
}
p{
  margin: 0 0 8px 0;
}
.content{
  display: flex;
  text-align: center;
  align-items: center;
  flex-direction: column;
  height: 100%;
}
main{
  flex: 1;
  vertical-align: middle;
  flex-direction: column;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
}
.box{
  text-align: left;
  width: 450px;
  max-width: 100%;
  padding: 30px 35px;
  margin: 25px 0;
  background: white;
  border-radius: 8px;
  box-shadow: 0px 0px 20px 0 rgba(185, 205, 250, .35);
}
.box h1{
  font-size: 1.6em;
  font-weight: 800;
}
.box h3{
  font-size: 1.2em;
  margin: 5px 0 24px 0;
  font-style: italic;
  color: var(--dark-gray);
}
.trending{
  text-align: center;
  margin: 25px auto 15px auto;
}
.trending h4{
  color: var(--dark-gray);
}
.trending h4 svg{
  stroke: var(--dark-gray);
  height: 1.2em;
  width: 1.2em;
  margin: -2px 0;
}
.trending p{
  margin: 10px 0;
}
.trending p a{
  color: inherit;
  opacity: 0.85;
  text-decoration: underline;
}
.video-entries{
  width: 100%;
  min-height: 200px;
  overflow-x: scroll;
  overflow-y: hidden;
  white-space: nowrap;
  margin: 25px auto 15px auto;
}
.video-entry-link{
  color: black;
  text-decoration: none;
}
.video-entry{
  display: inline-block;
  border-radius: 9px;
  margin: 17px 7px;
  background: white;
  box-shadow: 0px 0px 20px 0 rgba(185, 205, 250, .35);
  width: 400px;
  max-width: 100%;
  word-break: break-all;
}
.video-entry-link:first-child .video-entry{
  margin-left: 27px;
}
.video-entry img{
  display: block;
  width: 100%;
  border-radius: 7px 7px 0 0;
}
.video-entry h4{
  margin: 15px 0 8px;
  padding: 0 5px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.video-entry p{
  color: blue;
  margin: 8px 0 0 0;
  padding-bottom: 15px;
}
.error,
.success{
  display: inline-block;
  width: 100%;
  border-radius: 7px;
  margin: 8px 0 11px 0;
  padding: 8px 12px;
}
.error{
  background: #FA0A53;
  color: white;
}
.success{
  background: #6DE7B6;
  color: black;
}
#copy-success{
  display: none;
  margin: 8px 0 0 0;
}
.btn{
  margin-top: 15px;
  border-radius: 7px;
  padding: 7px 10px;
  display: inline-block;
  border: none;
  background: var(--primary);
  color: white;
  font-size: 1.2em;
  font-weight: bold;
  cursor: pointer;
  text-decoration: none;
  width: 100%;
}
.btn:hover{
  background: var(--primary);
}
.btn:active,
.btn:focus{
  border: 3px solid var(--primary);
  padding: 4px 7px;
}
input[type=text],
input[type=url],
input[type=email],
input[type=passsword],
select{
  border-radius: 7px;
  border: 2px solid var(--gray);
  font-size: 1.2em;
  padding: 6px 9px;
  width: 100%;
  margin-top: 5px;
}
input:focus,
input:active,
select:focus,
select:active{
  border: 2px solid var(--primary);
}
form label{
  font-weight: 500;
}
footer{
  text-align: left;
  padding: 0 2.2em 20px 2.2em;
  margin-top: 50px;
  width: 1400px;
  max-width: 100%;
  font-size: small;
  color: rgba(0,0,0,0.7);
}
footer a{
  color: rgba(0,0,0,0.7);
  text-decoration: underline;
}
footer .disclaimer{
  font-size: small;
  color: rgba(0,0,0,0.6);
  margin: 8px 0 0 0;
}
footer .disclaimer a{
  text-decoration: underline;
  text-decoration-style: dotted;
}
footer.center{
  width: 900px;
}
a.muted{
  color: black;
  opacity: 0.6;
  text-decoration: underline;
}
a.muted:active,
a.muted:focus{
  opacity: 1;
}
svg.icon{
  height: 0.9em;
  width: 0.9em;
  vertical-align: -2.4px;
}

@media(max-width: 30em){ /* MOBILE */
  h3{
    font-size: 1.1em;
  }
  .box{
    padding: 30px 25px;
  }
  .video-entries{
    min-height: 250px;
  }
  .video-entry-link:first-child .video-entry{
    margin-left: 10px;
  }
  .video-entry{
    width: 240px;
  }
  footer{
    text-align: center;
  }
}
