﻿/* Sticky footer styles
-------------------------------------------------- */
html {
  position: relative;
  min-height: 100%;
}
body {
  /* Margin bottom by footer height */
  margin-bottom: 60px;
}
.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  /* Set the fixed height of the footer here */
  height: 60px;
  line-height: 60px; /* Vertically center the text there */
  background-color: #f5f5f5;
}

.footer > .container {
  width: 100%;
}

.homeboxtitle {
	font-size:1.5em;color:#ffffff;
	font-weight: bold;
}
.homeboxslogan {
	font-size:1em;color:#ffffff;
}
.error {
  color: #FF0000;
  font-weight: normal;
}

/* NEEDED FOR NEW NAV */

.nomobile {
	display:none;
}
.fivebtn li {
	width: auto;
}
.foutbtn li  {
	width: auto;
}
.threebtn li  {
	width: auto;
}

/* END NEEDED FOR NEW NAV */

.anchor { padding-top: 90px; }

h1{
  color: #357d57;
}

h3 {
	font-size: 1.3rem;
}
h4 {
	font-size: 1.5rem;
}


label {
  color: #357d57;
  font-weight: bold;
}

.ribbon {
	padding:10px;
	display: block;
	max-height: 4px !important;
	line-height: 0.2;
}
.modal-full {
    min-width: 80%;
    margin: auto;
}


.jumbotron.vertical-center {
  margin-bottom: 0; /* Remove the default bottom margin of .jumbotron */
}
.vertical-center {
  min-height: 100%;  /* Fallback for vh unit */
  min-height: 100vh; /* You might also want to use
                        'height' property instead.

                        Note that for percentage values of
                        'height' or 'min-height' properties,
                        the 'height' of the parent element
                        should be specified explicitly.

                        In this case the parent of '.vertical-center'
                        is the <body> element */

  /* Make it a flex container */
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;

  /* Align the bootstrap's container vertically */
    -webkit-box-align : center;
  -webkit-align-items : center;
       -moz-box-align : center;
       -ms-flex-align : center;
          align-items : center;

  /* In legacy web browsers such as Firefox 9
     we need to specify the width of the flex container */
  width: 100%;

  /* Also 'margin: 0 auto' doesn't have any effect on flex items in such web browsers
     hence the bootstrap's container won't be aligned to the center anymore.

     Therefore, we should use the following declarations to get it centered again */
         -webkit-box-pack : center;
            -moz-box-pack : center;
            -ms-flex-pack : center;
  -webkit-justify-content : center;
          justify-content : center;
}

.homeslogan {
	color:#ffffff;
	text-decoration:none;
}

.homeslogan:hover {
	color:#003409;
	text-decoration:none;
}

.homeplaybutton {
	font-size:6em;
	z-index:9999;
	padding:10px;
}

.homesloganline1{
	font-size:2em;
	line-height:1;
}

.homesloganline2{
	font-size:2em;
	line-height:1;
}
.homesloganline3{
	font-size:1.5em;
	line-height:1.5;
}


/*.carousel,.item,.active{height:100%;}*/
/*.carousel-inner{height:100%;}*/
.carousel-inner{
	/*max-height:75vh;*/
}
.carousel-playbutton {
	position: absolute;
	display: block;
	margin:auto;
	z-index: 15;
}

.carousel-homeplaybutton {
	position: absolute;
	display: block;
	margin:auto;
	z-index: 15;
}


.carousel-homeplaybutton {
	position: absolute;
	left:50%;
	top:30%;
	transform:translate(-50%,-50%);
	z-index: 15;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	padding-left: 0;

	list-style: none;
	/* top: 43%; */
	color:#FFF;
	width:600px;
	width:fit-content;
}

.carousel-playbutton {
	position: absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	z-index: 15;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	padding-left: 0;

	list-style: none;
	/* top: 43%; */
	color:#FFF;
	width:600px;
	width:fit-content;
}

.carousel-playbutton i:hover {
	color:#000;
}

/** MAY NOT BE NEEDED **/
.carousel-inner > .item > img {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  height: 500px;

}

.carousel-inner > .carousel-item > img {
  opacity: 0.5;
}


/** PROJECT PAGE CAROUSEL **/
#ProjectPageCcarousel .carousel-indicators{
    position: relative;
    top:5px;
    left:0px;
    height:105px;
    width: 100%;
    margin-left: 0;
    justify-content: left;
}

#ProjectPageCcarousel .carousel-inner > .carousel-item > img {
  opacity: 1.0;
}

#ProjectPageCcarousel .carousel-indicators li{
    text-indent:0;
    display:inherit;
    float:left;
    width: 100px;
    height: 100px;
    margin:5px 0px;
}
#ProjectPageCcarousel .carousel-indicators li img{
    width: 95%;
    /* height: 120px; */
    border:2px solid #CCCCCC;
    padding: 2px;
}
#ProjectPageCcarousel .carousel-indicators .active img{
    border:2px solid #04BEF5;
}
#ProjectPageCcarousel .carousel-indicators .active{
    margin:5px 0px;
    width: 10%;
    height: 100px;
}

#ProjectPageCcarousel .carousel-indicators .active {
    opacity: 0.5;
}
#ProjectPageCcarousel .carousel-control.right,
#ProjectPageCcarousel .carousel-control.left{
    background-image: none;
}
.top-left {
    position: absolute;
    top: 8px;
    left: 16px;
}

.homebox:hover {

	opacity: 0.5;
}

@media screen and (min-width:980px) and (max-width:1300px){
    .homeplaybutton {
	font-size:6em;
	z-index:9999;
	padding:10px;
}

.homesloganline1{
	font-size:1.8em;
}

.homesloganline2{
	font-size:1.8em;
}
.homesloganline3{
	font-size:1em;
}

.homeboxtitle {
	font-size:1.2em;color:#ffffff;
}
.homeboxslogan {
	font-size:0.8em;color:#ffffff;
}

.carousel-playbutton {
	/* top: 25%; */
}

.carousel-playbutton {
	/* top: 35%; */
}
}

@media screen and (max-width: 1200px){
	.navbar-brand img{
		max-height:42px;
	}

	.homeboxtitle {
	font-size:1.2em;color:#ffffff;
}
.homeboxslogan {
	font-size:0.8em;color:#ffffff;
}

}

@media screen and (min-width:768px) and (max-width:980px){
    #ProjectPageCcarousel .carousel-indicators {
	position: relative;
	top: 5px;
	left: 0px;
	height: 80px;
	width: 100%;
	margin-left: 0;
	justify-content: left;
	}
	#ProjectPageCcarousel .carousel-indicators li img{
	    width: 98%;
	    /* height: 60px; */
	    border:2px solid #CCCCCC;
	    padding: 2px;
	}
    #ProjectPageCcarousel .carousel-indicators{
        top:10px;
        left:0px;
    }
    #ProjectPageCcarousel .carousel-indicators li{
        width:60px;
        height:60px;
    }
    #ProjectPageCcarousel .carousel-indicators .active{
        width:10%;
        height:60px;
    }
    .homeplaybutton {
	font-size:3em;
	z-index:9999;
	padding:10px;
	}
	.homesloganline1{
		font-size:1.5em;
	}
	.homesloganline2{
		font-size:1.5em;
	}
	.homesloganline3{
		font-size:1em;
	}
	.carousel-playbutton {
		/* top: 25%; */
	}
	.homeboxtitle {
	font-size:1.0em;color:#ffffff;

}
.homeboxslogan {
	font-size:0.9em;color:#ffffff;
}

}

@media screen and (min-width: 992px){
/* TEST NAV */

.nomobile {
	display:block;
}


.navbar-expand-lg .navbar-nav .dropdown-menu {
    position: fixed;
    left: 0;
    top: 70px;
    width: 100%;
    text-align: center;
}

.dropdown-item {
	white-space: normal;
}

.dropdown-menu {
	border: 0;
	border-radius: 0;
}

/*.dropdown-item {
    display: inline-block;
    width: 20%;
    padding: 0;
    margin:0 auto;
    clear: none;
    font-weight: 400;
    color: #000000;
    text-align: center;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    float: left;
}*/
 /* Three image containers (use 25% for four, and 50% for two, etc) */
.dropdown-menu li {
  float: left;

  padding: 5px;
}

.fivebtn li {
	width: 20%;
}
.foutbtn li  {
	width: 25%;
}
.threebtn li  {
	width: 33.3%;
}

/* Clear floats after image containers */
.dropdown-menu::after {
  content: "";
  clear: both;
  display: table;
}

.dropdown-menu li a {
    position: relative;
    width: 100%;
    padding: 15px;
    overflow: hidden;

    float: left;
    min-height: 200px;
	max-height: 250px;
}


.dropdown-menu li a .bg-img {
    left: -2px;
	right: -2px;
	background-size: cover;
	background-position: center;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}


.menuoverlay {

    background: #000000;
    opacity: .3;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;

}

.dropdown-menu li a .menuoverlay {
    left: -2px;
    right: -2px;
    width: auto;
}

.dropdown-menu li a:hover .menuoverlay {
    opacity: .8;
}


.dropdown-menu li a .menutext {
    position: relative;
    /*padding: 25% 0 0 0;*/
    margin: 0px;
    letter-spacing: 1px;
    font-size: 20px;
    line-height: 1.15;
    text-align: center;
    color: #fff;
    font-weight: bold;
    margin-top:60px;
}

/* END OF TEST NAV */
	.navbar-expand-lg .navbar-nav .nav-link{
		padding-left:.75rem;padding-right:.75rem;

	}
	.navbar-nav > li.nav-item:not(:last-child) > a{
		border-right: 1px solid lightgray;
	}

	#ProjectPageCcarousel .carousel-indicators {
	position: relative;
	top: 5px;
	left: 0px;
	height: 75px;
	width: 100%;
	margin-left: 0;
	justify-content: left;
	}
	#ProjectPageCcarousel .carousel-indicators li img{
    width: 98%;
    /* height: 75px; */
    border:2px solid #CCCCCC;
    padding: 2px;
	}

    #ProjectPageCcarousel .carousel-indicators{
        top:10px;
        left:0px;
    }
    #ProjectPageCcarousel .carousel-indicators li{
        width:60px;
        height:60px;
    }
    #ProjectPageCcarousel .carousel-indicators .active{
        width: 60px;
        height:60px;
    }
}

@media screen and (max-width:800px) {
h1 {
	font-size: 1.8rem;
}


.homeboxtitle {
	font-size:1em;color:#ffffff;
}
.homeboxslogan {
	font-size:0.8em;color:#ffffff;
}

}

@media screen and (max-width:767px){
.homeplaybutton {
	font-size:3em;
	z-index:9999;
	padding:10px;
}

.homesloganline1{
	font-size:1.5em;
}

.homesloganline2{
	font-size:1.5em;
}
.homesloganline3{
	font-size:0.9em;
}
.carousel-playbutton {
	/* top: 20%; */
}

.homeboxtitle {
	font-size:0.8em;color:#ffffff;
}
.homeboxslogan {
	font-size:0.7em;color:#ffffff;
}



#ProjectPageCcarousel .carousel-indicators {
	position: relative;
	top: 5px;
	left: 0px;
	height: 70px;
	width: 100%;
	margin-left: 0;
	justify-content: left;
}
#ProjectPageCcarousel .carousel-indicators li img{
    width: 98%;
    /* height: 60px; */
    border:2px solid #CCCCCC;
    padding: 2px;
}

    #ProjectPageCcarousel .carousel-indicators{
        top:10px;
        left:0px;
    }
    #ProjectPageCcarousel .carousel-indicators li{
        width:60px;
        height:60px;
    }
    #ProjectPageCcarousel .carousel-indicators .active{
        width:10%;
        height:60px;
    }

}

@media screen and (max-width:650px) {
.homeplaybutton {
	font-size:3em;
	z-index:9999;
	padding:10px;
}

.homesloganline1{
	font-size:1em;
}

.homesloganline2{
	font-size:1em;
}
.homesloganline3{
	font-size:0.7em;
}
.carousel-playbutton {
	/* top: 25%; */
}

.homeboxtitle {
	font-size:0.7em;color:#ffffff;
}
.homeboxslogan {
	font-size:0.6em;color:#ffffff;
}


}

@media screen and (max-width:582px){
.homeplaybutton {
	font-size:3em;
	z-index:9999;
	padding:10px;
}

.homesloganline1{
	font-size:0.8em;
}

.homesloganline2{
	font-size:0.8em;
}
.homesloganline3{
	font-size:0.6em;
}
.carousel-playbutton {
	 /*top: 50%; */
}

.carousel-homeplaybutton {
	 top: 50%; 
}

.homeboxtitle {
	font-size:0.9em;color:#ffffff;
}
.homeboxslogan {
	font-size:0.8em;color:#ffffff;
}


#ProjectPageCcarousel .carousel-indicators {
	position: relative;
	top: 5px;
	left: 0px;
	height: 65px;
	width: 100%;
	margin-left: 0;
	justify-content: left;
}
#ProjectPageCcarousel .carousel-indicators li img{
    width: 98%;
    /* height: 50px; */
    border:2px solid #CCCCCC;
    padding: 2px;
}

    #ProjectPageCcarousel .carousel-indicators{
        top:10px;
        left:0px;
    }
    #ProjectPageCcarousel .carousel-indicators li{
        width:10%;
        height:50px;
    }
    #ProjectPageCcarousel .carousel-indicators .active{
        width:10%;
        height:50px;
    }



}


@media screen and (max-width:500px) {
h1 {
	font-size: 1.5rem;
}



#ProjectPageCcarousel .carousel-indicators {
	position: relative;
	top: 5px;
	left: 0px;
	height: 50px;
	width: 100%;
	margin-left: 0;
	justify-content: left;
}
#ProjectPageCcarousel .carousel-indicators li img{
    width: 98%;
    /* height: 50px; */
    border:2px solid #CCCCCC;
    padding: 2px;
}

    #ProjectPageCcarousel .carousel-indicators{
        top:10px;
        left:0px;
    }
    #ProjectPageCcarousel .carousel-indicators li{
        width:50px;
        height:50px;
    }
    #ProjectPageCcarousel .carousel-indicators .active{
        width:50px;
        height:50px;
    }
}

@media screen and (min-width: 576px){



.modal-dialog {
	max-width:800px;
}

.modal-content iframe{
	width:100%;
}
.modal-body{
	padding:0px;
}
.modal-body h1{
	font-size:1.75rem;
	padding:1rem;
}
.modal-body p, .modal-body ul{
	padding-left:1.75rem;
	padding-right:1.75rem;
}
.modal-body ul{
	margin-left:1.25rem;
}

button.close{
	position: absolute;
    top: 1rem;
    right: 1rem;
}

.project-img-container{
	display:flex;
	flex-flow:row wrap;
	margin-bottom:1rem;
}

.project-img-container > div{
	max-height:100px;
	min-height:60px;
	max-width:200px;
	min-width:80px;
	flex-grow:1;
	margin:1px;
	background-size:cover;
}


/* header stuff */
nav.navbar a.nav-link{
	/*font-family:'wood';*/
	font-weight:700;
}

.navbar-brand img{
	max-height:49px;
}

nav.navbar i{
	line-height:1.5;
	color:rgba(0,0,0,.5);
}


}

@media screen and (max-width:360px) {

h3 {
	font-size: 1.3rem;
}
.meeting h4 {
	font-size: 1.0rem;
	font-weight: bold;
}

.meeting p {
	font-size: 0.8rem;
}


.homeboxtitle {
	font-size:0.8em;color:#ffffff;
}
.homeboxslogan {
	font-size:0.5em;color:#ffffff;
}

.homeplaybutton {
	font-size:2em;
	z-index:9999;
	padding:10px;
}

.homesloganline1{
	font-size:0.7em;
}

.homesloganline2{
	font-size:0.7em;
}
.homesloganline3{
	font-size:0.6em;
}

#ProjectPageCcarousel .carousel-indicators {
	position: relative;
	top: 5px;
	left: 0px;
	height: 50px;
	width: 100%;
	margin-left: 0;
	justify-content: left;
}
#ProjectPageCcarousel .carousel-indicators li img{
    width: 98%;
    /* height: 30px; */
    border:2px solid #CCCCCC;
    padding: 2px;
}

    #ProjectPageCcarousel .carousel-indicators{
        top:10px;
        left:0px;
    }
    #ProjectPageCcarousel .carousel-indicators li{
        width:30px;
        height:30px;
    }
    #ProjectPageCcarousel .carousel-indicators .active{
        width:30px;
        height:30px;
    }
}

.profile-pic-wrapper {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    overflow: hidden;
    background-color: white;
    padding: 3px; /* optional white border around image */
    display: flex;
    justify-content: center;
    align-items: center;
     border: 3px solid white;
}

.profile-pic {
    width: 100px;
    height: auto;
    object-fit: contain; /* Show full image without cropping */
    transform: translateY(15px);
}

