@import url('https://fonts.googleapis.com/css?family=Poppins:400,500,700');


* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; /* Optional but recommended */
}

html, body {
  height:100%;
  width:100%;
  font-family: 'poppins',sans-serif;
  color:#222
}

.navbar {
  padding: 0.8rem;
}

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

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

.navbar-nav {
  font-size: 1.1em !important;
}

/* The container <div> - needed to position the dropdown content */
.dropdown {
  position: relative;
  display: inline-block;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f1f1f1;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}

/* Links inside the dropdown */
.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

/* Change color of dropdown links on hover */
.dropdown-content a:hover {background-color: #ddd;}

/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {display: block;}

/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {background-color: #3e8e41;}

.top-image img {
  height: 100%;
  width: 100%;
  display: block;
}

.carousel-indicators {
  transform: translateY(-100%);
}

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

.carousel-caption {
  position: absolute;
  top:50%;
  transform: translateY(-50%)
}

.carousel-courtesy-label {
  font-size: 8px;
  margin: none;
  border: none;
  height: 0;
  line-height: 15px;
  /* vertical-align: middle; */
  text-align: left;
}

.carousel-caption h1 {
  font-size: 500%;
  text-transform: uppercase;
  text-shadow: 1px 1px 15px #000;
}

.carousel-caption h3 {
  font-size: 200%;
  font-weight: 500;
  text-shadow: 1px 1px 10px #000;
  padding-bottom: 1rem;
}

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

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

.jumbotron {
  padding: 1rem;
  border-radius: 0;
}

.padding {
  padding-bottom: 2rem;
}

.welcome {
  width: 75%;
  margin: 0 auto;
  padding-top: 2rem;
}

.welcome hr {
  border-top: 2px solid #b4b4b4;
  width: 95%;
  margin-top: 0.3rem;
  margin-bottom: 1rem;
}

.fa-code {
  color: #e45d26;
}

.fa-bold {
  color: #563d7c;
}

.fa-css3 {
  color: #2163af;
}

.fa-code, .fa-bold, .fa-css3 {
  font-size: 4rem;
}

.fun {
  width: 100%;
  margin-bottom: 2rem;
}

.gif {
  max-width: 100%;
}

.social a {
  font-size: 3.0em;
  padding: 3rem;
}

.fa-facebook {
  color: #3b5998;
}

.fa-twitter {
  color: #00aced;
}

.fa-google-plus-g {
  color: #dd4b39;
}

.fa-instagram {
  color: #517fa8;
}

.fa-youtube {
  color: #bb0000;
}

.fa-mailto {
  color: #bb0000;
}

.fa-facebook:hover, 
.fa-twitter:hover, 
.fa-google-plus-g:hover, 
.fa-instagram:hover, 
.fa-youtube:hover,
.fa-mailto:hover {
  color: #d5d5d5;
}

.under-construction{
  background-color: #3f3f3f;
  /* color: #fff; */
  color: #f8cb87;
  font-size: 200%;
  padding-top: 2rem;
}

.connect{
  background-color: #3f3f3f;
  color: #d5d5d5;
  padding-top: 2rem;
}

footer{
  background-color: #3f3f3f;
  color: #d5d5d5;
  padding-top: 2rem;
}

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

hr.dark {
  border-top: 1px solid #131010;
  width: 100%;
  margin-top: 0.8rem;
  margin-bottom: 1rem;
}

footer a {
  color: #d5d5d5;
}

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





.table-text {
  vertical-align: text-top;
}




/* CONTACT FORM - START */

/* body {
  font-family: sans-serif;
  max-width: 600px;
  margin: 20px auto;
  padding: 0 20px;
} */


label {
  /* display: block; */
  margin-bottom: 0px;
} 

input[type="text"], input[type="email"], textarea {
  width: 100%;
  padding: 0px;
  box-sizing: border-box; 
}

.form-container {
  width: 100%;
  padding: 0 20%;
  /* display: block; */
  align-items: center;
  /* align-content: center; */
}

.form-group {
  margin-bottom: 15px;
  max-width: 90%;
}

/* input[type="text"], input[type="email"] */

.submit-btn {
  padding: 10px 15px;
  background-color: #835b05;
  color: white;
  border: none;
  cursor: pointer;
}

.submit-btn:hover {
  color : #835b05;
  font-weight: 500;
  background-color: #e9b84e;
}
/* CONTACT FORM - END */


/* ------------------------------------------- */
/*
Image Gallery
https://www.w3schools.com/howto/howto_css_image_gallery.asp
*/
/* ------------------------------------------- */

/**/
.gallery-container {
  display: flex;
  padding: 10px 50px;
  width: 100%;
  height: 420px;
  gap: 50px;
}

/* ref: responsive */
.event-card-container {
  background-color: #e0c7f71c;
  display: flex;
  flex-direction: column;
  padding: 20px;
  height: 96%;
  width: 20%;
  border: 1px;
  border-color: #aca5c4;
  border-style: solid;
  border-radius: 10px;
  text-align: center;
}
.event-card-container:hover {
  cursor: pointer;
  transform: scale(1.1);
}

/* ref : gallery */
.event-card {
  /* display:flex; */
  padding: 10px;
  width: 100%;
  height: 100%;
  /* margin: auto; */
}

.event-card img {
  margin-top: 8px;
  vertical-align: middle;
  width: 96%;
  height: 96%;
  /* margin: auto; */
  object-fit: cover;
}

/**/
.event-desc {
  padding: 5px 10px;
  width: 100%;
  height: 100%;
  text-align: center;
  text-overflow: ellipsis;
  word-wrap: break-word;
  display: block;
}  

/* */
h5.album-caption {
  font-size: 1.18rem;
  max-width: 100%; 
  overflow: hidden; 
  white-space: nowrap;
  text-align: center;
}



/* Responsive layout */


/*----------------------------------------------------------
    Gallery Container
----------------------------------------------------------*/
@media screen and (max-width: 1800px) {
  .gallery-container {
    display: flex;
    padding: 9px 45px;
    width: 100%;
    height: 390px;
    gap: 50px;
  }
}
@media screen and (max-width: 1600px) {
  .gallery-container {
    display: flex;
    padding: 8px 40px;
    width: 100%;
    height: 350px;
    gap: 50px;
  }
}
@media screen and (max-width: 1400px) {
  .gallery-container {
    display: flex;
    padding: 7px 35px;
    width: 100%;
    height: 310px;
    gap: 50px;
  }
}
@media screen and (max-width: 1200px) {
  .gallery-container {
    display: flex;
    padding: 6px 30px;
    width: 100%;
    height: 270px;
    gap: 50px;
  }
}
@media screen and (max-width: 1000px) {
  .gallery-container {
    display: flex;
    padding: 5px 25px;
    width: 100%;
    height: 230px;
    gap: 50px;
  }
}
@media screen and (max-width: 800px) {
  .gallery-container {
    display: flex;
    padding: 4px 20px;
    width: 100%;
    height: 195px;
    gap: 50px;
  }
}
@media screen and (max-width: 600px) {
  .gallery-container {
    display: flex;
    padding: 3px 15px;
    width: 100%;
    height: 145px;
    gap: 50px;
  }
}


/*----------------------------------------------------------
    Event Card Container
----------------------------------------------------------*/
@media screen and (max-width: 1800px) {
  .event-card-container {
    padding: 15px;
  }
}
@media screen and (max-width: 1600px) {
  .event-card-container {
    padding: 12px;
  }
}
@media screen and (max-width: 1200px) {
  .event-card-container {
    padding: 9px;
  }
}
@media screen and (max-width: 1000px) {
  .event-card-container {
    padding: 6px;
  }
}
@media screen and (max-width: 800px) {
  .event-card-container {
    padding: 3px;
  }
}
@media screen and (max-width: 600px) {
  .event-card-container {
    padding: 12px;
  }
}


/*----------------------------------------------------------
    Event Card
----------------------------------------------------------*/

@media screen and (max-width: 1800px) {
  .event-card {
    padding: 10px;
  }
}
@media screen and (max-width: 1600px) {
  .event-card {
    padding: 9px;
  }
}
@media screen and (max-width: 1400px) {
  .event-card {
    padding: 8px;
  }
}
@media screen and (max-width: 1200px) {
  .event-card {
    padding: 7px;
  }
}
@media screen and (max-width: 1000px) {
  .event-card {
    padding: 6px;
  }
}
@media screen and (max-width: 800px) {
  .event-card {
    padding: 5px;
  }
}
@media screen and (max-width: 600px) {
  .event-card {
    padding: 4px;
  }
}


@media screen and (max-width: 1800px) {
  h5.album-caption {
    font-size: 1.15rem;
    max-width: 100%; 
    /* overflow: hidden;  */
    /* white-space: nowrap; */
    text-align: center;
  }
}
@media screen and (max-width: 1600px) {
  h5.album-caption {
    font-size: 1.1rem;
    max-width: 100%; 
    /* overflow: hidden;  */
    /* white-space: nowrap; */
    text-align: center;
  }
}
@media screen and (max-width: 1400px) {
  h5.album-caption {
    font-size: 1.0rem;
    max-width: 100%; 
    /* overflow: hidden;  */
    /* white-space: nowrap; */
    text-align: center;
  }
}
@media screen and (max-width: 1200px) {
  h5.album-caption {
    font-size: 0.9rem;
    max-width: 100%; 
    /* overflow: hidden;  */
    /* white-space: nowrap; */
    text-align: center;
  }
}
@media screen and (max-width: 1000px) {
  h5.album-caption {
    font-size: 0.8rem;
    max-width: 100%; 
    /* overflow: hidden;  */
    /* white-space: nowrap; */
    text-align: center;
  }
}
@media screen and (max-width: 800px) {
  h5.album-caption {
    font-size: 0.7rem;
    max-width: 100%; 
    /* overflow: hidden;  */
    /* white-space: nowrap; */
    text-align: center;
  }
}
@media screen and (max-width: 600px) {
  h5.album-caption {
    font-size: 0.5rem;
    max-width: 100%; 
    /* overflow: hidden;  */
    /* white-space: nowrap; */
    text-align: center;
  }
}


/* ------------------------------------------- */
/* 
Creating an Image Grid
https://www.w3schools.com/howto/howto_css_image_grid_responsive.asp 
*/
/* ------------------------------------------- */
/**/
.album-container {
  /* display: flex; */
  /* padding: 10px 50px; */
  width: 100%;
  height: auto;
  gap: 50px;
}

/* row */
.gallery-row {
  padding: 0 4px;
  display: flex;
  flex-wrap: wrap;
}

/* Create four equal columns that sits next to each other */
/* column */
.gallery-column {
  padding: 0 4px;
  flex: 25%;
  max-width: 48%;
  height: auto;
  margin-inline: auto;
  max-height: 100%;
}


/* 

How To Scale and Crop Images with CSS object-fit
Source : https://www.digitalocean.com/community/tutorials/css-cropping-images-object-fit

*/
.gallery-column img {
  margin-top: 8px;
  vertical-align: middle;
  max-height: 40%;
  /* width: auto; */
  width: 100%;
  object-fit: cover;
}

/* Responsive layout - makes a two column-layout instead of four columns */
/* column */
@media screen and (max-width: 800px) {
  .gallery-column {
    flex: 50%;
    max-width: 50%;
  }
}

/* Responsive layout - makes the two columns stack on top of each other instead of next to each other */
/* column */
@media screen and (max-width: 600px) {
  .gallery-column {
    flex: 100%;
    max-width: 100%;
  }
}
/* ------------------------------------------- */












/*---Media Queries --*/
@media (max-width: 992px) {
  .social a {
    font-size: 4em;
    padding: 2rem;
  }
}
@media (max-width: 768px) {
  .carousel-caption {
    top:45%;
  }
  .carousel-caption h1 {
    font-size: 350%;
  }
  .carousel-caption h3 {
    font-size: 140%;
    font-weight: 400;
    padding-bottom: 0.2rem;
  }
  .carousel-caption .btn {
    font-size: 95%;
    padding: 8px 14px;
  }
  .carousel-indicators {
    transform: translateY(100%);
    /* display: none; */
  }
  .carousel-courtesy-label {
    font-size: 8px;
  }
  .display-4{
    font-size: 200%;
  }
  .social a {
    font-size: 2.54em;
    padding: 1.2rem;
  }
}
@media (max-width: 576px) {
  .carousel-caption {
    top:40%;
  }
  .carousel-caption h1 {
    font-size: 250%;
  }
  .carousel-caption h3 {
    font-size: 110%;
    font-weight: 400;
    padding-bottom: 0.2rem;
  }
  .carousel-caption .btn {
    font-size: 90%;
    padding: 4px 8px;
  }
  .carousel-indicators {
    transform: translateY(100%);
    /* display: none; */
  }
  .carousel-courtesy-label {
    font-size: 6px;
  }
  .display-4{
    font-size: 160%;
  }
  .social a {
    font-size: 2.0em;
    padding: 0.7rem;
  }
}


/*---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) { ... }
*/








