/*---------------------------------------------------------------------------------*\
    
    Sencillo Components CSS
    -------------------------
    
    The component css used for the various component modules of sencillo
    
    Main break points
    Mobile : 0px (Default)
    Desktop : 992px
    
\*---------------------------------------------------------------------------------*/

/*---------------------------------------------------------------------------------*\
\*---------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------*\
    MAIN COMPONENTS
\*---------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------*\
    General
\*---------------------------------------------------------------------------------*/
    .main-content-wrp .component:first-child section:not(.no-hf-space){
        margin-top: 80px;
    }

    .main-content-wrp .component:last-child section.no-fl-space{
        margin-bottom: 0;
    }

    .component .top-text-area{
        margin-bottom: 40px;
    }

    .component .inner-spacer{
        width:100%;
        height: 30px;
    }

/*---------------------------------------------------------------------------------*\
    Hero Image
\*---------------------------------------------------------------------------------*/
    .hero-image.component .img-wrp{
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
    }

    .hero-image.component .content-container{
        position: relative;
        height: 100%;
        z-index: 3;
        padding: 0;
        max-width: 700px;
        width:100%;
    }

    .hero-image.component .content-container > .content-wrp{
       padding: 80px 0;
    }

    .hero-image.component .small-title{
        font-size: 1.3rem;
    }

    .hero-image.component .main-title{
        font-size: 2.5rem;
        margin-bottom: 20px; 
    }

    .hero-image.component .btns-wrp{
        margin-top: 15px;
    }

    .hero-image.component .btn{
        padding: 10px 10px;
        width: 100%;
        max-width: 300px;
        margin-top: 0;
    }

    .hero-image.component .btn a{
        width: 100%;
        max-width: 300px;
    }

    .hero-image.component .btn a{
        padding-top: 13px;
        padding-bottom: 13px;
    }

    @media(min-width: 992px){

        .hero-image.component .content-container > .content-wrp{
            position: absolute;
            top:50%;
            transform: translateY(-50%);
        }

        .hero-image.component .content-container{
            margin: 0 30px;
        }

        .hero-image.component .small-title{
            font-size: 2rem;
        }
    
        .hero-image.component .main-title{
            font-size: 5rem;
            margin-bottom: 40px;
        }

        .hero-image.component .btns-wrp{
            margin-top: 50px;
        }

    }

    /*---------------------------------------------------------------------------------*\
        Hero Image - Centered
    \*---------------------------------------------------------------------------------*/
        .hero-image.component.centered{
            text-align: center;
        }

        .hero-image.component.centered .content-container{
           margin: auto;
        }
    
    /*---------------------------------------------------------------------------------*\
        Hero Image - Right
    \*---------------------------------------------------------------------------------*/
        .hero-image.component.right{
            text-align: right;
        }

        .hero-image.component.right .content-container{
            margin-left: auto;
        }


/*---------------------------------------------------------------*\
    Text
\*---------------------------------------------------------------*/
    .component.text .title-wrp.left{
        text-align: left;
    }

    .component.text .title-wrp.right{
        text-align: right;
    }

    .component.text .title-wrp.center{
        text-align: center;
    }
    
/*---------------------------------------------------------------------------------*\
    Blurb Group
\*---------------------------------------------------------------------------------*/
    .blurb-group.component .top-txt-wrp{
        margin-bottom: 30px;
    }
    .blurb-group.component .blurb-title-wrp,
    .blurb-group.component .img-wrp,
    .blurb-group.component .description-wrp{
        margin-bottom: 20px;
    }

    .blurb-group.component .img-wrp.bg-img,
    .component.blurb-group .bottom-content h3{
		margin: 0;
	}

	.component.blurb-group .blurb-title-wrp.bottom{
		margin-bottom: 0;
	}

    .component.blurb-group .divider{
		margin: 15px auto;
		background-color: #fff;
		height: 1px;
		width:100%;
		max-width: 100px;
	}

    .component.blurb-group .icon-wrp{
        margin-bottom: 25px;
    }

    .component.blurb-group .icon-wrp.default i,
    .component.blurb-group .icon-wrp .fa-stack{
        font-size: 4rem;
    }

    @media(min-width: 992px){
        .component.blurb-group .icon-wrp.default i,
        .component.blurb-group .icon-wrp .fa-stack{
            font-size: 6rem;
        }
    }

/*---------------------------------------------------------------------------------*\
    Contact Details row
\*---------------------------------------------------------------------------------*/
    .component.contact-details-row iframe{
        display:block;
    }
    
/*---------------------------------------------------------------------------------*\
   Left Right Image/Text Rows
\*---------------------------------------------------------------------------------*/
    .left-right-text-rows.component .image-wrp{
        margin-bottom: 20px;
    }

    .left-right-text-rows.component .no-gutters .text-content-wrp{
        text-align: center;
        padding: 30px 30px 60px 30px;
    }

    .left-right-text-rows.component .left-right-row{
        margin-bottom: 50px;
    }

    @media(min-width:992px){
        .left-right-text-rows.component .no-gutters .text-content-wrp{
            padding: 50px;
            text-align: left;
        }
        .left-right-text-rows.component .image-wrp{
            margin-bottom: 0;
        }
    }


/*---------------------------------------------------------------------------------*\
   Left Right Colour Blocks
\*---------------------------------------------------------------------------------*/
    .left-right-colour-blocks .image-wrp{
        min-height: 500px;
        background-position:center center;
        background-size: cover;
    }

    .left-right-colour-blocks .text-content-wrp{
        padding: 40px 60px;
    }

    .left-right-text-rows.component .btn{
        margin-top: 30px;
    }

    @media(min-width: 992px){

        .left-right-colour-blocks .image-wrp{
            min-height: 600px;
        }
    
    }

/*---------------------------------------------------------------------------------*\
    Before After Rows
\*---------------------------------------------------------------------------------*/
    .component.before-after-rows .row-wrp{
        margin-bottom: 60px;
        text-align:center;
    }

    .component.before-after-rows .row-wrp .flex-row{
        margin-bottom: 30px; 
    }

    .component.before-after-rows .ba-img-wrp{
        position:relative;
    }

    .component.before-after-rows .ba-label{
        position:absolute;
        bottom: 0;
        left:0;
        padding: 10px;
        background-color: #333;
        min-width: 70px;
    }

    .component.before-after-rows .ba-label p{
        color: #fff;  
    }

/*---------------------------------------------------------------------------------*\
    Bullet List
\*---------------------------------------------------------------------------------*/
    .bullet-list.component ul{
        max-width: 1200px;
        width: 100%;
        margin: auto;
        display: flex;
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
        list-style-position: inside;
        margin-top: 30px;
        text-align: center;
    }

    .bullet-list.component li{
        flex: 0 0 100%;
        max-width: 100%;
        font-size: 1.1rem;
        line-height: 1.7;
        margin-bottom: 15px;
        padding: 0 10px 0 15px;
    }

    @media(min-width: 992px){
        
        .bullet-list.component ul{
            text-align: left;
        }

        .bullet-list.component li{
            flex: 0 0 33.33%;
            max-width: 33.33%;
            font-size: 1.3rem;
        }

    }

    @media(min-width: 1170px){

        .bullet-list.component ul{
            text-align: left;
        }

        .bullet-list.component li{
            flex: 0 0 25%;
            max-width: 25%;
            font-size: 1.4rem;
        }

    }

/*---------------------------------------------------------------------------------*\
    Page Heading
\*---------------------------------------------------------------------------------*/
    .component.page-heading .title-container{
        text-align:center;
        padding: 35px 15px;
        max-width: 900px;
        width: 100%;
        margin: 0 auto; 
        position: relative;
        z-index: 20;
    }
    
    .component.page-heading .component-img-container{
        background-position: center center;
        background-size: cover;
        background-repeat: no-repeat;
        background-attachment: fixed;
    }

    .component.page-heading .overlay{
        background-color: #000;
        opacity: 0.7;
    }

    .component.page-heading h2{
        color: #fff;
        margin-bottom: 0;
    }

    .component.page-heading .divider{
        margin: 13px auto;
		background-color: #fff;
		height: 2px;
		width:100%;
		max-width: 300px;
    }

    @media(min-width: 992px){

        .component.page-heading .title-container{
            padding: 70px 30px;
        }

        .component.page-heading .divider{
            margin: 25px auto;
        }

    }

/*---------------------------------------------------------------------------------*\
    Banner Cta
\*---------------------------------------------------------------------------------*/
    .component.banner-cta h2,
    .component.banner-cta h3,
    .component.banner-cta p{
        margin: 7px;
    }
    
    .component.banner-cta .cta-content{
        padding: 130px 30px 30px 30px;
        background-color: #efefef;
        margin-top: 130px;
        position:relative;
    }

    .component.banner-cta .icon-wrp{
        position:absolute;
        left: 50%;
        top: 0;
        transform:translate(-50%,-50%);
    }

    .component.banner-cta .icon-container{
        position: relative;
    }

    .component.banner-cta .icon-container > i,
    .component.banner-cta .icon-container > div{
        position:absolute;
        left: 50%;
        top: 50%;
        transform:translate(-50%,-50%);
    }

    .component.banner-cta .icon-container .unique-icon-wrp i{
        color: #fff;
        font-size: 5rem;
    }

    .component.banner-cta .icon-container i.inner{
        color: #333;
        font-size: 9rem;
    }

    .component.banner-cta .icon-container i.outer{
        color: #fff;
        font-size: 10rem;
    }

    @media(min-width: 767px){

        .component.banner-cta .icon-wrp{
            left: 0;
            top: 50%;
        }

        .component.banner-cta .cta-content{
            padding: 30px 30px 30px 100px;
            margin-left: 70px;
            margin-top:0;
        }

    }

    @media(min-width: 1200px){

        .component.banner-cta .cta-content{
            padding: 60px 60px 60px 130px;
            margin-left: 130px;
        }
        .component.banner-cta .icon-container .unique-icon-wrp i{
            color: #fff;
            font-size: 7rem;
        }
        .component.banner-cta .icon-container i.inner{
            color: #333;
            font-size: 15rem;
        }
        .component.banner-cta .icon-container i.outer{
            color: #fff;
            font-size: 16rem;
        }

    }

/*---------------------------------------------------------------------------------*\
    FAQs
\*---------------------------------------------------------------------------------*/
    .faqs.component .question-wrp{
        margin-bottom: 30px;
    }

    .faqs.component .question{
        background-color: #333;
        padding: 30px;
        border: 2px solid #333;
    }

    .faqs.component .question h3{
        color: #fff;
        line-height: 1.5;
        font-size: 1.3rem;
        padding-right: 90px;
        position: relative;
    }

    .faqs.component .question-wrp .question h3::after{
        content: '';
        font-family: 'FontAwesome';
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
    }

    .faqs.component .question-wrp.closed .question h3::after{
        content: '\2b';
    }

    .faqs.component .question-wrp.open .question h3::after{
        content: '\f068';
    }

    .faqs.component .answer{
        padding: 30px;
        background-color: #f5f5f5;
        border: 1px solid #cfcfcf;
        display: none;
    }

    .faqs.component .question-wrp:hover .question{
        background-color: #fff;
    }

    .faqs.component .question-wrp:hover .question h3{
        color: #333;
        line-height: 1.5;
    }

/*---------------------------------------------------------------------------------*\
    FAQ Sections
\*---------------------------------------------------------------------------------*/
    .faq-sections.component .faq-section-wrp{
        margin-bottom: 30px;
    }

    .faq-sections.component .container > .flex-row:last-child .faq-section-wrp{
        margin-bottom: 0;
    }

    .faq-sections.component .faq-section-title{
        font-size: 2rem;
        margin-bottom: 30px;
    }

    .faq-sections.component .question-wrp{
        margin-bottom: 20px;
    }

    .faq-sections.component .question{
        background-color: #333;
        padding: 20px 30px;
        border: 2px solid #333;
    }

    .faq-sections.component .question h3{
        color: #fff;
        line-height: 1.5;
        font-size: 1.3rem;
        padding-right: 90px;
        position: relative;
    }

    .faq-sections.component .question-wrp .question h3::after{
        content: '';
        font-family: 'FontAwesome';
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
    }

    .faq-sections.component .question-wrp.closed .question h3::after{
        content: '\2b';
    }

    .faq-sections.component .question-wrp.open .question h3::after{
        content: '\f068';
    }

    .faq-sections.component .answer{
        padding: 30px;
        background-color: #f5f5f5;
        border: 1px solid #cfcfcf;
        display: none;
    }

    .faq-sections.component .question-wrp:hover .question{
        background-color: #fff;
    }

    .faq-sections.component .question-wrp:hover .question h3{
        color: #333;
        line-height: 1.5;
    }

/*---------------------------------------------------------------------------------*\
    Contact Form
\*---------------------------------------------------------------------------------*/
    .contact-form.component form > div:last-child{
        text-align: center;
        margin-top: 30px;
    }

/*---------------------------------------------------------------------------------*\
    CTA
\*---------------------------------------------------------------------------------*/    
    .component.cta .cta-content{
        text-align: center;
    }

/*---------------------------------------------------------------------------------*\
    Gallery Sections
\*---------------------------------------------------------------------------------*/ 
    .component.gallery-sections .gallery-section-wrp{
        margin-bottom: 50px;
    }

    .component.gallery-sections .gallery-title-wrp{
        text-align:center;
        margin-bottom: 20px;
    }

/*---------------------------------------------------------------------------------*\
    Google Map
\*---------------------------------------------------------------------------------*/ 
    .component.google-map .map-wrp{
        margin-bottom: 40px;
    }

/*---------------------------------------------------------------------------------*\
    Contact Details
\*---------------------------------------------------------------------------------*/ 
    .component.contact-details-row .map-wrp{
        margin-bottom: 15px;
    }

/*---------------------------------------------------------------------------------*\
    Testimonials
\*---------------------------------------------------------------------------------*/
    .component.testimonials .body{
        margin-top: 40px;
        margin-bottom: 40px;
    }

    .component.testimonials .body p{
        line-height: 2.2;
    }

    .component.testimonials .name p{
        margin-bottom: 20px;
        font-weight: bold;
        font-style: italic;
        font-size: 1.4rem;
    }

/*---------------------------------------------------------------------------------*\
   Header Components
\*---------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------*\
   General
\*---------------------------------------------------------------------------------*/
    .header-component.d-desktop{
        display: none;
    }

    @media(min-width: 992px){

        .header-component.d-desktop{
            display: block;
        }

        .header-component.d-mobile{
            display: none;
        }

    }

/*---------------------------------------------------------------*\
    Telephone
\*---------------------------------------------------------------*/
    .header-component.telephone-number .tel-wrp{
        margin-bottom: 0;
    }
    .header-component.telephone-number .tel-wrp p{
        font-size: 1.3rem;
    }

    .header-component.telephone-number .tel-wrp .tel{
        font-weight: 700;
        text-decoration: underline;
    }

/*---------------------------------------------------------------*\
    Header - Logo 
\*---------------------------------------------------------------*/
    .header-component.logo img{
        width: 100%;
    }

    .header-component.logo .vis-fix{
        background-color: #fff;
        padding: 15px;
        border-radius: 5px;
    }

/*---------------------------------------------------------------*\
    Footer - Footer Logo 
\*---------------------------------------------------------------*/
    .footer-component.footer-logo img{
        width: 100%;
    }

    .footer-component.footer-logo .vis-fix{
        background-color: #fff;
        padding: 15px;
        border-radius: 15px;
    }
/*---------------------------------------------------------------*\
    Social
\*---------------------------------------------------------------*/
    .header-component.header-social .social-el{
        margin-bottom: 0;
    }

    .header-component.header-social .social-el .fa-stack {
        font-size: 1.1rem;
    }

/*---------------------------------------------------------------------------------*\
   FOOTER COMPONENTS
\*---------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------*\
    General
\*---------------------------------------------------------------------------------*/

/*---------------------------------------------------------------------------------*\
    Contact Details
\*---------------------------------------------------------------------------------*/
    .footer-component.footer-contact-details h3{
        margin-bottom: 20px;
    }

    .footer-component.footer-contact-details p{
        margin-bottom: 10px;
    }