/*---------------------------------------------------------------------------------*\
    
    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:last-child section.no-fl-space{
        margin-bottom: 0;
    }

    .component .container.fluid.no-padding .top-text-area,
    .component .container.fluid.no-padding .bottom-text-wrp{
        padding-left: 15px;
        padding-right: 15px;
    }

    .component .main-title-wrp{
        margin-bottom: 30px;
    }

    .component .main-subtitle-wrp{
        margin-bottom: 30px;
    }

    .component .top-text-area .text-wrp{
        margin-bottom: 40px;
    }

    .component .inner-spacer{
        width:100%;
        height: 30px;
    }
	
/*---------------------------------------------------------------------------------*\
    Divider
\*---------------------------------------------------------------------------------*/ 
    .component.divider section{
        margin-bottom: 0;
    }

    .component.divider{
        height: auto;
        background-color: transparent;
        max-width: 100%;
        margin: auto;
    }

    .component.divider .divider-img-wrp {
        width: 100%;
        max-width: 210px;
        margin: 50px auto;
        text-align: center;
    }

    .component.divider img{
        transform: rotate(90deg);
    }

/*---------------------------------------------------------------*\
	Banner Text
\*---------------------------------------------------------------*/
    .component.banner-text section{
        padding: 15px 0;
        background-color: #333;
    }
    
    .component.banner-text .btn,
    .component.banner-text p{
        margin: 15px 10px;
    }

    .component.banner-text p{
        color: #fff;
        font-size: 1.3rem;
    }

    .component.banner-text .btn a{
        background-color: #fff;
        color: #333;
        border-color: #fff;
        font-weight: 700;
    }

    .component.banner-text .btn a span{
        font-weight: 700;
    }

    .component.banner-text .btn a:hover{
        background-color: transparent;
        color: #fff;
    }

/*---------------------------------------------------------------*\
	Statement Text
\*---------------------------------------------------------------*/
.component.statement-text p{
    font-size: 1.7rem;
    margin:20px 0;
    font-family: 'Poppins', sans-serif;
}

@media(min-width: 992px){
    .component.statement-text p{
        font-size: 3.7rem;
        margin:20px 0;
        font-weight: 100;
    }
    .component.statement-text .owl-carousel{
        padding:0 100px;
    }
    .component.statement-text .owl-dots{
        display:none;
    }
}
/*---------------------------------------------------------------*\
	Text Blocks
\*---------------------------------------------------------------*/	
    .component.text-blocks{
        display:block;
    }

    .component.text-blocks .tb-content{
        padding: 20px 20px 40px 20px;
        border: 1px solid #dfdfdf;
        text-align: center;
        position: relative;
        margin-bottom: 50px;
    }

    .component.text-blocks .btn-wrp{
        position:absolute;
        left: 50%;
        top: 100%;
        transform: translate(-50%, -50%);
		width: max-content!important;
    }

    .component.text-blocks .btn{
        margin-top: 0;
    }

    .component.text-blocks .title-wrp{
        margin-bottom: 20px;
    }

    .component.text-blocks h2{
        font-weight:200;
        line-height:1.2;
        margin-bottom: 5px;
        font-size: 2.5rem;
    }

    .component.text-blocks h3{
        font-size: 1.2rem;
        font-weight: 700;
    }

    @media(min-width: 992px){

        .component.text-blocks .tb-content{
            margin-bottom: 0;
        }

        .component.text-blocks h2{
            font-size: 4rem;
        }

    }
/*---------------------------------------------------------------------------------*\
    Slider
\*---------------------------------------------------------------------------------*/
    .slider.component section{
        overflow: hidden;
    }
    
    .slider.component .owl-carousel{
        padding: 0;
    }

    .slider.component .slide-wrp{
        position:relative;
        overflow:hidden;
        display:flex;
        flex-direction: column;
    }

    .slider.component .owl-nav{
        opacity: 0;
        transition: 0.4s;
        margin-top: 0;
    }

    .slider.component:hover .owl-nav{
        opacity: 1;
    }

    .slider.component .owl-dots{ 
        bottom: 20px;
        left: 50%;
        z-index: 300;
        position: absolute;
        transform: translateX(-50%);
    }

    .slider.component .owl-dots .active span{
        background:#233e59;
    }

    .slider.component .carousel-el .owl-nav div.owl-prev i, 
    .slider.component .carousel-el .owl-nav div.owl-next i{
        color: #fff;
    }

    .slider.component .carousel-el .owl-nav div.owl-prev{
        left: 10px;
    }

    .slider.component .carousel-el .owl-nav div.owl-next{
        right: 10px;
    }

    .slider.component .owl-dots span{
        color: #fff;
    }

    .slider.component .container{
        height:100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-top:70px;
        padding-bottom: 70px; 
        position:relative;
        z-index: 15;
        flex-grow: 1;
    }

    .slider.component .content-wrp{
        z-index: 3;
        max-width: 900px;
        width: 100%;
        text-align: left;
    }

    .slider.component .content-wrp .small-title-wrp p{
        font-size: 1.3rem;
        text-transform: uppercase;
        font-weight: 600;
        color: #fff;
        width: 100%;
    }

    .slider.component .content-wrp .title-wrp,
    .slider.component .content-wrp .title-wrp h2{
        display: inline-block;
    }

    .slider.component .content-wrp .title-wrp{
        display: inline-block;
    }

    .slider.component .content-wrp .title-wrp h2{
        font-weight: 600;
        line-height: 1.4;
        color: #fff;
    }

    .slider.component .content-wrp .description-wrp p{
        font-size: 1.3rem;
        font-weight: 500;
        color: #fff;
    }

    .slider.component .content-wrp .btns-wrp .btn{
        margin-right: 10px;
        width:100%;
    }

    .slider.component .content-wrp .btns-wrp .btn a{
        padding: 15px 24px;
        font-size: 1.1rem;
        width:100%;
    }

    .slider.component .content-wrp .btns-wrp .btn.hollow a{
        color: #fff;
        border-color:#fff;
    }

    .slider.component .content-wrp .btns-wrp .btn.solid a{
        border-color:#fff;
        background-color: #fff;
        color:#333;
    } 

    .slider.component .content-wrp .btns-wrp .btn.solid a:hover{
        background-color: #fff;
        color:#333;
    } 

    .slider.component .bg-wrp img{
        position: absolute;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        top: 0;
        left: 0;
        z-index: 5;
        -webkit-transform: scale(1.07);
        -ms-transform: scale(1.07);
        transform: scale(1.07);
    }

    .slider.component .bg-wrp video{
        position: absolute;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        top: 0;
        left: 0;
        z-index: 5;
        -webkit-transform: scale(1.07);
        -ms-transform: scale(1.07);
        transform: scale(1.07);
    }

    .slider.component .overlay{
        position: absolute;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        top: 0;
        left: 0;
        z-index: 6;
    }

    .slider.component .content-wrp .title-wrp,
    .slider.component .content-wrp .small-title-wrp p,
    .slider.component .content-wrp .description-wrp{
        margin-bottom: 15px;
    }

    .slider.component .content-wrp h2{
        font-size: 2.2rem;
    }

    .slider.component .content-wrp h3{
        font-size: 1rem;
    }

    .slider.component .content-wrp p{
        font-size: 1rem;
    }

    .slider.component .owl-stage{
        display:flex;
    }

    .slider.component .owl-item{
        display:flex;
        flex-grow: 1;
    }

    .slider.component .slide-wrp{
        display:flex;
        flex-grow: 1;
    }

    @media(min-width:500px){

        .slider.component .content-wrp .btns-wrp .btn,
        .slider.component .content-wrp .btns-wrp .btn a{
            width:auto;
        }

        .slider.component .content-wrp .title-wrp,
        .slider.component .content-wrp .small-title-wrp p,
        .slider.component .content-wrp .description-wrp{
            margin-bottom: 20px;
        }

        .slider.component .content-wrp h2{
            font-size: 3rem;
        }

        .slider.component .content-wrp h3{
            font-size: 1.7rem;
        }

        .slider.component .content-wrp p{
            font-size: 1rem;
        }

    }

    @media(min-width:992px){

        .slider.component .container{
            min-height: 700px;
            padding-top:100px;
            padding-bottom: 100px; 
        }

    }

    @media(min-width:1565px){

        .slider.component .owl-nav{
            opacity: 1;
        }

    }

    
/*---------------------------------------------------------------------------------*\
    Hero Image
\*---------------------------------------------------------------------------------*/
    .hero-image.component section{
        overflow: hidden;
    }

    .hero-image.component .container{
        height:100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-top:100px;
        padding-bottom: 100px; 
    }

    .hero-image.component .content-wrp{
        z-index: 3;
        max-width: 900px;
        width: 100%;
    }

    .hero-image.component .content-wrp .small-title-wrp p{
        font-size: 1.3rem;
        text-transform: uppercase;
        font-weight: 600;
        margin-bottom: 20px;
        color: #fff;
        max-width: 270px;
        width: 100%;
    }

    .hero-image.component .content-wrp .title-wrp,
    .hero-image.component .content-wrp .title-wrp h2{
        display: inline-block;
    }

    .hero-image.component .content-wrp .title-wrp{
        display: inline-block;
        margin-bottom: 30px;
    }

    .hero-image.component .content-wrp .title-wrp h2{
        font-weight: 600;
        line-height: 1.4;
        color: #fff;
    }

    .hero-image.component .content-wrp .description-wrp{
        margin-bottom: 30px;
    }

    .hero-image.component .content-wrp .description-wrp p{
        font-size: 1.3rem;
        font-weight: 500;
        color: #fff;
    }

    .hero-image.component .content-wrp .btns-wrp .btn{
        margin-right: 10px;
    }

    .hero-image.component .content-wrp .btns-wrp .btn a{
        padding: 15px 24px;
        font-size: 1.1rem;
    }

    .hero-image.component .content-wrp .btns-wrp .btn.hollow a{
        color: #fff;
        border-color:#fff;
    }

    .hero-image.component .content-wrp .btns-wrp .btn.solid a{
        border-color:#fff;
        background-color: #fff;
        color:#333;
    } 

    .hero-image.component .content-wrp .btns-wrp .btn.solid a:hover{
        background-color: #fff;
        color:#333;
    } 

    .hero-image.component .hero-image-wrp img{
        position: absolute;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        top: 0;
        left: 0;
        z-index: 0;
        -webkit-transform: scale(1.07);
        -ms-transform: scale(1.07);
        transform: scale(1.07);
    }

    .hero-image.component .overlay{
        position: absolute;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        top: 0;
        left: 0;
        z-index: 1;
    }

/*---------------------------------------------------------------------------------*\
    Hero Video
\*---------------------------------------------------------------------------------*/
    .hero-video.component section{
        overflow: hidden;
    }

    .hero-video.component .container{
        height:100%;
        min-height: 700px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-top:100px;
        padding-bottom: 100px; 
    }

    .hero-video.component .content-wrp{
        z-index: 3;
        max-width: 900px;
        width: 100%;
    }

    .hero-video.component .content-wrp .small-title-wrp p{
        font-size: 1.3rem;
        text-transform: uppercase;
        font-weight: 600;
        margin-bottom: 20px;
        color: #fff;
        max-width: 270px;
        width: 100%;
    }

    .hero-video.component .content-wrp .title-wrp,
    .hero-video.component .content-wrp .title-wrp h2{
        display: inline-block;
    }

    .hero-video.component .content-wrp .title-wrp{
        display: inline-block;
        margin-bottom: 30px;
    }

    .hero-video.component .content-wrp .title-wrp h2{
        font-weight: 600;
        line-height: 1.4;
        color: #fff;
    }

    .hero-video.component .content-wrp .description-wrp{
        margin-bottom: 30px;
    }

    .hero-video.component .content-wrp .description-wrp p{
        font-size: 1.3rem;
        font-weight: 500;
        color: #fff;
    }

    .hero-video.component .content-wrp .btns-wrp .btn{
        margin-right: 10px;
    }

    .hero-video.component .content-wrp .btns-wrp .btn a{
        padding: 15px 24px;
        font-size: 1.1rem;
    }

    .hero-video.component .content-wrp .btns-wrp .btn.hollow a{
        color: #fff;
    }

    .hero-video.component .content-wrp .btns-wrp .btn.solid a:hover{
        background-color: #fff;
        color:#333;
    } 

    .hero-video.component .hero-video-wrp video{
        position: absolute;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        top: 0;
        left: 0;
        z-index: 0;
        -webkit-transform: scale(1.07);
        -ms-transform: scale(1.07);
        transform: scale(1.07);
    }

    .hero-video.component .overlay{
        position: absolute;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        top: 0;
        left: 0;
        z-index: 1;
    }

/*---------------------------------------------------------------------------------*\
    Featured Projects
\*---------------------------------------------------------------------------------*/
    .component.featured-projects .main-title-wrp h2{
        font-weight: 300;
        margin-bottom: 30px;
    }

    .component.featured-projects .content-wrp{
        position: relative;
        min-height: 300px;
        overflow: hidden;
        margin: 5px;
    }

    .component.featured-projects .content-wrp img{
        position: absolute;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        top: 0;
        left: 0;
        z-index: 0;
        transition: all 0.7s;
    }

    .component.featured-projects .content-wrp:hover img{
        transform:scale(1.07);
    }

    .component.featured-projects .content-wrp .overlay{
        position: absolute;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        top: 0;
        left: 0;
        z-index: 1;
        background-color: rgba(0,0,0,0.3);
    }

    .component.featured-projects .content-wrp .description-wrp{
        padding: 30px;
        position: absolute;
        top:50%;
        transform: translateY(-50%);
        z-index: 2;
        text-align: center;
        width:100%;
    }

    .component.featured-projects .content-wrp .description-wrp h3{
        text-transform: uppercase;
    }

    .component.featured-projects .content-wrp .description-wrp p,
    .component.featured-projects .content-wrp .description-wrp h3{
        color: #fff;
    }

    .component.featured-projects .content-wrp .description-wrp div{
        margin-bottom: 15px;
    }


/*---------------------------------------------------------------------------------*\
    Blurb Group
\*---------------------------------------------------------------------------------*/
    .blurb-group.component{
        text-align: center;
    }

    .blurb-group.component .blurb-title-wrp,
    .blurb-group.component .img-wrp,
    .blurb-group.component .description-wrp{
        margin-bottom: 20px;
    }

    .blurb-group.component .blurb-row{
        margin-bottom: 40px;
    }

    .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;
    }

    .component.blurb-group .blurb-col{
        margin-top: 30px;
        margin-bottom: 30px;
    }

    @media(min-width: 992px){
        .component.blurb-group .icon-wrp.default i,
        .component.blurb-group .icon-wrp .fa-stack{
            font-size: 6rem;
        }
    }
    
/*---------------------------------------------------------------------------------*\
   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;
        }
    
    }


/*---------------------------------------------------------------------------------*\
    Page Heading
\*---------------------------------------------------------------------------------*/
    .component.page-heading section{
        background-position: center center;
        background-size: cover;
        background-repeat: no-repeat;
        background-attachment: fixed;

    }

    .component.page-heading .overlay{
        background-color: #000;
        opacity: 0.7;
        z-index: 2;
        top:-1px;
        height: 110%;
    }

    .component.page-heading section{
        overflow-y: hidden;
    }

    .component.page-heading .content-container{
        position: relative;
        z-index: 3;
        padding: 100px 0;
    }

    .component.page-heading h2,
    .component.page-heading h3{
        color: #fff;
    }

    .component.page-heading h2{
        margin-bottom: 20px;
    }


/*---------------------------------------------------------------------------------*\
    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;
    }

/*---------------------------------------------------------------------------------*\
    Contact Form
\*---------------------------------------------------------------------------------*/
    .contact-form.component form > div:last-child{
        text-align: center;
        margin-top: 30px;
    }

/*---------------------------------------------------------------------------------*\
    CTA
\*---------------------------------------------------------------------------------*/    
    .component.cta .cta-content{
        text-align: center;
    }

/*---------------------------------------------------------------------------------*\
    Google Map
\*---------------------------------------------------------------------------------*/ 
    .component.google-map .map-wrp{
        margin-bottom: 40px;
    }

/*---------------------------------------------------------------------------------*\
    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;
    }

/*---------------------------------------------------------------------------------*\
    Services
\*---------------------------------------------------------------------------------*/
    .component.services .service-wrp{
        margin-bottom: 30px;
    }

    .component.services .service-wrp,
    .component.services .service-content-wrp{
        display:flex;
        flex-grow: 1;
        flex-direction: column;
    }

    .component.services .service-content-wrp h3{
        font-size: 1.3rem;
        font-weight: 700;
        letter-spacing: 1px;
    }

    .component.services .img-wrp,
    .component.services .title-wrp,
    .component.services .description-wrp{
        margin-bottom: 15px;
    }

    .component.services .img-wrp{
        text-align: center;
    }

    .component.services .img-wrp img{
        width:100%;
    }

    .component.services .link-wrp{
        justify-self: flex-end;
    }

    .component.services .description-wrp p{
        font-size: 1rem;
        line-height: 1.5;
    }

    .component.services .link-text{
        text-decoration: underline;
        font-size: 1rem;
    }


/*---------------------------------------------------------------------------------*\
   Header Components
\*---------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------*\
   General
\*---------------------------------------------------------------------------------*/
    .header-component {
        display:inline-block;
        vertical-align: middle;
        margin-right: 10px;
    }

    .header-component:last-child{
        margin-right: 0;
    }
    
    .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;
    }

/*---------------------------------------------------------------*\
    Logo 
\*---------------------------------------------------------------*/
    .header-component.logo img{
        width: 100%;
    }

    .header-component.logo .vis-fix{
        background-color: #fff;
        padding: 15px;
        border-radius: 5px;
    }

/*---------------------------------------------------------------*\
    Social
\*---------------------------------------------------------------*/
    .header-component.header-social .social-el{
        margin-bottom: 0;
    }

    .header-component.header-social .social-el .fa-stack {
        font-size: 1.1rem;
    }

/*---------------------------------------------------------------*\
    Buttons
\*---------------------------------------------------------------*/
    .header-component.header-buttons .btn{
        margin-top: 0;
    }

/*---------------------------------------------------------------------------------*\
   FOOTER COMPONENTS
\*---------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------*\
    General
\*---------------------------------------------------------------------------------*/
/*---------------------------------------------------------------*\
    Footer - Footer Logo 
\*---------------------------------------------------------------*/
    .footer-component.footer-logo img{
        width: 100%;
    }

    .footer-component.footer-logo .vis-fix{
        background-color: #fff;
        padding: 15px;
        border-radius: 15px;
    }
/*---------------------------------------------------------------------------------*\
    Contact Details
\*---------------------------------------------------------------------------------*/
    .footer-component.footer-contact-details h3{
        margin-bottom: 20px;
    }

    .footer-component.footer-contact-details p{
        margin-bottom: 10px;
    }

/*---------------------------------------------------------------------------------*\
    Social
\*---------------------------------------------------------------------------------*/
    .footer-component.footer-social{
        margin-bottom: 30px;
    }
	
	
	
	