:root {
  --branding-black: #000000;
  --branding-white: #ffffff;
  --branding-lightgray: #d3d3d3;
  --branding-red: #eb0a1e;
  --branding-bluegrayed: #425368;
}

body {
  font-family: "open_l";
  color: var(--branding-black);
  line-height: 1;
}
html {
  font-size: 14px;
}
h1 {
  font-size: 100%;
}
h1,
p {
  margin-bottom: 0;
}
a,
a:hover {
  text-decoration: none;
}
ul.subUrl {
  margin-bottom: 0;
}
fieldset.required,
label.required {
  color: var(--branding-black);
  font-size: 100%;
}
input.required,
label.required,
select.required {
  margin-left: 0;
}
.btn-primary,
.btn-primary:hover {
  border: none;
  background-color: var(--branding-red);
  border-radius: 16px;
  font-size: 16px;
  font-family: "open_l";
  padding: 10px 20px;
  line-height: 1;
}
.custom-control-label:before {
  top: 0;
  width: 1.2rem;
  height: 1.2rem;
  background-color: var(--branding-white);
  border: 2px solid var(--branding-bluegrayed);
}
.custom-radio .custom-control-label:before {
  border-radius: 30%;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label:before,
.custom-radio .custom-control-input:checked ~ .custom-control-label:before {
  background-color: var(--branding-white);
}
.custom-control-label:after {
  top: -0.07rem;
  left: -0.07rem;
  width: 1.4rem;
  height: 1.3rem;
  background-size: 50% 65%;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500'%3E%3Crect width='500' height='500' x='0' y='0' rx='100' ry='100' fill='%23425368'/%3E%3C/svg%3E");
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23425368' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E");
}
.controls .form-check-input {
  margin-left: 0;
  position: relative;
}
.controls .form-check-input label {
  padding: 0 3px 0px 0px;
}
fieldset.container {
  margin-top: 50px;
  padding: 10px 15px;
  border: 1px solid var(--branding-lightgray);
  border-radius: 8px;
}
fieldset.container legend {
  padding: 0 15px 0 5px;
  width: auto;
}
fieldset.container .form-row {
  padding-bottom: 1rem;
}
.text-sm {
  font-size: 100%;
  text-align: center;
}
label.is-required:after,
legend.is-required:after,
span.is-required:after {
  content: "*";
  color: var(--branding-red);
}
label.required .star {
  color: var(--branding-red);
}
.alert {
  padding: 15px;
  border-radius: 10px;
}

.chzn-container-single .chzn-single {
  height: 33px !important;
}

.chzn-container-single .chzn-single span {
  margin-top: 5px;
}

.mt-4,
.my-4 {
  margin-bottom: 10px;
}

.required {
  font-size: 14px !important;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[id=jform_personid],
input[id=jform_carid] {
  text-transform: uppercase;
}

input.invalid {
  border: 1px solid var(--branding-red);
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

/* ::-webkit-input-placeholder,
:-moz-placeholder,
::-moz-placeholder,
:-ms-input-placeholder, */
input::placeholder {
  opacity: 0.5 !important;
}

input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
  color: transparent;
}
input:focus:-moz-placeholder,
textarea:focus:-moz-placeholder {
  color: transparent;
} /* Firefox 18- */
input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
  color: transparent;
} /* Firefox 19+ */
input:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder {
  color: transparent;
} /* IE 8 and older ;) */

input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
  color: transparent;
}
input:focus:-moz-placeholder,
textarea:focus:-moz-placeholder {
  color: transparent;
} /* Firefox 18- */
input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
  color: transparent;
} /* Firefox 19+ */
input:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder {
  color: transparent;
} /* IE 8 and older ;) */

@media screen and (max-width: 2561px) {
  .container {
    padding-right: 225px;
    padding-left: 210px;
  }
  .btn-primary,
  .btn-primary:hover {
    padding: 12px 20px;
  }
  .form-row > .col,
  .form-row > [class*="col-"] {
    padding-right: 20px;
    padding-left: 20px;
  }

  div .control-group{
    margin-left: 5px;
  }

  .controls .form-check-input label {
    padding: 0px 1px 0px 0px;
  }

  input.required,label.required,select.required {
  margin-left: -1px;
  }
  
}

@media screen and (max-width: 414px) {
  .container {
    padding-right: 15px;
    padding-left: 15px;
  }
  .chzn-container-single .chzn-single {
    width: 318px;
  }
  
  div .from-group .text-center{
    margin-left: 55px;
    margin-right: 55px;
  }
  div .from-group {
    margin-left: 0px;
    margin-right: 20px;
  }
  .form-row{
  	align-items: center;
	  justify-content: center;
  }


}

@media screen and (max-width: 822px) {
  .container {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
  .chzn-container-single .chzn-single {
    width: 344px !important;
  }
}
.titulo{
  font-weight: bold;
  text-align: center;
  background: var(--branding-red);
  color: var(--branding-white);
  padding: 7px 1px;
}
.campos{
  font-weight: bold;
}
.btn-pdf{
 font-weight: 600;
 color: var(--branding-white);
 background-color: var(--branding-red);
 display: inline-block;
 transition: all .5s;
 cursor: pointer;
 text-align: center;
}
.peq{
  font-style: italic;
}
.com{
  font-style: italic;
  font-weight: bold;
}
.derechos [for*="jform_derecho"]{
  padding: 15px;
  font-weight: 400;
  font-size: 16px;
  text-align: justify !important;
}
.derechos input{
  position: absolute;
  left: -20px;
}
.final li{
  text-align: justify;
}

/* ---------- Anexando archivos ----------- */
.custom-file {
  position: relative;
  overflow: hidden;
  margin-bottom: 10px;
  width: auto;
  display: block;
  padding: 5px;  
}

.custom-file-input{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
  z-index: 100;
}
.anex{
  background: var(--branding-red);
  color: var(--branding-white);
  width: 100%;
  padding: 5px;
  border-radius: 20px;
  position: absolute;
  top: 0px;
  right: 0px;
  font-size: 15px;
  font-weight: bold;
}

.remove-list{
  cursor: pointer;
}
/* -------------------------- */

.cont-terms{
  display: grid;
  place-items: center;
}
#jform_derecho-lbl{
  display: flex;
    justify-content: center;
    background: var(--branding-red);
    color: var(--branding-white);
    font-weight: bold;
    font-size: 28px !important;
}