/*****************************************************************************************************/
/* General. ******************************************************************************************/
/*****************************************************************************************************/
#test {
  position: fixed;
  display: none;
  bottom: 0;
  right: 0;
  background-color: yellow;
  color: #000;
  font-weight: bold;
  padding: 10px;
  margin: 0;
  z-index: 100000; }

html, body, body, a, a h4, p, span, h1, h2, h3, h4, h5, h6, div, form, input, ul, ol, li, img, nav, section {
  position: relative; }

html, body {
  width: auto;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0 none; }

body {
  background-color: #333333;
  text-align: left;
  cursor: default; }

.transition {
  transition: All .4s ease; }

.opacity {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  -khtml-opacity: 0.5;
  opacity: 0.5; }

a.opacity:hover, a h4.opacity:hover {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  -khtml-opacity: 1;
  opacity: 1; }

.scale {
  transform: scale(1);
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -o-transform: scale(1);
  -ms-transform: scale(1); }
  .scale:hover {
    transform: scale(1.2);
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2); }

a.shadow, a h4.shadow {
  box-shadow: none; }
  a.shadow:hover, a h4.shadow:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.75); }

.floatLeft {
  float: left; }

.floatRight {
  float: right; }

.absLeft {
  left: 0; }

.absRight {
  right: 0; }

.clearAll {
  clear: both;
  float: none; }

body * {
  outline: 0 none; }

input, select, textarea {
  -webkit-appearance: none; }

.ratio1-1 {
  display: block;
  height: 0;
  padding: 0 0 100% 0;
  overflow: hidden; }

.ratio2-1 {
  display: block;
  height: 0;
  padding: 0 0 50% 0;
  overflow: hidden; }

.ratio25-1 {
  display: block;
  height: 0;
  padding: 0 0 45% 0;
  overflow: hidden; }

.ratio16-9 {
  display: block;
  height: 0;
  padding: 0 0 70% 0;
  overflow: hidden; }

/*****************************************************************************************************/
/* Page layout ***************************************************************************************/
/*****************************************************************************************************/
.outer {
  float: left;
  clear: both;
  width: 100%;
  height: auto;
  background: white url(../images/paternBkg.jpg) repeat;
  padding: 0;
  left: auto;
  margin: 0; }
  @media screen and (min-width: 769px) {
    .outer {
      max-width: 1600px; } }
  @media screen and (min-width: 1600px) {
    .outer {
      left: 50%;
      margin: 0 0 0 -800px; } }

.wrapper {
  float: left;
  clear: both;
  width: 96%;
  height: auto;
  padding-left: 2%;
  padding-right: 2%;
  margin-left: auto;
  margin-right: auto;
  border: 0 none; }
  @media screen and (min-width: 481px) {
    .wrapper {
      width: 90%;
      padding-left: 5%;
      padding-right: 5%; } }
  @media screen and (min-width: 769px) {
    .wrapper {
      width: 84%;
      padding-left: 8%;
      padding-right: 8%; } }
  @media screen and (min-width: 1001px) {
    .wrapper {
      width: 80%;
      padding-left: 10%;
      padding-right: 10%; } }

.inner {
  float: left;
  clear: both;
  margin: 0;
  padding: 0;
  width: 100%; }

.c1, .c2, .c3, .c4 {
  float: left;
  width: 95%;
  padding-right: 2.5%;
  padding-left: 2.5%;
  margin-top: 30px; }

@media screen and (min-width: 481px) {
  .c1 {
    margin-top: 40px;
    clear: none;
    width: 45%; } }
@media screen and (min-width: 769px) {
  .c1 {
    width: 20%; } }

@media screen and (min-width: 769px) {
  .c2 {
    clear: none;
    width: 45%; } }

@media screen and (min-width: 769px) {
  .c3 {
    clear: none;
    width: 70%; } }

.c4 {
  clear: both; }

/*****************************************************************************************************/
/* Textos. *******************************************************************************************/
/*****************************************************************************************************/
.sans, h1 .sans, h2 .sans, h3 .sans, h4 .sans, h5 .sans, h6 .sans {
  font-family: "Oswald", sans-serif;
  font-weight: 300; }

.serif, body, input, select, textarea {
  font-family: "Buenard", "Georgia", serif;
  font-weight: 400; }

body, input, select, textarea {
  color: #5b6372;
  font-size: .9em;
  line-height: 1.35em; }

.smallwidth {
  width: 100%;
  display: block;
  margin: 0; }
  @media screen and (min-width: 481px) {
    .smallwidth {
      width: 80%; } }

.center {
  text-align: center; }
  @media screen and (min-width: 481px) {
    .center .smallwidth {
      margin-left: auto;
      margin-right: auto; } }

.left {
  text-align: left; }

.right {
  text-align: right; }
  @media screen and (min-width: 481px) {
    .right .smallwidth {
      margin-left: 20%; } }

.justify {
  text-align: left; }
  @media screen and (min-width: 481px) {
    .justify {
      text-align: justify; } }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-weight: 400;
  line-height: 1.25em;
  margin: 0;
  padding: 0; }
  @media screen and (min-width: 769px) {
    h1.spacePrev, h2.spacePrev, h3.spacePrev, h4.spacePrev, h5.spacePrev, h6.spacePrev {
      padding-top: 1em; } }
  @media screen and (min-width: 769px) {
    h1.spaceNext, h2.spaceNext, h3.spaceNext, h4.spaceNext, h5.spaceNext, h6.spaceNext {
      padding-bottom: 1em; } }

h1, h2, h3, h4 {
  display: block; }

h2 {
  font-size: 2em; }
  @media screen and (min-width: 481px) {
    h2 {
      font-size: 2.25em; } }

h3 {
  font-size: 1.75em; }
  @media screen and (min-width: 481px) {
    h3 {
      font-size: 1.9em; } }

h4 {
  color: #333333;
  font-size: 1.15em; }
  @media screen and (min-width: 481px) {
    h4 {
      font-size: 1.25em; } }

h5 {
  font-size: 1em; }

h6 {
  font-size: .85em; }

p.noSpace {
  padding: .15em 0;
  margin: 0; }
p.date {
  color: #adb1b8; }
p.small {
  font-size: .8em;
  line-height: 1.15em; }

a, a h4 {
  color: #8f1336;
  text-decoration: none; }
  a:hover, a h4:hover {
    color: #333333; }
    a:hover h4, a h4:hover h4 {
      color: #333333; }
  a .desc {
    color: #5b6372; }

a img {
  border: 0 none; }

a, a h4, input[type=button], input[type=submit], input[type=reset], input[type=image] {
  cursor: pointer; }

.red {
  color: #8f1336; }

.sepia {
  color: #e4d6a5; }

.gray {
  color: #5b6372; }

.lightgray {
  color: #adb1b8; }

.darkgray {
  color: #333333; }

/*****************************************************************************************************/
/* Header ********************************************************************************************/
/*****************************************************************************************************/
header {
  float: left;
  top: 0;
  margin: 0;
  width: 100%;
  padding-bottom: 20px;
  border-bottom: 5px #8f1336 solid; }
  @media screen and (min-width: 481px) {
    header {
      padding-top: 20px;
      padding-bottom: 40px;
      border-bottom-width: 10px; } }
  @media screen and (min-width: 769px) {
    header {
      font-size: 1.22em; } }
  @media screen and (min-width: 1321px) {
    header {
      padding-top: 10px;
      padding-bottom: 50px; } }
  @media screen and (max-width: 768px) {
    header .wrapper, header .inner {
      width: 100%;
      padding-left: 0;
      padding-right: 0; } }

header .c1, header .c2, header .c3, header .c4 {
  margin: 0; }

header nav {
  display: block;
  clear: both;
  padding-top: 135px;
  text-align: center; }
  header nav a, header nav a h4, a header nav h4 {
    display: block;
    width: 100%;
    color: #5b6372;
    text-transform: uppercase;
    font-size: 1em;
    white-space: nowrap;
    padding: 15px 0;
    border-top: 1px rgba(91, 91, 114, 0.2) solid; }
    header nav a:hover, header nav a h4:hover, a header nav h4:hover {
      color: #8f1336; }
    header nav a.logo, header nav a h4.logo, a header nav h4.logo {
      position: absolute;
      width: 100%;
      height: 100px;
      top: 0;
      left: 0;
      border: 0 none;
      text-align: center; }
      header nav a.logo img, header nav a h4.logo img, a header nav h4.logo img {
        display: inline-block;
        height: 100%;
        margin: 0;
        padding: 0; }
  @media screen and (min-width: 481px) {
    header nav {
      padding-top: 170px; }
      header nav a, header nav a h4, a header nav h4 {
        display: inline;
        border: 0 none;
        padding: 0 2%;
        line-height: 30px; }
        header nav a.logo, header nav a h4.logo, a header nav h4.logo {
          height: 128px; } }
  @media screen and (min-width: 1370px) {
    header nav {
      padding: 0; }
      header nav a, header nav a h4, a header nav h4 {
        width: 11%;
        display: inline-block;
        padding: 0;
        line-height: normal; }
        header nav a[role=left], header nav a h4[role=left], a header nav h4[role=left] {
          text-align: left; }
        header nav a[role=right], header nav a h4[role=right], a header nav h4[role=right] {
          text-align: right; }
        header nav a.logo, header nav a h4.logo, a header nav h4.logo {
          position: relative;
          display: inline-block;
          width: 31.8%;
          margin: 0;
          text-align: center; }
          header nav a.logo img, header nav a h4.logo img, a header nav h4.logo img {
            top: 19px; } }

.cover {
  position: absolute;
  display: block;
  top: 15px;
  left: 15px;
  padding: 0 0 0 25px;
  line-height: 30px;
  height: 30px;
  width: 30px;
  text-indent: -2000em;
  background-repeat: no-repeat;
  background-image: url("../images/cover.png");
  background-position: 0 0;
  z-index: 1000; }
  @media screen and (min-width: 481px) {
    .cover {
      width: auto;
      text-indent: 0; } }

/*****************************************************************************************************/
/* Footer ********************************************************************************************/
/*****************************************************************************************************/
footer {
  width: 100%;
  padding: 0; }
  footer .wrapper, footer .inner {
    margin-top: 0;
    margin-bottom: 0;
    background-color: #5b6372; }
  footer .c1, footer .c2 {
    margin-top: 0;
    margin-bottom: 0;
    color: white;
    text-align: center; }
    @media screen and (min-width: 481px) {
      footer .c1, footer .c2 {
        width: 95%; } }
    @media screen and (min-width: 1321px) {
      footer .c1, footer .c2 {
        margin-bottom: 0; } }
  @media screen and (min-width: 769px) {
    footer .c1 {
      width: 20%; } }
  @media screen and (min-width: 481px) {
    footer .c2 {
      margin-bottom: 30px; } }
  @media screen and (min-width: 769px) {
    footer .c2 {
      width: 45%; } }
  @media screen and (min-width: 1321px) {
    footer .c2 {
      text-align: left; } }
  footer .c2, footer .ribbon, footer .developer {
    padding-top: 30px; }
    @media screen and (min-width: 481px) {
      footer .c2, footer .ribbon, footer .developer {
        padding-top: 40px; } }
  footer .ribbon {
    padding-bottom: 20px;
    height: auto;
    background-color: transparent;
    border-bottom: 1px rgba(255, 255, 255, 0.2) solid; }
    @media screen and (min-width: 769px) {
      footer .ribbon {
        border: 0 none; } }
    @media screen and (min-width: 1321px) {
      footer .ribbon {
        padding-bottom: 35px;
        background-color: #8f1336; } }
  footer .menu {
    margin-bottom: 25px; }
    footer .menu a, footer .menu a h4, a footer .menu h4 {
      display: inline-block;
      text-transform: uppercase;
      padding: 5px 6px;
      margin: -5px 0 10px 0;
      border-radius: 3px; }
      footer .menu a h4, a footer .menu h4 h4 {
        padding: 0;
        color: white;
        display: inline;
        border-radius: 0;
        background-color: transparent; }
      footer .menu a:hover, footer .menu a h4:hover, a footer .menu h4:hover {
        background-color: white; }
        footer .menu a:hover h4, footer .menu a h4:hover h4, a footer .menu h4:hover h4 {
          color: #8f1336;
          background-color: transparent; }
    @media screen and (min-width: 1321px) {
      footer .menu {
        height: 100%; } }
  footer .social a, footer .social a h4, a footer .social h4 {
    display: inline-block;
    text-indent: -2000em;
    width: 40px;
    height: 40px;
    margin: 0 4px 10px 4px;
    color: white;
    text-transform: uppercase;
    background-image: url(../images/buttons.png);
    background-repeat: no-repeat;
    -moz-border-radius: 40px;
    -webkit-border-radius: 40px;
    border-radius: 40px; }
    footer .social a.facebook, footer .social a h4.facebook, a footer .social h4.facebook {
      background-position: -60px top;
      background-color: #3b5998; }
    footer .social a.twitter, footer .social a h4.twitter, a footer .social h4.twitter {
      background-position: -100px top;
      background-color: #19bfe5; }
    footer .social a.wordpress, footer .social a h4.wordpress, a footer .social h4.wordpress {
      background-position: -140px top;
      background-color: #454442; }
    footer .social a.linkedin, footer .social a h4.linkedin, a footer .social h4.linkedin {
      background-position: -180px top;
      background-color: #006699; }
    footer .social a.google, footer .social a h4.google, a footer .social h4.google {
      background-position: -220px top;
      background-color: #d64136; }

.footerLogo {
  display: inline-block;
  margin: 0; }
  @media screen and (min-width: 1321px) {
    .footerLogo {
      float: left;
      margin-right: 20px; } }

.developer {
  display: inline-block;
  margin-top: 14px;
  margin-bottom: 30px;
  color: white; }
  .developer img {
    padding-top: 10px; }
  @media screen and (min-width: 1321px) {
    .developer {
      float: right;
      margin-top: 14px;
      margin-bottom: 0; } }

/******************************************************************************************************/
/* Forms **********************************************************************************************/
/******************************************************************************************************/
form {
  display: block; }
  form p {
    margin: 6px 0; }
  form ul {
    list-style: none;
    list-style-type: none;
    margin: 0;
    padding: 0; }

.control {
  border: 0 none;
  display: block;
  padding: 0;
  margin: 0 0 10px 0; }
  .control input[type=text], .control input[type=email], .control input[type=password], .control textarea, .control ul {
    width: 92%;
    padding: 0 4%;
    font-size: 1em;
    color: #adb1b8;
    border: 0 none; }
  .control textarea {
    padding-top: .5em;
    padding-bottom: .5em;
    resize: none;
    border-radius: 3px; }
  .control input[type=text], .control input[type=email], .control input[type=password], .control input[type=button], .control input[type=submit], .control input[type=reset] {
    height: 38px;
    border-radius: 3px; }
  .control input[type=button], .control input[type=submit], .control input[type=reset] {
    text-transform: uppercase;
    font-size: 1em;
    color: white;
    width: 48.5%;
    border: 0 none;
    border-top: 1px rgba(255, 255, 255, 0.25) solid;
    border-bottom: 1px rgba(0, 0, 0, 0.25) solid; }
    .control input[type=button]:hover, .control input[type=submit]:hover, .control input[type=reset]:hover {
      background-color: #333333; }
  .control input[type=button], .control input[type=submit] {
    background-color: #8f1336; }
  .control input[type=reset] {
    background-color: #5b6372; }
  .control label {
    display: block;
    margin-bottom: 4px;
    font-weight: 700; }
    .control label:hover {
      cursor: pointer; }
  .control ul {
    float: left;
    padding-top: 9px;
    padding-bottom: 9px;
    border-radius: 3px; }
    .control ul label {
      display: inline;
      font-weight: 400;
      color: #5b6372; }

/* Radio buttons y checkboxes */
input[type=radio], input[type=checkbox] {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  -khtml-opacity: 0;
  opacity: 0;
  cursor: pointer; }

.radio, .checkbox {
  float: left;
  width: 20px;
  height: 20px;
  margin: 0 5px 0 0;
  background-repeat: no-repeat;
  background-position: left top;
  background: url(../images/buttons.png) no-repeat -125px -40px; }
  .radio input, .checkbox input {
    position: absolute;
    top: 0;
    left: 0; }
  .radio:hover, .checkbox:hover {
    background-position: -105px -40px; }
  .radio.active, .checkbox.active {
    background-position: -85px -40px; }

.selection ul li.hover, .selection ul li.active {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  -khtml-opacity: 1;
  opacity: 1; }
.selection ul li label {
  font-weight: bold;
  font-size: 1em;
  color: #fff;
  line-height: 20px;
  cursor: pointer; }

/******************************************************************************************************/
/* Newsletter *****************************************************************************************/
/******************************************************************************************************/
#newsletter {
  float: left;
  clear: both;
  width: 100%;
  height: auto;
  margin: 30px 0 0 0;
  padding: 0 0 30px 0;
  background-color: #e4d6a5; }
  @media screen and (min-width: 481px) {
    #newsletter {
      margin: 80px 0 0 0;
      height: 510px;
      padding: 0;
      background-image: url(../images/newsletterBkg.jpg);
      background-position: center center;
      background-repeat: no-repeat; } }
  #newsletter .wrapper, #newsletter .inner, #newsletter .titlebar {
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 0; }
  #newsletter .titlebar {
    margin-top: 0;
    margin-bottom: 15px; }
    @media screen and (min-width: 481px) {
      #newsletter .titlebar {
        margin-top: 60px;
        margin-bottom: 10px; } }
  #newsletter h2 {
    color: #8f1336; }
  #newsletter form {
    padding: 0 2.5%;
    margin: 0;
    border: 0 none; }
    @media screen and (min-width: 481px) {
      #newsletter form {
        float: right !important;
        width: 300px; } }
    #newsletter form li {
      float: left;
      margin: 0 20px 0 0; }
  #newsletter .control ul {
    background-color: white; }
  #newsletter .control.block label {
    color: white; }
  #newsletter .control.block ul label {
    color: #5b6372; }
  #newsletter .control.buttons input[type=button], #newsletter .control.buttons input[type=submit], #newsletter .control.buttons input[type=reset] {
    width: 48.5%; }
  #newsletter input[type=text], #newsletter input[type=email], #newsletter input[type=password], #newsletter textarea {
    background-color: white; }

/******************************************************************************************************/
/* Contact form ***************************************************************************************/
/******************************************************************************************************/
#contact input[type=text], #contact input[type=email], #contact input[type=password], #contact textarea {
  background-color: #e7dfc1; }

/******************************************************************************************************/
/* Thumbnails *****************************************************************************************/
/******************************************************************************************************/
.thum, .thum img {
  display: block; }

.thum {
  margin: 0 0 1em 0;
  overflow: hidden;
  background-color: rgba(91, 91, 114, 0.2);
  background-image: url(../images/loading.gif);
  background-repeat: no-repeat;
  background-position: center center;
  height: auto;
  width: 100%; }
  .thum img {
    position: relative;
    width: 100%;
    height: auto; }

img.full {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%; }
  @media screen and (min-width: 769px) {
    img.full.spacePrev {
      padding-top: 1.35em; } }
  @media screen and (min-width: 769px) {
    img.full.spaceNext {
      padding-bottom: 1.35em; } }

.item {
  display: block;
  outline: 1px solid transparent;
  outline-offset: 0;
  margin: 0;
  padding: 0; }
  .item:hover {
    outline-color: #5b6372;
    outline-offset: 10px; }
  .item .thum {
    float: left;
    width: 90px;
    margin: 0 10px 0 0; }
  .item p {
    display: none; }
  @media screen and (min-width: 481px) {
    .item .thum {
      width: 160px; }
    .item p {
      display: block; } }
  @media screen and (min-width: 769px) {
    .item .thum {
      float: none;
      width: 100%;
      margin: 0 0 1em 0; } }

/*****************************************************************************************************/
/* Title bar******************************************************************************************/
/*****************************************************************************************************/
.titlebar {
  display: block;
  margin-top: 40px;
  text-transform: uppercase; }
  .titlebar span {
    display: inline-block;
    width: auto;
    margin-left: auto;
    margin-right: auto;
    padding: 10px 0; }
    .titlebar span h2 {
      display: inline; }
  .titlebar .line {
    position: absolute;
    display: block;
    height: 1px;
    background-color: #5b6372;
    width: 100%;
    border: 0 none; }
    .titlebar .line[role=left] {
      top: 0;
      left: 0; }
    .titlebar .line[role=right] {
      bottom: 0;
      right: auto;
      left: 0; }
  @media screen and (min-width: 481px) {
    .titlebar {
      margin-top: 80px; }
      .titlebar span {
        max-width: 70%;
        padding: 0; }
      .titlebar .line {
        width: 0; }
        .titlebar .line[role=left] {
          top: 50%; }
        .titlebar .line[role=right] {
          bottom: auto;
          top: 50%;
          right: 0;
          left: auto; } }

/******************************************************************************************************/
/* Tabs ***********************************************************************************************/
/******************************************************************************************************/
.tabs {
  float: left;
  clear: both;
  width: 100%; }
  .tabs .prev, .tabs .next {
    display: none; }
  .tabs .navi {
    display: block;
    width: 100%;
    height: 10px;
    text-align: center;
    list-style: none;
    list-style-type: none;
    margin: 1.5em 0 0 0;
    padding: 0;
    z-index: 500; }
    .tabs .navi li {
      display: inline;
      width: 10px;
      height: 10px;
      margin: 0 6px;
      padding: 0; }
      .tabs .navi li a, .tabs .navi li a h4, a .tabs .navi li h4 {
        display: inline-block;
        width: 10px;
        height: 10px;
        margin: 0;
        padding: 0;
        background-color: #5b6372;
        -moz-border-radius: 5px;
        -webkit-border-radius: 5px;
        border-radius: 5px; }
      .tabs .navi li.ui-tabs-active a, .tabs .navi li.ui-tabs-active a h4, a .tabs .navi li.ui-tabs-active h4 {
        background-color: #8f1336;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
        filter: alpha(opacity=100);
        -moz-opacity: 1;
        -khtml-opacity: 1;
        opacity: 1; }
  @media screen and (min-width: 481px) {
    .tabs .c1 {
      width: 95%; }
    .tabs .prev, .tabs .next {
      position: absolute;
      display: block;
      top: 50%;
      margin-top: -32px;
      width: 30px;
      height: 65px;
      background-image: url(../images/buttons.png);
      background-repeat: no-repeat; }
    .tabs .prev {
      background-position: left top;
      margin-left: -5%; }
    .tabs .next {
      background-position: -30px top;
      margin-right: -5%; } }
  @media screen and (min-width: 769px) {
    .tabs .c1 {
      width: 20%; } }

/******************************************************************************************************/
/* Items **********************************************************************************************/
/******************************************************************************************************/
.item {
  display: block;
  outline: 1px solid transparent;
  outline-offset: 0;
  margin: 0;
  padding: 0; }
  .item:hover {
    outline-color: #5b6372;
    outline-offset: 5px; }
  .item p {
    display: block; }
  @media screen and (min-width: 481px) {
    .item:hover {
      outline-offset: 10px; } }

.tabs .item .thum {
  float: left;
  width: 100px;
  margin-right: 10px; }
.tabs .item p {
  display: block; }
.tabs .item .desc, .tabs .item .iconMedium {
  display: none; }
@media screen and (min-width: 481px) {
  .tabs .item .thum {
    width: 180px; }
  .tabs .item .desc, .tabs .item .iconMedium {
    display: block; } }
@media screen and (min-width: 769px) {
  .tabs .item .thum {
    float: none;
    width: 100%;
    margin: 0 0 1em 0; } }

.gallery {
  padding-top: 20px; }
  .gallery .c1 {
    width: 20%;
    float: left;
    clear: none;
    margin-top: 10px; }
    .gallery .c1 .item {
      display: block;
      margin: 0;
      padding: 0; }
      .gallery .c1 .item .thum {
        float: none;
        width: 100%;
        margin: 0 0 1em 0; }
    @media screen and (min-width: 481px) {
      .gallery .c1 {
        width: 20%;
        margin-top: 20px; } }
    @media screen and (min-width: 769px) {
      .gallery .c1 {
        width: 20%;
        margin-top: 30px; } }

/******************************************************************************************************/
/* Carousel banner home *******************************************************************************/
/******************************************************************************************************/
.banner {
  float: left;
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0 0 30px 0; }
  .banner .wrapper, .banner .inner, .banner .c1, .banner .c2, .banner .c3, .banner .c4 {
    position: relative;
    top: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
    height: auto;
    z-index: 100; }
    @media screen and (max-width: 768px) {
      .banner .wrapper, .banner .inner, .banner .c1, .banner .c2, .banner .c3, .banner .c4 {
        width: 100%;
        padding: 0; } }
    @media screen and (min-width: 769px) {
      .banner .wrapper, .banner .inner, .banner .c1, .banner .c2, .banner .c3, .banner .c4 {
        position: absolute; } }
  .banner .ribbon {
    position: relative;
    display: block;
    top: 0;
    height: auto;
    background-color: #8f1336; }
    .banner .ribbon h2 {
      font-family: "Oswald", sans-serif;
      font-weight: 300;
      color: white;
      text-align: center;
      padding: 0 0 10px 0; }
      @media screen and (min-width: 769px) {
        .banner .ribbon h2 {
          padding: 10px 20px 20px 20px;
          text-align: left; } }
    .banner .ribbon p {
      display: none; }
      @media screen and (min-width: 769px) {
        .banner .ribbon p {
          display: block;
          font-size: 1.2em;
          color: white; } }
  .banner.bar .wrapper, .banner.bar .inner {
    position: relative;
    width: 100%;
    height: auto;
    padding: 0;
    background-color: #8f1336; }
  .banner.bar h2 {
    font-family: "Oswald", sans-serif;
    font-weight: 300;
    color: white;
    text-align: center;
    padding: 0 0 10px 0;
    margin: 0; }
  .banner img {
    display: none; }
    @media screen and (min-width: 769px) {
      .banner img {
        display: block; } }

.banner.secondary {
  display: block; }
  @media screen and (min-width: 769px) {
    .banner.secondary {
      display: none; } }

.carousel {
  display: none;
  float: left;
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0; }
  .carousel .wrapper, .carousel .inner, .carousel .c1 {
    position: absolute;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    z-index: 100;
    height: 100%; }
    .carousel .wrapper .ribbon, .carousel .inner .ribbon, .carousel .c1 .ribbon {
      position: relative;
      display: block;
      top: 0;
      height: auto;
      background-color: #8f1336;
      margin: 0;
      padding: 10px 20px 20px 20px;
      min-width: 200px; }
      .carousel .wrapper .ribbon h2, .carousel .inner .ribbon h2, .carousel .c1 .ribbon h2 {
        color: white; }
  .carousel .wrapper {
    overflow: hidden; }
  .carousel img {
    display: block;
    top: 0;
    left: 0;
    padding: 0;
    margin: 0;
    width: 100%; }
  @media screen and (min-width: 769px) {
    .carousel {
      display: block; } }

.carouselPag {
  display: none;
  position: absolute;
  clear: both;
  top: 100%;
  margin: -50px 0 0 0;
  padding: 0;
  width: 100%;
  list-style: none;
  text-align: center;
  z-index: 300; }
  @media screen and (min-width: 769px) {
    .carouselPag {
      display: block; }
      .carouselPag li {
        display: inline-block;
        position: relative;
        padding: 0;
        margin: 0 1.5%;
        width: 100px; }
        .carouselPag li a, .carouselPag li a h4, a .carouselPag li h4 {
          display: inline-block;
          text-align: center;
          vertical-align: top;
          top: 0; }
          .carouselPag li a .thum, a .carouselPag li h4 .thum {
            width: 90px;
            display: inline-block;
            clear: both;
            border: 5px white solid;
            background-color: white;
            background-repeat: no-repeat;
            background-position: center center;
            background-size: cover;
            margin-bottom: 10px;
            border-radius: 50%; }
          .carouselPag li a h4, a .carouselPag li h4 h4 {
            display: block;
            width: 100%;
            overflow: hidden; }
        .carouselPag li.ui-state-hover a .thum, a .carouselPag li.ui-state-hover h4 .thum {
          border-color: #8f1336; }
        .carouselPag li.ui-state-hover a h4, a .carouselPag li.ui-state-hover h4 h4 {
          top: auto; }
        .carouselPag li.ui-tabs-active a, .carouselPag li.ui-tabs-active a h4, a .carouselPag li.ui-tabs-active h4 {
          transform: scale(1.2);
          -webkit-transform: scale(1.2);
          -moz-transform: scale(1.2);
          -o-transform: scale(1.2);
          -ms-transform: scale(1.2); }
          .carouselPag li.ui-tabs-active a .thum, a .carouselPag li.ui-tabs-active h4 .thum {
            -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
            -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5); }
          .carouselPag li.ui-tabs-active a h4, a .carouselPag li.ui-tabs-active h4 h4 {
            transform: scale(1);
            -webkit-transform: scale(1);
            -moz-transform: scale(1);
            -o-transform: scale(1);
            -ms-transform: scale(1);
            top: auto; } }
  @media screen and (min-width: 950px) {
    .carouselPag {
      margin: -65px 0 0 0; }
      .carouselPag li {
        width: 130px; }
        .carouselPag li a .thum, a .carouselPag li h4 .thum {
          width: 120px; } }

/******************************************************************************************************/
/* Elementos extra ************************************************************************************/
/******************************************************************************************************/
.arrowDown {
  float: left;
  height: 0;
  width: 100%;
  background-position: center center;
  background-repeat: no-repeat; }
  .arrowDown.large {
    margin-top: 30px;
    padding-bottom: 22px;
    background-image: url(../images/arrowDownLarge.png); }
  .arrowDown.small {
    margin-top: 15px;
    padding-bottom: 9px;
    background-image: url(../images/arrowDownSmall.png); }

.boxed {
  display: block;
  padding: 30px; }
  .boxed.red {
    color: white;
    background-color: #8f1336; }
  .boxed.gray {
    color: white;
    background-color: #5b6372; }

.spacer {
  float: left;
  clear: both;
  width: 100%;
  height: 1px; }
  .spacer.small {
    margin-top: 10px;
    margin-bottom: 10px; }
  .spacer.large {
    margin-top: 25px;
    margin-bottom: 25px; }
  .spacer.line.red {
    background-color: #8f1336; }
  .spacer.line.gray {
    background-color: #5b6372; }
  .spacer.line.lightgray {
    background-color: #adb1b8; }
  .spacer.line.sepia {
    background-color: #e4d6a5; }

.textSpace {
  padding: 0 10px; }

.iconSmall {
  display: block;
  height: 20px;
  line-height: 20px;
  margin: 5px 0 0 0;
  padding-left: 25px;
  background-repeat: no-repeat;
  background-position: left center; }
  .iconSmall.pdf {
    background-image: url(../images/pdf20.png); }
  .iconSmall.email {
    background-image: url(../images/email20.png); }

.iconMedium {
  display: block;
  height: 30px;
  line-height: 30px;
  margin: 10px 0 0 0;
  padding-left: 35px;
  background-repeat: no-repeat;
  background-position: left center; }
  .iconMedium.pdf {
    background-image: url(../images/pdf30.png); }
  .iconMedium.email {
    background-image: url(../images/email30.png); }

.viewMore {
  display: inline-BLOCK;
  width: auto; }
  .viewMore h4 {
    display: block;
    border-radius: 30px;
    padding: 0 1.5em 2px 2.5em;
    background: #8f1336 url(../images/mas.png) no-repeat 0.6em center;
    color: white;
    line-height: 38px; }
  .viewMore:hover h4 {
    background-color: #333333;
    color: white; }

.lang {
  position: absolute;
  display: block;
  top: 15px;
  right: 15px;
  margin: 0;
  color: transparent;
  line-height: 40px;
  z-index: 500; }
  .lang span {
    float: right;
    width: 30px;
    height: 30px;
    border: 5px #8f1336 solid;
    margin-left: 5px;
    background-repeat: no-repeat;
    background-position: center center;
    -moz-border-radius: 40px;
    -webkit-border-radius: 40px;
    border-radius: 40px;
    overflow: hidden;
    z-index: 10; }
  .lang.es span {
    background-image: url(../images/es.png); }
  .lang.en span {
    background-image: url(../images/en.png); }
  .lang:hover {
    color: #333333; }
    .lang:hover span {
      border-color: #333333; }

/******************************************************************************************************/
/* Recaptcha ******************************************************************************************/
/******************************************************************************************************/
#recaptcha_widget {
  border-radius: 3px;
  background-color: #e4d6a5;
  background-image: url(../images/diagLineRed.png);
  background-position: center;
  background-repeat: repeat;
  padding: 3%; }

#recaptcha_image, #recaptcha_challenge_image {
  display: block;
  clear: both;
  width: 100% !important;
  height: auto !important;
  border: 0;
  margin: 0 0 4px 0;
  background-color: white;
  overflow: hidden;
  border-radius: 3px; }
  #recaptcha_image br, #recaptcha_challenge_image br {
    display: none !important; }
  #recaptcha_image span, #recaptcha_challenge_image span {
    display: inline; }
    #recaptcha_image span a, #recaptcha_challenge_image span a, #recaptcha_image span a h4, a #recaptcha_image span h4, #recaptcha_challenge_image span a h4, a #recaptcha_challenge_image span h4 {
      display: block;
      padding: 5px 10px;
      margin: 0;
      color: #8f1336; }
      #recaptcha_image span a:hover, #recaptcha_challenge_image span a:hover, #recaptcha_image span a h4:hover, a #recaptcha_image span h4:hover, #recaptcha_challenge_image span a h4:hover, a #recaptcha_challenge_image span h4:hover {
        color: #333333; }

#recaptcha_challenge_image {
  margin: 0; }

#recaptcha_response_field {
  display: inline-block;
  background-color: white !important;
  width: 94%;
  max-width: 300px;
  padding-left: .25em;
  padding-right: .25em; }

.recaptcha_only_if_incorrect_sol, span.recaptcha_only_if_image, span.recaptcha_only_if_audio {
  display: block;
  width: 100%;
  margin: 0 0 4px 0;
  padding: 0; }

div.recaptcha_only_if_image, div.recaptcha_only_if_audio, div.recaptcha_help, div.recaptcha_new {
  display: inline-block;
  width: 38px;
  height: 38px;
  margin: 10px 5px 0 5px; }
  div.recaptcha_only_if_image a, div.recaptcha_only_if_image a h4, a div.recaptcha_only_if_image h4, div.recaptcha_only_if_audio a, div.recaptcha_only_if_audio a h4, a div.recaptcha_only_if_audio h4, div.recaptcha_help a, div.recaptcha_help a h4, a div.recaptcha_help h4, div.recaptcha_new a, div.recaptcha_new a h4, a div.recaptcha_new h4 {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: #8f1336;
    text-indent: -2000em;
    background-image: url(../images/captcha.png);
    background-repeat: no-repeat;
    border-radius: 3px; }
    div.recaptcha_only_if_image a:hover, div.recaptcha_only_if_image a h4:hover, a div.recaptcha_only_if_image h4:hover, div.recaptcha_only_if_audio a:hover, div.recaptcha_only_if_audio a h4:hover, a div.recaptcha_only_if_audio h4:hover, div.recaptcha_help a:hover, div.recaptcha_help a h4:hover, a div.recaptcha_help h4:hover, div.recaptcha_new a:hover, div.recaptcha_new a h4:hover, a div.recaptcha_new h4:hover {
      background-color: #333333; }

div.recaptcha_only_if_image a, div.recaptcha_only_if_image a h4, a div.recaptcha_only_if_image h4 {
  background-position: left top; }

div.recaptcha_only_if_audio a, div.recaptcha_only_if_audio a h4, a div.recaptcha_only_if_audio h4 {
  background-position: right top; }

div.recaptcha_help a, div.recaptcha_help a h4, a div.recaptcha_help h4 {
  background-position: -76px top; }

div.recaptcha_new a, div.recaptcha_new a h4, a div.recaptcha_new h4 {
  background-position: -38px top; }

/******************************************************************************************************/
/* Overlay de detalle *********************************************************************************/
/******************************************************************************************************/
#overlay {
  display: none; }
  #overlay.active {
    position: absolute;
    display: block;
    height: 100%;
    float: none;
    background: none !important;
    z-index: 9999; }
  #overlay .wrapper, #overlay .c1, #overlay .c2, #overlay .c3, #overlay .c4 {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0; }
  #overlay .c4 {
    display: block;
    float: none;
    clear: both;
    height: 100%; }
  #overlay .wrapper {
    float: none;
    display: block;
    background-color: white;
    background-image: none;
    height: 100%;
    overflow: hidden; }
    #overlay .wrapper h2 {
      padding-top: 20px; }
    #overlay .wrapper .scroll {
      display: block;
      float: none;
      clear: both;
      width: 100%;
      height: 100%;
      overflow: hidden; }
    @media screen and (min-width: 769px) {
      #overlay .wrapper {
        height: auto;
        max-height: 90%;
        -moz-box-shadow: 0 0 200px rgba(0, 0, 0, 0.85);
        -webkit-box-shadow: 0 0 200px rgba(0, 0, 0, 0.85);
        box-shadow: 0 0 200px rgba(0, 0, 0, 0.85); } }
  #overlay .inner {
    display: block;
    float: none;
    padding-top: 0;
    margin-top: 0;
    margin-bottom: 0;
    height: auto; }
    #overlay .inner span.full {
      display: block;
      float: none;
      padding: 0;
      margin: 0;
      width: auto;
      height: 100%;
      text-align: center; }
      #overlay .inner span.full img {
        display: inline-block;
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: 100%;
        padding: 0;
        margin: 0; }
  #overlay #titleBar {
    display: block;
    clear: both;
    width: 95%;
    height: auto;
    margin-left: 2.5%;
    padding: 15px 0;
    border-bottom: 1px #adb1b8 solid;
    z-index: 10; }
    #overlay #titleBar h4 {
      text-transform: uppercase !important;
      padding: 0;
      margin: 0; }
    #overlay #titleBar #close {
      position: absolute;
      display: block;
      top: 15px;
      right: 0;
      width: 24px;
      height: 24px;
      text-indent: -2000em;
      background-color: #8f1336;
      background-image: url(../images/close.png);
      background-repeat: no-repeat;
      background-position: center center; }
      #overlay #titleBar #close:hover {
        background-color: #333333; }

#mask {
  display: none; }
  #mask.active {
    position: fixed;
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 9998;
    background-color: rgba(173, 177, 184, 0.75);
    background-image: url("../images/diagLineGray.png");
    background-repeat: repeat;
    background-position: left top;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    -khtml-opacity: 0;
    opacity: 0; }
    

/* New CSS Added to style new payment button on AFF header functionality GAV - 7.17.2025*/

.header-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.c4 {
    flex: 1 1 auto;
    text-align: center;
}

.payment-link {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    padding-top: 24px;
    margin-right: 24px;
}

.payment-button {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-end;
    background-color: #8F1336; /* Brighter red */
    color: #fff;
    padding: 14px 32px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 20px;
    box-shadow: 0 4px 16px rgba(229,57,53,0.15), 0 1.5px 4px rgba(0,0,0,0.10);
    letter-spacing: 1px;
    transition: 
        background 0.2s cubic-bezier(.4,0,.2,1),
        box-shadow 0.2s cubic-bezier(.4,0,.2,1),
        transform 0.1s cubic-bezier(.4,0,.2,1);
    margin: 16px;
    border: none;
    outline: none;
    text-transform: uppercase;
}

.payment-button:hover,
.payment-button:focus {
    background-color: #8F1336;
    box-shadow: 0 8px 24px rgba(229,57,53,0.25), 0 3px 8px rgba(0,0,0,0.15);
    transform: translateY(-2px) scale(1.04);
    color: #fff;
    text-decoration: none;
}
@media (max-width: 800px) {
    .header-bar {
        flex-direction: column;
        align-items: stretch;
    }
    .payment-link {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        margin: 12px 0 0 0;
        padding-top: 0;
        padding-right: 0;
    }
    .payment-button {
        max-width: 320px;
        font-size: 18px;
        margin: 0;
    }
}
