/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800);

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
}

body{
    font-family: 'Open sans', sans-serif;
    overflow-x: hidden;
}

a, a:hover{ text-decoration: none; }

ul{
    margin: 0;
    padding: 0;
    list-style: none;
}


::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*MARGINs*/
	.no_margin{margin:0;}
	.margin_3{margin:3px;}
	.margin_5{margin:5px;}
	.margin_10{margin:10px;}
	.margin_15{margin:15px;}
	.margin_20{margin:20px;}
	.margin_25{margin:25px;}
	.margin_30{margin:30px;}
	
	.margin_t_3{margin-top:3px;}
	.margin_t_5{margin-top:5px;}
	.margin_t_10{margin-top:10px;}
	.margin_t_15{margin-top:15px;}
	.margin_t_20{margin-top:20px;}
	.margin_t_25{margin-top:25px;}
	.margin_t_30{margin-top:30px;}
	
	.margin_r_3{margin-right:3px;}
	.margin_r_5{margin-right:5px;}
	.margin_r_10{margin-right:10px;}
	.margin_r_15{margin-right:15px;}
	.margin_r_20{margin-right:20px;}
	.margin_r_25{margin-right:25px;}
	.margin_r_30{margin-right:30px;}
	
	.margin_b_3{margin-bottom:3px;}
	.margin_b_5{margin-bottom:5px;}
	.margin_b_10{margin-bottom:10px;}
	.margin_b_15{margin-bottom:15px;}
	.margin_b_20{margin-bottom:20px;}
	.margin_b_25{margin-bottom:25px;}
	.margin_b_30{margin-bottom:30px;}
	
	.margin_l_3{margin-left:3px;}
	.margin_l_5{margin-left:5px;}
	.margin_l_10{margin-left:10px;}
	.margin_l_15{margin-left:15px;}
	.margin_l_20{margin-left:20px;}
	.margin_l_25{margin-left:25px;}
	.margin_l_30{margin-left:30px;}

/*PADDINGs*/
	.no_padding{padding:0;}
	.padding_3{padding:3px;}
	.padding_5{padding:5px;}
	.padding_10{padding:10px;}
	.padding_15{padding:15px;}
	.padding_17{padding:17px;}
	.padding_20{padding:20px;}
	.padding_25{padding:25px;}
	.padding_30{padding:30px;}
	
	.padding_t_3{padding-top:3px;}
	.padding_t_5{padding-top:5px;}
	.padding_t_10{padding-top:10px;}
	.padding_t_15{padding-top:15px;}
	.padding_t_20{padding-top:20px;}
	.padding_t_25{padding-top:25px;}
	.padding_t_30{padding-top:30px;}
	
	.padding_r_3{padding-right:3px;}
	.padding_r_5{padding-right:5px;}
	.padding_r_10{padding-right:10px;}
	.padding_r_15{padding-right:15px;}
	.padding_r_20{padding-right:20px;}
	.padding_r_25{padding-right:25px;}
	.padding_r_30{padding-right:30px;}
	
	.padding_b_3{padding-bottom:3px;}
	.padding_b_5{padding-bottom:5px;}
	.padding_b_10{padding-bottom:10px;}
	.padding_b_15{padding-bottom:15px;}
	.padding_b_20{padding-bottom:20px;}
	.padding_b_25{padding-bottom:25px;}
	.padding_b_30{padding-bottom:30px;}
	
	.padding_l_3{padding-left:3px;}
	.padding_l_5{padding-left:5px;}
	.padding_l_10{padding-left:10px;}
	.padding_l_15{padding-left:15px;}
	.padding_l_20{padding-left:20px;}
	.padding_l_25{padding-left:25px;}
	.padding_l_30{padding-left:30px;}
    .padding_l_35{padding-left:35px;}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.8em 0;
    text-align: center;
}

.frase_contacto{color: #BB034D;font-size: 16px;font-weight: bold;margin-top: 1px;}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */
header,
header .container{
    position: relative;
    z-index: 998;
}

.logo{margin: 10px 0 9px 0;padding: 0;}
.lgo img{ float:left;}

nav{ z-index: 999; }

nav *{ transition: all 0.2s ease; }

nav a{
    font-size: 15px;
    color: #005996;
    display: block;
    padding: 10px 7px;
    border-bottom: white;
}

nav > ul li{
    display:inline-block;
    position: relative;
}

nav ul ul{
    display: none;
    position: absolute;
    background: #005996;
    width: 260%;
}

nav ul li:hover ul{
    display:block;
    padding: 10px;
}

nav ul ul li{
    display: block;
    float: left;
    clear:both;
    width: 100%;
}

nav ul ul li a{
    color: white;
    padding: 9px 20px;
}

nav ul ul li:hover{
    background: rgb(76, 139, 181);
}

nav li:hover{
    background: #005996;
}

nav li:hover a{ color:white; }

nav li.active > a {
    border-bottom: 2px solid #005996;
    font-weight: bold;
}

.tel_sat{
    position: absolute;
    right: 0;
    height: 100%;
    background: url(../img/glow_telf.png) right bottom no-repeat #B92157;
    color:white;
    text-align:center;
    box-shadow: 0px 11px 16px -13px black;
    max-width: 250px;
    max-height: 95px;
}

.tel_sat span.txt_label{
    font-size: 14px;
    margin: 10px 0;
    padding: 0;
}

.tel_sat span.txt_tel{font-size: 20px;font-weight: bold;text-shadow: 0px 1px 5px #4A001E;margin-top: -9px;padding: 0;line-height: 19px;letter-spacing: 1px;}

.anim,
.anim *{
    transition: all 0.25s ease;
}

.main_slider {
    margin-top: 40px;
    z-index: 50;
    margin-bottom: 50px;
    padding: 0 !important;
}

.main_slider img.img-responsive {
    margin: 0 auto;
    z-index: 200;
}

.img_contacto{margin: auto;text-align: center;margin-left: 10%;margin-top: 12%; width:92%;}

.content{
    background: url(../img/whitetopper.png) center -2px no-repeat #D6DDE2;
    padding-bottom: 35px;
}

.main_content > div{
    padding:0;
}

.main_content .block_lat {
    background: rgba(255,255,255,.7);
    padding: 18px 14px;
    position: relative;
    clear:both;
    margin-bottom: 25px;
}

.main_content .block_lat p,
.main_content .block_lat span{
    padding: 0;
}

.block_lat .title i.icon_block {
    display: block;
    height: 78px;
    width: 78px;
    position: absolute;
    padding: 0;
    left: -40px;
    top: -20px;
}

.bl_repa i.icon_block{ background: url(../img/icon_sphere.png) top center no-repeat rgba(0, 0, 0, 0); }
.bl_repu i.icon_block{ background: url(../img/icon_sphere.png) bottom center no-repeat rgba(0, 0, 0, 0); }

.block_lat .title{margin-bottom: 0;position: relative;}
.block_lat .title span{margin-top: -3px;}

.block_lat .title span.txt_l1,
.opinion{ position: relative; }
.opinion p.opinion_text{margin: 12px 0;}
.opinion p.opinion_text span.name{
    margin: 12px 0 0 0;
    font-size: 12px;
    font-weight: bold;
    text-align: right;
   }
.opinion .txt_l1 {
    color: #818489;
    font-size: 20px;
}

.block_lat .title span.txt_l2,
.opinion .txt_l2 {
    color: #BB034D;
    font-size: 19px;
    font-weight: bold;
    margin-top: 1px;
}

.opinion {position: relative;}
.opinion .title{
    display: block;
    position: absolute;
    top: 40%;
}

.main_content ul.servs {margin: 11px 0 0 0;padding: 0;}

.main_content ul.servs li {
    display:block;
    width: 100%;
    padding: 9px 9px 9px 50px;
    position: relative;
    /*cursor: pointer;*/
    cursor: default;
    transition: background 0.2s ease;
}

.main_content ul.servs li:hover {
    background: rgb(237, 221, 229);
    font-weight: bold;
}

.main_content ul.servs li:before {
    content: "·";
    position: absolute;
    left: 28px;
    font-size: 40px;
    top: -10px;
    color: #BB034D;
}

div.base_content > div{
    margin: 0;
    padding: 0;
}

.block_satLG .img_container{ padding: 0; }
.block_satLG .txt_lema p{
    margin: 0;
    font-size: 25px;
    color: #818496;
    padding-top: 5px;
}
.block_satLG .txt_lema p b{
    color: #BB034D;
}
.block_satLG .txt_lema p i{
    font-style: normal;
    color: black;
}

.base_content .block_satLG{margin-bottom: 25px;}

.base_content .block_slider {
    background: #FFF;
    padding: 20px 15px;
    display: block;
    min-height: 266px;
    position: relative;
    overflow: hidden;
}

.slider_arrow,
.slick-arrow{
    display: block;
    width: 20px;
    cursor: pointer;
    background: url(../img/arrow_slider.png) center center no-repeat rgba(0, 0, 0, 0);
    position: absolute;
    height: 100%;
    top: 0;
    bottom: 0;
    transition: box-shadow 0.2s ease;
    border: none;
    font-size: 0px;
    text-indent: -9999px;
}


.slider_arrow:hover,
.slick_arrow:hover{background-color: #EDEFF1;}

.sld_cont{position: relative;display: block;overflow: hidden;}

.slick-prev, .arr_left{ transform: rotate(180deg); left: 0%; }
.slick-next, .arr_right{ right: 0%; }

.opinion .slider_cli{margin: 0;padding: 0;position: relative;min-height: 150px;}
/*.opinion .slider_arrow{
     width: 100%;
     padding: 0;
     height: 20px;
     clear: both;
     position: relative;
     background-image:  url(../img/arrow_slider_ud.png); 
}*/
.opinion .client_pic{
    margin: 0 auto;
    border: 2px solid #D6DDE2;
    border-radius: 150px;
}
.opinion .arr_top{margin-bottom: 20px;}
.opinion .arr_bottom{margin-top: 20px;transform: rotate(180deg);}

.opinion div.opinion_slide{
    
padding: 10px 30px;
    
text-align: center;
    
height: 100%;
    
overflow: hidden;
}

.red{ color: #BB034D; }

.flex_container{
    align-items: center;
    display: flex;
    height: 100%;
    margin: 0;
    padding: 0 15px;
}


.block_slider{ position: relative; }

.block_slider .img_container {
    padding: 0 0 0 10px;
}

.slider_dots,
.slick-dots{
    display:block;
    float: right;
}

.slick-dots li,
.slick-dots li button,
.slider_dots li{
    display: inline-block;
    height: 10px;
    width: 10px;
    margin-left: 4px;
    background: white;
    border-radius: 50px;
    transition: background 0.2s ease;
    cursor: pointer;
    border: none;
    text-indent: -9999px;
    font-size: 0px;
    line-height: 0px;
}

.block_slider .slick-dots li button,
.block_slider .slick-dots li
{ background: #D6DDE2; }

.slider_dots li:hover,
.slick-dots li:hover
    { background: #DA84A7; }

.slider_dots li.active,
.slider_dots li.active,
.slider_dots li.slick-active,
.slider_dots li.slick-active button,
.slick-dots li.active,
.slick-dots li.active,
.slick-dots li.slick-active,
.slick-dots li.slick-active button
{background: #BB034D; !important}


.medals{background: #BB034D;color: white;z-index: 5;}
.medals ul.container{ padding: 0; }
.medals li{
    display: inline-block;
    float: left;
    text-align: center;
    position: relative;
    padding: 10px 0 25px 0;
}
.medals li img.icon_img{
    margin: 0 auto;
    transition: all 0.25s ease;
    margin-top: 8px;
    border-radius: 150px;
}

.medals li:hover img.icon_img{
    margin-bottom: 8px;
    margin-top: 0px;
    transition: all 0.25s ease;
}

.medals li img.icon_shdw{
    display: block;
    margin: -10px auto 4px auto;
    opacity: 0;
    transition: all 0.3s ease;
}

.medals li:hover img.icon_shdw{
    opacity: 1;
    transition: all 0.3s ease;
}

.medals li b{
    margin-bottom: 8px;
    display: block;
    font-size: 18px;
    transition: text-shadow 0.2s ease;
}

.medals li:hover b{
    text-shadow: 0px 2px 5px black;
}

.map_container{position: relative;overflow: hidden;}
.map_shad{
    display:block;
    width: 100%;
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    z-index: 99;
}
#map{z-index: 10;}


footer{
    background: #434446;
    padding-top: 20px;
    color:white;
    position: relative;
}

footer .foot_logo{
    text-align: center;
}

.foot_logo img{
    display: block;
    margin: 0 auto;
}

.foot_logo span {
    font-size: 11px;
    font-weight: bold;
}

.foot_data p {
    margin: 18px 0;
    padding: 0;
    text-align: center;
    font-size: 13px;
    color: #BBB;
}

.foot_data .data_mail{
    color:white;
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
}

footer ul {
    display: block;
    border-left: 2px solid #FFF;
    min-height: 180px !important;
    padding-left: 0 !important;
}

footer ul ul{
    display: block;
    border: none;
    min-height: 0px !important;
}

footer ul li{
    display: block;
}

footer ul li a{
    display: block;
    color: white;
    padding: 5px;
    font-size: 13px;
    padding-left: 10px;
    border-left: 5px solid #434446;
    margin-bottom: 3px;
}

footer ul li a:hover{
    border-left: 5px solid #BB034D;
    background: #585858;
}

footer ul li a:active,
footer ul li a:visited{
    color:white;
}

footer ul ul li a{
    padding-left: 20px;
}

footer ul li a:hover,
footer ul li a.active,
footer ul li a:active {
    font-weight: bold;
    color:white;
    border-left: 5px solid #BB034D;
    background: #585858;
}

.legalLine {
    background: #000;
    padding: 5px 0;
    overflow: hidden;
}

.legalLine a{
    display:inline-block;
    color: white;
    font-size: 11px;
    font-weight: bold;
}

.legalLine a:before{
    display:inline-block;
    content: "·";
    padding: 0 15px;
}

.legalLine a:first-child:before{
    display:none;
    content: "";
}

.legalLine .base-links{
    text-align: center;
}

.slick-slider,
    .slick-slider *,
    .slick-slide,
    .slick-active { outline: none !important;}

/* ==========================================================================
   Media Queries: RESPONSIVE
   ========================================================================== */
@media (min-width: 100px) and (max-width:767px) {
    header .container {width: 100%;margin: 30px 0 10px 0 !important;position: relative;}
    .tel_sat{
        position: relative;
        padding: 2px 0;
        margin: 0;
        background-position: bottom left;
        font-size: 12px;
        text-align: center;
        max-width: 100%;
        background-image: none;
    }

    .block_lat .title{ text-align: center !important; }

    header{background: white;position: fixed;top: 0;left: 0;right: 0;box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);}
    header .logo img{ display: block;}
    .content {margin-top: 135px !important;background-image: none;background: white;}

    .block_satLG{
        border-radius: 5px;
        text-align: center;
        background: url('../img/glow_telf.png') bottom left no-repeat #BB034D;
    }
    .block_satLG .img_container img{margin: 5px auto;border-radius: 250px;max-height: 90px;}
    .block_satLG .txt_lema p , .block_satLG .txt_lema p *{
        color: white !important;
        font-size: 20px;
        padding: 10px 0;
        line-height: 25px;
    }

    .slider_dots{ width: 100%; text-align: center; }
    .slider_dots li{ background: #CDE0EA; }

    .base_content .block_slider{ height: auto; }

    .medals ul li{
        overflow:hidden;
        height: 200px;
    }

    .medals ul li .icon_img{
        height: 60px;
    }

    .opinion p.opinion_text span.name { text-align: center; }

     .rep_2{
        margin: -25px 0 30px 0;
        padding: 15px;
        background: url('../img/glow_telf.png') bottom left no-repeat #BB034D;
     }

    .rep_2 .bl_repu *{color: white !important;text-align: center;font-size: 20px;text-shadow: 0px 1px 2px black;}
    .rep_2 .bl_repu i.icon_block{
    top: -3%;
    left: -15px;
    background: url(../img/grinds.png)center center no-repeat transparent;
    bottom: 0;
    height: 112%;
}
    
    .brg_pill{
        position: absolute;
        right: 0;
        cursor: pointer;
        top: 0;
        bottom: 0;
        vertical-align: middle;
        padding: 0;
        margin: 0;
        width: 50px;
        background: url(../img/brg_btn.png) center center no-repeat transparent;
    }

    .brg_pill.active{
        bottom: -10px;
        background: url(../img/brg_btn_act.png) center center no-repeat #005999;
        border-radius: 5px;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .navigation > ul{
        display: none;
        position: absolute;
        top: 115%;
        background: #005999;
        padding: 5px;
        right: 0px;
        left: 0;
    }


    .navigation > ul li{
        width:100%;
        clear:both;
    }

    .navigation  ul ul{
        display: block;
        position: relative;
        width: auto !important;
    }

    .navigation a{
        text-decoration: none !important;
    }
    .navigation ul a{
        color: white;
        font-size: 13px;
        width: 100%;
    }

    .navigation ul a:hover{
        background: #0C7FD2;
    }

    nav ul li:hover ul {
        padding: 0;
    }
}

@media (min-width: 768px) and (max-width: 992px) {
    .container { width: 750px; }
    
    .opinion .title {top: 20%;}

    .block_satLG .txt_lema p , .block_satLG .txt_lema p *{
        margin: 0;
        font-size: 20px;
        color: #818496;
        padding-top: 5px;
    }

    .block_lat .title{ text-align: center !important; }
    
    .tel_sat{
        position: relative;
        padding: 7px 0;
        margin: 0 0 10px 0;
        background-position: bottom left;
        font-size: 15px;
        text-align: center;
        max-width: 100%;
        background-image: none;
        box-shadow: none;
    }

    .logo img{ margin: 0 auto; }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .container { width: 970px; }
    .opinion .title {top: 30%;}
}

@media (min-width: 1200px) {
    .container { width: 1000px; }
    .opinion .title {top: 28%;}
}














/* ==========================================================================
   Media Queries
   ========================================================================== */


@media print,
       (

-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {

display: none !important;

visibility: hidden;
}

.visuallyhidden {

border: 0;

clip: rect(0 0 0 0);

height: 1px;

margin: -1px;

overflow: hidden;

padding: 0;

position: absolute;

width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {

clip: auto;

height: auto;

margin: 0;

overflow: visible;

position: static;

width: auto;
}

.invisible {

visibility: hidden;
}

.clearfix:before,
.clearfix:after {

content: " ";

display: table;
}

.clearfix:after {

clear: both;
}

.clearfix {
    *

zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {

background: transparent !important;

color: #000 !important;

box-shadow: none !important;

text-shadow: none !important;
    }

    a,
    a:visited {

text-decoration: underline;
    }

    a[href]:after {

content: " (" attr(href) ")";
    }

    abbr[title]:after {

content: " (" attr(title) ")";
    }

    a[href^=

"#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {

border: 1px solid #999;

page-break-inside: avoid;
    }

    thead {

display: table-header-group;
    }

    tr,
    img {

page-break-inside: avoid;
    }

    img {

max-width: 100% !important;
    }

    p,
    h2,
    h3 {

orphans: 3;

widows: 3;
    }

    h2,
    h3 {

page-break-after: avoid;
    }
}

