html, body{
	height: 100%;
}








.ocean-blue-light{
  color: #4ebef7;
}

.ocean-blue{
  color: #4292CF;
}
.bg-ocean-blue{
  background-color: #4292CF;
}
.contact-phone-link a, .quill-output a, .trix-content a, .faq-description a{
  color: #4292CF;
}

.ocean-purple{
  color: #48424e;
}
.bg-ocean-purple{
  background-color: #48424e;
}
.bg-black-03{
  background-color: rgba(0,0,0,0.03);
}

body, body *{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-family: 'GothamPro', sans-serif;
}

.hover-o-100:hover{
  opacity: 1;
}

.application-form input, .application-form textarea, .application-form select{
  padding: 0.5rem;
  border-radius: .25rem;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(0,0,0,0.5);
  color: rgba(0,0,0,0.7);
  font-weight: 300;
  line-height: 1.5;
}

.application-form select{
  padding: 0.3rem;
}

.application-form textarea{
  line-height: 1.3;
}

.application-form textarea{
  resize: none;
}

.application-form label{
  font-weight: 600;
}

.application-form input:focus, .application-form textarea:focus, .application-form select:focus{
  outline-color: rgba(0,0,0,0.65);
}



input[type="date"],
input[type="time"],
input[type="datetime-local"] {
  cursor: text;
}

input::-webkit-calendar-picker-indicator {
  cursor: pointer;
}

input::-webkit-datetime-edit-day-field:focus,
input::-webkit-datetime-edit-month-field:focus,
input::-webkit-datetime-edit-year-field:focus,
input::-webkit-datetime-edit-hour-field:focus,
input::-webkit-datetime-edit-minute-field:focus {
  color: black;
}



input[type="date"],
input[type="time"],
input[type="datetime-local"] {
  color: rgba(0, 0, 0, 0.25);
}



input[type="date"]:not([value=""]),
input[type="time"]:not([value=""]),
input[type="datetime-local"]:not([value=""]) {
  color: black;
}



.autogrow {
  /* easy way to plop the elements on top of each other and have them both sized based on the tallest one's height */
  display: grid;
}
.autogrow::after {
  /* Note the weird space! Needed to preventy jumpy behavior */
  content: attr(data-replicated-value) " ";

  /* This is how textarea text behaves */
  white-space: pre-wrap;

  /* Hidden from view, clicks, and screen readers */
  visibility: hidden;
}
.autogrow > textarea {
  /* You could leave this, but after a user resizes, then it ruins the auto sizing */
  resize: none;

  /* Firefox shows scrollbar on growth, you can hide like this. */
  overflow: hidden;
}
.autogrow > textarea,
.autogrow::after {
  /* Identical styling required!! */
  border: 1px solid rgba(0,0,0,0.5);
  padding: 0.5rem;
  font: inherit;

  /* Place on top of each other */
  grid-area: 1 / 1 / 2 / 2;
}

.min-h4{
  min-height: 8rem;
}

.error, .error *{
  color: #FF4136 !important;
}
.error input, .error textarea{
  color: #FF4136 !important;
  border-color: #FF4136 !important;
}




/*
sticky footer
*/

html, body{
  height: 100%;
}





.site-container{
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}

.site-content {
  flex: 1 0 auto;
}


header, footer {
  flex: none; /* 2 */
}
















.bg-ocean-purple-90{
  background-color: rgba(72, 66, 78, 0.9);
}

.w35{
  width: 6rem;
}

.fancybox-caption {
  bottom: 1rem;
  font-size: auto;
  font-weight: 400;
  line-height: 1.5;
  padding: 0;
  left: 3rem;
  right: 3rem;
} 


.fancybox-caption:before {
  background: none;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

.fancybox-caption:after {
  border: none;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}




.sidebar-nav {
  margin-top: 72px;
  margin-bottom: -72px;
}

.sidebar-nav .label {
  display: none;
}

.sidebar-nav.sidebar-hover .label,
body.sidebar-hover .sidebar-nav .label {
  display: block;
}

.touch .sidebar-nav .hover-trigger {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 6000;
}

.sidebar-hover .hover-trigger {
  display: none;
}

.touch .unhover-trigger {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 4000;
  display: none;
}

.sidebar-hover .unhover-trigger {
  display: block;
}

.sidebar-nav .nav-item i,
.sidebar-nav .nav-item .label {
  opacity: 0.5;
}

.sidebar-nav .nav-item.current i,
.sidebar-nav .nav-item.current .label {
  opacity: 1;
}

.sidebar-nav .nav-item:hover i,
.sidebar-nav .nav-item:hover .label {
  opacity: 1;
}

.site-content {
  margin-top: 75px;
  margin-left: 65px;
  margin-left: 65px;
}

footer {
  margin-left: 65px;
}

.sidebar-nav {
  margin-top: 72px;
  margin-bottom: -72px;
}

/* 		MEDIUM		*/
@media screen and (min-width: 48em) and (max-width: 64em) {}

/* 		NOT SMALL		*/
@media screen and (min-width: 48em) {
  .site-content {
    margin-top: 75px;
    margin-left: 65px;
  }

  footer {
    margin-left: 65px;
  }

  .sidebar-nav {
    margin-top: 67px;
    margin-bottom: -67px;
  }
}

/* 		LARGE		*/
@media screen and (min-width: 64em) {
  .header-bg {
    min-height: 70px;
  }
}




.fancybox-content {
  border-radius: 0.25rem;
  box-shadow: 0 2px 8px #666;
}

.fancybox-is-open .fancybox-bg{
  opacity: 0.3 !important;
}






























.trix-content {
  line-height: 1.5;
}

.trix-content * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.trix-content h1 {
  font-size: 1.2em;
  line-height: 1.2;
}

.trix-content blockquote {
  border: 0 solid #ccc;
  border-left-width: 0.3em;
  margin-left: 0.3em;
  padding-left: 0.6em;
}

.trix-content [dir=rtl] blockquote,
.trix-content blockquote[dir=rtl] {
  border-width: 0;
  border-right-width: 0.3em;
  margin-right: 0.3em;
  padding-right: 0.6em;
}

.trix-content li {
  margin-left: 1em;
}

.trix-content [dir=rtl] li {
  margin-right: 1em;
}

.trix-content pre {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  font-family: monospace;
  font-size: 0.9em;
  padding: 0.5em;
  white-space: pre;
  background-color: #eee;
  overflow-x: auto;
}

.trix-content img {
  max-width: 100%;
  height: auto;
}

.trix-content .attachment {
  display: inline-block;
  position: relative;
  max-width: 100%;
}

.trix-content .attachment a {
  color: inherit;
  text-decoration: none;
}

.trix-content .attachment a:hover,
.trix-content .attachment a:visited:hover {
  color: inherit;
}

.trix-content .attachment__caption {
  text-align: center;
}

.trix-content .attachment__caption .attachment__name+.attachment__size::before {
  content: ' \2022 ';
}

.trix-content .attachment--preview {
  width: 100%;
  text-align: center;
}

.trix-content .attachment--preview .attachment__caption {
  color: #666;
  font-size: 0.9em;
  line-height: 1.2;
}

.trix-content .attachment--file {
  color: #333;
  line-height: 1;
  margin: 0 2px 2px 2px;
  padding: 0.4em 1em;
  border: 1px solid #bbb;
  border-radius: 5px;
}

.trix-content .attachment-gallery {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

.trix-content .attachment-gallery .attachment {
  flex: 1 0 33%;
  padding: 0 0.5em;
  max-width: 33%;
}

.trix-content .attachment-gallery.attachment-gallery--2 .attachment,
.trix-content .attachment-gallery.attachment-gallery--4 .attachment {
  flex-basis: 50%;
  max-width: 50%;
}




