.component-title{
  color:#007ca5 !important;
}

form h3{
    float:left;
    margin:5rem 0 3rem 0;
    color:#2789ac;
    width:100%;
  }

form p{
    font-size:1.2rem;
    float:left;
    margin:2rem 0 1rem 0;
    color:#1f87ab;
  }

form label{
    float:left;
    width:100%;
    font-size:1.2rem;
    padding-bottom:1rem;
    margin-top:1rem;
    color:#007ca5;
  }

form input,
  form select,
  form textarea{
    float:left;
    width:100%;
    padding:0.5rem;
    font-size:1.2rem;
    border:1px solid #aaa;
  }

form select{
    -moz-appearance:none;
    -webkit-appearance:none;
    appearance:none;
    position:relative;
    padding-right:2rem;

    background-image:linear-gradient(45deg, transparent 50%, #007ca5 50%),
      linear-gradient(135deg, #007ca5 50%, transparent 50%);
    background-position:calc(100% - 25px) calc(1em + 2px),
      calc(100% - 15px) calc(1em + 2px);
    background-size:7px 8px, 10px 8px;
    background-repeat:no-repeat;
  }

form select[multiple]{
    display:grid;
    grid-template-areas:'select';
    align-items:center;
    position:relative;
    min-width:15ch;
    padding:0.25em 0.5em;

    font-size:1.25rem;
    cursor:pointer;
    line-height:1.1;
    background-color:#fff;
    background-image:linear-gradient(to top, #f9f9f9, #fff 33%);
  }

form select[multiple]:focus + .focus{
      position:absolute;
      top:-1px;
      left:-1px;
      right:-1px;
      bottom:-1px;
      border-radius:inherit;
    }

form select[multiple] option{
      white-space:normal;
      padding:1rem;
      border-bottom:1px solid #aaa;
    }

form select[multiple] option:hover{
        background:#aaa;
      }

form textarea{
    min-height:200px;
    min-width:100%;
    max-width:100%;
  }

form input[type='button'],
  form input[type='submit'],
  form button{
    width:auto;
    margin:2rem 0;
    padding:1rem 5rem;
    background:#007ca5;
    color:#fff;
    border:0;
    font-size:1.2rem;
    cursor:pointer;
    border-radius:10px;
  }

form input[type='button']:hover, form input[type='submit']:hover, form button:hover{
      background:#0691c2;
    }

form .container-radios{
    float:left;
    width:100%;
  }

form .container-checkbox,
  form .container-radio{
    display:block;
    position:relative;
    padding-left:35px;
    cursor:pointer;
    font-size:1.2rem;
    color:#666;
    margin:0.5rem 0;
    padding:1rem 1rem 1rem 2.6rem;
    text-transform:inherit;
    -webkit-user-select:none;
    -moz-user-select:none;
    user-select:none;
  }

form .container-radio{
    width:auto;
  }

form .container-checkbox input,
  form .container-radio input{
    position:absolute;
    opacity:0;
    cursor:pointer;
  }

form .container-checkbox .checkmark,
  form .container-radio .checkmark{
    position:absolute;
    top:35%;
    left:0;
    height:20px;
    width:20px;
    background-color:#eee;
    border:1px solid #007ca5;
  }

form .container-radio .checkmark{
    border-radius:50%;
  }

form .container-radio:hover input ~ .checkmark,
  form .container-checkbox:hover input ~ .checkmark{
    background-color:#aaa;
    border:1px solid #007ca5;
  }

form .container-radio input:checked ~ .checkmark,
  form .container-checkbox input:checked ~ .checkmark{
    background-color:#007ca5;
  }

form .checkmark:after{
    content:'';
    position:absolute;
    display:none;
  }

form .container-radio input:checked ~ .checkmark:after,
  form .container-checkbox input:checked ~ .checkmark:after{
    display:block;
  }

form .container-radio .checkmark:after,
  form .container-checkbox .checkmark:after{
    left:7px;
    top:4px;
    width:5px;
    height:10px;
    border:solid white;
    border-width:0 3px 3px 0;
    transform:rotate(45deg);
  }

form p.errorMessage{
    color:#b10909;
    margin:1rem 0;
  }

.response_message .node__content h2.component-title{
      color:#2789ac !important;
      text-transform:inherit !important;
      text-align:center;
      background:#fff !important;
      padding:140px 1rem 2rem 1rem !important;
      margin:0;
    }

.response_message .node__content h2.component-title:before{
        content:'';
        position:absolute;
        top:10px;
        left:50%;
        margin-left:-62px;
        height:118px;
        width:118px;
        background-image:url(../images/icons/happy-face.png);
        background-size:100%;
        background-position:center;
        background-repeat:no-repeat;
      }

.response_message .node__content .field--name-body{
      text-align:center;
      background:#fff !important;
    }

.response_message .node__content .field--name-body a{
        background:#2789ac;
        color:#fff;
        padding:0.8rem 4rem;
      }

.g-recaptcha{
  display:inline-block;
  margin-top:3rem;
}
