/*
Theme Name: Tangy Media BB Child Theme
Theme URI: https://www.tangymedia.co.uk
Version: 1.2
Description: A custom theme optimised for Beaver Builder by Tangy Media.
Author: Tangy Media
Author URI: https://www.tangymedia.co.uk
template: bb-theme
*/

html, body {overflow-x: hidden;}

@media (min-width: 992px) {
  .mobile-only {display: none !important;}
}

@font-face {
    font-family: 'Grift Light';
    src: url('Grift-Light.woff2') format('woff2'),
         url('Grift-Light.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'Grift Regular';
    src: url('Grift-Regular.woff2') format('woff2'),
         url('Grift-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'Grift Medium';
    src: url('Grift-Medium.woff2') format('woff2'),
         url('Grift-Medium.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'Grift SemiBold';
    src: url('Grift-SemiBold.woff2') format('woff2'),
         url('Grift-SemiBold.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'Grift Bold';
    src: url('Grift-Bold.woff2') format('woff2'),
         url('Grift-Bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
 

/* Large */@media only screen and (max-width: 1300px) {}
/* Medium */@media only screen and (max-width: 1100px) {}
/* Small */@media only screen and (max-width: 768px) {}

/* TEXT */
span.italic { font-style:italic !important; font-weight:300 !important;}

/* COLOURS */

/* BUTTONS */

/* HEADER */
.no-cursor > .fl-has-submenu-container > a{ cursor:default;}
/@media only screen and (min-width: 1100px) {
.contact-highlight a {background-image: linear-gradient(112deg, #282D4E 20%, #080C2A 76%); color:white !important; padding:15px 20px !important; margin-left:20px; border-radius:100px; transition: all ease 0.3s;}
.contact-highlight a:hover {background-image: linear-gradient(112deg, #6C63FF 20%, #6C63FF 76%);}}

.fl-menu .sub-menu {
	min-width: 330px;
}

li.current_page_item  a { color:white !important; }
li.current_page_item  a:hover { }

/* FOOTER */

.testimonials-text-wrapper { background-color:#fffbe0; padding:25px; border-radius:20px;}
.testimonials-stars { width:100%; margin-bottom:15px;}
.testimonials-title { font-weight:normal;}

/* PAGES */
.grain { background-image: url("/wp-content/uploads/2026/02/noise.png"); background-repeat:repeat;}
.purple-grad {background-image: linear-gradient(112deg, #282D4E 20%, #080C2A 76%);}


.fl-video .mejs-container { border-radius:12px; overflow:hidden; } { border-radius:8px;}
 
.icon-bubble .fl-icon-wrap { background-color:white; border-radius:100px; padding:15px 20px;}

/* SERVICE GRID */
.modal-button .fl-button { display:flex !important; align-items:center !important; }

.modal-button .fl-button-icon { margin-left:auto !important; }

.modal-button .fl-button-text { font-size:1.2em; font-weight:700;}

.modal-box-single { transition:background-color .2s ease-in; cursor:pointer; background-color:#f7f6ff; }
.modal-box-single:nth-child(even) { background-color:#d9d6ef; }

.modal-box-single .fl-button,
.modal-box-single .fl-button .fl-button-text,
.modal-box-single .fl-button .fl-button-icon { transition:background-color .2s ease-in, color .2s ease-in; }

.modal-box-single:hover { background-color:#6C63FF; }

.modal-box-single:hover .fl-button { background-color:#6C63FF; color:#fff !important; }
.modal-box-single:hover .fl-button .fl-button-text,
.modal-box-single:hover .fl-button .fl-button-icon { color:#fff !important; }





/* make image container positioning context */
.blog-loop .fl-module-box { position:relative; }
.blog-loop .blog-label { position:absolute; top:0px; right:0px; z-index:5; background:#6C63FF; color:#fff; padding:8px 12px; font-size:11px; font-weight:400; text-transform:uppercase; letter-spacing:.05em; border-radius:0px 8px 0px 8px; }

/* position label over image */
 

/* Testimonials */
.testimonials-text-wrapper {   }
.testimonials-text { }
 
.testimonials-title { margin-top:15px; }
@media (max-width:768px){
 
.testimonials-image img { margin-left:0; }
}


/* OFF CANVAS MENU */

/* NINJA FORMS */
.nf-form-fields-required { display:none !important; } 
.nf-error.field-wrap .nf-field-element:after { background: black !important; color: #fff; font-family: FontAwesome; font-size: 11px !important; content: "\f12a"; position: absolute; top: 1px; right: 1px; bottom: 1px; height: 20px !important; width: 20px !important; line-height: 20px !important; text-align: center; transition: all .5s; } 

body .nf-error .ninja-forms-field { border-color: black !important; transition: all .5s; } 

.checkbox-wrap .nf-field-element label:before, .checkbox-wrap .nf-field-label label:before, .listcheckbox-wrap .nf-field-element label:before, .listcheckbox-wrap .nf-field-label label:before { color: red; content: "\f00c"; font-family: "Font Awesome 6 Pro", sans-serif !important; font-size: 14px !important; position: absolute; font-weight:400 !important; bottom: 0; z-index: 2; }

.checkbox-container.label-right label:before { left: -26px !important; top: 0; } 

.pp-ninja-form-content .ninja-forms-form-wrap .field-wrap { list-style-type: none !important; margin-bottom: 15px !important; } 

.pp-ninja-form-content .ninja-forms-form-wrap textarea { height: 100px !important; margin-bottom: 15px !important; }


@media only screen and (min-width: 1100px) {
 
.sticky-stack-wrapper .fl-col-content {
  padding-bottom: 0px !important;
}

 
.sticky-card-item {
  position: sticky !important;
  margin-bottom: 0px; padding:12em 0em ; 
	 -webkit-mask-image: linear-gradient(
        to bottom,
        transparent 0%,
        black 30%
    );
    mask-image: linear-gradient(
        to bottom,
        transparent 0%,
        black 20%
    );

}

/* Staggered top offsets */
.sticky-card-item:nth-child(1) { top: 20px; z-index: 1; padding:12em 0em 12em 0em;  }
.sticky-card-item:nth-child(2) { top: 40px; z-index: 2; }
.sticky-card-item:nth-child(3) { top: 60px; z-index: 3; }}

@media only screen and (max-width: 1100px) {.sticky-card-item {padding:6em 0em ;} }