.main-content {
  padding: 10px 0 30px;
  counter-reset: section;
}

.main-content > section {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  width: 300px;
  height: 250px;
  border: 1px dashed grey;
  margin: 5px;
}

.main-content > section:after {
  display: block;
  position: absolute;
  width: 30px;
  height: 30px;
  top: -1px;
  left: -1px;
  color: #333;
  text-align: center;
  line-height: 30px;
  background: #DDDDDD;
  border-bottom-right-radius: 50%;
  counter-increment: section;
  content: ""counter(section)"";
}

figure {
  position: relative;
  width: 250px;
  height: 188px;
  border-radius: 5px;
  box-shadow: 0 0 5px #333;
  overflow: hidden;
}

figure img {
  position: absolute;
  top: 0;
  left: 0;
}

figure figcaption {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.65);
}

figure figcaption > * {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Palatino Linotype", Georgia;
}

figure figcaption h1 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 20%;
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
  font-size: 17px;
  font-weight: bold;
}

figure figcaption p {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 50%;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  text-align: center;
  line-height: 1.2;
  padding: 0 5px;
}

figure figcaption .links {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 30%;
      -ms-flex: 0 0 30%;
          flex: 0 0 30%;
}

figure figcaption .links i {
  color: #fff;
  padding: 5px;
  margin-right: 5px;
  border: 1px solid #fff;
  -webkit-transition: all 500ms;
          transition: all 500ms;
}

figure figcaption .links i:hover {
  background-color: #D04235;
  -webkit-transform: translateY(2px);
      -ms-transform: translateY(2px);
          transform: translateY(2px);
}

figure figcaption .links a:nth-child(2) i {
  padding: 5px 11px;
}

figure figcaption .links a:nth-child(2) i:hover {
  background-color: #3b5998;
}

figure figcaption .links a:nth-child(3) i:hover {
  background-color: #00aced
}
/*  effect1 */

.effect1 figcaption {
  opacity: 0;
  -webkit-transition: opacity 0.4s linear;
          transition: opacity 0.4s linear;
}

.effect1:hover figcaption {
  opacity: 1;
}
/* effect2 */

.effect2 figcaption {
  opacity: 0;
  top: 100%;
  -webkit-transition: all 0.4s linear;
          transition: all 0.4s linear;
}

.effect2:hover figcaption {
  opacity: 1;
  top: 0;
}
/* effect3 */

.effect3 img {
  -webkit-transition: all 0.5s linear;
          transition: all 0.5s linear;
}

.effect3:hover img {
  left: 100%;
  -webkit-transition: all 0.5s linear;
          transition: all 0.5s linear;
}

.effect3 figcaption {
  left: -100%;
  -webkit-transition: all 0.5s linear;
          transition: all 0.5s linear;
}

.effect3:hover figcaption {
  left: 0;
}
/* effect4 */

.effect4 img {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
          transform-origin: 0% 100%;
  -webkit-transition: all 0.5s linear;
          transition: all 0.5s linear;
}

.effect4:hover img {
  -webkit-transform: rotate(270deg);
      -ms-transform: rotate(270deg);
          transform: rotate(270deg);
  -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
          transform-origin: 0% 100%;
  opacity: 0.2;
}

.effect4:before {
  display: block;
  position: absolute;
  z-index: 0;
  content: url("../images/4.jpg");
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.2;
  -webkit-transition: opacity 0.4s linear;
          transition: opacity 0.4s linear;
}

.effect4:hover:before {
  opacity: 0.9;
}

.effect4 figcaption {
  -webkit-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
          transform-origin: 0% 100%;
  -webkit-transition: all 0.5s linear;
          transition: all 0.5s linear;
}

.effect4:hover figcaption {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
}
/* effect5 */

.effect5 {
  z-index: 0;
}

.effect5 figcaption {
  z-index: 1;
  -webkit-transform: scale(0);
      -ms-transform: scale(0);
          transform: scale(0);
  -webkit-transition: all 0.5s linear;
          transition: all 0.5s linear;
}

.effect5:hover figcaption {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}

.effect5 img {
  z-index: 2;
  -webkit-transition: all 0.5s linear;
          transition: all 0.5s linear;
}

.effect5:hover img {
  z-index: 0;
  -webkit-transform: scale(0.6);
      -ms-transform: scale(0.6);
          transform: scale(0.6);
}
/* effect6 */

.effect6 {
  z-index: 0;
}

.effect6 figcaption {
  z-index: 1;
}

.effect6:hover img {
  top: 100%;
}

.effect6 img {
  z-index: 2;
  -webkit-transition: all 0.5s linear;
          transition: all 0.5s linear;
}
/* effect7 */

.effect7 img {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-transition: all 0.5s ease-in-out;
          transition: all 0.5s ease-in-out;
}

.effect7:hover img {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
}

.effect7 figcaption {
  opacity: 0;
  -webkit-transform: scaleY(0);
      -ms-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transition: all 0.6s ease-in-out;
          transition: all 0.6s ease-in-out;
}

.effect7:hover figcaption {
  opacity: 1;
  -webkit-transform: scaleY(1);
      -ms-transform: scaleY(1);
          transform: scaleY(1);
}
/* effect8 */

.effect8 img {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-transition: all 0.5s ease-in-out;
          transition: all 0.5s ease-in-out;
}

.effect8:hover img {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
}

.effect8 figcaption {
  width: 0%;
  height: 0%;
  left: 50%;
  top: 50%;
  border: 1px solid transparent;
  background-clip: padding-box;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: width 0.4s linear, 0.4s height 0.4s linear, 0.4s border 0.6s;
          transition: width 0.4s linear, 0.4s height 0.4s linear, 0.4s border 0.6s;
}

.effect8:hover figcaption {
  border-color: rgba(255, 255, 255, 0.8);
  width: 100%;
  height: 100%;
  -webkit-transition: height 0.4s linear, 0.4s width 0.4s linear, 0.4s border 0s;
          transition: height 0.4s linear, 0.4s width 0.4s linear, 0.4s border 0s;
}

.effect8 figcaption > * {
  opacity: 0;
  -webkit-transition: all 0s;
          transition: all 0s;
}

.effect8:hover figcaption > * {
  opacity: 1;
  -webkit-transition: all 0.3s linear 1s;
          transition: all 0.3s linear 1s;
}
/* effect9 */

.effect9 img {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transition: all 0.5s ease-in-out;
          transition: all 0.5s ease-in-out;
}

.effect9:hover img {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}

.effect9 figcaption {
  left: -100%;
  opacity: 0;
  -webkit-transition: all 0.4s linear;
          transition: all 0.4s linear;
}

.effect9:hover figcaption {
  left: 0;
  opacity: 1;
}

.effect9 figcaption p,
.effect9 figcaption .links {
  position: relative;
  left: -120%;
  -webkit-transition: all 0.6s linear;
          transition: all 0.6s linear;
}

.effect9 figcaption .links {
  left: -130%;
  -webkit-transition-duration: 0.8s;
          transition-duration: 0.8s;
}

.effect9:hover figcaption p,
.effect9:hover figcaption .links {
  left: 0;
}
/* effect10 */

.effect10 img {
  z-index: 1;
  opacity: 1;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-transition: all 0.3s linear;
          transition: all 0.3s linear;
}

.effect10:hover img {
  opacity: 0;
  -webkit-transform: scale(5);
      -ms-transform: scale(5);
          transform: scale(5);
}

.effect10 figcaption > * {
  position: relative;
  top: -120%;
  -webkit-transition: all 0.4s linear;
          transition: all 0.4s linear;
}

.effect10 figcaption h1 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.effect10 figcaption p {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.effect10 figcaption .links {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

.effect10:hover figcaption > * {
  z-index: 2;
  top: 0;
}
/* effect11 */

.effect11 img {
  z-index: 1;
  -webkit-transform: scale(1) rotate(720deg);
      -ms-transform: scale(1) rotate(720deg);
          transform: scale(1) rotate(720deg);
  -webkit-transition: all 0.5s linear;
          transition: all 0.5s linear;
}

.effect11:hover img {
  -webkit-transform: scale(0) rotate(0);
      -ms-transform: scale(0) rotate(0);
          transform: scale(0) rotate(0);
}

.effect11 figcaption > * {
  position: relative;
  -webkit-transition: all 0.4s linear;
          transition: all 0.4s linear;
}

.effect11 figcaption h1 {
  top: -50%;
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

.effect11 figcaption p {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.effect11 figcaption .links {
  top: 50%;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.effect11:hover figcaption > * {
  z-index: 2;
  top: 0;
}
/* effect12 */

.effect12 img {
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transition: all 0.4s linear;
          transition: all 0.4s linear;
}

.effect12:hover img {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}

.effect12 figcaption {
  left: 100%;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: all 0.4s linear;
          transition: all 0.4s linear;
}

.effect12 figcaption h1 {
  position: relative;
  left: 100%;
  -webkit-transition: all 0.4s linear 0.4s;
          transition: all 0.4s linear 0.4s;
}

.effect12 figcaption .links {
  opacity: 0;
  -webkit-transition: all 0s;
          transition: all 0s;
}

.effect12:hover figcaption {
  left: 0;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
}

.effect12:hover figcaption h1 {
  left: 0;
}

.effect12:hover figcaption .links {
  opacity: 1;
  -webkit-transition: all 0.4s linear 0.8s;
          transition: all 0.4s linear 0.8s;
}
/* effect13 */

.effect13 img {
  opacity: 1;
  -webkit-transition: all 0.4s ease-in-out;
          transition: all 0.4s ease-in-out;
}

.effect13:hover img {
  opacity: 0;
}

.effect13 figcaption {
  opacity: 0;
  -webkit-transform: scale(5) rotate(360deg);
      -ms-transform: scale(5) rotate(360deg);
          transform: scale(5) rotate(360deg);
  -webkit-transition: all 450ms linear;
          transition: all 450ms linear;
}

.effect13:hover figcaption {
  opacity: 1;
  -webkit-transform: scale(1) rotate(0);
      -ms-transform: scale(1) rotate(0);
          transform: scale(1) rotate(0);
}
/* effect14 */

.effect14 img {
  z-index: 0;
  -webkit-transform: scale(0);
      -ms-transform: scale(0);
          transform: scale(0);
  -webkit-transition: all 550ms linear;
          transition: all 550ms linear;
}

.effect14:hover img {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}

.effect14 figcaption {
  z-index: 2;
  opacity: 0;
  -webkit-transition: all 450ms linear 0.2s;
          transition: all 450ms linear 0.2s;
}

.effect14:hover figcaption {
  opacity: 1;
}

.effect14:before,
.effect14:after {
  display: block;
  position: absolute;
  z-index: 3;
  content: url("../images/14.jpg");
  width: 100%;
  height: 50%;
  left: 0;
  overflow: hidden;
  -webkit-transition: all 650ms linear;
          transition: all 650ms linear;
}

.effect14:before {
  top: 0;
}

.effect14:after {
  content: "";
  background: url("../images/14.jpg") no-repeat;
  background-position: 0 -94px;
  /* half the image height */
  
  bottom: 0;
}

.effect14:hover:before {
  left: -100%;
  opacity: 0.8;
}

.effect14:hover:after {
  left: 100%;
  opacity: 0.8;
}
/* effect15 */

.effect15 img {
  z-index: 0;
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transition: all 550ms linear;
          transition: all 550ms linear;
}

.effect15:hover img {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}

.effect15 figcaption {
  z-index: 1;
  opacity: 0;
  -webkit-transition: all 450ms linear 0.2s;
          transition: all 450ms linear 0.2s;
}

.effect15:hover figcaption {
  opacity: 1;
}

.effect15:before,
.effect15:after {
  display: block;
  position: absolute;
  z-index: 2;
  content: "";
  width: 50%;
  height: 100%;
  top: 0;
  background: rgba(0, 0, 0, 0.2);
  -webkit-transition: all 550ms linear;
          transition: all 550ms linear;
}

.effect15:before {
  left: 0;
}

.effect15:after {
  right: 0;
}

.effect15:hover:before {
  left: -50%;
  opacity: 0.8;
}

.effect15:hover:after {
  right: -50%;
  opacity: 0.8;
}
/* effect16 */

.effect16 {
  overflow: visible;
}

.effect16 figcaption > * {
  position: relative;
  top: -10%;
  opacity: 0;
  -webkit-transition: all 0.7s ease-in-out 0.25s;
          transition: all 0.7s ease-in-out 0.25s;
}

.effect16:hover figcaption > * {
  top: 0;
  opacity: 1;
}

.effect16:before,
.effect16:after {
  display: block;
  position: absolute;
  z-index: 2;
  content: "";
  width: 50%;
  height: 100%;
  top: 0;
  background: url("../images/16.jpg");
  overflow: hidden;
  -webkit-transition: all 0.9s ease-in-out;
          transition: all 0.9s ease-in-out;
}

.effect16:before {
  left: 0;
  -webkit-transform-origin: 0 50%;
      -ms-transform-origin: 0 50%;
          transform-origin: 0 50%;
}

.effect16:after {
  left: 50%;
  background-position: 125px 0;
  -webkit-transform-origin: 100% 50%;
      -ms-transform-origin: 100% 50%;
          transform-origin: 100% 50%;
}

.effect16:hover:before {
  -webkit-transform: rotateY(-270deg) perspective(1500px);
          transform: rotateY(-270deg) perspective(1500px);
}

.effect16:hover:after {
  -webkit-transform: rotateY(270deg) perspective(1500px);
          transform: rotateY(270deg) perspective(1500px);
}
/* effect17 */

.effect17 {
  overflow: visible;
}

.effect17 img {
  -webkit-transform: scale(.95);
      -ms-transform: scale(.95);
          transform: scale(.95);
  opacity: 1;
  -webkit-transition: all 0.4s linear;
          transition: all 0.4s linear;
}

.effect17:hover img {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 0.7;
}

.effect17 figcaption {
  -webkit-transform: rotateX(-90deg) perspective(1000px);
          transform: rotateX(-90deg) perspective(1000px);
  -webkit-transform-origin: 50% 0;
      -ms-transform-origin: 50% 0;
          transform-origin: 50% 0;
  -webkit-transition: all 0.8s linear;
          transition: all 0.8s linear;
}

.effect17:hover figcaption {
  -webkit-transform: rotateX(10deg);
          transform: rotateX(10deg);
}
/* effect18 */

.effect18 {
  -webkit-perspective: 600px;
          perspective: 600px;
  overflow: visible;
  box-shadow: none;
}

.effect18 figcaption {
  box-shadow: 0 0 5px #333;
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0.5s linear 0s;
          transition: transform 0.5s linear 0s;
}

.effect18 img {
  box-shadow: 0 0 5px #333;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0.5s linear 0s;
          transition: transform 0.5s linear 0s;
}

.effect18:hover img {
  -webkit-transform: rotateY(-180deg);
          transform: rotateY(-180deg);
}

.effect18:hover figcaption {
  -webkit-transform: rotateY(0);
          transform: rotateY(0);
}

/* effect19 */

.effect19 {
  -webkit-perspective: 600px;
          perspective: 600px;
  overflow: visible;
}

.effect19 img {
  z-index: 1;
  opacity: 1;
  -webkit-transform-origin: 50% 100%;
      -ms-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  -webkit-transition-duration: 0.7s;
          transition-duration: 0.7s;
}

.effect19:hover img {
  opacity: 0.5;
  -webkit-transform: rotateX(-360deg);
          transform: rotateX(-360deg);
  -webkit-transition: all 1.2s linear;
          transition: all 1.2s linear;
}

.effect19 figcaption > * {
  opacity: 0;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
}

.effect19:hover figcaption > * {
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 1;
  -webkit-transition-duration: 0s;
          transition-duration: 0s;
}

.effect19:hover figcaption h1 {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.effect19:hover figcaption p {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.effect19:hover figcaption .links {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}
/* effect20 */

.effect20 {
  overflow: visible;
}

.effect20 img {
  z-index: 1;
  opacity: 1;
  -webkit-transform-origin: 100% 0%;
      -ms-transform-origin: 100% 0%;
          transform-origin: 100% 0%;
}

.effect20:hover img {
  opacity: 0;
  -webkit-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
          transform: rotate(-90deg);
  top: 50%;
  left: -999em;
  pointer-events: none;
  -webkit-transition: all 0.8s linear, 0.5s top 0.8s, 0.5s opacity 0.6s, left 0s 1.3s;
          transition: all 0.8s linear, 0.5s top 0.8s, 0.5s opacity 0.6s, left 0s 1.3s;
}

.effect20 figcaption > * {
  opacity: 0;
  position: relative;
  top: 20%;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
}

.effect20 figcaption .links {
  top: 0;
}

.effect20:hover figcaption > * {
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 1;
  top: 0;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}

.effect20:hover figcaption h1 {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.effect20:hover figcaption p {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.effect20:hover figcaption .links {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}



