/**
 * @file
 * Subtheme specific CSS.
 */
.featured-top .block-views-blockbootstrap-carousel-block-1 {
  margin: 2em;
  max-width: 100%;
}

img {
    max-width: 100%;
    height: auto;
    width: auto\9;  ie8 
}

.title {
  text-align: center;
  border-style: solid;
  border-width: 2px;
  margin-top: 2rem;
  margin-left: auto;
  margin-right: auto;
}

.sub-title {

}

.node--type-home-page .field--name-field-home-portrait-image {
  float: right;
}

.node--type-home-page .field--name-body {
  float: left;
}

.node .field--name-field-home-portrait-image {
  margin: 0;
}

.node--type-text-with-image-right .field--name-field-image-on-right {
  float: right;
}

.node--type-text-with-image-right .field--name-body {
  float: left;
}

.node .field--name-field-image-on-right {
  margin: 0;
}

.navbar-brand img {
  max-width: 2em;
}

.site-info-container {
  display: flex;
}

/*div.field--name-field-gallery-promo-image {
  max-width: 25%;
}*/


/*.node--type-image-gallery.node--view-mode-teaser {
  display: flex;
}

.node--type-image-gallery.node--view-mode-teaser .node__content {
  max-width: 25%;
  
}

.node--type-image-gallery.node--view-mode-teaser .node__title {
  flex-grow: 1;
  margin: auto;
}*/

.full-height {
  height: 100%;
}

.photo-frame {
  text-align: center;
  vertical-align: middle;
  display: inline-block;
}

#gallery .gallery-box {
  padding: 0.5rem;
}

#gallery .photo-frame {
    position:relative;
    text-align: center;
    display: block;
    cursor:pointer;
    position: relative;
    padding: .5rem;
}

#gallery .photo-frame:after {
  content: "";
  display: block;
  padding-bottom: 100%;
}

#gallery img {
  display: block;
  height: 100%;
  max-width: 100%;
  margin: auto;
  object-fit: contain;
}

#gallery .photo-frame .photo-holder {
  display: block;
  max-width: calc(100% - 1rem);
  max-height: calc(100% - 1rem);
  position: absolute;
  width: calc(100% - 1rem);
  height: calc(100% - 1rem);
  margin: auto;
} 

#gallery .photo-frame .photo-holder div:last-of-type {
  position: relative;
  width: 100%;
  height: 100%;
  margin: auto;
}

div.node__title {
  text-align: center;
}

/*#gallery {
  text-align: center;
  border-style: solid;
  border-width: 1px;
  border-color: #aaaaaa;
}

#gallery .gallery-box {
  text-align: center;
  border: 1px solid #aaaaaa;
  border-style: solid;
  border-width: 1px;
  border-color: #aaaaaa;
}*/

/*#galleryCarouselModal .modal-dialog,
#galleryCarouselModal .modal-content,
#galleryCarouselModal .modal-body,
#galleryCarouselModal .carousel,
#galleryCarouselModal .carousel-inner,
#galleryCarouselModal .carousel-inner::after,
#galleryCarouselModal .carousel-item
{
  max-width: 90vw;
  width: auto;
  height: auto;
  max-height: 80vh;
  width: 90%;
  height: 90%;
}*/

#galleryCarouselModal .modal-dialog {
  max-width: 100vw;
  max-height: 100vh;
  margin-left: 1.75rem;
  margin-right: 1.75rem;
}

#galleryCarouselModal .modal-content {
  background-color: #404040;
}

#galleryCarouselModal .fade {
  transition: opacity .15s linear;
}

#galleryCarouselModal .carousel-item {
  text-align: center;
}

#galleryCarouselModal .close {
    color: #fff; 
    opacity: 1;
}

.modal-backdrop
{
    opacity:0.9 !important;
}

#galleryCarouselModal img {
  max-width: calc(100vw - 4em);
  max-height: calc(100vh - 8em);
}

#galleryCarousel .photo-frame {
  width: auto;
  margin: auto;
}

/*.carousel-control-next,
.carousel-control-prev {
    filter: invert(100%);
}*/

/*#galleryCarouselModal {
  text-align: center;
}*/

/*#galleryCarouselModal .modal-dialog {
  display: inline-block;
}*/

/*#gallery img {
    height: 18vw;
    object-fit: cover;
}

.carousel-item img {
    height: 60vw;
    object-fit: cover;
}*/

body {
  font-family: "Times New Roman", Helvetica, sans-serif;
}

.company-name {
    font-family: "Times New Roman";
    text-transform: uppercase;
    font-weight: normal;
}

.navbar-brand {
    font-family: "Times New Roman";
    text-transform: uppercase;
    font-size: 2rem;
    margin-top: -0.2rem;
    margin-bottom: -0.2rem;
    padding: 0;
}

.site-footer {
  font-family: "Times New Roman";
}

/*.region-footer-fifth {
  float: right;
}*/

#block-footer2 {
  border: none;
}

#block-footer2-2 {
  border: none;
}

.site-footer__top .region-footer-first {
  margin-left: 0;
  margin-right: 0;
  width: 49%;
}
.site-footer__top .region-footer-second {
  margin-left: 0;
  margin-right: 0;
  width: 45%;
  float: right;
}
.region-footer-third {
  margin-left: 0;
  margin-right: 0;
  border: none;
}
.region-footer-fourth {
  margin-left: 0;
  margin-right: 0;
}

/*
.site-footer__top .region-footer-fourth {
  width: 100%;
  flex-direction: column;
  align-items: flex-end;
}*/

.copyright {
  font-size: 75%;
}

@media (max-width: 768px) {
    #projectGroupCarousel .carousel-inner .carousel-item > div {
        display: none;
    }
    #projectGroupCarousel .carousel-inner .carousel-item > div:first-child {
        display: block;
    }
}

#projectGroupCarousel .carousel-inner .carousel-item.active,
#projectGroupCarousel .carousel-inner .carousel-item-next,
#projectGroupCarousel .carousel-inner .carousel-item-prev {
    display: flex;
}

/* display 3 */
@media (min-width: 768px) {
    
    #projectGroupCarousel .carousel-inner .carousel-item-right.active,
    #projectGroupCarousel .carousel-inner .carousel-item-next {
      transform: translateX(33.333%);
    }
    
    #projectGroupCarousel .carousel-inner .carousel-item-left.active, 
    #projectGroupCarousel .carousel-inner .carousel-item-prev {
      transform: translateX(-33.333%);
    }
}

#projectGroupCarousel .carousel-inner .carousel-item-right,
#projectGroupCarousel .carousel-inner .carousel-item-left{ 
  transform: translateX(0);
}

#projectGroupCarousel .card-title a,
#gallery .node__title a {
  color: #000000;
}

.page-view-all-projects .block-page-title-block {
  display: none;
}

.contact-info {
  font-size: 110%;
}