html,body {
  height: 100%;
}

* {
    -moz-box-sizing: border-box;
}

body {
  background-color: #ededed;
  color: #424242;
  margin: 0;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:14px;
  line-height:1.428571429;
}

h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
    font-family: "HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;
    font-weight: normal;
    line-height: 1.1;
    color: #009BFF
}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small{font-weight:normal;line-height:1}
h1,.h1{font-size:45px;line-height:48px}
h2,.h2{font-size:36px;line-height:42px}
h3,.h3{font-size:28px;line-height:36px}
h4,.h4{font-size:24px;line-height:25px}
h5,.h5{font-size:20px;line-height:24px}
h6,.h6{font-size:18px;line-height:24px}

a{color:#3282e6;}
a:hover,a:focus{color:#165db5;text-decoration:underline}

.text-center{text-align:center}

.wrap {
  min-height: 100%;
  .display: table;
  .height: 100%;
}

.top-bar {
  height: 20px;
  background: #71a100;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzcxYTEwMCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2ZmExMDAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top,  #71a100 0%, #6fa100 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#71a100), color-stop(100%,#6fa100));
  background: -webkit-linear-gradient(top,  #71a100 0%,#6fa100 100%);
  background: -o-linear-gradient(top,  #71a100 0%,#6fa100 100%);
  background: -ms-linear-gradient(top,  #71a100 0%,#6fa100 100%);
  background: linear-gradient(to bottom,  #71a100 0%,#6fa100 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#71a100', endColorstr='#6fa100',GradientType=0 );
}

:root .top-bar {
  filter: none \0/IE9;
}

.welcome-container {
  width: 500px;
  margin: 0 auto;
  overflow: auto;
  padding-bottom: 60px;
}

.coming-soon-wrap {
  margin-top: 90px;
}

.frowny-face {
  text-align: center;
  font-size: 130px;
  color: #919191;
  line-height: 1.1;
  margin-top: 90px;
  margin-bottom: 70px;
}

.welcome-container h1 {
  margin-bottom: 1em;
}

.btn-primary {
    background-color: #7FB141;
    border-color: #648C33;
    color: #FFFFFF;
}

input, button, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
button, html input[type="button"], input[type="reset"], input[type="submit"] {
    cursor: pointer;
}
button, select {
    text-transform: none;
}
button, input {
    line-height: normal;
}
button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
    margin: 0;
}

.btn {
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    border-color: transparent;
    border-image: none;
    border-radius: 0 0 0 0;
    border-style: solid;
    border-width: 0 0 3px;
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.42857;
    margin-bottom: 0;
    padding: 8px 20px;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    text-decoration: none;
}

.btn-primary {
    background-color: #7FB141;
    border-color: #648C33;
    color: #FFFFFF;
}


.btn-primary:hover, 
.btn-primary:focus, 
.btn-primary:active, 
.btn-primary.active {
    background-color: #729E3A;
    border-color: #496626;
    color: #fff;
}

.btn:hover, 
.btn:focus {
    text-decoration: none;
}

.login-container {
  text-align: right;
  margin: 20px;
}

.footer {
  position: relative;
  margin-top: -60px; /* negative value of footer height */
  height: 60px;
  clear:both;
  text-align: center;
  font-size: 14px;
}
<div class="codepen" data-height="300" data-theme-id="dark" data-default-tab="css" data-slug-hash="yVvpbL" data-editable="true" data-user="_massimo"  data-prefill='{"title":"css carousel","tags":[],"scripts":[],"stylesheets":[]}'>
  <pre data-lang="pug">-var slides = 7;

.container
  .carousel
    -while(slides--)
      img.slide(draggable="false" src="http://joxi.ru/L21vJdQS86RQLA.png")</pre>
  <pre data-lang="scss">$slides: 7;
$slide-width: 140px;
$slide-height: 97px;
$ang: 360 / $slides;
$perspective: 700px;
$bg: #000;
$shadow: #fff;
$spin-time: 20s;

$y: ();
@for $i from 0 through $slides {
    $y: append($y, $i*$ang + deg);
}

@mixin animation($name) {
    @-webkit-keyframes #{$name} {@content;}
    @-moz-keyframes #{$name} {@content;}
    @-o-keyframes #{$name} {@content;}
    @keyframes #{$name} {@content;}
}

@mixin animation-use($name, $time) {
    -webkit-animation: $name $time infinite linear;
    -moz-animation: $name $time infinite linear;
    -o-animation: $name $time infinite linear;
    animation: $name $time infinite linear;
}

@mixin slidePos($y, $z) {
    -webkit-transform: rotateY($y) translateZ($z);
    -ms-transform: rotateY($y) translateZ($z);
    transform: rotateY($y) translateZ($z);
}

@mixin rotate($x, $y) {
    -webkit-transform: rotateX($x) rotateY($y);
    -ms-transform: rotateX($x) rotateY($y);
    transform: rotateX($x) rotateY($y);
}

@include animation(turn) {
    50% {
        @include rotate(5deg, .5turn);
    }
    100% {
        @include rotate(-5deg, 1turn);
    }
}

body {
    margin: 0;
    overflow: hidden;
    background: $bg;
    
    .container {
        position: absolute;
        width: 100%;
        height: 100%;
        -webkit-perspective: $perspective;
        -ms-perspective: $perspective;
        perspective: $perspective;
                
        .carousel {
            position: absolute;
            left: 50%;
            top: 50%;
            width: $slide-width;
            height: $slide-height;
            margin-left: -$slide-width/2;
            margin-top: -$slide-height/2;
            transform-style: preserve-3d;
            @include rotate(-5deg, 0);
            @include animation-use(turn, $spin-time);
                        
            .slide {
                position: absolute;
                width: $slide-width;
                height: $slide-height;
                border-radius: 8px;
                box-shadow: 0 0 4px 1px $shadow;
                -webkit-user-select: none;
                -moz-user-select: none;
                -ms-user-select: none;
                user-select: none;
                
                @for $i from 1 through $slides {
                    &:nth-child(#{$i}) {
                        @include slidePos(nth($y, $i), .2*$slides*$slide-width);
                    }
                }
            }
        }
    }
}</pre></div>
<script async src="https://cpwebassets.codepen.io/assets/embed/ei.js"></script>

@-webkit-keyframes turn {
  50% {
    -webkit-transform: rotateX(5deg) rotateY(0.5turn);
    -ms-transform: rotateX(5deg) rotateY(0.5turn);
    transform: rotateX(5deg) rotateY(0.5turn);
  }
  100% {
    -webkit-transform: rotateX(-5deg) rotateY(1turn);
    -ms-transform: rotateX(-5deg) rotateY(1turn);
    transform: rotateX(-5deg) rotateY(1turn);
  }
}
@-moz-keyframes turn {
  50% {
    -webkit-transform: rotateX(5deg) rotateY(0.5turn);
    -ms-transform: rotateX(5deg) rotateY(0.5turn);
    transform: rotateX(5deg) rotateY(0.5turn);
  }
  100% {
    -webkit-transform: rotateX(-5deg) rotateY(1turn);
    -ms-transform: rotateX(-5deg) rotateY(1turn);
    transform: rotateX(-5deg) rotateY(1turn);
  }
}
@-o-keyframes turn {
  50% {
    -webkit-transform: rotateX(5deg) rotateY(0.5turn);
    -ms-transform: rotateX(5deg) rotateY(0.5turn);
    transform: rotateX(5deg) rotateY(0.5turn);
  }
  100% {
    -webkit-transform: rotateX(-5deg) rotateY(1turn);
    -ms-transform: rotateX(-5deg) rotateY(1turn);
    transform: rotateX(-5deg) rotateY(1turn);
  }
}
@keyframes turn {
  50% {
    -webkit-transform: rotateX(5deg) rotateY(0.5turn);
    -ms-transform: rotateX(5deg) rotateY(0.5turn);
    transform: rotateX(5deg) rotateY(0.5turn);
  }
  100% {
    -webkit-transform: rotateX(-5deg) rotateY(1turn);
    -ms-transform: rotateX(-5deg) rotateY(1turn);
    transform: rotateX(-5deg) rotateY(1turn);
  }
}
body {
  margin: 0;
  overflow: hidden;
  background: #000;
}
body .container {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-perspective: 700px;
  -ms-perspective: 700px;
  perspective: 700px;
}
body .container .carousel {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 140px;
  height: 97px;
  margin-left: -70px;
  margin-top: -48.5px;
  transform-style: preserve-3d;
  -webkit-transform: rotateX(-5deg) rotateY(0);
  -ms-transform: rotateX(-5deg) rotateY(0);
  transform: rotateX(-5deg) rotateY(0);
  -webkit-animation: turn 20s infinite linear;
  -moz-animation: turn 20s infinite linear;
  -o-animation: turn 20s infinite linear;
  animation: turn 20s infinite linear;
}
body .container .carousel .slide {
  position: absolute;
  width: 140px;
  height: 97px;
  border-radius: 8px;
  box-shadow: 0 0 4px 1px #fff;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
body .container .carousel .slide:nth-child(1) {
  -webkit-transform: rotateY(0deg) translateZ(196px);
  -ms-transform: rotateY(0deg) translateZ(196px);
  transform: rotateY(0deg) translateZ(196px);
}
body .container .carousel .slide:nth-child(2) {
  -webkit-transform: rotateY(51.4285714286deg) translateZ(196px);
  -ms-transform: rotateY(51.4285714286deg) translateZ(196px);
  transform: rotateY(51.4285714286deg) translateZ(196px);
}
body .container .carousel .slide:nth-child(3) {
  -webkit-transform: rotateY(102.8571428571deg) translateZ(196px);
  -ms-transform: rotateY(102.8571428571deg) translateZ(196px);
  transform: rotateY(102.8571428571deg) translateZ(196px);
}
body .container .carousel .slide:nth-child(4) {
  -webkit-transform: rotateY(154.2857142857deg) translateZ(196px);
  -ms-transform: rotateY(154.2857142857deg) translateZ(196px);
  transform: rotateY(154.2857142857deg) translateZ(196px);
}
body .container .carousel .slide:nth-child(5) {
  -webkit-transform: rotateY(205.7142857143deg) translateZ(196px);
  -ms-transform: rotateY(205.7142857143deg) translateZ(196px);
  transform: rotateY(205.7142857143deg) translateZ(196px);
}
body .container .carousel .slide:nth-child(6) {
  -webkit-transform: rotateY(257.1428571429deg) translateZ(196px);
  -ms-transform: rotateY(257.1428571429deg) translateZ(196px);
  transform: rotateY(257.1428571429deg) translateZ(196px);
}
body .container .carousel .slide:nth-child(7) {
  -webkit-transform: rotateY(308.5714285714deg) translateZ(196px);
  -ms-transform: rotateY(308.5714285714deg) translateZ(196px);
  transform: rotateY(308.5714285714deg) translateZ(196px);
}
