/* background */
body {
  background:url('./../img/landing-background.jpg')  center  ; 
  height: 100vh;
  background-size:     cover;                      /* <------ */
  background-repeat:   no-repeat;
  background-position: center center;              /* optional, center the image */
  font-family: 'Open Sans', sans-serif !important;
}

li {
  margin: 10px;
}

h3 {
  margin:30px;
}

div {
  overflow: hidden;
}

a {
  cursor: pointer;
}

img {
  width:100%;
}

.dark-overlay {
  background-color:#000000;
  opacity: 0.7;
  color: #FFFFFF;
}

.semi-light-backgtound {
  background-color: #F3EFE0;  
}

.dark-background {
  background-color: #2E2633;
}

.light-background {
  background-color: #f5f4f4;
}

.white-background {
  background-color: #FFFFFF;
}

.see-through-background {
  background-color: #333333;
  /*opacity: 0.7;*/
}

/* layout */
.flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;

  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.flex-middle {
  align-items: center;
  justify-content: center;
}

.full-vertical {
  height: 100vh;
}

.full-height {
  height: 100%
}

.bottom {
  position: absolute;
  bottom: 20px;
}

.col1 {
  width:60%;
  padding-right: 20px;
  padding-top: 2%;
  padding-bottom: 5%;
  padding-left: 10%
}

.col2 {
  width:40%;
  padding-left: 20px;
  padding-top: 2%;
  padding-bottom: 5%;
  padding-right: 10%;
}

.lg-left-padding {
  padding-left: 35%;
}

.sm-left-padding {
  padding-left: 25px;
}

.top-pad{
 padding-top: 10px;
}

.right-padding {
  padding-right: 12%;
}

.contain {
  padding-left: 10%;
  padding-right: 10%;
  padding-bottom: 3%;
}

/* font and text */
.text-align-center {
  text-align: center;
  width:100%;
}

.bright-font {
  color: #22A39F;
}

.light-font {
  color: #FFFFFF;
}

.dark-font {
  color: #000000;
}

.lg-font {
  font-size: 30px;
}

.md-font {
  font-size: 18px;
}

.sub-heading {
  font-size: 22px;
}

.xlg-font {
  font-size: 60px;
}

a {
  color: white;
}

.bold {
  font-weight:700;
}

/* cards */
.card {
  display: inline-block;
  height: 350px;
  width: 300px;
  margin: 5px;
  overflow: hidden;
  position: relative;
}

.info {
  position: absolute;
  padding: 20px;
  top: 100%;
  width: 100%;
  height: 100%;
  background: #1565c0 ;
  opacity: 0.8;
  text-align: center;
  -webkit-transition: top 0.3s ease;
  transition: top 0.3s ease;
  left: 0;
  color: #FFFFFF;
  text-decoration: none;
}

.card:hover .info {
  top: 0;
  display: block;
}

.card-img {
  width:100%;
  height:230px;
  opacity: 1;
}

.card-description {
  padding: 20px;
  width: 100%;
  height: 120px;
}

/* text box */
.text-box {
  padding-left: 35px;
  padding-right: 35px;
  text-align: left;
}

/* button */
.btn-round {
  background-color: white;
  color:black;
  margin:5px;
  border-radius: 50%;
  height: 45px;
  width: 45px;
  line-height: 45px;
}

/*divider */
.divide {
  margin-top: 10px;
  margin-bottom: 40px;
  padding-bottom: 7px;
}

.divide:after {
  padding-top: 10px;
  content: "";
  display: block;
  height: 3px;
  width: 100%; 
  border-bottom: 3px solid #22A39F;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}

.divide:hover:after {
  width:85%;
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}


/* visibility */
.hide-this {
  opacity: 0;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.show-this {
  opacity: 1;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

/*animation*/
.bounce {
 animation: bounce 2s infinite;
 -webkit-animation: bounce 2s infinite;
 -moz-animation: bounce 2s infinite;
 -o-animation: bounce 2s infinite;
}
 
@-webkit-keyframes bounce {
 0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);} 
 40% {-webkit-transform: translateY(-20px);}
 60% {-webkit-transform: translateY(-10px);}
}
 
@-moz-keyframes bounce {
 0%, 20%, 50%, 80%, 100% {-moz-transform: translateY(0);}
 40% {-moz-transform: translateY(-20px);}
 60% {-moz-transform: translateY(-10px);}
}
 
@-o-keyframes bounce {
 0%, 20%, 50%, 80%, 100% {-o-transform: translateY(0);}
 40% {-o-transform: translateY(-20px);}
 60% {-o-transform: translateY(-10px);}
}

@keyframes bounce {
 0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
 40% {transform: translateY(-20px);}
 60% {transform: translateY(-10px);}
}

.drop-in-slow {
  animation-name: drop-in;
  animation-duration: 2.5s;
}

.drop-in-fast {
  animation-name: drop-in;
  animation-duration: 2s;
}

.drop-in {
  animation-name: drop-in;
  animation-duration: 2.25s;
}

@-webkit-keyframes drop-in {
  from {
    top: -300px;
  }
  to  {
    top: 0px;
  }
}
 
@-moz-keyframes drop-in {
  from {
    top: -300px;
  }
  to  {
    top: 0px;
  }
}
 
@-o-keyframes drop-in {
  from {
    top: -300px;
  }
  to  {
    top: 0px;
  }
}

@keyframes drop-in{
  from {
    top: -300px;
  }
  to  {
    top: 0px;
  }
}

.fade-in {
  animation-name: fade-in;
  animation-duration: 1.5s;
  animation-fill-mode:forwards
}

.delay {
  animation-delay: 1.5s;
}

@-webkit-keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
 
@-moz-keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
 
@-o-keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fade-in{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.fade-in-half {
  animation-name: fade-in-half;
  animation-duration: 2s;
  animation-fill-mode:forwards
}

@-webkit-keyframes fade-in-half {
  from {
    opacity: 1;
  }
  to {
    opacity: 0.7;
  }
}
 
@-moz-keyframes fade-in-half {
  from {
    opacity: 1;
  }
  to {
    opacity: 0.7;
  }
}
 
@-o-keyframes fade-in-half {
  from {
    opacity: 1;
  }
  to {
    opacity: 0.7;
  }
}

@keyframes fade-in-half {
  from {
    opacity: 1;
  }
  to {
    opacity: 0.7;
  }
}


/* responsive */
@media only screen and (max-width: 601px) {
  .flex {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .col1, .col2 {
    width: 100%;
    padding:10%;
  }

  .card {
    width:80%;
  }

  .text-box {
    text-align: center;
  }

  .lg-left-padding {
    padding-left: 0;
  }
}

