/* ============== main body and page transitions ============== */
body {
  height: 100vh;
  width: 100vw;
  background-color: #F1F1EF;
  font-family: 'Open Sans', sans-serif;
  -ms-overflow-style: scrollbar;
  overflow-y: auto;
  -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body,html {
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden !important;
}

* {
  box-sizing: border-box;
}

#main {
  height: 100%;
}

/* MSIE: Required for IEMobile. */
@-ms-viewport {
  width: device-width;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  100% {
    opacity: 1;
    transform: none;
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }

  100% {
    opacity: 1;
    transform: none;
  }
}


.scene_element {
  animation-duration: 0.25s;
  transition-timing-function: ease-in;
  animation-fill-mode: both;

}

/** An element that fades in */
.scene_element--fadein {
  animation-name: fadeIn;
}

/** An element that fades in and slides up */
.scene_element--fadeinup {
  animation-name: fadeInUp;
}

/** An element that fades in and slides from the right */
.scene_element--fadeinright {
  animation-name: fadeInRight;
}

/* ================== navbar styles ======================== */
#main-nav {
  background-color: #91082B;
  color: whitesmoke;
  box-shadow: 0 6px 2px -2px rgba(0, 0, 0, .2);
}

.bb-logo {
  margin-left: 1.5%;
  margin-top: 0.4%;
}

.bb-logo:hover {
  cursor: pointer;
}

#bbLogo {
  max-width: 500px;
  height: auto;
  padding-bottom: 1.25%;
}

.navbar-toggler {
  padding-top: 0.8em;
}

.navbar-toggler-icon span {
  display: block;
  width: 30px;
  height: 3px;
  background: #F1F1EF;
  margin-bottom: 4.5px;
  border-radius: 4px;
}

.logo-link {
  text-decoration: none;
  color: #F1F1EF;
  -webkit-transition: color 0.5s ease-out;
  -moz-transition: color 0.5s ease-out;
  -o-transition: color 0.5s ease-out;
  transition: color 0.5s ease-out;
}

.logo-link:hover {
  text-decoration: none;
  color: #F1F1EF;
}

.logo-subtitle {
  font-size: 1.35rem;
  position: absolute;
  margin-top: 30px;
}

.navbar-links {
  margin-right: 100px;
}

.nav-item a,
.nav-item span {
  color: #000;
  font-family: 'Roboto Slab', sans-serif;
  font-size: 1.3rem;
}

.nav-item span {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  position: relative;
  overflow: hidden;
  -webkit-transition: color 0.4s;
  -moz-transition: color 0.4s;
  -o-transition: color 0.4s;
  transition: color 0.4s;
}

.nav-item span:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 51%;
  right: 51%;
  bottom: 0;
  background: #1D2228;
  height: 3px;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
}

.nav-item:hover span:before,
.nav-item:focus span:before,
.h.nav-item:active span:before {
  left: 0;
  right: 0;
}

.nav-item:hover span {
  /* color: #1D2228; */
  color: whitesmoke;
}

.active a > span {
  /* color: #1D2228; */
  color: whitesmoke;
}

.active a > span:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  bottom: 0;
  background: #1D2228;
  height: 3px;
  -webkit-transition-property: left, right;
  -moz-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.6s;
  -moz-transition-duration: 0.6s;

  transition-duration: 0.6s;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
}

.dot {
  height: 4px;
  width: 4px;
  background-color: #1D2228;
  border-radius: 50%;
  display: inline-block;
  margin-right: 5px;
}

/* ================== side-navigation styles =========================== */

.side-nav {
  position: relative;
  background-color: #1D2228;
  padding-right: 0;
  overflow: hidden;
}

.houses-img {
  max-width: 95%;
  margin-top: 10%;
  margin-bottom: auto;
  margin-left: 2%;
}

/* ================== home page styles =========================== */

#ireland-case-link {
  width: auto;
  border: 1.3px solid #1D2228;;
  border-radius: 10px;
  background-color: #ddd;
}

#ireland-case-link p {
  margin-bottom: 0;
  font-size: 1.1rem;
  padding: 1%;
  padding-left: 3.5%;
}

#ireland-case-link ul > li > a {
  color: #91082B;
  display: block;
  padding-bottom: 0.2em;
  padding-left: 5%;
}

#info-symbol {
  width: auto;
  height: 18px;
  margin: 2px;
  float: left;
}

.main-text {
  margin-top: 5%;
  margin-bottom: 10%;
}

.home-text {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.25rem;
  padding: 1.75%;
  font-weight: 400;
  line-height: 1.7;
}

.home-text a {
  color: #91082B;
}

.disclaimer-text {
  font-size: 1.2rem;
  padding-left: 6%;
  padding-right: 6%;
}

.disclaimer {
  max-width: 750px;
}

.close-holder {
  height: 60px;
}

.close-x {
  position: absolute;
  right: 20px;
  top: 0;
  padding-bottom: 15px;
  width: 32px;
  height: 32px;
}

.close-x:hover {
  opacity: 1;
  background-color: #91082B;
}

.close-x:before, .close-x:after {
  position: absolute;
  left: 15px;
  content: ' ';
  height: 33px;
  width: 2px;
  background-color: #91082B;
}

.close-x:before {
  transform: rotate(45deg);
}

.close-x:after {
  transform: rotate(-45deg);
}

.close-button:hover span {
  color: #91082B;
}

.maroon-text {
  color: #91082B;
  font-size: 1.75rem;
  margin-left: -10%;
  margin-right: -10%;
}

.maroon-disclaimer-text {
  color: #91082B;
  font-size: 1.4rem;
  padding-left: 3%;
  padding-right: 3%;
}

.about-link {
  height: 5%;
  position: relative;
}

.about-link a {
  font-family: 'Roboto Slab', sans-serif;
  font-weight: 400;
  color: #91082B;
  position: absolute;
  bottom: 10%;
  left: 20%;
}

.alt-about {
  padding-top: 20%;
}

.alt-about a {
  font-family: 'Roboto Slab', sans-serif;
  font-weight: 400;
  color: #91082B;
}

.disclaimer {
  background-color: #F1F1EF;
}

.blue-heart {
  max-height: 200px;
  max-width: auto;
  margin-bottom: 5%;
  box-shadow: 3px 3px 3px 1px rgba(0, 0, 0, .2);
}

.close-dialog {
  margin-top: 7%;
  opacity: 0.8;
}

.close-dialog span {
  font-size: 1.2rem;
  color: #91082B;
}

.info-text p {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.7;
}

.info-text p > a {
  color: #91082B;
}

/* ================== about-us page styles =========================== */

.people-img {
  max-width: 97%;
  margin-top: 10%;
  margin-bottom: auto;
  margin-left: 3px;
}

.cases-list a {
  color: #91082B;
  display: block;
  padding-bottom: 1em;
}

.attorney-names {
  color: #91082B;
  font-weight: 600;
}

.awards-list {
  list-style-type:disc;
  padding-left: 5%;
}

.bigger-text {
  font-size: 1.35rem;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
}

hr.style2 {
  border-top: 3px double #8c8b8b;
  max-width: 90%;
}

.neg-margin {
  margin-bottom: -2%;
}

#about-us {
  position: relative;
  height: 80vh;
  margin-bottom: 10%;
}

#selected-cases {
  position: relative;
  height: 80vh;
  margin-bottom: 10%;
}

#training {
  position: relative;
  height: 80vh;
  margin-bottom: 10%;
  margin-top: 10%;
}

#about-navigation {
  max-width: 97%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1%;
}

#about-navigation span {
  font-family: 'Roboto Slab', sans-serif;
  font-weight: 400;
}

.list-group-item.active {
  background-color: #91082B;
  border-color: #91082B;
}

.list-group-item {
  margin-top: 1.5%;
  margin-bottom: 1.5%;
  color: #000;
  background-color: #F1F1EF;
  font-size: 1.16rem;
}

#training-img {
  max-height: 200px;
  max-width: auto;
  margin-bottom: 2%;
  box-shadow: 3px 3px 3px 1px rgba(0, 0, 0, .2);
}

/* ================== contact page styles =========================== */

.contact-disclaimer a {
  color: #91082B;
}

.contact-emails a {
  color: #91082B;
}

.contacts-text-container {
  margin-bottom: 10%;
}

.contacts-text-container p, .contacts-text-container span {
  font-size: 1.25rem;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  line-height: 1.5;
}

.add-pad {
  padding-right: 5.5%;
}

.about-list-section {
  max-height: 90vh;
  overflow: scroll;
}


/* ================== links page styles =========================== */

.links-header {
  font-size: 1.2rem;
}

.links-header a {
  color: #91082B;
}

.hud-logo, .dfeh-logo {
  max-height: 135px;
  max-width: auto;
}

.pull-left {
  margin-left: -7%;
}

.boy-img {
  max-width: 95%;
  margin-top: 10%;
  margin-bottom: auto;
  /* padding: 5px; */
  margin-left: 2%;
}


/* ================ media queries for responsiveness ================== */

@media only screen and (max-width:990px) {
  
  .navbar-toggler:focus {
    outline: none;
  }

  .about-link a {
    bottom: 10%;
    left: 5%;
  }
}

@media only screen and (max-width:768px) {

  .navbar-nav{
    margin-bottom: 5%;
    justify-content: space-evenly;
  }

  #bbLogo {
    max-width: 300px;
  }

  .home-text {
    font-size: 1.15rem;
  }
  .maroon-text {
    margin-left: -3%;
    margin-right: -3%;
  }

  .about-link {
    font-size: 0.75rem;
  }

  .about-link a {
    padding-left: 6%;
  }

  .links-header {
    font-size: 1rem;
 }

 .nfha-logo {
   max-width: 165px;
   height: auto;
 }

 .dot {
  display: none;
 }

 #about-navigation a {
   font-size: 1rem;
 }

}


@media only screen and (max-width:640px) {

  #bbLogo {
    max-width: 275px;
  }

  .home-text {
    font-size: 1rem;
  }

  .pull-left {
    margin-left: -3%;
  }

  #about-navigation a {
    font-size: 0.6rem;
  }

  .list-group-item {
    padding: 4%;
  }

  .info-text p {
    font-size: 0.9rem;
  }

}

@media only screen and (max-width:380px) {
  #bbLogo {
    max-width: 250px;
  }

  .nav-item {
    padding-right: 2%;
  }

  .nav-item a,
  .nav-item span {
    font-size: 1.1rem;
  }

  .nfha-logo {
    max-width: 130px;
    height: auto;
  }

  .pull-left {
    margin-left: 0%;
  }

  .pull-left a {
    padding-top: -3rem;
  }

  .hud-logo, .dfeh-logo {
    max-height: 125px;
    max-width: auto;
  }

  .contacts-text-container p, span {
    font-size: 1rem;
  }

  .add-pad-big {
    padding-right: 0;
  }

  .add-pad {
    padding-right: 0;
  }

  #training-img {
    max-width: 125px;
  }

  .cases-list a {
    color: #91082B;
    font-size: 0.6rem;
  }

  .pdf-format {
    text-align: center;
  }
}

@media only screen and (max-width:335px) {

  .nav-item a,
  .nav-item span {
    font-size: 0.9rem;
  }

  #bbLogo {
    max-width: 220px;
  }
}
