@import url(https://fonts.googleapis.com/css?family=Playfair+Display:400italic,700italic,900italic);
@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700);
/*  ------------------ GENERAL  ------------------ */
* {
  box-sizing: border-box; }

ul {
  list-style: none; }

body {
  font-family: Montserrat;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

ul {
  margin: 0;
  padding: 0; }

p {
  font-size: 11px;
  letter-spacing: 1px; }

select.form-control:focus,
button:focus {
  outline: 0 !important; }

.form-control {
  width: 320px;
  display: inline-block;
  margin: 7px 6px;
  border: 0px; }

.form {
  width: 757px;
  margin: auto; }

.form-control.size4 {
  width: 646px; }

.form-control.size3 {
  width: 450px; }

.form-control.size2 {
  width: 220px; }

.form-control.size1 {
  width: 189px; }

.form-control:focus {
  border-color: black;
  outline: 0;
  box-shadow: none; }

#grid {
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  -webkit-transition: opacity 0.3s ease;
  -moz-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  -webkit-transition-delay: 0.3s;
  -moz-transition-delay: 0.3s;
  transition-delay: 0.3s;
  opacity: 0; }

.step1 #grid,
.step2 #grid,
.step25 #grid,
.step3 #grid,
.step4 #grid {
  opacity: 1;
  z-index: 5;
  display: block; }

#main_content {
  background: whitesmoke;
  height: 100%;
  -webkit-transition: width 0.6s cubic-bezier(0.77, 0, 0.175, 1), background 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: width 0.6s cubic-bezier(0.77, 0, 0.175, 1), background 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  transition: width 0.6s cubic-bezier(0.77, 0, 0.175, 1), background 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  padding-top: 200px;
  overflow: hidden;
  padding-left: 0;
  padding-right: 0;
  background: rgba(245, 245, 245, 0.95); }

.step1 #main_content {
  background: rgba(245, 245, 245, 0.8); }

#texture {
  background: url(../img/texture.png);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 998;
  pointer-events: none; }

#logo {
  position: fixed;
  z-index: 999;
  background: url(../img/logo.svg) no-repeat;
  width: 45px;
  height: 75px;
  cursor: pointer;
  transition: left 0.6s ease;
  transition-delay: .5s;
  background-size: contain;
  margin: 20px;
  left: -60px; }

.home #logo {
  left: 0px; }

/*  ------------------ Buttons  ------------------ */
.next {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.3), 0 3px 3px rgba(0, 0, 0, 0.15), 0 3px 2px -2px rgba(0, 0, 0, 0.2);
  font-weight: bold;
  color: #fff;
  text-shadow: 0 -0.5px 1px rgba(0, 0, 0, 0.15);
  margin: 0;
  position: relative;
  display: inline-block;
  -webkit-transition: 200ms background cubic-bezier(0.4, 0, 0.2, 1);
  -moz-transition: 200ms background cubic-bezier(0.4, 0, 0.2, 1);
  transition: 200ms background cubic-bezier(0.4, 0, 0.2, 1);
  background: #f02745;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px; }

.footer button {
  box-shadow: none; }

button:hover,
button:focus {
  outline: none; }

.next.small {
  padding: 18px 20px;
  margin-top: 20px;
  min-width: 160px;
  margin-bottom: 40px; }

.step1_container .next.small {
  width: 230px; }

.next.big {
  width: 80%;
  padding: 1.3em 3em;
  height: 71px; }

/*  ------------------ Top Icons  ------------------ */
.topicons {
  position: fixed;
  top: 25px;
  right: 25px;
  z-index: 20;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 1px;
  /*display: none;*/ }

.goback {
  color: black;
  cursor: pointer;
  font-size: 11px;
  font-weight: bold;
  left: 25px;
  position: fixed;
  text-transform: uppercase;
  top: 25px;
  z-index: 80; }

body.home .goback {
  display: none; }

.topicons div {
  cursor: pointer;
  display: inline-block;
  margin-left: 10px;
  overflow: hidden;
  -webkit-transition: 0.2s opacity ease;
  -moz-transition: 0.2s opacity ease;
  transition: 0.2s opacity ease;
  opacity: 1;
  color: black;
  text-decoration: none; }

.topicons div:hover {
  text-decoration: underline; }

/*  ------------------ H1  ------------------ */
h1,
h2 {
  font-weight: bold;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 0 10px; }

h1 {
  width: 100%;
  margin: auto;
  padding: 0 96px; }

h1::before,
h1::after {
  content: "/";
  display: block;
  font-weight: 100;
  margin: 40px 0; }

h2 {
  margin: 45px 0 45px 0; }

.italic,
.italic {
  font-weight: 300;
  letter-spacing: 0;
  font-family: "Playfair Display";
  font-style: italic;
  text-transform: none; }

h1 span.tagline,
h2 span.tagline {
  display: block;
  font-size: 11px;
  letter-spacing: 3px;
  margin-top: 5px;
  font-weight: 300; }

/*  ------------------ ARTWORKS  ------------------ */
.art {
  width: 207px;
  height: 258px;
  background: url(../img/frame.jpg);
  text-align: left;
  margin: auto;
  overflow: hidden;
  position: relative;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.6); }

.art img {
  margin-left: 15px;
  margin-top: 16px; }

.gallery li.selected .art img {
  opacity: 0.6; }

.art::before {
  transform: scale(0, 0);
  -webkit-transition: -webkit-transform 0.3s ease;
  -moz-transition: -moz-transform 0.3s ease;
  transition: transform 0.3s ease;
  content: "SELECTED";
  width: 35px;
  height: 35px;
  box-shadow: inset 1px 1px 1px rgba(255, 255, 255, 0.3), 0 3px 3px rgba(0, 0, 0, 0.15), 0 3px 2px -2px rgba(0, 0, 0, 0.2);
  background: #F02745 url("../img/icon_check.svg") no-repeat scroll 7px 9px/22px auto;
  position: absolute;
  z-index: 2;
  top: 193px;
  left: 143px;
  background-size: 22px;
  background-position-x: 7px;
  padding-top: 32px;
  overflow: hidden;
  color: #f02745;
  font-weight: bold;
  font-size: 11px;
  text-align: right;
  padding-left: 34px; }

.step2_container .gallery li.selected .art::before {
  width: 149px;
  left: 30px;
  transform: scale(1, 1);
  padding-top: 11px;
  -webkit-transition: width 0.4s ease, left 0.4s ease, padding-right 1s ease;
  -moz-transition: width 0.4s ease, left 0.4s ease, padding-right 1s ease;
  transition: width 0.4s ease, left 0.4s ease, padding-right 1s ease;
  color: white;
  padding-right: 40px; }

.step2_container .gallery li.selected .art,
.shake {
  -webkit-animation-name: shake;
  -moz-animation-name: shake;
  animation-name: shake;
  -webkit-animation-duration: 0.4s;
  -moz-animation-duration: 0.4s;
  animation-duration: 0.4s;
  -webkit-transform-origin: 50% 100%;
  -moz-transform-origin: 50% 100%;
  -ms-transform-origin: 50% 100%;
  -o-transform-origin: 50% 100%;
  transform-origin: 50% 100%; }

.step2_container .gallery li.removed .art::before {
  transform: scale(0, 0); }

.step1_container li:hover .art::before,
.step2_container li:hover .art::before {
  transform: scale(1, 1); }

@-webkit-keyframes shake {
  0% {
    -webkit-transform: translate(0, 1px) rotate(0deg); }
  40% {
    -webkit-transform: translate(-1px, 0) rotate(-1deg); }
  70% {
    -webkit-transform: translate(-1px, 0px) rotate(1deg); }
  100% {
    -webkit-transform: translate(0px, 1px) rotate(0deg); } }
@-moz-keyframes shake {
  0% {
    -moz-transform: translate(0, 1px) rotate(0deg); }
  40% {
    -moz-transform: translate(-1px, 0) rotate(-1deg); }
  70% {
    -moz-transform: translate(-1px, 0px) rotate(1deg); }
  100% {
    -moz-transform: translate(0px, 1px) rotate(0deg); } }
@keyframes shake {
  0% {
    -webkit-transform: translate(0, 1px) rotate(0deg);
    -moz-transform: translate(0, 1px) rotate(0deg);
    -ms-transform: translate(0, 1px) rotate(0deg);
    -o-transform: translate(0, 1px) rotate(0deg);
    transform: translate(0, 1px) rotate(0deg); }
  40% {
    -webkit-transform: translate(-1px, 0) rotate(-1deg);
    -moz-transform: translate(-1px, 0) rotate(-1deg);
    -ms-transform: translate(-1px, 0) rotate(-1deg);
    -o-transform: translate(-1px, 0) rotate(-1deg);
    transform: translate(-1px, 0) rotate(-1deg); }
  70% {
    -webkit-transform: translate(-1px, 0px) rotate(1deg);
    -moz-transform: translate(-1px, 0px) rotate(1deg);
    -ms-transform: translate(-1px, 0px) rotate(1deg);
    -o-transform: translate(-1px, 0px) rotate(1deg);
    transform: translate(-1px, 0px) rotate(1deg); }
  100% {
    -webkit-transform: translate(0px, 1px) rotate(0deg);
    -moz-transform: translate(0px, 1px) rotate(0deg);
    -ms-transform: translate(0px, 1px) rotate(0deg);
    -o-transform: translate(0px, 1px) rotate(0deg);
    transform: translate(0px, 1px) rotate(0deg); } }
/*  ------------------ FOOTER  ------------------ */
.footer {
  background: rgba(0, 0, 0, 0.25);
  width: 100%;
  height: 100px;
  bottom: 0;
  padding-top: 14px;
  text-align: center;
  position: fixed;
  -webkit-transition: bottom 0.3s cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: bottom 0.3s cubic-bezier(0.77, 0, 0.175, 1);
  transition: bottom 0.3s cubic-bezier(0.77, 0, 0.175, 1);
  z-index: 50;
  -webkit-transition-delay: 0.5s;
  -moz-transition-delay: 0.5s;
  transition-delay: 0.5s; }

.step1 .footer,
.step2 .footer,
.step25 .footer,
.step3 .footer,
.step4 .footer {
  bottom: -100px; }

/*  ------------------ STEPS TRANSITION  ------------------ */
.step1_container,
.step2_container,
.step25_container,
.step3_container,
.step4_container {
  -webkit-transition: top 1s ease, -webkit-transform 1s ease;
  -moz-transition: top 1s ease, -moz-transform 1s ease;
  transition: top 1s ease, transform 1s ease;
  width: calc(100% - 40px);
  position: absolute;
  top: 150%;
  -webkit-transition-delay: 0.6s;
  -moz-transition-delay: 0.6s;
  transition-delay: 0.6s;
  margin: 0 20px;
  height: 100%;
  overflow: scroll; }

.step2 .step1_container,
.step25 .step1_container,
.step25 .step2_container,
.step3 .step1_container,
.step3 .step2_container,
.step3 .step25_container,
.step4 .step3_container,
.step4 .step2_container,
.step4 .step25_container,
.step4 .step1_container {
  top: -100%; }

.step1_container ul {
  margin-left: -48px;
  margin-top: -48px; }

.step1 .step1_container,
.step2 .step2_container,
.step25 .step25_container,
.step3 .step3_container {
  z-index: 3;
  opacity: 1;
  top: 0;
  position: absolute; }

.step4 .step4_container {
  height: 100%;
  top: 0;
  opacity: 1;
  z-index: 3; }

/*  ------------------ Loader  ------------------ */
#loader {
  position: fixed;
  width: 100%;
  height: 100%;
  background: white;
  z-index: 80;
  text-align: center;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  -moz-transition: opacity 0.3s ease, -moz-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  top: 0;
  overflow: hidden;
  pointer-events: none; }

.vertical_middle {
  top: 50%;
  position: absolute;
  transform: translateY(-50%);
  width: 100%; }

#loader.loaded {
  opacity: 0;
  transform: scale(1.3); }

/*  ------------------ Progress Bar  ------------------ */
#progressbar {
  position: fixed;
  z-index: 54;
  bottom: 0px;
  width: 100%;
  background: black;
  height: 0;
  -webkit-transition: height 0.3s ease;
  -moz-transition: height 0.3s ease;
  transition: height 0.3s ease; }

.step2 #progressbar,
.step25 #progressbar,
.step3 #progressbar,
.step4 #progressbar {
  height: 8px; }

#progressbar span {
  background: #f02745;
  width: 0%;
  height: 100%;
  -webkit-transition: width 1s cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: width 1s cubic-bezier(0.77, 0, 0.175, 1);
  transition: width 1s cubic-bezier(0.77, 0, 0.175, 1);
  display: block; }

/*  ------------------ Home Page  ------------------ */
.background {
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  position: fixed;
  z-index: 1;
  margin: 10px;
  background: #88847d;
  background: -moz-linear-gradient(45deg, #88847d 0%, #a19d95 26%, #c9c4b9 51%, #e0dacc 79%, #f4eee0 100%);
  background: -webkit-gradient(linear, left bottom, right top, color-stop(0%, #88847d), color-stop(26%, #a19d95), color-stop(51%, #c9c4b9), color-stop(79%, #e0dacc), color-stop(100%, #f4eee0));
  background: -webkit-linear-gradient(45deg, #88847d 0%, #a19d95 26%, #c9c4b9 51%, #e0dacc 79%, #f4eee0 100%);
  background: -o-linear-gradient(45deg, #88847d 0%, #a19d95 26%, #c9c4b9 51%, #e0dacc 79%, #f4eee0 100%);
  background: -ms-linear-gradient(45deg, #88847d 0%, #a19d95 26%, #c9c4b9 51%, #e0dacc 79%, #f4eee0 100%);
  background: linear-gradient(45deg, #88847d 0%, #a19d95 26%, #c9c4b9 51%, #e0dacc 79%, #f4eee0 100%); }

.ob_text1 {
  top: 140px;
  left: -920px;
  z-index: 2;
  width: 700px; }

.tagline {
  opacity: 0.5;
  font-size: 25px;
  margin-bottom: 30px;
  display: block;
  border-top: 2px dotted white;
  padding: 10px 0;
  border-bottom: 2px dotted white; }

#home_video {
  height: 100%;
  pointer-events: none;
  text-shadow: 0 -0.5px 1px rgba(0, 0, 0, 0.3);
  color: white;
  font-size: 20px;
  line-height: 1.15;
  position: absolute;
  z-index: 5;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 3px;
  width: 100%;
  background: url(../img/homepage.jpg) center center;
  background-size: cover;
  pointer-events: none; }

#home_video .home_background_img {
  width: 100%; }

#home_video .home_spacer {
  height: 100%; }

/*  ------------------ STEP 1  ------------------ */
.step1_container li {
  display: inline-block;
  vertical-align: top;
  cursor: pointer;
  position: relative;
  transform: scale(0.6);
  width: 132px; }

.step1_container p {
  width: 210px;
  margin-top: 15px;
  font-size: 12px; }

.story_product {
  margin-top: -40px; }

/*  ------------------ STEP 2 - Gallery  ------------------ */
.step2 #main_content::before {
  background-color: rgba(245, 245, 245, 0);
  background-image: -webkit-linear-gradient(top, rgba(245, 245, 245, 0) 0%, whitesmoke 82%, whitesmoke 100%);
  background-image: linear-gradient(to bottom,rgba(245, 245, 245, 0) 0%, whitesmoke 82%, whitesmoke 100%);
  position: absolute;
  bottom: 0px;
  width: 100%;
  height: 78px;
  z-index: 35;
  content: "";
  right: 0;
  padding-left: 0;
  -webkit-transition: 0.3s ease background;
  -moz-transition: 0.3s ease background;
  transition: 0.3s ease background; }

.gallery {
  height: auto;
  margin: auto;
  max-width: 960px; }

.gallery ul {
  margin: 0; }

.gallery li {
  display: inline-block;
  margin: 0 20px 40px 20px;
  cursor: pointer;
  position: relative; }

.gallery .artist {
  margin-top: 15px; }

.gallery .artist img {
  border-radius: 50%;
  overflow: hidden;
  width: 30px;
  height: 30px;
  margin-left: -8px; }

.gallery .artist .info {
  float: right;
  width: 160px;
  text-align: left;
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase; }

.gallery .info .price {
  font-weight: 100; }

.step2_container,
.step25_container {
  height: 100%; }

/*  ------------------ STEP 2 - Portrait  ------------------ */
#portrait-upload {
  height: 220px;
  margin: auto;
  border-radius: 5px;
  background: white;
  display: table;
  margin-bottom: 13px;
  cursor: pointer;
  width: 92%; }

.dz-preview {
  display: table-cell;
  text-align: center;
  vertical-align: middle; }

#portrait-upload img {
  max-width: 384px;
  max-height: 287px; }

.dz-default {
  margin-top: 107px;
  font-weight: bold;
  font-size: 12px;
  text-transform: uppercase;
  pointer-events: none; }

.portrait .info {
  text-transform: capitalize;
  color: gray;
  font-size: 11px; }

/*  ------------------ STEP 2 - Story  ------------------ */
.step25_container .story,
.step25_container .portrait {
  display: none; }

body .step25_container.story .story,
body .step25_container.portrait .portrait {
  display: block; }

#input_story {
  margin: -2px auto 10px auto;
  height: 270px;
  width: 100%;
  border: 0;
  resize: none;
  outline: 0;
  line-height: 1.7;
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: bold;
  /*text-transform: uppercase;*/
  border-radius: 4px;
  padding-top: 20px;
  text-align: left;
  padding-left: 20px; }

/*  ------------------ STEP 3  ------------------ */
#checkout {
  overflow: hidden;
  -webkit-transition: height 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: height 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  transition: height 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  border-top: 1px dotted #cbcbcb;
  border-bottom: 1px dotted #cbcbcb;
  width: 100%;
  padding: 0 30px;
  height: 139px; }

#checkout.extend {
  height: 286px; }

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
  margin: auto;
  text-align: left; }

.list-group-item {
  display: block;
  float: none !important;
  background: none;
  border-top: 0;
  border-bottom: 1px dotted #cbcbcb;
  border-right: 0;
  border-left: 0;
  padding: 10px 0; }

.list-group-item > div {
  display: block;
  float: none !important;
  vertical-align: middle; }

.list-group .form-control {
  width: 100%;
  border: 0;
  box-shadow: none;
  font-size: 12px;
  letter-spacing: 0;
  cursor: pointer; }

.checkout_label {
  display: block; }

.subline {
  display: block;
  opacity: .5;
  font-size: 11px; }

#checkout .price {
  text-align: right;
  font-weight: bold;
  color: #9d9d9d;
  font-size: 11px;
  letter-spacing: 0.5px;
  display: inline-block; }

.wait .price {
  opacity: 0.1; }

.wait #checkout_total_dollar {
  opacity: 0.1; }

#checkout_print {
  border-bottom: 0; }

#checkout_size {
  border-top: 0;
  margin-top: -19px;
  border-bottom: 0;
  margin-bottom: -17px; }

#checkout_total {
  border: 0; }

#checkout_total_dollar {
  text-align: right; }

.total {
  position: absolute;
  top: 58px;
  margin-left: -33px;
  opacity: .5;
  text-transform: uppercase;
  font-size: 10px; }

/*  ------------------ Step4  ------------------ */
.col-md-1 {
  width: 0% !important;
  overflow: hidden;
  padding: 0; }

.col-md-11 {
  width: 100% !important; }

/*  ------------------ Test  ------------------ */
.target1 {
  position: absolute;
  top: 2500px; }

#home_animation {
  position: fixed;
  z-index: 50;
  top: calc(50% - 81px);
  left: calc(50% + 59px); }

/*# sourceMappingURL=mobile.css.map */
