img {
  width: 100%;
}

.button {
  display: inline-block;
  margin-top: 32px;
  padding: 12px 40px;
  font-family: Montserrat;
  font-size: 1.1rem;
  font-weight: 500;
  background-color: #09bbf1;
  color: white;
  border: none;
  border-radius: 2rem;
  outline: none;
  cursor: pointer;
  -webkit-transition: background-color .3s;
  -moz-transition: background-color .3s;
  transition: background-color .3s;
}

.button:hover {
  color: white;
  background-color: #6eceea;
  text-decoration: none;
}

/* * * * * * * * * * * * HEADER * * * * * * * * * * * */

header {
  width: 100%;
  height: 100vh;
  position: relative;
}

header .overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 0;
  background-color: #2c3b40;
  opacity: .25;
}

.navbar {
  z-index: 1;
}

.navbar a {
  color: white;
}

.navbar a:hover {
  color: white;
}

.navbar-brand {
  font-family: Poppins;
  font-size: 1.75rem !important;
  font-weight: 600;
}

.nav-link {
  padding: 6px 0 !important;
  margin: 0 12px;
  font-family: Montserrat;
  font-size: 1rem;
  font-weight: 500;
  position: relative;
}

.nav-link::after {
  content: '';
  display: block;
  width: 0;
  height: 3px;
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: white;
  -webkit-transition: width .25s ease-out;
  -moz-transition: width .25s ease-out;
  transition: width .25s ease-out;
}

.nav-link:hover {
  color: white;
}

.nav-link:hover::after {
  width: 100%;
  left: 0;
}

header .container-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}

header .container {
  height: 100%;
}

header .row {
  height: 100%;
  justify-content: center;
  align-items: center;
}

.header-text {
  margin: 0 auto;
  font-family: Poppins;
  font-weight: 600;
  color: white;
  text-align: center;
}

h1.header-text {
  font-size: 4.5rem;
}

h2.header-text {
  font-size: 2.5rem;
}

/* * * * * * * * * * * * MAIN * * * * * * * * * * * */

main {
  margin-top: 5.5rem;
}

main h2, main h3, main h4 {
  font-family: Poppins;
  color: #292929;
}

main h2 {
  margin-bottom: 1rem;
  font-size: 2.5rem;
  font-weight: 600;
}

main h3 {
  margin-bottom: .25rem;
  font-size: 1.75rem;
  font-weight: 600;
}

main h4 {
  margin-bottom: 1.5rem;
  font-size: 1.25rem;
  font-weight: 400;
}

main p {
  font-family: Poppins;
  font-size: 1.0625rem;
  font-weight: 400;
  color: #292929;
  text-align: justify;
}

/* * * * * * * * * * * * GALLERY * * * * * * * * * * * */

main .gallery {
  margin-top: 5.5rem;
}

main .gallery h2 {
  text-align: center;
}

main .gallery-item figure {
  margin: 0;
  position: relative;
  cursor: default;
}

main .gallery-item figure::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  background: linear-gradient(rgba(9, 187, 241, .2) 50%, rgba(9, 187, 241, .8) 85%, rgba(9, 187, 241, .8));
  -webkit-transition: opacity .4s ease-out;
  -moz-transition: opacity .4s ease-out;
  transition: opacity .4s ease-out;
}

main .gallery-item figure:hover::after {
  opacity: 1;
}

main .gallery-item .gallery-item-title {
  width: 100%;
  opacity: 0;
  margin: 0;
  padding: 1.25rem;
  font-family: Poppins;
  font-size: 1.25rem;
  font-weight: 600;
  color: white;
  position: absolute;
  z-index: 1;
  bottom: 0;
  -webkit-transition: opacity .4s ease-out;
  -moz-transition: opacity .4s ease-out;
  transition: opacity .4s ease-out;
}

main .gallery-item figure:hover .gallery-item-title {
  opacity: 1;
}

/* * * * * * * * * * * * CONTACT FORM * * * * * * * * * * * */

main .contact-form {
  margin-top: 5.5rem;
  background-color: #F3F3F3;
}

main .contact-form .row {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

main .contact-form h2, main .contact-form h3 {
  font-family: Poppins;
  color: #292929;
}

main .contact-form h2 {
  margin: 0 0 .75rem 0;
  font-size: 2rem;
  font-weight: 600;
}

main .contact-form h3 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 400;
}

main .contact-form input[type=text], main .contact-form textarea  {
  width: 100%;
  margin-bottom: .5rem;
  padding: .5rem;
  font-family: Poppins;
  font-size: 1rem;
  font-weight: 400;
  background-color: inherit;
  color: #292929;
  border: none;
  border-bottom: 2px solid #DDDDDD;
  outline: none;
  -webkit-transition: border-color .25s ease-out;
  -moz-transition: border-color .25s ease-out;
  transition: border-color .25s ease-out;
}

main .contact-form textarea {
  height: 155px;
  resize: none;
}

main .contact-form input:focus, main .contact-form textarea:focus {
  border-color: #09bbf1;
}

main .contact-form input[type=submit] {
  display: block;
  width: 250px;
  margin: 1.5rem auto 0 auto;
  padding: .5rem 0;
  font-family: Poppins;
  font-size: 1.0625rem;
  font-weight: 600;
  color: white;
  background-color: #09bbf1;
  border: none;
  border-radius: 1.5rem;
  outline: none;
  cursor: pointer;
  -webkit-transition: background-color .3s;
  -moz-transition: background-color .3s;
  transition: background-color .3s;
}

main .contact-form input[type=submit]:hover {
  background-color: #6eceea;
}

/* * * * * * * * * * * * FOOTER * * * * * * * * * * * */

footer {
  padding: 2.5rem 0;;
  background-color: #292929;
}

footer p, footer a {
  display: inline-block;
  margin: 0;
  font-family: Montserrat;
  font-weight: 500;
  font-size: 1.0625rem;
  color: white;
}

footer .brand {
  font-family: Poppins;
  font-size: 2rem;
  font-weight: 600;
}

footer .brand:hover {
  color: white;
  text-decoration: none;
}

footer .socials {
  display: inline-block;
}

footer .social-link {
  display: block;
  -webkit-transition: color .3s;
  -moz-transition: color .3s;
  transition: color .3s;
}

footer .social-link:hover {
  color: #09BBF1;
  text-decoration: none;
}
