/* UI Bootstrap tweak */
.nav, .pagination, .carousel, .panel-title a {
  cursor: pointer;
}

/* 
  Allow angular.js to be loaded in body, hiding cloaked elements until 
  templates compile.  The !important is important given that there may be 
  other selectors that are more specific or come later and might alter display.  
 */
[ng\:cloak], [ng-cloak], .ng-cloak {
  display: none !important;
}

/* Structure */
body {
  margin:0;
  padding:0;
}
.col-half {
  height: 760px;
  position: relative;
  width: 50%;
  float: left;
}
.col-half:after {
  content: "";
  display: table;
  clear: both;
}

/* Fonts */
h1, h2, h3, h4, h5, h6 {
  font-family: 'ITC Avant Garde Gothic Demi Bold', Helvetica, Arial, sans-serif;
}

h1,
.h1 {
  font-size: 26px;
}
h2,
.h2 {
  font-size: 22px;
}
h3,
.h3 {
  font-size: 18px;
}
h4,
.h4 {
  font-size: 18px;
}
h5,
.h5 {
  font-size: 14px;
}
h6,
.h6 {
  font-size: 12px;
}

p {
  font-family: 'ITC Avant Garde Gothic Book', Helvetica, Arial, sans-serif;
  line-height: 1.4em;
}
.bold {
  font-family: 'ITC Avant Garde Gothic Demi Bold', Helvetica, Arial, sans-serif;
}

.loading {
    display: block;
    width: 32px;
    height: 32px;
    margin: 40px auto;
}

/* Map */
#map {
  position:absolute;
  top:0;
  bottom:0;
  border: 1px solid #DDD;
  width: 100%;
  height: 100%;
}
.refresh {
   width: 28px;
   height: 28px;
   background-image: url('../images/refresh.png');
}
.googlemaps {
   width: 28px;
   height: 28px;
   background-image: url('../images/googlemaps.png');
}

/* Course Form */
.form-wrapper h1 {
  margin-top: 0px;
}
.form-wrapper {
  background-color: #F9F8F7;
  padding: 20px;
  border: 1px solid #DDD;
  border-bottom: 0px;
  border-left: none;
}
.form-wrapper:after {
  content: "";
  display: table;
  clear: both;
}
.form-input {
  width: 100%;
  height: 34px;
  text-indent: 5px;
}
.form-layout {
  width: 50%;
  float: left;
  margin-bottom: 20px;
}
.form-layout h3 {
  margin-top: 5px;
}
.form-layout-width-adj {
  margin-right: 28px;
}
.course-type {
  min-height: 54px;
}
.course-type label {
  margin-right: 5px;
}
.course-type input {
  margin-right: 5px;
}
.btn-alpha {
  display: block;
  height: 34px;
  width: 100%;
  background: #DC000E;
  color: white;
  font-family: 'ITC Avant Garde Gothic Demi Bold', Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  border: none;
  letter-spacing: 1px;
  margin-right: 28px;
  margin-top: 34px;
}
.btn-alpha.fixed {
  height: 34px;
  line-height: 34px;
  width: 150px;
  margin: 20px 0px 20px;
  text-align: center;
}
a.btn-alpha {
  text-decoration: none;
  color: white;
}
.search-explanation {
  padding: 20px;
  background: #C8DCF1;
  font-size: 1.2em;
}
.search-error, .form-error {
  padding: 20px;
  background: #F5C0B2;
  font-size: 1.2em;
}
.form-error {
  margin-top: 10px;
}
.search-explanation p:last-child, .search-error p:last-child {
  margin: 0px;
}

/* Custom Dropdown */
.dropdown-wrapper {
  width: 240px;
  height: 34px;
  overflow: hidden;
  background: url('../images/dropdown-closed.png') no-repeat right white;
  border: 1px solid #DDD;
 }
.dropdown-wrapper select {
  background: transparent;
  width: 268px;
  padding: 5px;
  font-size: 16px;
  line-height: 1.2;
  border: 0;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  height: 34px;
  -webkit-appearance: none;
  outline: none;
}

/* Course Results */
#course-results .number {
   display: block;
   color: #999;
   position: absolute;
   top: 0px;
   left: 10px;
}
#course-results .info {
   float: left;
}
#course-results .result-head-wrapper {
  margin-top: 10px;
  padding: 10px 0px;
}
#course-results .result-head-inner {
  padding-right: 60px;
  padding-left: 40px;
  position: relative;
}
#course-results .result-head-wrapper:after, #course-results .result-head-inner:after {
 content: "";
 display: table;
 clear: both;
}
#course-results .result-head-wrapper h3 {
  margin-top: 0px;
}
#course-results .result-body {
  padding: 0px 60px 10px 40px;
}
#course-results .dropdown-icon {
  display: block;
  width: 40px;
  height: 40px;
  margin-right: 10px;
  background: url('../images/accordion-closed.png');
  background-repeat: no-repeat;
}
#course-results .dropdown-icon.dropdown-open {
  background: url('../images/accordion-open.png');
  background-repeat: no-repeat;
}
#course-results .dropdown-icon.dropdown-closed {
  background: url('../images/accordion-closed.png');
  background-repeat: no-repeat;
}
accordion > .panel-group {
  height: 474px;
  border: 1px solid #DDD;
  border-left: none;
  margin-bottom: 0px;
  overflow-y: scroll;
}
.dropdown-open .course-start {
  display: none;
}

/* Overwrite Bootstrap */
#course-results .panel-group {
  border-top: 1px solid #DDD;
}
#course-results .panel-default {
  border: none;
  border-bottom: 1px solid #DDD;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
}
#course-results .panel-default:last-child {
  border-bottom: none;
}
#course-results .panel-default > .panel-heading {
  background-color: transparent;
  border: none;
  padding: 0px;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
}
#course-results .panel-group .panel + .panel {
  margin-top: 0px;
}
#course-results .panel-default > .panel-heading + .panel-collapse > .panel-body {
  border: none;
  padding: 0px;
}
.tooltip-inner {
    white-space:nowrap;
}

/* Contact Form */

.ngdialog.ngdialog-theme-default {
  padding-top: 30px !important;
}

.ngdialog-content {
  width: 85% !important;
  max-width: 800px !important;
  padding: 2em !important;

}
.contact-form-wrapper textarea {
  height: 200px;
  width: 100%;
  resize: none;
}

/* Device Specific */
body.device-mobile .map-container {
  display: none;
}
body.device-mobile accordion > .panel-group {
  overflow-y: visible;
}
body.device-mobile #map-wrapper {
  position: relative;
  width: 100%;
  height: 350px;
  border: 1px solid #DDD;
  margin-bottom: 20px;
}
body.device-mobile #course-results .number {
   display: none;
}
body.device-mobile #course-results .result-body, body.device-mobile #course-results .result-head-inner {
  padding: 0px 60px 10px 20px;
}

.checkbox-wrapper {
  display: inline;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.checkbox-wrapper label {
  font-weight: normal;
}

/* csscheckbox.com */

input[type=checkbox].css-checkbox {
  position:absolute; 
  z-index:-1000; 
  left:-1000px; 
  overflow: hidden; 
  clip: rect(0 0 0 0); 
  height:1px; 
  width:1px; 
  margin:-1px; 
  padding:0; 
  border:0;
}

input[type=checkbox].css-checkbox + label.css-label, input[type=checkbox].css-checkbox + label.css-label.clr {
  padding-left:27px;
  height:22px; 
  display:inline-block;
  line-height:22px;
  background-repeat:no-repeat;
  background-position: 0 0;
  font-size:14px;
  vertical-align:middle;
  cursor:pointer;
}

input[type=checkbox].css-checkbox:checked + label.css-label, input[type=checkbox].css-checkbox + label.css-label.chk {
  background-position: 0 -22px;
}
label.css-label {
  background-image:url(../images/checkbox.png);
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}


/* Responsive */
@media screen and (min-width: 1200px) {

}
@media screen and (max-width: 1200px) and (min-width: 992px) {

}
@media screen and (max-width: 992px) {
  .col-half {
    height: 300px;
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .form-layout {
    width: 100%;
  }
  .btn-alpha {
    margin-top: 10px;
  }
  .checkbox-wrapper {
    display: block;
  }
}