*, *:after, *:before {
    box-sizing: border-box;
}

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    background: #f0f0f0;
    background: -moz-linear-gradient(-45deg,  #f0f0f0 0%, #d2d3d5 40%, #eff0f2 100%);
    background: -webkit-linear-gradient(-45deg,  #f0f0f0 0%,#d2d3d5 40%,#eff0f2 100%);
    background: linear-gradient(135deg,  #f0f0f0 0%,#d2d3d5 40%,#eff0f2 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0f0f0', endColorstr='#eff0f2',GradientType=1 );
    font-family: Helvetica, Arial, sans-serif;
    background-size: cover;
    background-attachment: fixed;
    transition: background .5s ease-in-out 1.5s;
}

.test-mode {
    background: #a5bfa5;
    color: #fff;
}

.test-mode .card {
    box-shadow: -6px -8px 30px #777;
    height: 50px;
}

.test-mode .test-description h3,
.test-mode .test-description .test-long-description,
.test-mode .card .see-rule-btn {
    display: none;
}

.project-status {
    text-align: right;
    margin: 15px 2px -10px 2px;
}

img {
    float: left;
}

a {
    text-decoration: none;
}

.card .run-test-btn {
    position: absolute;
    bottom: .6rem;
    left: 1rem;
    z-index: 9;
    color: blue;
    cursor: pointer;
}

.card .see-rule-btn {
    margin: 0 0 0 100px;
}

.card.left .run-test-btn {
    left: auto;
    right: 1rem;
}

.card.left .see-rule-btn {
    margin: 0 100px 0 0;
}

#offline-support-message {
    position: fixed;
    bottom: -200px;
    left: 0;
    width: 100%;
    height: 200px;
    background: rgba(0, 0, 0, .7);
    color: #fff;
    text-align: center;
    opacity: 0;
    transition: all linear .2s;
    font-size: 30px;
    text-transform: uppercase;
    padding-top: 90px;
    z-index: 999;
    border-top: solid 2px #fff;
}

#offline-support-message sub {
    font-size: 16px;
    cursor: pointer;
}

#offline-support-message.offline-support {
    background: #728631;
    background: -moz-linear-gradient(-45deg,  #728631 0%, #bdbe32 40%, #b7b031 100%);
    background: -webkit-linear-gradient(-45deg,  #728631 0%,#bdbe32 40%,#b7b031 100%);
    background: linear-gradient(135deg,  #728631 0%,#bdbe32 40%,#b7b031 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#728631', endColorstr='#b7b031',GradientType=1 );
    bottom: 0;
    opacity: 1;
}
#offline-support-message.no-offline-support {
    background: #962f20;
    background: -moz-linear-gradient(-45deg,  #962f20 0%, #c65d4f 40%, #c7422f 100%);
    background: -webkit-linear-gradient(-45deg,  #962f20 0%,#c65d4f 40%,#c7422f 100%);
    background: linear-gradient(135deg,  #962f20 0%,#c65d4f 40%,#c7422f 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#962f20', endColorstr='#c7422f',GradientType=1 );
    bottom: 0;
    opacity: 1;
}

#enable-notif-btn {
    width: 100%;
    height: 100%;
    background-color: transparent;
    color: #fff;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
    outline: none;
    border: none;
}

.buttons-container {
    float: left;
    width: 20%;
    height: 100%;
    background: #fff;
}

.buttons-container a,
.buttons-container input {
    width: 100%;
    margin: 0;
    border: none;
    background: #fff;
    text-align: left;
    min-height: 1.5rem;
    border-bottom: solid 1px #ccc;
}

.test-output {
    float: left;
    width: 80%;
}

#fetch-result {
    white-space: pre;
}





.wrapper {
    width: 90%;
    max-width: 800px;
    min-width: 300px;
    margin: auto;
}

.card {
    width: 100%;
    height: 200px;
    margin: 40px 0;
    box-shadow: 6px 8px 30px #777;
    position: relative;
    display: flex;
    overflow: hidden;
    transition: box-shadow .5s ease-in-out, height .3s ease-out .8s;
}

.card.small {
    height: 40px;
    background-color: #fff;
}

.card.small .test-description-container {
    padding: 12px 6px;
    pointer-events: none;
}

#online-offline-status .test-container span {
    display: block;
    width: 100%;
    text-align: center;
    padding-top: 12px;
}

.test-content video {
    width: 100%;
    height: 100%;
}

.fg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    pointer-events: none;
}

.fg>div {
    flex: 25em 0;
}

.fg .corner {
    flex-grow: 0;
    float: right;
    width: 240px;
    height: 100%;
    background-image: url(../images/public/card-fg-corner-right.png);
    background-repeat: no-repeat;
    background-position: top left;
}

.left .corner {
    float: left;
    background-image: url(../images/public/card-fg-corner-left.png);
    background-position: top right;
}

.left .test-container {
    left: 0;
    right: auto;
    text-align: left;
}

.left .test-description {
    border-left: none;
}

.test-description-container {
    display: flex;
    height: 100%;
    pointer-events: all;
}

.test-content {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
}

.test-content.message {
    padding-top: 90px;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
}

.test-content img {
    height: 200px;
    min-width: 100%;
}
.test-content img[src=""] {
    display: none;
}

.test-content iframe {
    height: 200px;
    width: 100%;
    border: none;
    background: transparent;
}

.test-description {
    display: block;
    width: 100%;
    background-image: url(../images/public/card-fg.png);
    background-repeat: repeat-x;
    background-position: top;
    border-left: solid 2px #fff;
    padding: 1rem;
}

.test-long-description {
    overflow-y: auto;
    height: 70px;
}

.test-description h3:after {
    content: "";
    width: 200px;
    border-bottom: solid 1px;
    display: block;
    margin: 1rem auto;
    opacity: .5;
}

.test-container {
    position: absolute;
    right: 0;
    text-align: right;
}

.test-container {
    color: #fff;
    padding: 0 10px;
    height: 100%;
    width: 240px;
}

.test-container .counter {
    font-size: 3rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 1);
    position: relative;
    z-index: 5;
    text-shadow: 0 0 2px #000;
    opacity: .8;
}


@media screen and (max-width: 460px) {
    .wrapper {
        width: 100%;
    }
    .test-container {
        width: 170px;
    }
    .fg .corner {
        width: 170px;
        background-image: none;
    }
    .test-description {
        padding: 0 0.3rem;
        border-left: none;
    }
}






.orange {
    color: #e47c25;
}
.orange .test-container{
    background: #bb4f29;
    background: -moz-linear-gradient(-45deg,  #bb4f29 0%, #e47c25 40%, #e47c25 100%);
    background: -webkit-linear-gradient(-45deg,  #bb4f29 0%,#e47c25 40%,#e47c25 100%);
    background: linear-gradient(135deg,  #bb4f29 0%,#e47c25 40%,#e47c25 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bb4f29', endColorstr='#e47c25',GradientType=1 );
}

.blue {
    color: #4b808e;
}
.blue .test-container{
    background: #3a4f6c;
    background: -moz-linear-gradient(-45deg,  #3a4f6c 0%, #4b808e 40%, #5b9fad 100%);
    background: -webkit-linear-gradient(-45deg,  #3a4f6c 0%,#4b808e 40%,#5b9fad 100%);
    background: linear-gradient(135deg,  #3a4f6c 0%,#4b808e 40%,#5b9fad 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3a4f6c', endColorstr='#5b9fad',GradientType=1 );
}

.red {
    color: #c65d4f;
}
.red .test-container{
    background: #962f20;
    background: -moz-linear-gradient(-45deg,  #962f20 0%, #c65d4f 40%, #c7422f 100%);
    background: -webkit-linear-gradient(-45deg,  #962f20 0%,#c65d4f 40%,#c7422f 100%);
    background: linear-gradient(135deg,  #962f20 0%,#c65d4f 40%,#c7422f 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#962f20', endColorstr='#c7422f',GradientType=1 );
}

.green {
    color: #bdbe32;
}
.green .test-container{
    background: #728631;
    background: -moz-linear-gradient(-45deg,  #728631 0%, #bdbe32 40%, #b7b031 100%);
    background: -webkit-linear-gradient(-45deg,  #728631 0%,#bdbe32 40%,#b7b031 100%);
    background: linear-gradient(135deg,  #728631 0%,#bdbe32 40%,#b7b031 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#728631', endColorstr='#b7b031',GradientType=1 );
}


.run-test-btn::after,
.run-test-btn::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -35px 0 0 -35px;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	opacity: 0;
    background: rgba(183, 45, 45, 0.1); /* rgba(111,148,182,0.3); */
}
.run-test-btn::before {
    border: solid 1px rgba(183, 45, 45, 0.3); /* rgba(111,148,182, 3); */
}

.run-test-btn.just-clicked::after {
	animation: anim-effect-boris .5s forwards .25s;
}
.run-test-btn.just-clicked::before {
	animation: anim-effect-boris .5s forwards;
}

.just-clicked {

}

@keyframes anim-effect-boris {
	0% {
		transform: scale3d(0.3, 0.3, 1);
	}
	25%, 50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: scale3d(1.2, 1.2, 1);
	}
}


