/*
Theme Name: Hello Elementor Child
Theme URI: https://example.com/
Description: Child theme for Hello Elementor
Author: Adnan Ali
Author URI: https://handybuilds.com
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/


/* =====================================
   Base Typography (Fluid Headings)
===================================== */

h1 {
	font-size: clamp(2.5rem, 3.241vw + 0.944rem, 3.375rem);
}

h2 {
	font-size: clamp(2rem, 6.467vw - 1.1rem, 3.75rem);
}

h3 {
	font-size: clamp(1.75rem, 4.619vw - 0.464rem, 3rem);
}

h4 {
	font-size: clamp(1.5rem, 4.157vw - 0.493rem, 2.625rem);
}

h5 {
	font-size: clamp(1.188rem, 3.002vw - 0.252rem, 2rem);
}

h6,
.font-size-24 h2,
.font-size-24 h3,
.font-size-24 h4,
.font-size-24 h5,
.font-size-24 h6 {
	font-size: clamp(1.25rem, 0.924vw + 0.807rem, 1.5rem);
}


/* Custom Font Size Helpers */

.font-size-39 h2,
.font-size-39 h3,
.font-size-39 h4,
.font-size-39 h5,
.font-size-39 h6,
.font-size-39 p {
	font-size: clamp(1.5rem, 3.464vw - 0.161rem, 2.438rem);
}

.font-size-26 h2,
.font-size-26 h3,
.font-size-26 h4,
.font-size-26 h5,
.font-size-26 h6 {
	font-size: clamp(1.25rem, 1.386vw + 0.586rem, 1.625rem);
}

.font-size-22 h2,
.font-size-22 h3,
.font-size-22 h4,
.font-size-22 h5,
.font-size-22 h6 {
	font-size: clamp(1.125rem, 0.924vw + 0.682rem, 1.375rem);
}

.font-size-50 h1 {
	font-size: clamp(2.5rem, 2.309vw + 1.393rem, 3.125rem);
}


/* =====================================
   Heading Links (Elementor Kit) & Menu Links & Links
===================================== */

.elementor-kit-7 h2 a,
.elementor-kit-7 h3 a,
.elementor-kit-7 h4 a,
.elementor-kit-7 h5 a,
.elementor-kit-7 h6 a {
	font-family: "Playfair Display";
	transition: all 0.2s linear;
}

.elementor-kit-7 h2 a:hover,
.elementor-kit-7 h3 a:hover,
.elementor-kit-7 h4 a:hover,
.elementor-kit-7 h5 a:hover,
.elementor-kit-7 h6 a:hover {
	color: #c63636 !important;
}

.post-content-ctn h1,
.post-content-ctn h2,
.post-content-ctn h3,
.post-content-ctn h4,
.post-content-ctn h5,
.post-content-ctn h6 {
	color: #000;
}

.post-content-ctn .elementor-post__title {
	margin-bottom: 0 !important;
}

.footer-menu .elementor-item:hover {
	color: #c63636 !important;
}

.copyright a {
	transition: all .2s linear;
}

/* =====================================
   Site/Theme Styles
===================================== */

body {
	overflow-x: hidden;
}

.section-tag p {
	margin-bottom: 0;
}

.contact-info-card a:focus {
	color: #0b1f3b !important;
}

.elementor-post-navigation {
	gap: 20px;
}

.logged-in-as {
	color: black;
}

.focus-area-column {
    height: 100%;
    justify-content: space-between;
}

.logo-slider .swiper-slide img {
	max-width: 120px;
    max-height: 120px;
}

.logo-slider .elementor-swiper-button:hover svg path,.elementor-swiper-button:hover svg path {
	fill: #000;
}

.swiper-button-lock {
	display: none !important;
}

.e-gallery-item .e-gallery-image {
	background-size: 60%;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #F4F6F8;
}

/* =====================================
   Forms Styles
===================================== */

.contact-form input {
	height: 82px;
}

.contact-form input, 
.contact-form textarea {
	padding: 28px;
}

input::placeholder,
textarea::placeholder,
.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color: #ffffff6e !important;
}

.comment-form label {
	color: #0B1F3B;
    font-size: 18px;
    margin-bottom: 10px;
}

.comment-form input, .comment-form textarea {
    padding: 28px;
    background-color: #0B1F3B08;
	border-radius: 8px 8px 0 0 ;
    border: none;
    border-bottom: 1px solid #0b1f3b;
}

#comments .comment-meta {
	justify-content: flex-start;
    gap: 20px;
}

.comment-meta,
.comment-content {
	color: #0B1F3B;
}

.comment-form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 24px;
}

.comment-form p {
	width: 100%;
    margin-bottom: 0;
}

.comment-notes {
    color: #0B1F3B;
    order: 1;
}

.comment-form-author {
    order: 2;
}

p.comment-form-email,
p.comment-form-author {
	width: calc(50% - 4px);
}

.comment-form-email {
    order: 3;
}

.comment-form-url {
    order: 4;
}

.comment-form-comment {
    order: 5;
}

.comment-form-cookies-consent {
    order: 6;
}

.form-submit {
    order: 7;
}

/* =====================================
   Header Styling
===================================== */

.header_container {
	backdrop-filter: blur(10px);
}


/* Navigation */

.header-nav,
.header-cta {
	max-width: max-content;
}

.header-nav a.elementor-item {
	border-radius: 15px;
}

.header-nav a.elementor-item:hover,
.header-nav a.elementor-item-active {
	background-color: #ffffff;
}


/* Search Bar */

.header-search-bar {
	width: auto;
}

.header-search-bar .e-search-input-wrapper {
	position: fixed !important;
    top: 0;
    right: auto !important;
    left: -20px !important;
    width: 300px;
    opacity: 0;
    visibility: hidden;
    padding: 20px;
    transition: all 0.3s ease;
    width: calc(100vw - 15px);
    height: 100vh;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #0b1f3bf0;
}

.header-search-bar .e-search-input-wrapper svg {
	right: 40px !important;
}

.header-search-bar .e-search-input-wrapper.active {
	opacity: 1;
	visibility: visible;
}

.e-search-submit {
	cursor: pointer;
	z-index: 9;
}

.e-search-input-wrapper .e-search-input {
	height: 60px;
	min-height: 60px;
}


/* =====================================
   Newsletter Form
===================================== */

.newsletter-form #form-field-email {
	padding: 9px 21px;
}

.newsletter-form .elementor-field-type-submit {
	position: absolute;
	top: 10px;
	right: 14px;
	width: 29px;
	height: 29px;
}

.newsletter-form .elementor-button.elementor-size-sm {
	min-width: 29px;
	min-height: 29px;
}

/* =====================================
   Layout Helpers
===================================== */

.line-height-15 h3 {
	line-height: 1.5;
}

.image-inside-text img {
	position: relative;
	top: 11px;
}

.white-container h2,
.white-container h3,
.white-container h4,
.white-container h5,
.white-container h6 {
	color: #000000;
}


/* =====================================
   Policy CTA Animation
===================================== */

.policies-cta a.elementor-element.e-child .elementor-widget-heading {
	border-color: #ffffff;
}

.policies-cta a.elementor-element.e-child:hover .elementor-widget-heading {
	animation: bgMove 1.5s ease-in-out infinite;
}

@keyframes bgMove {
	0% {
		background-position: right 0 top 43px;
	}
	50% {
		background-position: right 10px top 43px;
	}
	100% {
		background-position: right 0 top 43px;
	}
}


/* =====================================
   Icon Styling
===================================== */

/* Circle Icons */

.coloured-circle-icon .elementor-icon {
	width: 65px;
	height: 65px;
	margin: 0 auto;
	border-radius: 50%;
	background-color: #c63636;
	display: flex;
	align-items: center;
	justify-content: center;
}

.coloured-circle-icon .elementor-icon svg {
	max-width: 30px;
	max-height: 30px;
}

/* Icon Lists */

.elementor-icon-list-icon,
.event-icon-list .elementor-icon-list-icon {
	width: 25px !important;
	height: 25px;
	background-color: #ffffff1a;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}


.tec-events-elementor-event-widget__datetime,
.tec-events-elementor-event-widget__venue-address-address {
	position: relative;
	padding-left: 33px !important;
}

.tec-events-elementor-event-widget__datetime span,
.tec-events-elementor-event-widget__venue-address-address span {
	    font-family: "Inter", Sans-serif !important;
}

.tec-events-elementor-event-widget__venue-address-address {
	width: 100%;
}

.tec-events-elementor-event-widget__datetime-date {
	padding-left: 0 !important;
}

.tec-events-elementor-event-widget__datetime::before,
.tec-events-elementor-event-widget__venue-address-address::before {
	content: "";
    position: absolute;
    top: -2px;
    left: 0;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: #FFFFFF21;
    background-repeat: no-repeat;
    background-size: 10px;
    background-position: center;
}

.tec-events-elementor-event-widget__venue-container {
	grid-template-columns: 1fr !important;
}

.tec-events-elementor-event-widget__datetime::before {
	    background-image: url(https://amcham.co.ke/wp-content/uploads/2026/02/calender-icon.svg);
}

.tec-events-elementor-event-widget__venue-address-address::before {
	background-image: url(https://amcham.co.ke/wp-content/uploads/2026/02/location-icon.svg);
}

.tec-events-elementor-event-widget__venue-container {
	  margin: 0 !important;
    border: none !important;
}

.tec-events-elementor-event-widget__venue-details {
  	margin: 0 !important;
    padding: 0 !important;
}

.tec-events-elementor-event-widget__venue-address {
	margin-bottom: 0 !important;
}

.tec-events-elementor-event-widget__venue-address-address {
	font-style: normal;
}

.tec-events-elementor-event-widget__categories-link-wrapper a:hover {
	color: #c63636 !important;
	transition: all .3s ease-in-out;
}

.event-icon-list .elementor-icon-list-icon svg {
	position: relative;
	left: 2px;
	width: 10px;
	height: 10px;
}

.event-icon-list .elementor-icon-list-item {
	gap: 3px;
}

.tec-events-elementor-event-widget__image {
	line-height: .6;
    margin-bottom: 0;
}

.elementor-icon-list-item {
	width: 100%;
}

.elementor-post-info {
	gap: 23px;
}


/* =====================================
   Slider / Swiper
===================================== */

.three-columns-slider .swiper,
.testimonial-slider .swiper {
	overflow: visible;
}

.testimonial-slider .swiper {
	padding-right: 10%;
}

.elementor-swiper-button svg path {
	transition: all 0.2s linear;
}

.white-container .elementor-swiper-button svg path {
	fill: #000000;
}

.elementor-swiper-button:hover svg path {
	fill: #ffffff;
}


/* =====================================
   Responsive Styles
===================================== */


/* Large Tablets / Small Laptops */

@media (min-width: 1025px) and (max-width: 1300px) {

	.header-nav {
		padding: 10px;
	}

	.header-search-bar .e-search-submit {
		padding: 16px !important;
	}

	.header-cta {
		gap: 12px;
	}

	.contact-us-button .elementor-button-link {
		padding: 14px 18px;
		font-size: 14px !important;
	}

	.header-nav a.elementor-item {
		font-size: 14px !important;
		padding: 6px !important;
		margin: 0 3px !important;
	}
}


/* Tablets */

@media screen and (max-width: 1024px) {

	.contact-us-button .elementor-button {
		border: 1px solid #ffffff !important;
        background-color: transparent !important;
	}

	.header-nav {
		position: absolute;
		top: 21px;
		right: 17px;
		background-color: transparent !important;
	}

	.elementor-nav-menu--dropdown {
		position: fixed;
		top: 75px;
		right: 0;
		width: 100%;
		padding: 10px;
	}
    .elementor-menu-toggle.elementor-active {
    	background-color: #c63636 !important;
        border-color: #c63636 !important;
    }
    p.comment-form-email,
    p.comment-form-author {
	width: 100%;
}
}


/* Mobile */

@media screen and (max-width: 767px) {

	/* Taxonomy Filter Scroll */

	.elementor-widget-taxonomy-filter .e-filter {
		width: calc(100% + 20px);
        padding-right: 20px;
        padding-bottom: 16px;
        display: flex;
        justify-content: flex-start;
        flex-wrap: nowrap;
        white-space: nowrap;
        overflow-x: auto !important;
        overflow-y: hidden;
        scrollbar-width: thin; /* Firefox */
        scrollbar-color: #c63636 #e9e9e9; /* Firefox */
        -webkit-overflow-scrolling: touch;
	}

	.elementor-widget-taxonomy-filter {
		position: relative;
	}

	.elementor-widget-taxonomy-filter::before {
		content: '';
		position: absolute;
		right: -20px;
		bottom: 0;
		width: 20px;
		height: 5px;
		background-color: #ffffff;
	}


	/* Custom Scrollbar */

	.e-filter::-webkit-scrollbar {
		height: 5px;
	}

	.e-filter::-webkit-scrollbar-track {
		background: #e9e9e9;
		border-radius: 10px;
	}

	.e-filter::-webkit-scrollbar-thumb {
		background: #c63636;
		border-radius: 10px;
	}


	/* Mobile Search */

	.header-search-bar .e-search-input-wrapper {
		position: fixed;
		top: 90px;
		left: 0;
		width: 100%;
	}

	.elementor-nav-menu--dropdown {
		top: 60px;
	}
    .contact-info-card a {
    	font-size: 14px;
    }
}