html{
    margin: 0;
    padding: 0;

}


body {
  background: white;
  color: #222222;
  padding: 0;
  margin: 0;
  font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
  font-weight: normal;
  font-style: normal;
  position: relative;
  cursor: default;
  height: 100%;
    max-height: 1000px; }

.site-banner {
   max-width: 100%;
   width: 100%;
   height: auto;
   margin: 0;
   padding: 0;

   background: url(../img/banner.jpg) no-repeat;
}

h1 {
   font-weight: 900;
   color: #fff;
   line-height: 45px;
   font-size: 45px;
   float: left;
   margin: 20px 0 0;
   padding: 0;
}

h6 { 
   color: #fff;
   font-weight: 500;
   margin: 10px 0 0;
   font-size: 13px;
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
   padding: 0;
   text-align: justify;
}

h2 {
   font-weight: 900;
   color: #fff;
   font-size: 40px;
   margin: 5px 0 0;
   padding: 0;
}


form {
   background: #fff;
    height: 10px;

   margin:  20px 0;

   -moz-background-clip: padding;     /* Firefox 3.6 */
         -webkit-background-clip: padding;  /* Safari 4? Chrome 6? */
         background-clip: padding-box;      /* Firefox 4, Safari 5, Opera 10, IE 9 */
}

form input {
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
   font-size: 10px;
}


#map-canvas {
  width: 100%;
  height: 330px;
}




.required-fields {
   font-size: 10px;
   color: #8c9da2;
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
   float: left;
   margin: 0 15px;
}


.button1 {
   -moz-box-shadow: 0px 0px 0px 0px #f0f7fa;
   -webkit-box-shadow: 0px 0px 0px 0px #f0f7fa;
   box-shadow: 0px 0px 0px 0px #f0f7fa;
   background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #33bdef), color-stop(1, #019ad2));
   background:-moz-linear-gradient(top, #33bdef 5%, #019ad2 100%);
   background:-webkit-linear-gradient(top, #33bdef 5%, #019ad2 100%);
   background:-o-linear-gradient(top, #33bdef 5%, #019ad2 100%);
   background:-ms-linear-gradient(top, #33bdef 5%, #019ad2 100%);
   background:linear-gradient(to bottom, #33bdef 5%, #019ad2 100%);
   filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bdef', endColorstr='#019ad2',GradientType=0);
   background-color:#33bdef;
   -moz-border-radius:5px;
   -webkit-border-radius:5px;
   border-radius:5px;
   display:inline-block;
   border: 1px solid #f5f5f5;
   cursor:pointer;
   color:#ffffff;
     font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
   font-size:12px;
   padding:6px 18px;
   text-decoration:none;
   text-shadow:0px -1px 0px #5b6178;
   float: right;
   margin: 0 15px;
}
.button1:hover {
   background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #019ad2), color-stop(1, #33bdef));
   background:-moz-linear-gradient(top, #019ad2 5%, #33bdef 100%);
   background:-webkit-linear-gradient(top, #019ad2 5%, #33bdef 100%);
   background:-o-linear-gradient(top, #019ad2 5%, #33bdef 100%);
   background:-ms-linear-gradient(top, #019ad2 5%, #33bdef 100%);
   background:linear-gradient(to bottom, #019ad2 5%, #33bdef 100%);
   filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#019ad2', endColorstr='#33bdef',GradientType=0);
   background-color:#019ad2;
}
.button1:active {
   position:relative;
   top:1px;
}

.legal {
   margin: 20px 0 0;
}

.legal  a{
   font-size: 11px;
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
   text-decoration: underline;
   color: #fff;
   font-weight: 400;
   padding-bottom: 3px
}

.legal a:hover {
   color: #52abc3;
}

#legal-info p {
   font-size: 13px;
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
}


.slogan {
   text-align: center;
   margin: 40px 0;
}
span {
   color: #222;
   font-size: 25px;
   font-weight: 900;
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
}

.services {
   text-align: center;
   margin: 40px 0;
}

.services-page {
   margin:30px 0;
}

.services-page p {
   font-size: 13px;
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
   text-align: justify;
}

.services-page h6 {
   font-size: 15px;
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
   text-align: left;
   color: #222;
   font-weight: bold;
}

.side-nav a {
   font-size: 13px;
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
}


.services-page ol {
   list-style-type: decimal;
   margin-left: 40px;
   font-size: 13px;
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
}

.list-info {
   list-style-type:circle;
   font-size: 13px;
   margin-left: 40px;
}



.service-poster {
   display: block;
  width: 200px;
  height: 200px;
  border: 2px solid;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;

}

.service-poster h4 {
  background-color: #f40;
  }

.services p {
   font-size: 12px;
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
   text-align: justify;
}


.button2 {
   -moz-box-shadow:inset 0px -3px 7px 0px #29bbff;
   -webkit-box-shadow:inset 0px -3px 7px 0px #29bbff;
   box-shadow:inset 0px -3px 7px 0px #29bbff;
   background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #2dabf9), color-stop(1, #0688fa));
   background:-moz-linear-gradient(top, #2dabf9 5%, #0688fa 100%);
   background:-webkit-linear-gradient(top, #2dabf9 5%, #0688fa 100%);
   background:-o-linear-gradient(top, #2dabf9 5%, #0688fa 100%);
   background:-ms-linear-gradient(top, #2dabf9 5%, #0688fa 100%);
   background:linear-gradient(to bottom, #2dabf9 5%, #0688fa 100%);
   filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#2dabf9', endColorstr='#0688fa',GradientType=0);
   background-color:#2dabf9;
   -moz-border-radius:4px;
   -webkit-border-radius:4px;
   border-radius:4px;
   border:1px solid #f5f5f5;
   display:inline-block;
   cursor:pointer;
   color:#ffffff;
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
   font-size:12px;
   padding:7px 20px;
   text-decoration:none;
   text-shadow:0px 1px 0px #263666;
}
.button2:hover {
   background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #0688fa), color-stop(1, #2dabf9));
   background:-moz-linear-gradient(top, #0688fa 5%, #2dabf9 100%);
   background:-webkit-linear-gradient(top, #0688fa 5%, #2dabf9 100%);
   background:-o-linear-gradient(top, #0688fa 5%, #2dabf9 100%);
   background:-ms-linear-gradient(top, #0688fa 5%, #2dabf9 100%);
   background:linear-gradient(to bottom, #0688fa 5%, #2dabf9 100%);
   filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0688fa', endColorstr='#2dabf9',GradientType=0);
   background-color:#0688fa;
   color: #fff;
}
.button2:active {
   position:relative;
   top:1px;
}

.company {
   margin: 60px 0 0;
}

.company-page {
   margin: 20px 0 0;
}

.company-page img {
   background: #4eb1da;
   padding: 5px;
   -moz-border-radius:4px;
   -webkit-border-radius:4px;
   border-radius:4px;
}

.company-page p {
   font-size: 13px;
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
   text-align: justify;
   line-height: 16px;
}


.company img {
   padding: 5px;
   -moz-border-radius:4px;
   -webkit-border-radius:4px;
   border-radius:4px;
}

.company p {
   font-size: 13px;
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
   text-align: justify;
}

footer {
   width: 100%;
   min-height: 60px;
   margin: 50px 0 0;
   padding: 12px 0;
   position: relative;
   top: 30px;
}

footer p{
   font-size: 11px;
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
   text-align: right;
   line-height: 39px;
   color: #222;

}

.bottom {
   width: 100%;
   background: #222;
   margin: 0;
   padding:33px 0 0;

}

.bottom p {
    font-size: 12px;
   font-family: "Calibri", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !important;
   text-align: center;
   line-height: 0;
   color: #fff;
   margin-top: 0px;

}

#cookie-law {
    background: #ebe9be;
    margin: 0;
}
#cookie-law p {
    padding: 10px;
    font-size: 1.1em;
    font-weight: 400;
    text-align: center;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .1);
    color: #222;
    margin: 0;
}
#cookie-law p a {
    text-decoration: underline;
    color: #222;
}
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

/* --- MODERN AESTHETICS OVERRIDE --- */

/* Typography */
body, h1, h2, h3, h4, h5, h6, p, a, span, .button1, .button2, .required-fields, .services p, .company p, .services-page p, .services-page h6, .legal a, footer p, .bottom p {
  font-family: 'Inter', "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

h1, h2 {
  text-shadow: 2px 2px 4px rgba(0,0,0,0.4);
}

/* Form Styles */
form {
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  border: 1px solid #f0f0f0;
}
form input, form textarea {
  border-radius: 4px !important;
  border: 1px solid #ccc !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.05) !important;
}
form input:focus, form textarea:focus {
  border-color: #0075e0 !important;
  box-shadow: 0 0 5px rgba(0,117,224,0.3) !important;
}

/* Service Cards */
.service-poster {
  border: none !important;
  border-radius: 20px 20px 0 0 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.fila-servicios a {
  display: inline-block;
  text-decoration: none;
  transition: transform 0.3s ease;
}

.fila-servicios a:hover {
  transform: translateY(-5px);
}

.fila-servicios a:hover .service-poster {
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* The text block under service posters in the HTML uses inline styles (width:200px; border-radius: 0 0 25px 25px; etc). 
   We will keep it intact, just add a shadow if possible. */
.fila-servicios div[style*="width:200px"] {
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  transition: background-color 0.3s ease;
}
.fila-servicios a:hover div[style*="width:200px"] {
  background-color: #3ca0c9 !important;
}

/* Buttons */
.button1, .button2, .button {
  border-radius: 6px !important;
  border: none !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
  transition: all 0.3s ease !important;
}

.button1:hover, .button2:hover, .button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
}

/* Images */
.company img {
  border-radius: 8px !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
}

/* Top bar and navigation tweaks to look a bit softer */
.top-bar {
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

/* --- SLIDER CONSISTENCY FIX --- */
.slider-home .row[style*="background"] {
  height: 380px !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.slider-home .sliders {
  height: auto !important;
}

/* --- STANDARDIZED SLIDER CAPTIONS --- */
.slider-home .row {
  position: relative !important;
}
.slider-caption {
  position: absolute;
  right: 5%;
  bottom: 10%;
  text-align: right;
  width: auto;
  z-index: 10;
}
.slider-btn {
  font-size: 0.95rem !important;
  padding: 10px 20px !important;
  margin-top: 10px !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3) !important;
  display: inline-block;
}

/* FIX VISIBILITY OF SLIDER TEXT */
.slider-home .large-6.columns {
  position: static !important;
}
.slider-caption {
  position: absolute !important;
  right: 5% !important;
  bottom: 20px !important;
  text-align: right !important;
  width: auto !important;
  z-index: 100 !important;
}
