/********** Base styles **********/

* {
    box-sizing: border-box;
}

body {
    margin: 0px;
    padding: 0px;
    font-family: monospace;
    font-size: 100%;
    background-color: #d2d1f0;
}

/********** end Base styles **********/

/* heder */
#header-nav {
    color: #d2d1f0;
    background-color: #024E68;
    border-radius: 0;
    border: 0;
}

.navbar-brand {
    text-align: left;
}

.navbar-brand h1 {
    color: #d2d1f0;
    letter-spacing: 8px;
    font-size: 2em;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 0;
}

.navbar-brand p {
    color: #d2d1f0;
    font-size: 1em;
    margin-top: 8px;
    margin-bottom: 10px;
}

.line1 {
    display: inline-block;
}

.panel {
    font-size: 1em;
    background: #cfd0cf;
    border-radius: 6px;
    padding: 0 0 0 0;
}

#cards {
    font-size: 1em;
}

#timer {
    font-size: 1em;
    color: #434344;
    width: 3.1em;
    text-align: center;
}

#record {
    font-size: 1em;
    color: #434344;
    width: 3.1em;
    text-align: center;
}

#navbarSupportedContent {
    margin-top: 20px;
}

#nav-list a span {
    font-size: 1.1em;
    color: #d2d1f0;
}

.navbar-text {
    color: #d2d1f0;
}

.nav-link span {
    font-size: 1.4em;
    color: #d2d1f0;
    text-align: center;
}

.btn-outline-primary {
    border-radius: 9px;
} 

@font-face {
    font-family: 'Glyphicons Halflings';
  
    src: url('../fonts/glyphicons-halflings-regular.eot');
    src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    text-align: center;
    font-size: 1em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    }

.glyphicon-cloud:before {
    font-size: 1em;
    content: "\2601";
    text-align: center;
}

.glyphicon-send:before {
    font-size: 1em;
    content: "\270f";
    text-align: center;
}

/* end heder*/

.wrap {
    perspective: 600px;
    transform-style: preserve-3d;
    height: 100%;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: space-between;
}

.card {
    position: relative;
    border-radius: 9px;
}

.back,
.face,
.correct,
.wrong {
    border: 5px solid white;
    border-radius: 9px;
    box-sizing: border-box;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, .5);
    backface-visibility: hidden;
    transition: transform .1s linear;
    width: 100%;
    height: 100%;
}

.face,
.correct,
.wrong {
    transform: rotateY(-180deg);
}

.back.visible,
.face.visible,
.correct.visible,
.wrong.visivble {
    transform: rotateY(0deg);
    transition: transform .1s linear;
}

.back {
    background: linear-gradient(45deg, #22AB93, #19668d);
    transform: rotateY(180deg);
}

.face { 
    position: absolute;
    background: white;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
}

.correct {
    position: absolute;
    background: #5ad66f;
    border-color: #5ad66f;
}

.wrong {
    position: absolute;
    background: #f44336;
    border-color: #f44336;
}

/* end main contenet */

/* modal */
.modal {
	display: inline-block;
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 10;
	
	text-align: center;
}

.popup {
	position: relative;
    display: inline-block;
    min-width: 350px;
    border-radius: 9px;
    background: #FFF;
	text-align: center;
	z-index: 15;
	top: calc(50% - 94px);
}

.result {
	font-size: 4em;
	font-weight: 800;
	text-align: center;
	margin: 40px auto 10px;	
}

.results {
	position: relative;
	display: inline-block;
	padding: 0;
	margin: 0;
}

.record {
    font-size: 0.6em;
}

.results:nth-child(1) {
	animation: resultLetters 1s infinite ease-in;
}
.results:nth-child(2) {
	animation: resultLetters 1s infinite ease-in 0.1s;
}
.results:nth-child(3) {
	animation: resultLetters 1s infinite ease-in 0.2s;
}
.results:nth-child(4) {
	animation: resultLetters 1s infinite ease-in 0.3s;
}

@keyframes resultLetters {
	0% {
		transform: scaleY(0.7);
		bottom: 0;
	}
	50% {
		transform: scaleY(1.3);
		bottom: 20px;
	}
	100% {
		transform: scaleY(0.7);
		bottom: 0;
	}
}

.again {
	display: inline-block;
	border: none;
	outline: none;
	border-radius: 9px;
	background: linear-gradient(-90deg, #22AB93, #19668D);
	height: 40px;
	width: auto;
	margin-bottom: 30px;
	padding: 7px 30px 20px;
	
	font-size: 1.3em;
	font-weight: 600;
	text-align: center;
	color: #FFF;
	
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
}
.again:active {
	box-shadow: inset 2px 1px 8px rgba(0, 0, 0, 0.5);
}

.lose.visible,
.win.visible,
.popup-bg.visible {
    display: block !important;
}

button {
    color: #fff;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: linear-gradient(270deg, #22AB93, #19668d);
    box-shadow: 1px 1px 1px rgba(0, 0, 0, .5);
}

button:active {
    box-shadow: 0 0 0,
    inset 2px 1px 8px rgba(0, 0, 0, .5);
}

button:active, button:focus {
    outline: none !important;
}

/* end modal */

/********** Large devices only **********/
@media (min-width: 1200px) {

    /* content */
    #main-content {
      height: 100%;
      padding-top: 40px;
      padding-bottom: 40px;
    }

    .card {
        position: relative;
        width: 130px;
        height: 130px;
        margin: auto;
    }
    .face {
        font-size: 6em;
    }
    /* end content */
  
}
  
  
/********** Medium devices only **********/
@media (min-width: 992px) and (max-width: 1199px) {

     /* header */
     .xs-hidden {
        display:none;
    }
    /* end header */

    /* content */
    #main-content {
        height: 100%;
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .card {
        position: relative;
        width: 130px;
        height: 130px;
        margin: auto;
    }
    .face {
        font-size: 6em;
    }

    /* end content */

}
  
  
/********** Small devices only **********/
@media (min-width: 768px) and (max-width: 991px) {
    
    /* header */
    .xs-hidden {
        display:none;
    }
    #timer {
        font-size: 2vw;
        width: 4em;
    }
    #record {
        font-size: 2vw;
        width: 4em;
    }
    #cards {
        font-size: 2vw;
    }
    /* end header */

    /* content */
    #main-content {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .card {
        position: relative;
        /* width: 100px;
        height: 100px; */
        margin: auto;
    }
    .face {
        font-size: 5em;
    }
    /* end content */
}
  
  
/********** Extra small devices only **********/
@media (max-width: 767px) {
    
    /* header */
    .navbar-brand {
      padding-top: 10px;
    }
    .navbar-brand h1 { /* Name */
      font-size: 4vw; /* 1vw = 1% of viewport width */
    }
    .navbar-brand p {
        font-size: 2vw;
    }
  
    #collapsable-nav a { /* Collapsed nav menu text */
      font-size: 4vw;
    }
    #collapsable-nav a span { /* Collapsed nav menu glyph */
      font-size: 4vw;
      margin-right: 5px;
    }

    #timer {
        font-size: 2vw;
        width: 4em;
    }
    #record {
        font-size: 2vw;
        width: 4em;
    }
    #cards {
        font-size: 2vw;
    }
  
    .xs-hidden {
        display:none;
    }
    /* end header */
    
    /* content */
    #main-content {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .card {
      position: relative;
      /* width: 70px;
      height: 70px; */
      margin: auto;
    }
    .face {
        font-size: 4em;
    }
    /* end content */
  
    /* footer */
    .panel-footer section {
      margin-bottom: 30px;
      text-align: center;
    }
    .panel-footer section:nth-child(3) {
      margin-bottom: 0; /* margin already exists on the whole row */
    }
    .panel-footer section hr {
      width: 50%;
    }
    /* end footer */

}
  
  
/********** Super extra small devices only (e.g., iPhone 4) **********/
@media (max-width: 479px) {

    /* header */
    .navbar-brand h1 { /* Name */
      padding-top: 5px;
      font-size: 5vw;
    }
    .navbar-brand p {
        font-size: 4vw;
    }

    #timer {
        font-size: 4vw;
        width: 4em;
    }
    #record {
        font-size: 4vw;
        width: 4em;
    }
  
    .xs-hidden {
        visibility: hidden;
        font-size: 0em;
        height: 0px;
    }

    #cards {
        font-size: 4vw;
        display: block;
    }
    /* end header */
  
    /* content */
    #main-content {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .card {
      position: relative;
      /* width: 50px;
      height: 50px; */
      margin: auto;
    }
    .face {
        font-size: 3em;
    }
    
    .col-xxs-12 {
      position: relative;
      min-height: 1px;
      padding-right: 15px;
      padding-left: 15px;
      float: left;
      width: 100%;
    }
    /* end content */

  }