*{
  border: 0px solid grey;
  margin:0;
  padding: 0;
  box-sizing: border-box;

}
img{
  width: 100%;
  height: auto;
}
h1,h2,h3,h4,h5{
  font-family: 'Montserrat', sans-serif;
}
h1{
  font-size: 24px;
  white-space: pre;
}
.c1{
  background-color: #e1f7ff
}
.c2{
  background-color: #f5e7ff
}
.c3{
  background-color: #e7ffe7
}
.c4{
  background-color: #fffce5
}
p{
    font-family: 'Literata',serif;
}
body{
  background-color: white;
  padding: 15px;
}
.welcome_container{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: auto;
  width: 100%;
}
img.logo{
  width: 500px;
  height: auto;
  -webkit-filter: drop-shadow(1px 1px 4px rgba(0,0,0,0.2));
  filter: drop-shadow(1px 1px 4px rgba(0,0,0,0.2));
}
.welcome_elements{
  max-width: inherit;
  min-width: 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 10px;
  padding: 50px 10px 50px 10px;
  text-align: center;
}
.welcome_title{
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 35px;
  margin-bottom: 50px;
}
.welcome_intro{
  max-width: 600px;
  font-size: 1.2em;
  font-weight: 200;
}
.cardcontainer{
  margin-top: 10px;
  Width:100%;
  Height:auto;
  display: flex;
  flex-direction: row;
  flex: 1;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.flipcard{
  position: relative;
  height: 600px;
  min-width: 400px;
  max-width: 400px;
  margin: 10px;
  transform-style: preserve-3d;
  text-align: left;

}
.flipcard:hover .cardframeFR{
  opacity: 0;
  z-index: -100;
}
.flipcard:hover .cardframeBK{
  opacity: 1;
}

.cardframeFR{
  position: absolute;
  background-color: white;
  height: 100%;
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 1px 1px 4px rgba(0,0,0,0.1), 1px 1px 20px rgba(50,50,50,0.1);
  transition: opacity .3s;
  z-index: 1;
  opacity:1;
}

.cardframeBK{
  position: absolute;
  height: 600px;
  min-width: 400px;
  max-width: 320px;
  border-radius: 20px;
  box-shadow: 1px 1px 4px rgba(0,0,0,0.1), 1px 1px 20px rgba(50,50,50,0.1);
  overflow: hidden;
  transition: opacity .6s;
  z-index: -99;
  opacity:0;
}
.frontcard{
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  border-color: 2px solid red;
  padding: 10px;


}
.illustration{
  height: auto;
  width: 100%;
  flex:5;
  border-radius: 10px 10px 10px 10px;
  position: relative;
}
.drawing{
  position: absolute;
  top:0px;
  height: auto;
  width: 100%;
}
.title{
  width: 100%;
  height: 100%;
  font-weight: 400;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0px 0px 10px 10px;
}
.w100{
  width: 100%;
}
.backcard {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 30px;
  border-radius: 10px;
  overflow: hidden;
}
.category{
flex: 2;
display: flex;
flex-direction: row;
justify-content: flex-end;
}
.code{
  display: flex;
  flex-direction: column;
  margin: 5px;
  align-items: center;
}
.codeimg{
  height: 30px;
  width: 30px;
  flex: 3;

}
.highlight{
  width: 30px;
  max-height: 5px;
  margin-top: 3px;
  margin-bottom: 3px;
  flex:1;
  align-self: center;
}
.codelabel{
  text-align: center;
  font-size: 10px;
  font-weight: 400;
  flex:2;
}
.content{
flex:6;
display: flex;
flex-direction: column;
margin-top: 5px;
margin-bottom: 5px;
}
.concept{
  flex: 1;
}
.description{
  flex: 4;
  margin-top: 5px;
}
.question{
flex: 2;
font-weight: 700;
}
.rabbit{
flex: 1;
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items: center;
margin-top: 5px;
}
.more{
  display: flex;
  flex:1;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  margin-right: 5px;
  height: auto;
}
.rabbithole{
  width: 40px;
  height: 40px;
}
