/* Variables and Classes ================================================================================================ */
.clearafter {
  content: '';
  display: block;
  clear: both; }

.vcenter {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%); }

.flexcenter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.backface {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

/* ============================================================
  Contact Form
============================================================ */
.cpagecontainer {
  width: 100%;
  padding-top: 30px;
  padding-bottom: 50px; }

.cpagecontainer .formentry {
  display: inline-block;
  vertical-align: top;
  position: relative;
  width: 100%;
  color: #ff0000; }

.cpagecontainer .formentrytextarea {
  width: 100%;
  margin-left: 0; }

.cpagecontainer .formentry span, .cpagecontainer .selectmenu span {
  font-weight: normal;
  font-size: 16px;
  color: #000;
  font-family: "Lato", sans-serif;
  display: block; }

.cpagecontainer .formentryfirst {
  margin-left: 0; }

.cpagecontainer .formsuccess {
  text-align: center;
  font-weight: bold;
  color: #0985ff;
  padding-top: 40px;
  padding-bottom: 40px;
  font-family: "DM Serif Text", serif;
  font-size: 34px;
  line-height: 40px; }

.cpagecontainer .formerror {
  color: #ff0000 !important;
  font-size: 14px !important; }

.cpagecontainer label.error {
  position: absolute;
  padding: 0;
  right: 0;
  bottom: 0;
  color: #ff0000 !important;
  font-size: 14px;
  line-height: normal; }

.cpagecontainer .formentrytextarea label.error {
  bottom: 6px; }

.cpagecontainer input, .cpagecontainer select, .cpagecontainer textarea {
  height: 35px;
  line-height: 35px;
  width: calc(100% - 8px);
  border: 1px solid #e0dede;
  background: #f8f8f8;
  margin-bottom: 20px;
  padding: 0 0 0 8px;
  color: #000;
  font-size: 16px;
  position: relative;
  border-radius: 0; }

.cpagecontainer textarea {
  height: 90px;
  width: calc(100% - 8px);
  padding: 6px 0 0 8px;
  position: relative;
  line-height: normal;
  line-height: 21px; }

/* Datepicker */
.cpagecontainer input.datepicker {
  font-style: italic;
  line-height: inherit; }
  .cpagecontainer input.datepicker::-webkit-input-placeholder {
    color: #ccc; }
  .cpagecontainer input.datepicker::-moz-placeholder {
    color: #ccc; }
  .cpagecontainer input.datepicker:-moz-placeholder {
    color: #ccc; }
  .cpagecontainer input.datepicker:-ms-input-placeholder {
    color: #ccc; }

/* Radios */
.cpagecontainer .radios {
  width: 31%;
  margin-bottom: 20px; }

.cpagecontainer .radios span {
  display: block; }

.cpagecontainer .radios label {
  display: inline-block;
  cursor: pointer;
  position: relative;
  padding-left: 25px;
  margin-right: 15px;
  font-size: 13px;
  color: #000; }

.cpagecontainer .radios input[type=radio] {
  display: none; }

.cpagecontainer .radios label:before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 10px;
  position: absolute;
  left: 0;
  bottom: 3px;
  background: #ddd;
  -webkit-box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, 0.2);
  box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, 0.2);
  border-radius: 8px; }

.cpagecontainer .radios .radio label:before {
  border-radius: 8px; }

.cpagecontainer .radios input[type=radio]:checked + label:before {
  content: "\2022";
  color: #ff0000;
  font-size: 42px;
  font-family: arial;
  text-align: left;
  line-height: 17px; }

/* Select Menu */
.cpagecontainer .selectmenu {
  width: 31%;
  margin-bottom: 30px;
  display: inline-block;
  vertical-align: top; }

.cpagecontainer .formentryselect {
  overflow: hidden;
  background: url(../images/formarrow.png) no-repeat 96% 50% #f8f8f8;
  border: 1px solid #e0dede;
  height: 35px;
  width: 100%;
  line-height: 35px; }

.cpagecontainer .formentryselect select {
  background: transparent;
  margin-top: 0 !important;
  padding: 0;
  border: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  width: 100%;
  cursor: pointer;
  padding-left: 8px;
  line-height: 35px; }

.cpagecontainer select::-ms-expand {
  display: none; }

.cpagecontainer .formentryselect select {
  color: #ccc;
  font-style: italic; }

.cpagecontainer .formentryselect select option {
  color: #000;
  font-style: normal; }

.cpagecontainer .formentryselect select option:first-child {
  color: #ccc;
  font-style: normal; }

.cpagecontainer .formentryselect label.error {
  bottom: -20px; }

/* Checkbox */
.cpagecontainer .checkboxclass {
  clear: both;
  font-size: 0;
  display: block; }

.cpagecontainer .checkboxclass span {
  display: inline-block;
  vertical-align: top;
  padding: 0 0 20px 14px;
  font-size: 14px;
  line-height: 18px;
  color: #000;
  width: calc(100% - 34px); }

.cpagecontainer .checkboxclass input {
  display: none; }

.cpagecontainer .squaredThree {
  width: 20px;
  height: 20px;
  margin: 0;
  position: relative;
  display: inline-block;
  vertical-align: top; }

.cpagecontainer .squaredThree label {
  cursor: pointer;
  position: absolute;
  width: 20px;
  height: 20px;
  top: 0;
  border: 1px solid #e0dede;
  background: #f8f8f8; }

.cpagecontainer .squaredThree label:after {
  opacity: 0;
  content: '';
  position: absolute;
  width: 9px;
  height: 5px;
  background: transparent;
  top: 4px;
  left: 4px;
  border: 3px solid #000000;
  border-top: none;
  border-right: none;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.cpagecontainer .squaredThree label:hover::after {
  opacity: .3; }

.cpagecontainer .squaredThree input[type=checkbox]:checked + label:after {
  opacity: 1; }

.cpagecontainer button {
  width: 300px;
  display: block;
  margin: 0 auto;
  margin-top: 14px;
  border: 0;
  padding: 0;
  cursor: pointer;
  clear: both; }

.cpagecontainer #formbottomrequired {
  text-align: center;
  font-size: 12px;
  padding-top: 15px;
  font-style: italic;
  padding-bottom: 0;
  color: #000; }

@media screen and (max-width: 1012px) {
  .cpagecontainer {
    margin: 0 auto;
    width: 100%;
    max-width: 350px; }
  .cpagecontainer form {
    text-align: center; }
  .cpagecontainer .formentry {
    width: 100%;
    float: none;
    margin: 0 auto !important;
    margin-left: inherit;
    display: block;
    text-align: left; }
  .cpagecontainer label.error {
    bottom: -2px;
    font-size: 12px; }
  .cpagecontainer .formentrytextarea label.error {
    bottom: 4px; }
  .cpagecontainer input, .cpagecontainer select, .cpagecontainer textarea {
    width: 97%;
    padding: 0 0 0 2%; }
  .cpagecontainer textarea {
    width: 98%;
    padding: 6px 0 0 2%; }
  .cpagecontainer .radios {
    width: 100%;
    text-align: center; }
  .cpagecontainer .radios span {
    padding: 7px 0 5px 0;
    margin-left: -15px; }
  .cpagecontainer .selectmenu {
    width: 100%;
    text-align: left; }
  .cpagecontainer .formentryselect select {
    width: 100%; }
  .cpagecontainer .checkboxclass {
    width: 100%;
    max-width: 350px;
    float: none;
    margin: 0 auto;
    text-align: left; }
  .cpagecontainer button {
    width: 100%;
    max-width: 350px; } }

@media screen and (max-width: 767px) {
  .cpagecontainer .checkboxclass span {
    padding: 0 0 20px 10px;
    font-size: 12px; } }

.mapcol2 {
  width: 100%;
  position: relative;
  display: block;
  height: 600px; }

/* google map scrolling fix */
.overlay {
  background: transparent;
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: inset 0 4px 4px #ccc;
  box-shadow: inset 0 4px 4px #ccc;
  z-index: 1; }
