/*
 * Hack to correct a bug in Firefox which adds too much padding for select elements.
 * https://bugzilla.mozilla.org/show_bug.cgi?id=1582545
 */
@-moz-document url-prefix() {
    select {
        text-indent: -.13rem;
    }
}

/* Override the global (infopedia.css) settings */
.error {
    color: #FF3C50;
    margin: 0 0 5px 0;
    padding: 0;
    text-align: left;
}

/* Change the border colour when a field error is detected */
#contact-form .form-control.error {
    box-shadow: 0 0 5px #FF3C50;
    border: 1px solid #FF3C50;
    outline: 1px solid #FF3C50;
}

/* Change the placeholder text colour when a field has errors */
#contact-form .form-control.error::placeholder {
  color: #FF3C50;
  opacity: 1; /* Firefox needs this */
}

/* Change the floating label placeholder text colour when a field has errors */
#contact-form .floating-label-field+label.error:not([style*="none"])+.floating-label {
  color: #FF3C50;
}

/* ### START FLOATING LABELS ### */

/* Automatically slide the floating label up when autofill is active */
input:-webkit-autofill+.floating-label,
input:-webkit-autofill:hover+.floating-label,
input:-webkit-autofill:focus+.floating-label {
   display: initial;
}

input:autofill+.floating-label,
input:autofill:hover+.floating-label,
input:autofill:focus+.floating-label {
   display: initial;
}

label.floating-label,
label.select-floating-label {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: normal;
    line-height: 16px;
    color: #777777;
    width: auto;
}

.floating-label-field,
.floating-label-wrapper {
    height: auto;
    position: relative;
}

.floating-label-field+.floating-label,
.floating-label-field+label.error+.floating-label {
    position: absolute;
}

textarea.floating-label-field+.floating-label,
textarea.floating-label-field+label.error+.floating-label {
    top: -170px;
}

.floating-label-field+.floating-label,
.floating-label-field+label.error+.floating-label {
    display: none
}

.floating-label-field:not(:placeholder-shown)+.floating-label,
.floating-label-field:not(:placeholder-shown)+label.error+.floating-label {
    top: 6px;
    left: 20px;
    display: initial;
}

textarea.floating-label-field:not(:placeholder-shown)+.floating-label {
    top: 6px;
}

/* ### Placeholder and floating label for the <select> element ### */
#contact-form .select-floating-label-wrapper {
    height: 44px;
    display: flow-root;
    margin-bottom: 10px;
}

/* Simulate the placeholder for a <select> element */
/* The ~ selects all following siblings which match the given selector */
#contact-form select ~ .select-floating-label {
    position: relative;
    top: -42px;
    left: 20px;
    /* Set the "placeholder" text size to match the select options */
    font-size: 14px;
    /* Disable pointer events to ensure the click passes through to the select box */ 
    pointer-events: none;
}

/* When the user makes a selection transform the "placeholder" text into the floating label */
#contact-form select:focus ~ .select-floating-label {
    top: -50px;
}

#contact-form select:not([value="-1"]) ~ .select-floating-label {
    top: -50px;
}

/*
 * Needed for mobile devices because the above rule ONLY fires after the
 * <select> element loses, and then gains focus. Programmatically changing
 * the focus doesn't work.
 */
#contact-form select.selected ~ .select-floating-label {
    top: -50px;
}

/* Padding for the input box text */
#contact-form .form-control.name-box:not(:placeholder-shown),
#contact-form .form-control.email-box:not(:placeholder-shown) {
    padding: 25px 20px 11px 20px;
}

/* Adjusted padding for the email box text when an error has been detected */
#contact-form .form-control.email-box:not(:placeholder-shown).error {
    padding-left: 18px;
}

/* Padding for the placeholder text */
#contact-form input {
    padding-left: 20px;
}

/* Padding for the placeholder text */
#contact-form select {
    padding-left: 20px;
    padding-top: 20px;
}

input.name-box::placeholder,
input.email-box::placeholder {
    padding-left: 0px;
}

/* ### END FLOATING LABELS ### */

.centro-de-contacto > h4 {
    font: normal normal 500 16px/22px 'Montserrat', sans-serif;
    margin-bottom: 7px;
}

.centro-de-contacto > p {
    margin-bottom: 15px;
}

#contact-form .form-control {
    border-radius: 10px;
    margin-bottom: 10px;
    font: normal normal normal 16px/18px 'Montserrat', sans-serif;
    color: #000000;
}

#contact-form .form-control:not(textarea) {
    background-color: #EDEDED;
    height: 44px;
    border: none;
}

.form-group .row {
    margin-left: 0;
    margin-right: 0;
}

/* Remove the default margins from divs within a form-group class */
.form-group .form-group-item {
    padding-left: 0;
    padding-right: 0;
}

.contact-name {
}

.contact-email {
}

.centro-de-contacto #contact-form .realperson-challenge {
    clear: both;
    float: left;
    background: #FFF;
    width: 130px;
    text-align: center;
    padding: 10px 0 5px 0;
}

.centro-de-contacto #contact-form .realperson-challenge .realperson-text {
    font-family: "Courier New", Monaco, monospace;
    font-size: 6px;
    font-weight: bold;
    letter-spacing: -1px;
    line-height: 3px;
}

#contact-form {
    margin: 0;
}

#contact-form fieldset {
    width: 100%;
}

#contact-form fieldset .left {
    font-weight: 500;
    font-size: 15px;
    color: #5e5e5e;
    float: left;
    line-height: 15px;
    height: 30px;
    padding-top: 20px;
    padding-left: 0;
}

#contact-form textarea {
    min-height: 145px;
    margin-bottom: 12px;
    border: 1px solid #707070;
    padding: 20px 19px;
}

#contact-form select.select-subject {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance:none;
    height: 44px;
    position: relative;
    background: url(/images/seta_down_acordeaos.svg);
    background-size: 12px 6px;
    background-color: #EDEDED;
    background-repeat: no-repeat;
    background-position: right 20px top 50%;
}

#contact-form fieldset .form-group {
    margin-bottom: 10px;
}

#contact-form fieldset .field {    
    clear: both;
    margin: 0;
    padding: 0;
}

#contact-form .actions{
    margin: 0;
    padding: 0;
}

#contact-form .btn.btn-default {
    text-align: center;
    font: normal normal normal 14px/18px 'Montserrat', sans-serif;
    color: #000000;
    text-transform: uppercase;
    background-color: #FDA100;
    border-radius: 10px;
    width: 100%;
    height: 40px;
    margin-left: 0;
    padding-left: 0;
}

/* Change the focus border colour to be similar to the button color */
#contact-form .btn.btn-default:focus {
    box-shadow: 0 0 0 .2rem rgb(253 161 0 / 25%)
}

label.error {
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    font-weight: normal;
    line-height: 18px;
}

select.error+label.select-floating-label {
    color: #FF3C50;
}

@media (min-width: 768px) {
}

@media (min-width: 992px) {
    .contact-name {
        /* Override the form-group-item padding */
        padding-right: 25px !important;
    }

    .contact-email {
        padding-right: 0;
    }

    #contact-form fieldset {
        width: 625px;
    }

    #contact-form textarea {
        min-height: 150px;
    }
}

@media (min-width: 1200px) {
}

@media (min-width: 1800px) {
}
