.ac-marketo-form-container {
    background-color: #ebebeb;
}

.ac-marketo-form .ac-marketo-form-title {
    display: block;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 18px;
    padding-bottom: 18px;
    background-color: #065f42;
    color: #ffffff;
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 25px;
}

.ac-marketo-form .ac-marketo-form-field-container {
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 8px;
}

.ac-marketo-form .ac-marketo-form-field-container.htmltext {
    font-weight: bold;
    color: black;
    font-size: 0.8rem;
    margin-top: 15px;
}

/*** Privacy ***/

.ac-marketo-form .ac-marketo-form-field-container.privacy {
    font-size: 0.7rem;
    line-height: 0.8rem;
    padding-bottom: 20px;
}

.ac-marketo-form .ac-marketo-form-field-container.privacy a {
    color: #065f42;
}

.ac-marketo-form .ac-marketo-form-field-container.privacy a:focus,
.ac-marketo-form .ac-marketo-form-field-container.privacy a:hover {
    text-decoration: none;
}

/*** Fields ***/

.ac-marketo-form label {
    display: block;
    color: #000000;
    font-weight: bold;
    margin-bottom: 3px;
}

.ac-marketo-form label.required:after {
    content: ' *';
    font-size: 1rem;
    color: #bf0000;
}

.ac-marketo-form textarea,
.ac-marketo-form select,
.ac-marketo-form input {
    box-sizing: border-box;
    background-color: white;
    width: 100%;
    border-radius: 0px;  
}

.ac-marketo-form textarea:disabled,
.ac-marketo-form select:disabled,
.ac-marketo-form input:disabled {
    background-color: transparent;
    border-color: transparent;
}

.ac-marketo-form input {
    height: 27px;
    border: 1px solid #dbdcdb;
    padding-left: 7px;
    padding-right: 7px;
}

.ac-marketo-form textarea {
    border: 1px solid #dbdcdb;
    padding: 7px;
}

.ac-marketo-form select {
    box-sizing: border-box;
    height: 27px;
    width: calc(100% - 6px) !important;
    border: 1px solid #dbdcdb;
    padding-left: 4px;
    background-image:
        linear-gradient(45deg, transparent 50%, gray 50%),
        linear-gradient(135deg, gray 50%, transparent 50%),
        linear-gradient(to right, transparent, transparent);
    background-position:
        /* calc(100% - 20px) calc(1em - 2px),
        calc(100% - 15px) calc(1em - 2px),
        calc(100% - 2.5em) 0.5em; */
        calc(100% - 10px) calc(1em - 2px),
        calc(100% - 5px) calc(1em - 2px),
        calc(100% - 2.5em) 0.5em;
    background-size:
        5px 5px,
        5px 4px,
        1px 1.5em;
  background-repeat: no-repeat;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: content-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;  
}

.ac-marketo-form input[type="checkbox"] {
    /* Visually hidden but displayed, for accessibility reasons */
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.ac-marketo-form input[type="checkbox"] + label {
    padding-left: 25px;
    position: relative;
    font-size: 0.8rem;
    display: inline-block;
    margin-top: 10px;
}

.ac-marketo-form input[type="checkbox"] + label::before {
    /* White box for unchecked state */
    content: '';
    display: block;
    position: absolute;
    width: 15px;
    height: 15px;
    background-color: white;
    top: 0px;
    left: 0px;
}

.ac-marketo-form input[type="checkbox"]:checked + label::before {
    /* Black box with tricky outline and radius to make the black circle for checked state*/
    content: '';
    display: block;
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 10px;
    outline: 4px solid white;
    background-color: black;
    top: 4px;
    left: 4px;
}

.ac-marketo-form input:focus,
.ac-marketo-form select:focus,
.ac-marketo-form input[type="checkbox"]:focus + label::before {
    outline: 0;
    box-shadow: 
        1px 1px 2px rgb(6,95,66, 50%) inset, 
    	-1px -1px 2px rgb(6,95,66, 50%) inset;
}

.ac-marketo-form input[type="checkbox"]:checked:focus + label::before {
    background-color: green;
}

/*** Search field / Select2 ***/

.ac-marketo-form .select2-container--default .select2-selection--single {
    border-radius: 0;
    border: 1px solid #dbdcdb;
}
.ac-marketo-form .select2-container--default .select2-selection--single:focus {
    outline: 0;
    box-shadow: 
        1px 1px 2px rgb(6,95,66, 50%) inset, 
        -1px -1px 2px rgb(6,95,66, 50%) inset;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border-width: 1px !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    outline: 0;
}

/*** Submit button ***/

.ac-marketo-form button[type="submit"] {
    width: 100%;
    background-color: #065f42;
    border: 0;
    color: white;
    font-size: 0.9rem;
    font-weight: bold;
    padding: 12px;
    padding-left: 30px;
    text-align: left;
    position: relative;
}

.ac-marketo-form button[type="submit"]:hover {
    filter: brightness(125%);
}

.ac-marketo-form button[type="submit"]:focus {
    filter: brightness(125%);
    outline: 2px dotted gray;
}

.ac-marketo-form button[type="submit"]::before {
    /* Button triangle */
    content: '';
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-left: 8px solid white;
    border-bottom: 5px solid transparent; 
    margin-right: 15px;
    display: block;
    position: absolute;
    top: 16px;
    left: 12px;
}



/*** Success message ***/

.ac-marketo-form-success-message {
    padding: 20px;
    margin-bottom: 5px;
    text-align: center;
}



/*** Others ***/

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