/*@import url('https://fonts.googleapis.com/css?family=Poppins:400,500,700');*/
/* @import url('https://fonts.googleapis.com/css2?family=Open+Sans&family=Secular+One&display=swap');*/
/* @import url('https://fonts.googleapis.com/css2?family=Mada&display=swap');*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Catamaran:wght@400&display=swap');


html, body {
  height: 100%;
  width: 100%;
  font-family: 'Catamaran', sans-serif;
  color: #1d2124;
  }

#one {
  margin-top: 2rem;
  margin-bottom: 2rem;
  font-size: 1em;
  }


h2 {
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1em;
  margin-top: 2rem;
  font-size: 1.2em;
  color: #1d2124;
  font-family: 'Catamaran', sans-serif;
  }

h6 {
  font-family: 'Catamaran', sans-serif;
  font-size: 1.4rem;
  /*text-transform: uppercase;*/
  /*font-weight: bold;
  /*font-variant: small-caps;*/
  }


h4 {
  font-size: 1.1em !important;
  }

a {
  color: #6c757d;
  text-decoration: underline;
  }

a:hover {
  color: #343a40;
  text-decoration: underline;
  }

.my-line {
  border: 0;
  border-top: 1px solid rgba(0,0,0,.1);
  margin-top: 1rem;
  margin-bottom: .5rem;
  }

.navbar {
  padding: .8rem;
  background-color: rgba(255, 255, 255, 1);
  max-width: 1500px;
  margin: 0 auto;
  }

.navbar-nav li{
  padding-right: 20px;
  }

.nav-link{
  font-size: 1.1em !important;
  text-decoration: none;
  }

.nav-item a{
  color: #6c757d !important;
  text-decoration: none;
  }

.nav-item a:hover{
  color: #343a40 !important;
  text-decoration: underline;
  }

.active a{
  color: #1d2124 !important;
  text-decoration: none;
  }

.navbar-brand img{
  width: 88%;
  height: 88%;
  }

.portfolio{
  max-width: 1200px;
  margin: 0 auto;
  }

.about{
  max-width: 1200px;
  margin: 0 auto;
  }

.projects{
  max-width: 1000px;
  margin: 0 auto;
  margin-top: 2em;
  }

.carousel {
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 2rem;
  margin-bottom: 4rem;
  }

.carousel-inner img{
  width: 100%;
  height: 100%;
  }

.carousel-caption{
  position: absolute;
  top: 21%;
  transform: translate(0,0);
  }

.carousel-caption h1{
  font-size: 3.6vw;
  text-transform: uppercase;
  color: #cbcbcb;
  }

.carousel-caption h3{
  font-size: 1.6vw;
  padding-bottom: 0rem;
  color: #cbcbcb;
  }


label{
  font-size: 100%;
  }

form{
  margin-top: -15px;
  }

.form-control{
  border-radius: 0;
  }

/*.contact-form a{
  color: #333;
  text-decoration: underline;
  }

.contact-form a:hover{
    color: red;
    text-decoration: underline;
    }
*/

.btn{
  border-radius: 0;
  padding-bottom: 5px; }
/*
.btn-outline-secondary{
  color: #4f4f4f;
  background-color: #ffffff;
  border: 1px solid #4f4f4f;
  }

.btn-outline-secondary:hover{
  background-color: #4f4f4f;
  border: 1px solid #4f4f4f;
  }

/*
.btn-primary{
  background-color: #6648b1;
  border: 1px solid #6648b1;
  }

.btn-primary:hover{
  background-color: #563d7c;
  border: 1px solid #563d7c;
  }
*/

.btn-sm{
  width: 2rem;
  height: 2rem;
  text-align: center;
  font-size: 1rem;
  margin: 0px;
  }

.card img{
  border: 0px solid #563d7c;
  border-radius: 0px;
  }

.card {
  border: 0px solid #563d7c;
  border-radius: 0px;
  position: relative;
  }

.card-img-top{
  display: block;
  }

.card-title{
  text-align: center;
  }

.card-body {
  position: absolute;
  bottom: 0;
  background: rgb(0, 0, 0);
  background: rgba(0, 0, 0, 0.5); /* Black see-through */
  width: 100%;
  height: 100%;
  opacity:0;
  color: white;
  font-size: 20px;
  padding: 20px;
  text-align: left;
  }

.card-body h5{
  position: absolute;
  color: white;
  font-size: 1.4rem;
  bottom: 1.4em;
  text-align: left;
  }

.card-body p{
  position: absolute;
  color: white;
  font-size: 1rem;
  bottom: 0;
  text-align: left;
  }

.card:hover .card-body{
  opacity: 1;
  transition: 500ms ease;
  }

.card:hover .card-img-top{
  opacity: 0.8;
  transition: 500ms ease;
  }

.card-description{
  background-color: #f0f0ee;
  padding: 2em;
  padding-bottom: 1rem;
  height: 100%;
  }

.card-description p{
  margin-top: 2rem;
  margin-bottom: 2rem;
  font-size: 1em;
  }

.padding{
  padding-bottom: 2rem;
  }

.gallery-preview{
  margin-top: 4em;
  margin-left: 0px;
  margin-right: 10px;
  }

.gallery-preview img{
  width: 100px;
  opacity: 0.6;
  cursor: pointer;
  transition: opacity 0.3s ease;
  margin-right: 5px;
  margin-bottom: 5px;
  }

.gallery-highlight{
  width: 100%;
  max-width: 500px;
  }

.gallery-mobile{
  width: 100%;
  max-width: 500px;
  margin-top: 4em;
  transform: translateY(0);
  opacity: 0;
  transition: transform 4s 0.25s cubic-bezier(0,1,0.3,1),
              opacity 0.3s 0.25s ease-out;
  will-change: transform, opacity;
  }

.gallery-mobile.is-visible{
  opacity: 1;
  transform: translateY(-4em);
  }

.gallery-preview img:hover{
  opacity: 0.8;
  }

img.gallery-active{
  opacity: 1;
  }

.aligner{
  margin: 0 auto;
  }

.fadescroll{
  transition: all 400ms;
  opacity: 0.3;
  }

.fade{
  opacity: 1;
  }

.button-layout{
  text-align: right;
  border: 0px solid #b4b4b4;
  margin-top: .3rem;
  white-space: nowrap;
  }

.image-display{
  text-align: center;
  }


.social {
  margin-top: 1.5rem;
  }

.social a{
  font-size: 1.7em;
  padding: 1rem;
  }

.fa-instagram {
  color: #343a40;
  }

.fa-envelope {
  color: #343a40;
  }

.fa-pinterest {
  color: #3a3a3a;
  }

.fa-instagram:hover,
.fa-envelope:hover,
.fa-facebook:hover,
.fa-pinterest:hover {
  color: #6c757d;
  }

.fa-check-circle {
  color: #49a14b;
  font-size: 5em;
  margin-bottom: 1.5rem;
  margin-top: 1rem;
  }

.modal-body {
  text-align: center;
  }


footer {
  background-color: #fff;
  color: #111;
  font-size: .9em;
  }

hr.light{
  border-top: 1px solid #d5d5d5;
  width: 75%;
  margin-top: .8rem;
  margin-bottom: 1rem;
  }

hr.light-100{
  border-top: 1px solid #d5d5d5;
  width: 92%;
  margin-top: .8rem;
  margin-bottom: 1rem;
  }

.welcome{
  margin: 0 auto;
  padding-top: 2rem;
  border: 0px solid green;
  }

.welcome hr{
  border-top: 1px solid #b4b4b4;
  width: 100%;
  margin-top: 1rem;
  margin-bottom: 1rem;
  margin-left: 1rem;
  margin-right: 1rem;
  }

.welcome img{
  max-width: 100%;
  padding-top: .5rem;
  }


/*---Media Queries --*/
@media (max-width: 1300px) {

.portfolio{
  max-width: 900px;
  }

.about{
  max-width: 900px;
  margin: 0 auto;
  }

.projects{
  max-width: 850px;
  margin: 0 auto;
  margin-top: 1.5em;
  }

.gallery-preview img{
  width: 80px;
  }

}

@media (max-width: 768px) {

.navbar-nav li{
  margin: 0 auto;
  padding: .2rem;
  }

.navbar-nav {
  padding-top: 1rem;
  padding-bottom: .6rem;
  }

.navbar-brand img{
  width: 66%;
  height: 66%;
  }

.carousel-caption{
  top: 50%;
  }

.carousel-caption h1{
  font-size:3vw;
  }

.carousel-caption h3{
  font-size:2vw;
}

.carousel-caption .btn {
  font-size: 95%;
  padding: 8px 14px;
  }

.display-4 {
  font-size: 200%;
  }

}


@media (max-width: 576px) {

.carousel-caption{
  top: 40%;
  }

.carousel-caption h1{
  font-size: 250%;
  }

.carousel-caption h3{
  font-size: 110%;
  }

.carousel-caption .btn {
  font-size: 90%;
  padding: 4px 8px;
  }

.carousel-indicators {
  display: none;
  }

.display-4 {
  font-size: 200%;
  }

.button-layout{
  text-align: left;
  margin-top: -1rem;
  }

.carousel-img-broad{
  display: none;
  }

.carousel {
  margin-top: 1.5rem;
  margin-bottom: 2.2rem;
  }

}

@media (min-width: 576px) {
  .carousel-img-tight{
  display: none;
  }

  #one {
  padding-left: 50%;
  margin-left: -250px;
  }

  h3 {
  padding-left: 50%;
  margin-left: -250px;
  }

}

@media (min-width: 768px) {

.welcome{
  width: 75%;
  }

.display-4 {
  font-size: 200%;
  }

.contact-form p {
  margin-right: 12%;
  }

}

@media (max-width: 991px) {

.gallery-preview {
  display: none;
  }

.gallery-highlight {
  display: none;
  }

}

@media (min-width: 992px) {



.display-4 {
  font-size: 250%;
  }

.carousel {
  margin-top: 2rem;
  }

#one {
  padding-left: 0px;
  margin-left: 0px;
  }

h3 {
  padding-left: 0px;
  margin-left: 0px;
  }

.gallery-mobile {
  display: none;
  }

.button-mobile {
  display: none;
  }



}

@media (min-width: 1200px) {

  .navbar {
    padding-left: 3rem;
    padding-right: 3rem;
    padding-top: 2rem;
    }

  .navbar-brand img{
    width: 100%;
    height: 100%;
    }

.display-4 {
  font-size: 250%;
  }

}

/*---Firefox Bug Fix --*/
.carousel-item {
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
}
/*--- Fixed Background Image --*/
figure {
  position: relative;
  width: 100%;
  height: 60%;
  margin: 0!important;
}
.fixed-wrap {
  clip: rect(0, auto, auto, 0);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#fixed {
  background-image: url('img/mac.png');
  position: fixed;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  will-change: transform;
}
/*--- Bootstrap Padding Fix --*/
[class*="col-"] {
    padding: 1rem;
}



/*
Extra small (xs) devices (portrait phones, less than 576px)
No media query since this is the default in Bootstrap

Small (sm) devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }

Medium (md) devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

Large (lg) devices (desktops, 992px and up)
@media (min-width: 992px) { ... }

Extra (xl) large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }
*/
