html {
  font-size: 16px;
}

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

img {
  max-width: 100%;
}

button {
  text-transform: uppercase !important;
  font-weight: bold !important;
}

body {
  font-family: 'Open Sans', sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: column;
      flex-flow: column;
  min-height: 100vh;
  text-align: center;
  position: relative;
  max-width: 150vw;
  overflow-x: hidden;
}

@media (min-width: 500px) {
  body {
    height: 100vh;
    min-height: 768px;
  }
}

header {
  padding: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: column;
      flex-flow: column;
  height: 80%;
  min-height: 500px;
}

header .logo {
  text-align: center;
}

header img {
  width: 100%;
  margin-bottom: 20px;
  max-width: 500px;
}

header h1 {
  font-size: 2.2em;
  color: #53A273;
  font-weight: bold;
  margin: 0;
}

@media (min-width: 768px) {
  header h1 {
    margin: 30px auto;
  }
}

header .form-control {
  border: 1px solid #53A273;
}

header button {
  margin: 1rem 0;
}

.search {
  margin: 25px;
  text-align: center;
  max-width: 400px;
  min-height: 200px;
  margin: 7vh auto auto auto; 
}

@media (min-width: 768px) {
  .search {
    max-width: 480px;
    min-width: 480px;
    width: 380px;
  }
}

@media (min-width: 1920px) {
  .search {
    margin: 25vh auto auto auto;
  }
}

.status-error {
	margin-top: 10px;
	color: #C63838;
	font-size: 16px;
}

.result {
  max-width: 300px;
  margin: 5vh auto auto auto;
}

@media (min-width: 768px) {
  .result {
    max-width: 380px;
    min-width: 380px;
    width: 380px;
  }
}

@media (min-width: 1920px) {
  .result {
    margin: 20vh auto auto auto;
  }
}

.breadcrumb {
  font-size: 9px;
  font-weight: bold;
  color: #666;
  padding: 0 !important;
}

@media (min-width: 768px) {
  .breadcrumb {
    font-size: 11.5px;
  }
}

.breadcrumb .part {
  width: 32%;
  display: inline-block;
  padding: 8px;
  position: relative;
  height: 80px;
  transition: all .2s ease;
}

.breadcrumb .part .tooltiptext {
  display: block;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.7);
  top: -10px;
  color: #fff;
  padding: 7px;
  padding-bottom: 0;
  font-size: 10px;
  border-radius: 3px;
  opacity: 0;
  pointer-events: none;
  transition: all 500ms ease-in-out;
  width: 150px;
}

.breadcrumb .part:first-of-type .tooltiptext {
  top: -25px;
}

.breadcrumb .part:nth-of-type(2) .tooltiptext {
  top: -30px;
}

.breadcrumb .part .tooltiptext:before {
  border-color: transparent;
	border-top-color: rgba(0, 0, 0, 0.7);
	border-style: solid;
	border-width: 10px;
	content: ' ';
	display: block;
	height: 0;
	left: 50%;
	margin-left: -10px;
	position: absolute;
	bottom: -20px;
	width: 0;
}

.breadcrumb .part:hover .tooltiptext {
  opacity: 1;
}

.breadcrumb .part span {
  position: absolute;
  top: 52%;
  left: 50%;
  -webkit-transform: translate(-30%, -50%);
          transform: translate(-30%, -50%);
  z-index: 2;
}

.breadcrumb .part:nth-of-type(2) span {
  left: 85%;
}

@media (min-width: 768px) {
  .breadcrumb .part:nth-of-type(2) span {
    left: 70%;
  }
}

.breadcrumb .part:nth-of-type(3) span {
  left: 85%;
}

@media (min-width: 768px) {
  .breadcrumb .part:nth-of-type(3) span {
    left: 70%;
  }
}

.breadcrumb .part:nth-of-type(4) span {
  left: 64%;
}

@media (min-width: 768px) {
  .breadcrumb .part:nth-of-type(4) span {
    left: 60%;
  }
}

.breadcrumb .part:hover {
  cursor: pointer;
}

.breadcrumb .part:after {
  content: '';
  border-top: 40px solid transparent;
  border-bottom: 40px solid transparent;
  border-left: 40px solid #f5f5f5;
  position: absolute;
  right: -40px;
  top: 0;
  z-index: 1;
}

.breadcrumb .part:before {
  content: '';
  border-top: 40px solid transparent;
  border-bottom: 40px solid transparent;
  border-left: 40px solid #fff;
  position: absolute;
  left: 0;
  top: 0;
}

.breadcrumb .part:first-of-type, .breadcrumb .part.first-step {
  width: 18%;
}

.breadcrumb .part:nth-of-type(2), .breadcrumb .part.second-step {
  width: 22%;
}

@media (min-width: 768px) {
  .breadcrumb .part:nth-of-type(2), .breadcrumb .part.second-step {
    width: 24%;
  }
}

.breadcrumb .part:nth-of-type(3), .breadcrumb .part.third-step {
  width: 22%;
}

@media (min-width: 768px) {
  .breadcrumb .part:nth-of-type(3), .breadcrumb .part.third-step {
    width: 24%;
  }
}

.breadcrumb .part:last-of-type, .breadcrumb .part.last-step {
  width: 32%;
}

@media (min-width: 768px) {
  .breadcrumb .part:last-of-type, .breadcrumb .part.last-step {
    width: 28%;
  }
}

.breadcrumb .part:last-of-type:after, .breadcrumb .part.last-step:after {
  display: none;
}

.breadcrumb .part:first-of-type:before, .breadcrumb .part.first-step:before {
  display: none;
}

.breadcrumb .part.active:after {
  border-left: 40px solid #cce5cc;
}

.breadcrumb .active {
  color: #3c763d !important;
  background-color: #cce5cc;
}

.status-cancel {
  color: red;
  margin: 40px;
  font-size: 20px;
  text-transform: uppercase;
}

footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: column;
      flex-flow: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 5px 20px;
  min-height: 80px;
}

@media (min-width: 768px) {
  footer {
    position: absolute;
    width: 100%;
    bottom: 20px;
    margin-bottom: 0;
  }
}

footer .contact {
  margin: 0px;
}

footer .contact p {
  margin: 0;
}

footer .logo {
  max-width: 200px;
  margin: auto;
  text-align: center;
}

footer img {
  width: 50%;
  max-width: 120px;
  position: fixed;
  bottom: 0;
  left: 0;
  padding: 10px;
}

@media (min-width: 768px) {
  footer img {
    max-width: 300px;
  }
}
