/*
Theme Name: Friendsofhappiness Child
Author: 
Description: Your description goes here
Version: 1.0
Template: hello-elementor

This is the child theme for Hello Elementor theme, generated with Generate Child Theme plugin by catchthemes.

(optional values you can add: Theme URI, Author URI, License, License URI, Tags, Text Domain)
*/


:root{
    --blue: #052558;
    --orange: #DB5B17;
    --black: #000000;
    --brown: #511500;
    --white: #fff;
}
a{
    transition: all 0.4s;
}
.elementor-widget-text-editor a{
    color: var( --e-global-color-primary);
}
.post_content a{
    color:#046bd2;
}
.icon_grid svg {
    filter: brightness(0) invert(1);
}
.owl-dots {
    display: flex;
    justify-content: center;
}
.owl-dots button span {
    width: 6px !important;
    height: 6px !important;
    background-color: #000 !important;
    opacity:0.5;
    margin:4px !important;
    transition: all 0.4s;
}
button.owl-dot.active span{
    opacity:1;
}
.testimonial_slider .elementor-testimonial-meta-inner {
    display: grid !important;
    justify-content: center;
    grid-gap: 10px;
    text-align: center;
}
.testimonial_slider .elementor-testimonial-meta-inner * {
    text-align: center;
}
.team_slider .elementor-widget-image img {
    width: 117px !important;
    height: 117px;
    object-fit: cover;
}
.team_slider .elementor-widget-image {
    margin-top: -20px;
    margin-bottom: 15px !important;
}
.ti-widget {
    max-width: 1200px;
    margin: 0px auto;
}
.event_grid {
    display: flex;
    grid-gap: 30px;
    justify-content: center;
    flex-flow: wrap;
}
.event_grid > a{
    width: calc(100% /3 - 20px);
}
.event_inn {
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
    display: grid;
}
.event_inn img {
    width: 100%;
    display: block;
}
.event_inn span {
    display: flex;
    justify-content: center;
    grid-gap: 10px;
    align-items: center;
    background-color:var(--blue);
    padding: 20px 15px;
    color: var(--white);
    font-weight: 400;
}
.event_grid a.event_box h3 {
    text-align: center;
    margin: 20px 0px 0px 0px;
    color: var(--blue);
    font-size: 20px;
    font-family: 'Abhaya Libre';
}
.team_slider svg {
    width: 20px !important;
}
.blog_grid .elementor-post__thumbnail {
    position: unset !important;
    padding: 0px !important;
}
.blog_grid .elementor-post__thumbnail img {
    height: 300px !important;
    object-fit: cover;
}
.featured_box  .elementor-icon-box-icon {
    width: 70px;
    height: 70px;
    background-color: var(--white);
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50%;
}
.featured_box p.elementor-icon-box-description {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.social_icon a {
    min-width: 40px;
    height: 40px;
    background-color: var(--white);
    border-radius: 50%;
    display: flex;
    padding-left:4px;
    justify-content: center;
}
.social_icon a span.elementor-icon-list-text {
    display: none;
}
.social_icon a svg {
    margin: 0px !important;
}
.social_icon a:hover{
    background-color: var(--orange);
}
.special_sec .team_slider .item .elementor-shortcode > div > div > div >.elementor-element {
    margin: 0px;
}
.special_sec .team_slider .item .elementor-shortcode > div > div > div.e-con-inner  {
    padding: 0px !important;
}
.blue_box .e-con-inner {
    background-color: var(--white);
}
.team_box {
    background-color: var(--white);
    border-radius:6px !important;
    overflow:hidden !important;
    padding:20px 15px 10px !important;
}
.team_box img{
    border: unset !important;
}
.team_box .elementor-widget-heading *{
    color:var(--black) !important
}
.team_box .elementor-widget-image {
    margin-bottom: 0px !important;
}
.team_box .elementor-widget-container p{
      color:var(--black) !important;
      margin: 0px;
    font-size:14px;
}
.team_box .elementor-element.elementor-widget-image {
    order: 1;
}
.team_box .elementor-element.elementor-widget.elementor-widget-heading {
    order: 2;
}
.team_box .elementor-widget-text-editor {
    order: 3;
}
.team_box .content_box .e-con-inner .elementor-widget-text-editor {
    order: 1;
}
.team_box .content_box .elementor-widget-social-icons {
    order: 2;
}
.team_box .content_box {
    margin-top: -15px;
    background-color: var(--white) !important;
}
.team_box::before {
    display:none !important;
}
.team_box  h2.elementor-heading-title.elementor-size-default {
    font-size: 22px !important;
    margin-bottom: 5px;
}
.video_slider .swiper-pagination-horizontal {
    position: unset;
    margin-top:10px;
}
.video_slider .elementor-custom-embed-play i {
    font-size: 50px;
}
.testimonial_slider .elementor-testimonial-content {
    font-size: 15px !important;
}
.hero_sec img{
    width:100% !important;
}
.featured_inner .course_boximg figure a img {
    width: 50px !important;
    height: 50px !important;
    object-fit: contain;
}
.featured_inner .course_boximg figure a {
    width: 68px !important;
    height: 68px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50% !important;
    background-color: var(--white) !important;
}
.course_list ul {
    display: grid;
    grid-gap: 0px;
    padding: 0px 0px 0px 0px;
    list-style: none;
}
.course_list ul li {
    display: flex;
    flex-flow: wrap;
    text-align: left;
    grid-gap: 0px;
    align-items: baseline;
    position: relative;
    padding-left: 24px;
}
.course_list ul li::before {
    content: "\f058";
    color: var(--orange);
    margin-right: 12px;
    margin-top: 5px;
    font-family: "Font Awesome 6 Pro";
    font-weight: 900;
    position: absolute;
    left: 0px;
    top: -6px;
}
.what_sec .course_list ul li::before {
	color: var(--white);
}
.key_list li {
    background: rgba(255, 255, 255, 0.05);
    padding: 20px !important;
    border-radius: 12px;
    border-left: 4px solid var(--orange);
    display: flex !important;
    align-items: center !important;
}
.qib-button-wrapper {
    border: 1px solid #DDE0E1;
    border-radius: 50px;
    max-width: 130px;
    padding:11px 4px;
}
.qib-button-wrapper * {
    background-color: transparent !important;
    border: unset !important;
    outline: unset !important;
    font-size: 14px !important;
    line-height: 22px;
    font-weight: 500 !important;
    padding:0px !important;
    border-radius: unset !important;
    height: unset !important;
}
.qib-button-wrapper input{
   width: 40px !important;
   border-left:1px solid #DDE0E1 !important;
   border-right:1px solid #DDE0E1 !important;
}
.xoo-wsc-ft-buttons-cont {
     display: grid!important;
     text-align: center;
     grid-column-gap: 5px;
     grid-row-gap: 5px;
     grid-template-columns: repeat(1,1fr);
}
 .xoo-wsc-ft-buttons-cont a {
     max-width: 100%;
     padding: 8px 24px!important;
     font-size: 16px;
     border-radius: 6px;
     text-align: center;
     display: block!important;
     transition: all .4s;
     border: 1px solid var(--black)!important;
     color: var(--black)!important 
}
 .xoo-wsc-markup *::-webkit-scrollbar {
     width: 8px 
}
 .xoo-wsc-markup *::-webkit-scrollbar-track {
     border-radius: 10px;
     background: #f0f0f0 
}
 .xoo-wsc-markup *::-webkit-scrollbar-thumb {
     border-radius: 50px;
     background: #d1d1d1 
}
 .xoo-wsc-container,.xoo-wsc-slider {
     position: fixed;
     background-color: #fff;
     z-index: 999999;
     display: flex;
     flex-direction: column;
     width: 95%;
     transition: .5s ease-out;
     max-width: 420px;
}
 .xoo-wsc-modal * {
     /* box-sizing: border-box; */
     /* font-family: "Stolzl", Sans-serif; */
     /* font-weight: 500 !important; */
}
.xoo-wsc-ft-totals * {
    font-family: "Denton", Sans-serif;
}
 .xoo-wsc-modal dl.variation * {
    font-family: "Denton", Sans-serif;
}
 .xoo-wsc-modal span.xoo-wsc-pname * {
    font-family: "Denton", Sans-serif;
    font-size: 18px !important;
}
 .xoo-wsc-markup a {
     text-decoration: none;
     font-weight: 500;
}
 .xoo-wsc-opac {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     background-color: #000;
     z-index: 999996;
     opacity: 0;
     height: 0;
     transition: height 0s .4s,opacity .4s 0s 
}
 span.xoo-wsc-loader {
     display: none;
     position: absolute;
     left: 0;
     right: 0;
     top: 0;
     bottom: 0;
     opacity: .5;
     opacity: .7;
     background-color: #eee;
     z-index: 10 
}
 .xoo-wsc-loader-icon {
     display: none 
}
 a.xoo-wsc-ft-btn.xoo-wsc-btn.xoo-wsc-ft-btn-cart {
     display: none !important;
}
 a.xoo-wsc-ft-btn.xoo-wsc-btn.xoo-wsc-ft-btn-checkout {
     width: 100%;
     background-color: var(--yellow);
     border: unset !important;
     font-weight: 600;
}
 @keyframes xoo-wsc-spin {
     0% {
         transform: rotate(0deg) 
    }
     100% {
         transform: rotate(360deg) 
    }
}
 .xoo-wsc-basket {
     margin: 10px;
     z-index: 9999997;
     cursor: pointer;
     position: fixed;
     transition: .5s ease-out;
     align-items: center;
     justify-content: center;
     width: 60px;
     height: 60px 
}
 .xoo-wsc-basket[style*=block] {
     display: none !important;
}
 .xoo-wsc-items-count {
     border-radius: 50%;
     position: absolute;
     font-size: 13px;
     width: 28px;
     height: 28px;
     line-height: 28px;
     text-align: center;
     overflow: hidden 
}
 .xoo-wsc-sc-bkcont {
     position: relative 
}
 .xoo-wsc-sc-cont .xoo-wsc-cart-trigger {
     display: flex;
     position: relative;
     cursor: pointer;
     align-items: center;
     justify-content: center 
}
 span.xoo-wsc-sc-count {
     border-radius: 50%;
     height: 18px;
     line-height: 18px;
     width: 18px;
     display: inline-block;
     text-align: center;
     font-size: 13px;
     right: -7px;
     position: absolute;
     top: -4px 
}
 .xoo-wsc-sc-cont .xoo-wsc-cart-trigger>* {
     margin-right: 3px 
}
 .xoo-wsc-notice-container {
     z-index: 2;
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     display: none 
}
 ul.xoo-wsc-notices {
     margin: 0;
     list-style-type: none;
     padding: 0 
}
 ul.xoo-wsc-notices li {
     padding: 15px 20px;
     list-style-type: none 
}
 ul.xoo-wsc-notices li span {
     margin-right: 6px 
}
 .xoo-wscb-icon {
     font-size: 37px 
}
 .xoo-wscb-count {
     position: absolute;
     z-index: 1;
     background-color: transparent;
     font-size: 15px;
     height: 45px;
     line-height: 45px;
     text-align: center;
     left: 0;
     right: 0 
}
span.xoo-wsch-close {
    position: absolute !important;
    cursor: pointer !important;
    right: 10px;
    font-size: 20px;
}
 span.xoo-wsch-text {
     margin-left: 8px;
     font-family: "Denton", Sans-serif;
}
 .xoo-wsch-top {
     align-items: center 
}
 .xoo-wsch-top .xoo-wsch-basket {
     display: table;
     position: relative 
}
 .xoo-wsch-top {
     display: flex !important;
     margin: 0 auto;
     justify-content: center;
}
 a.xoo-wsc-ft-btn,.xoo-wsc-container .xoo-wsc-btn {
     display: flex;
     align-items: center;
     justify-content: center;
     flex-wrap: wrap;
     background-color: var(--orange) !important;
     border: unset !important;
     padding: 10px 20px !important;
     color: var(--white) !important;
}
 a.xoo-wsc-ft-btn,a.xoo-wsc-ft-btn:hover,.xoo-wsc-container .xoo-wsc-btn,.xoo-wsc-container .xoo-wsc-btn:hover {
     text-decoration: none 
}
 .xoo-wsc-empty-cart>* {
     margin-bottom: 20px 
}
 .xoo-wsc-markup-notices {
     top: 20%;
     right: -100%;
     left: auto;
     position: fixed;
     box-shadow: 2px 2px 9px 3px #eee;
     transition: all .5s;
     z-index: 999997;
     width: 0;
     max-width: 400px 
}
 .xoo-wsc-markup-notices ul.xoo-wsc-notices li {
     padding: 25px 
}
.xoo-wsc-img-col img {
    height: 150px;
    object-fit: cover;
    border-radius: 6px;
}
 .xoo-wsc-markup-notices .xoo-wsc-notice-container {
     position: relative;
     display: block 
}
 .xoo-wsc-markup[data-wpr-lazyrender] {
     content-visibility: visible!important 
}
 .xoo-wsc-ft-buttons-cont a:hover {
     color: var(--white)!important 
}
 .xoo-wsc-ft-buttons-cont a:last-child span,.xoo-wsc-ft-buttons-cont a:nth-child(2) {
     display: none !important;
}
.xoo-wsc-container, .xoo-wsc-slider {
    right: -420px;
}
.xoo-wsc-basket {
    display: none;
}
a.button.add_to_cart_button {
    padding: 12px 24px;
    background-color: var(--orange) !important;
    color: var(--white) !important;
    border-radius: 30px;
    font-weight: 500;
    font-family: "rubik";
    outline: unset !important;
    border: unset !important;
}
a.button.add_to_cart_button:hover {
    background-color: var(--black) !important;
}
.woocommerce-checkout .page-header {
    display: none;
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-formatted-money-amount,.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
    font-weight: 500 !important;
}
button.wc-block-components-button {
    background-color: var(--orange);
    border: unset !important;
    color: var(--white) !important;
    opacity: 1 !important;
    outline: unset !important;
    transition: all 0.3s !important;
    padding: 12px 24px;
    border-radius: 34px;
    height: fit-content !important;
    line-height: inherit !important;
    min-height: unset !important;
}
button.wc-block-components-button:hover{
     background-color: var(--blue);
    color: var(--white) !important;
}
input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
    outline: unset !important;
}
.wc-block-components-button__text {
    opacity: 1 !important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout {
    padding: 60px 15px !important;
    margin-inline: 0px !important;
}
.woocommerce-checkout main#content {
    max-width: 1320px !important;
}
.woocommerce-checkout .is-large .wc-block-checkout__sidebar.is-sticky {
    top: 107px !important;
}
.wc-block-components-product-metadata__description {
    display: none;
}
.product_inner li {
    background: var(--white);
    border: 1px solid #eee;
    padding: 10px 10px 20px !important;
    border-radius: 8px;
    position: relative !important;
    transition: 0.3s;
}
.product_inner li img {
    border-radius: 8px;
}
.product_inner li h2 {
    padding: 0px 0px 6px !important;
    font-size: 20px !important;
}
.product_inner li span.price * {
    font-size: 18px;
}
.product_inner  a.button.product_type_simple.add_to_cart_button {
    margin: 8px 0px 0px !important;
}
dd, dl, dt, li, ol, ul {
    background: transparent;
    border: 0;
    font-size: 100%;
    margin-block-end: 0;
    margin-block-start: 0;
    outline: 0;
    vertical-align: baseline;
    list-style-type: none;
    margin: 0;
    padding: 0;
}
.footer_icon li{
        padding-block-end: calc(6px / 2);
        align-items: var(--icon-vertical-align, center);
    display: flex;
    font-size: inherit;
}
.footer_icon svg{
        margin-right:6px !important;
        height: var(--e-icon-list-icon-size, 1em);
    width: var(--e-icon-list-icon-size, 1em);
        fill: #FFFFFF;
    transition: fill 0.3s;
        margin: var(--e-icon-list-icon-margin, 0 calc(var(--e-icon-list-icon-size, 1em) * .25) 0 0);
}
.blog_grid img {
    position: unset !important;
    transform: unset !important;
}
.featured_left span {
    color: var(--orange) !important;
}
@media(max-width: 991px){
   .event_grid {
        grid-gap: 20px;
    }
    .event_grid > a{
        width: calc(100% /3 - 10px);
    }
}
@media(max-width:767px){
   .event_grid > a{
        width: 100%;
    }
    .course_boximg  .elementor-image-box-wrapper {
        display: grid;
        grid-gap: 1px;
        grid-template-columns: auto auto;
        align-items: center;
        grid-gap: 10px;
    }
    .course_boximg .elementor-image-box-wrapper * {
        text-align: left;
    }
    .featured_inner .course_boximg figure a img {
        width: 40px !important;
        height: 40px !important;
        object-fit: contain;
    }
    .featured_inner .course_boximg figure a {
        width: 58px !important;
        height: 58px !important;
    }
	.elementor-widget-wc-archive-products .products {
        grid-template-columns: repeat(1, 1fr);
    }
}