body, html { background-color: #eceded; font-family: 'Roboto', sans-serif; margin: 0px; min-height: 100%; overflow-x: hidden; padding: 0px; }
a:hover, a:focus { transition: .2s; text-decoration: none; }
.container { padding: 0; width: 91%; }
.row { margin: 0; }
.row > div { padding: 0 1.5% 12px; }

.sr-only {  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0;}

h1,h2,h3,h4,h5,h6 { margin: 0; }
h2 { color: #241c24; font-size: 36px; font-weight: 300; margin-bottom: 15px; }
h3 { color: #241c24; font-size: 17px; font-weight: bold; padding-bottom: 10px; }
h4 { background-color: #FDB913; color: #241c24; font-size: 18px; font-weight: bold; margin-bottom: 10px; padding: 8px 8px 8px 10px; }
h5 { color: #241c24; font-size: 14px; font-weight: bold; padding-bottom: 10px; text-transform: uppercase; }
p { margin-bottom: 1.6rem;  }
ul { padding-left: 15px; }
ul li {margin-bottom: 0.5rem; color: #333;}
hr { border-bottom: 1px solid #e5e5e5; margin: 10px 0 12px 0; }
a {  text-decoration: underline;}
.button { background-color: #FDB913; border-radius: 14px; border: 0; color: #fff; display: inline-block; letter-spacing: .05em; margin-top: 12px; padding: 4px 16px; transition: background-color .2s; }
.button:hover { background-color: #241c24; color: #fff; }
.button:focus { color: #fff; }
.sub { font-size: 82.5%; font-weight: 300; text-transform: uppercase; letter-spacing: .75pt; }

/* Forms */
form { margin: 18px 0; }
label { display: block; margin: 10px 0 8px; padding-left: 20px; text-indent: -20px; width: 100%; }
input[type="text"] { margin-bottom: 8px; padding-left: 3px; width: 100%; }
textarea { height: 80px; margin-bottom: 8px; padding: 3px 5px; resize: none; width: 100%; }
input[type="checkbox"] { width: 13px; height: 13px; padding: 0; margin:0; vertical-align: bottom; position: relative; top: -1px; *overflow: hidden; }
input[type="checkbox"],
input[type="radio"] { margin: 0 4px 0 2px; }
input[type="checkbox"] + label,
input[type="radio"] + label { display: inline-block; margin-right: 14px; position: relative; top: -1px; width: auto; }
input[type="submit"],
input[type="reset"] { background-color: #FDB913; border-radius: 14px; border: 0; color: #fff; letter-spacing: .05em; margin-top: 14px; padding: 4px 16px; transition: background-color .2s; }
.button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover { background-color: #241c24 }

table.work tr { border-bottom: 1px solid #e5e5e5; }
table.work th { color: #0355a0; font-weight: bold; }
table.work th, td { padding: 0.75em 1em; }
table.work tr td:nth-of-type(1)  { padding-right: 3em; }
table.work tr td:nth-of-type(2)  { text-align: right; }

.schematic-area { border:0; }

audio { margin: 0.25em 0 0.5em; }
.col-md-12 audio { float: left; margin: 0.25em 1em 0.5em 0; }


/* MAIN SCREEN */
div#screen { height: 100%; left: 0%; position: absolute; width: 100%; }
img.logo { display: block; width: 90%; padding: 25px; margin: 0 auto; }
.brclear { clear: both; }

/* LEFT MENU */
#menu { background-color: #231f20; float: left; height: 100%; overflow: hidden; padding-bottom: 8px; width: 15%; }
#menu div { border: 1px solid #241c24; border-left: 0; border-right: 0; height: 56%; padding-top:10px; overflow-y: scroll; margin-right: -18px; position: relative; }
#menu ul { list-style-type: none; margin: 0; margin-right:0px; padding-left: 2%; position: absolute; width: 100%; }
#menu ul > li { margin-bottom: 5px; width: 100%; }
#menu ul > li > a { color: #fff; display: block; height: 45px; line-height: 43px; padding: 0 7% 0 3%; position: relative; width: 100%; }
#menu ul > li > a > i { background-color: #FDB913; color: #fff; font-size: 1.3em; height: 42px; line-height: 42px; margin-top: 4px; margin-right: 4%; padding-left:.5%; position: absolute; text-indent: 6px; transition: background-color .2s, width .15s; width: 32px; }
#menu ul > li > a > i.showing { background-color: #FDB913; }
#menu ul > li > a > span { display: inline-block; font-size: 1em; font-weight: 500; left: 40px; line-height: 1.2; margin-top: 0.275em; position: relative; vertical-align: middle; width: 62%; }
#menu ul > li > a:hover > i { background-color: #FDB913; color: #ffffff; width: 78%; }
#menu ul > li > a:hover > i:after { border: 21px solid transparent; border-width: 21px 6px; border-top-color: #FDB913; border-left-color: #FDB913; content: ""; height: 0; position: absolute; left: 100%; transition: border-color .2s; width: 0; }
#menu ul > li > a:hover > i.showing:after { border-top-color: #FDB913; border-left-color: #FDB913; }
#menu ul > li > a:hover > span { color: #241c24; font-weight: 700; }
.menuArrow { border: 40px solid transparent; border-top-width: 18px; border-bottom: 18px solid #FDB913; display: block; height: 0; margin: 0 auto; margin-bottom: 15px; transition: border-color .3s; width: 0; }
.menuArrow:hover { border-bottom-color: #FDB913; }
.menuArrow.bottom-arrow { border-top-color: #FDB913; border-bottom-color: transparent; margin: 0 auto; margin-top: 15px;}
.menuArrow.bottom-arrow:hover { border-top-color: #FDB913; }
.menuArrow.disabled { border-bottom-color: #ddd; }
.menuArrow.bottom-arrow.disabled { border-bottom-color: transparent; border-top-color: #ddd; }

#footer { text-align:center; background-color: #241c24; bottom: 0; color: #fff; overflow: hidden !important; padding: 18px 24px 0; position: absolute; text-align: center; width: 100%; }
#footer p { color: #fff; font-size: 0.9em; line-height: 1.6em; margin-top: 1em; }
#footer img { max-width: 125px; width: 100%; }

/* MAIN AREA - RIGHT SIDE */
#mainArea { float: left; height: 100%; overflow: hidden; position: relative; width: 85%; }
#mainArea > img { height: 100%; left: -2%; margin-left: -12%; position: absolute; transition: left .6s, margin-left 1.1s ease-out .5s; width: auto; }
#topArea { position: relative; text-align: center; top: 14px; }
#topArea h1 { color: #241c24; font-weight: bold; font-size: 1.15em; line-height: 1em; margin-bottom: 10px; margin-top: 5px; }
#topArea ul { line-height: 14px; margin: 0 auto; width: 80%; }
#topArea li { background-color: #241c24; border-radius: 8px; cursor: pointer; display: inline-block; height: 16px; margin: 0 3px; transition: background-color .2s, height .45s; vertical-align: middle; width: 16px; }
#topArea li:hover { background-color: #FDB913; transform: scale(1.3); }
#topArea li.showing { background-color: #FDB913; height: 22px; }

/* MAIN AREA - NAV ARROWS */
a.arrow { background-color: rgba(253, 185, 19, .4); color: #fff; font-size: 4em; height: 100%; left: -12px; position: absolute; text-align: center; top: 0; transition: left .275s, right .275s, box-shadow .275s, background-color .275s; width: 7%; z-index: 1; }
a.arrow:after { content: ""; display: inline-block; height: 98%; vertical-align: middle; }
a.arrow:hover { background-color: rgba(253, 185, 19, 1); left: 0; }
a.right-arrow { left: auto; right: -12px; }
a.right-arrow:hover { left: auto; right: 0; }
a.arrow:hover ~ img { left: 0; transition: left 1.1s, margin-left 1.1s; }
a.right-arrow:hover ~ img { left: -4%; }

/* SLIDE AREA */
#slides { height: 90%; position: relative; top: 32px; transition: transform .65s; width: 100%; }
#slides > div { height: 90%; left: 0; position: absolute; transition: left 0.8s, transform 0.5s; }
.slide { color: #aaa; float: left; height: 100%; }
.slide > div { background-color: rgba(255,255,255,.94); color: #333; height: 100%; margin: 0 auto; overflow-x: hidden; overflow-y: auto; padding: 36px 3%; width: 80%; } 
.slide img { width: 100%; }
.slide .icon { width: 80px; }
.slide img.icon { width: 100%; max-width: 55px; float: left; margin: 0 10px 10px 0; border: 0; }
.slide img { margin: 0 auto; display: block; width: 100%; transition: box-shadow .3s; }
.slide li { margin-left: 15px; }
.listwrap { margin-left: 65px; }

/* MOBILE MENU */
a#menu-toggle { background-color: #FDB913; color: #fff; display: none; font-size: .75em; height: 60px; left: 20px; overflow: hidden; position: absolute; text-align: center; top: 14px; transition: background-color .25s; width: 60px; }
a#menu-toggle:hover { background-color: #FDB913; }
a#menu-toggle span { background-color: #fff; display: block; height: 4px; margin: 7px auto; transition: margin .2s, transform .2s; width: 70%; }
a#menu-toggle.opened span:nth-of-type(1) { margin-top: 28px; transform: rotate(-45deg); }
a#menu-toggle.opened span:nth-of-type(2) { margin-left: 100px; }
a#menu-toggle.opened span:nth-of-type(3) { margin-top: -22px; margin-bottom: 40px; transform: rotate(45deg); }
#menuOffScreen { background-color: rgba(204, 123, 41,.4); cursor: pointer; display: none; height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 2; }

/* COMMENT BUTTON AND AREA*/
#contact { background-color: white; height: 100%; left: 100%; overflow-y: auto; padding: 12px; position: fixed; top: 0; width: 390px; }
#signIn { background-color: white; height: 100%; left: 100%; overflow-y: auto; padding: 12px; position: fixed; top: 0; width: 390px; }
.wrapper { width: 85%; margin: 0 auto;}
.wrapper h1 {color: #12375a; font-weight: 300; font-family: 'Roboto', sans-serif;}
a#menuOffScreen { background-color: rgba(35, 35, 35, 0.3); cursor: pointer; display: none; height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: 2; }
.closebtn { position: absolute; top: 0; right: 10px; font-size: 40px; margin-left: 50px; color: #FDB913;}

button { background: white; border: 0; box-sizing: border-box; top: 15px; right: 855px; overflow: hidden; box-shadow: inset 0 0 0 2px #12375a; color: #12375a; font-size: .8em; text-align: center; position: absolute; vertical-align: middle; padding: 5px; }
button::before, button::after { box-sizing: inherit; content: ''; position: absolute; width: 60px; height: 60px;}
button .far {font-size: 3em; padding: 5px 0 2px; }
button .las {font-size: 3em; padding: 5px 10px 2px; }
.draw { transition: color 0.25s;  }
.draw::before, .draw::after { border: 2px solid transparent; width: 0; height: 0;}
.draw::before { top: 0; left: 0;  }
.draw::after { bottom: 0; right: 0;  }
.draw:hover::before, .draw:hover::after { width: 100%; height: 100%;}
.draw:hover::before { transition: width 0.25s ease-out, height 0.25s ease-out 0.25s;}
.meet {right: 95px; top: 15px; position: absolute;}
.meet button {position: relative; top: 0; right: 0;}
.meet button:hover { color: #FDB913; background-color: #fff; }
.meet button::after { top: 0; left: 0;}
.meet button:hover::before { border-top-color: #FDB913; border-right-color: #FDB913;}
.meet button:hover::after { border-bottom-color: #FDB913; border-left-color: #FDB913; transition: height 0.25s ease-out, width 0.25s ease-out 0.25s;}

/* LIGHTBOX */
#lightbox { height: 100%; position: fixed; top: -100%; transition: top .85s; width: 100%; z-index: 3; }
#lightbox > span { background-color: rgba(204, 123, 41,.6); cursor: pointer; height: 100%; position: absolute; top: 0; width: 100%; }
#lightbox > span span { color: #fff; font-size: 3.6em; line-height: .4em; padding: 15px; position: absolute; right: 0; top: 0; z-index: 5; }
#lightbox div { height: 40%; margin: -120px auto 0; height: 80%; overflow-y: auto; position: relative; transform: rotateX(90deg) translateY(-160px); transition: .24s; width: 88%; }
#lightbox img { display: block; width: 100%; }
#lightbox.on { top: 0; }
#lightbox.on div { box-shadow: none; margin-top: 50px; transition: .8s ease-out .32s; transform: rotateX(0deg) translateY(0px); }
.slide img.lightbox { cursor: pointer; margin-bottom: 18px; }

/* ACCORDION */
.accordion {
     background-color: #FDB913;
     color: #241c24;
     cursor: pointer;
     font-size: 16px;
     font-weight: bold;
     box-shadow: inset 0 0 0 2px #241c24;
     padding: 18px;
     width: 100%;
     text-align: left;
     border: none;
     outline: none;
     transition: 0.4s;
     position: relative;
     top: 0;
     right: 0;
 }

/* Project Schedule */
.project-schedule-table {
     margin: auto;
}

.project-schedule-table th {
     padding: 10px;
     background-color: #ffb812;
     color: #231f20;
     border: 2px solid #231f20;
     font-size: 18px;
}
.project-schedule-table td {
     padding: 10px;
     font-weight: bold;
     color: #231f20;
     border: 2px solid #231f20;
     max-width: 280px;
     background-color: #ccc;
}

.project-schedule-table .light-grey td {
     background-color: #eee;
}

.project-schedule-table .green-text {
     color: #41af41;
}




   /* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
   .active, .accordion:hover {
     background-color: #f9d271;
   }
   
   /* Style the accordion panel. Note: hidden by default */
   .panel {
     padding: 0 18px;
     background-color: white;
     max-height: 0;
     overflow: hidden;
     transition: max-height 0.2s ease-out;
   }
/* MEDIA QUERIES */
@media screen and (max-width: 1310px) {
     #menu { width: 20%; }
     #mainArea { width: 80%; }
     .slide > div { width: 86%; margin: 0 auto; }
     a.arrow { font-size: 3em; left: -8px;}
     a.right-arrow { left: auto; right: -8px; }
     #contact-toggle { right: 80px; }
}

@media screen and (max-width: 1030px) {
     #menu { margin-left: -240px; width: 240px; }
     #menu div { height: 64%; }
     #mainArea { width: 100%; }
     img.logo { display: none; }
     #topArea { margin-left: 80px; margin-right: 80px; }
     #topArea h1 { font-size: 1.3em; }
     a#menu-toggle { display: block; }
     #contact-toggle { right: 20px; }
     button { right: 22px; }

     #slides { height: 84%; top: 36px; }
     .slide > div { width: 96%; }
     .slide p { line-height: 18px; }

     a.arrow { background-color: rgba(0,0,0,.5); bottom: 0; height: 8%; top: auto; width: 46%; }
     a.arrow:after { height: 108%; }
}

@media screen and (max-width: 960px) {
     #lightbox img { max-width: 8000%; width: 160%; }
     audio { margin: 0.25em 0 1em 0; }
     .col-md-12 audio { display: block; float: none; margin: 0.25em 0 1em 0; }
}

@media screen and (max-width: 640px) {
     #slides { height: 75%; top: 85px; }
     .slide img { display:block; margin: 0 auto; }
     #topArea { margin-left: 0; margin-right: 0;  top: 60px; }
     #topArea h1 { font-size: 1.2em; line-height: 1em; margin: 8px auto; width: 94%; }
     #topArea ul { margin-top: 10px; }
     #topArea ul li { height: 14px; width: 14px;}
     #topArea ul li.showing { height: 18px; }

     img.logo { display: block; width: 50%; margin: 0 auto; padding-top: 15px;}
     a#menu-toggle { height: 32px; left: 16px; top: 16px; width: 32px; }
     a#menu-toggle span { margin: 5px auto; }
     a#menu-toggle.opened span:nth-of-type(1) { margin-top: 14px; }
     a#menu-toggle.opened span:nth-of-type(3) { margin-top: -18px; }
     #contact-toggle { font-size: .55em; height: 45px; right: 10px; top: 10px; width: 46px; }
     #contact-toggle .far { font-size: 2.3em; }
     #contact { width: 280px; }

     button { font-size: .7em; padding: 1px 6px 3px; right: 12px; top: 12px; }
     button .far { font-size: 2em; padding: 1px 0 0; }

     li { font-size: 14px; }
     .slide > div { padding: 12px 3%; }
     h2 { font-size: 1.75em; }
     .project-schedule-table th {
          font-size: 14px;
          padding: 2px;
     }
     .project-schedule-table td {
          font-size: 12px;
          padding: 2px;
     }
}

@media screen and (max-width: 530px) {
     a.arrow { height: 44px; line-height: 0px; }
     a.arrow span { font-size: .6em; }
     #slides { height: 74%; } 
     #lightbox img { width: 250%; }
}

@media screen and (max-height: 715px) {
     /* #slides { height: 76%; } */
}

@media screen and (max-height: 595px) {
     #topArea h1, div#topArea ul { display: inline-block; margin: 0 14px; vertical-align: middle; }
     #topArea h1 { margin-bottom: 4px; }
     
     a#menu-toggle { height: 32px; left: 16px; top: 16px; width: 32px; }
     a#menu-toggle span { margin: 5px auto; }
     a#menu-toggle.opened span:nth-of-type(1) { margin-top: 14px; }
     a#menu-toggle.opened span:nth-of-type(3) { margin-top: -18px; }
     #contact-toggle { font-size: .55em; height: 45px; top: 10px; width: 46px; }
     #contact-toggle i { font-size: 2.5em; }
     a.arrow { font-size: 2.5em; }
}

@media screen and (max-height: 560px) {
     #topArea h1 { font-size: 1.1em !important; font-weight: 700; margin-bottom: 6px; }
     /* #slides { height: 55%; } */
     .slide img.icon {display: block;}
}
