
@import url(https://fonts.googleapis.com/css?family=Montserrat);
:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}


#appform{
    text-align: center;
    position: relative;
    margin: 30px auto;
    
}
#appform fieldset{
    background: white;
    border: 0 none;
    border-radius: 20px;
    box-shadow: 0 0 15px 1px rgba(0,0,0,0.4);
    padding: 20px 30px;
    box-sizing: border-box;
    width: 80%;
    margin: 0 10%;
    position: relative;
}
#appform fieldset:not(:first-of-type){
    /*Hide all except first fieldset*/
    display: none;
}
#appform input, #appform textarea{
    padding: 15px;
    border:1px solid #ccc;
    border-radius: 0px;
    margin-bottom: 10px;
    width: 100%;
    box-sizing: border-box;
    font-family: montserrat;
    color: #2C3E50;
    font-size: 13px;
}
#appform input.invalid, #appform textarea.invalid{
    background-color: #ffdddd;
}
.invalid{
    background-color: #ffdddd;
}
#appform input:focus,#appform textarea:focus{
    -moz-box-shadow: none !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    border: 1px solid #fd4c82;
    outline-width: 0;
    transition: All 0.5s ease-in;
    -webkit-transition: All 0.5s ease-in;
    -moz-transition: All 0.5s ease-in;
    -o-transition: All 0.5s ease-in;
}
#appform .app-btn{
    width: 100px;
    background-color: #fd4c82;
    font-weight: bold;
    color: white;
    border: 0 none;
    border-radius: 25px;
    cursor: pointer;
    padding: 10px 5px;
    margin:10px 5px;
}
#appform .app-btn:hover, #appform .app-btn:focus{
    color: #000000;
    box-shadow: 0 0 0 2px white, 0 0 0 3px #fd4c82;
}
#appform .app-btn-pre{
    width: 100px;
    background: #C5C5F1;
    font-weight: bold;
    color: white;
    border: 0 none;
    border-radius: 25px;
    cursor: pointer;
    padding: 10px 5px;
    margin: 10px 5px;
}
#appform .app-btn-pre:hover,#appform .app-btn-pre:focus{
    box-shadow: 0 0 0 2px white, 0 0 0 3px #c5c5f1;
}
#appform .fs-title{
    font-size: 18px;
    text-transform: uppercase;
    color: #2C3E50;
    margin-bottom: 10px;
    letter-spacing: 2px;
    font-weight: bold;
}
#appform .fs-subtitle{
    font-weight: normal;
    font-size: 13px;
    color: #666;
    margin-bottom: 20px;
}
#app-progress{
    overflow: hidden;
    counter-reset: step;
}
#app-progress li{
    list-style-type: none;
    color: gray;
    text-transform: uppercase;
    font-size: 10px;
    width: 30%;
    float: left;
    position: relative;
    letter-spacing: 1px;
    border:1px solid lightgray;
    -webkit-transition: 1s;
    transition: 1s;
}
#app-progress li:before {
    content: counter(step) ".";
    counter-increment: step;
    line-height: 26px;
    display: inline;
    font-size: 12px;
}
#app-progress li.valid{
    background-color: #fd4c82;
    color: white;
}
#app-progress li:hover{
    background-color: lightgray;
    cursor: pointer;
}
#app-progress li.active{
    background-color: lightgray;
}
.projects {
    display: block;
    width: 100%;
    height: 270px;
    margin-bottom: 30px;
    background-position: top center !important;
    z-index: 0;
    position: relative;
    overflow: hidden;
    border-radius: 5px; }
    .projects:after {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      content: '';
      background: #91c235;
      opacity: 0;
      z-index: 0;
      -moz-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      -webkit-transition: all 0.3s ease;
      -ms-transition: all 0.3s ease;
      transition: all 0.3s ease; }
    .projects .text {
      opacity: 0; }
      @media (max-width: 991.98px) {
        .projects .text {
          opacity: 1; } }
      .projects .text span {
        color: #fff; }
    .projects h2 {
      color: #fff;
      line-height: 1.2;
      font-size: 16px;
      text-transform: uppercase;
      font-weight: 700;
      letter-spacing: 1px; }
      .projects h2 a {
        color: #fff; }
    .projects .desc {
      z-index: 1; }
    .projects .icon {
      position: absolute;
      top: 50%;
      right: 50%;
      width: 70px;
      height: 70px;
      content: '';
      z-index: 1;
      background: #fd4c82;
      -webkit-transform: translate(50%, 50%);
      -ms-transform: translate(50%, 50%);
      transform: translate(50%, 50%);
      margin-top: -70px;
      opacity: 0;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      -ms-border-radius: 50%;
      border-radius: 50%;
      -moz-transition: all 0.3s ease;
      -o-transition: all 0.3s ease;
      -webkit-transition: all 0.3s ease;
      -ms-transition: all 0.3s ease;
      transition: all 0.3s ease; }
      @media (max-width: 991.98px) {
        .projects .icon {
          opacity: 1; } }
      .projects .icon span {
        color: #fff; }
    .projects:hover{
        cursor: pointer;
    }
    .projects:hover:after {
      opacity: .8; }
    .projects:hover .icon {
      opacity: 1; }
    .projects:hover .text {
      opacity: 1; }
@-webkit-keyframes mybounceOut{
    20%{-webkit-transform:scale3d(.9,.9,.9);
        transform:scale3d(.9,.9,.9)}
    50%,55%{opacity:1;
        -webkit-transform:scale3d(1.1,1.1,1.1);
        transform:scale3d(1.1,1.1,1.1)}
    to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);
        transform:scale3d(.3,.3,.3)}}
@keyframes mybounceOut{
    20%{-webkit-transform:scale3d(.9,.9,.9);
        transform:scale3d(.9,.9,.9)}
    50%,55%{opacity:1;
        -webkit-transform:scale3d(1.1,1.1,1.1);
        transform:scale3d(1.1,1.1,1.1)}
    to{opacity:0;
        -webkit-transform:scale3d(.3,.3,.3);
        transform:scale3d(.3,.3,.3)}}
@-webkit-keyframes mybounceIn{
    0%,20%,40%,60%,80%,to{
        -webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);
        animation-timing-function:cubic-bezier(.215,.61,.355,1)}
        0%{opacity:0;
            -webkit-transform:scale3d(.3,.3,.3);
            transform:scale3d(.3,.3,.3)}
        20%{-webkit-transform:scale3d(1.1,1.1,1.1);
            transform:scale3d(1.1,1.1,1.1)}
        40%{-webkit-transform:scale3d(.9,.9,.9);
            transform:scale3d(.9,.9,.9)}
        60%{opacity:1;
            -webkit-transform:scale3d(1.03,1.03,1.03);
            transform:scale3d(1.03,1.03,1.03)}
        80%{-webkit-transform:scale3d(.97,.97,.97);
            transform:scale3d(.97,.97,.97)}
        to{opacity:1;
            -webkit-transform:scaleX(1);
            transform:scaleX(1)}}
@keyframes mybounceIn{
    0%,20%,40%,60%,80%,to{
        -webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);
        animation-timing-function:cubic-bezier(.215,.61,.355,1)}
    0%{opacity:0;
        -webkit-transform:scale3d(.3,.3,.3);
        transform:scale3d(.3,.3,.3)}
    20%{-webkit-transform:scale3d(1.1,1.1,1.1);
        transform:scale3d(1.1,1.1,1.1)}
    40%{-webkit-transform:scale3d(.9,.9,.9);
        transform:scale3d(.9,.9,.9)}
    60%{opacity:1;
        -webkit-transform:scale3d(1.03,1.03,1.03);
        transform:scale3d(1.03,1.03,1.03)}
    80%{-webkit-transform:scale3d(.97,.97,.97);
        transform:scale3d(.97,.97,.97)}
    to{opacity:1;
        -webkit-transform:scaleX(1);
        transform:scaleX(1)}}
.self_bounceOut{
    -webkit-animation-duration:.75s;
    animation-duration:.75s;
    -webkit-animation-duration:calc(var(--animate-duration)*0.75);
    animation-duration:calc(var(--animate-duration)*0.75);
    -webkit-animation-name:mybounceOut;
    animation-name:mybounceOut}
.self_bounceIn{
    -webkit-animation-duration:.75s;
    animation-duration:.75s;
    -webkit-animation-duration:calc(var(--animate-duration)*0.75);
    animation-duration:calc(var(--animate-duration)*0.75);
    -webkit-animation-name:mybounceIn;
    animation-name:mybounceIn}