/*
Theme Name: Erikson HBCC 2025
Author: Waldinger Creative
Author URI: https://creativew.com/
Template: hello-elementor
Version: 1.0.2
Text Domain: hbcc
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* Global */

:root {
	font-size: 62.5%;
}

.elementor-kit-10 {
	--text:         var(--e-global-color-primary);
	--white:        var(--e-global-color-secondary);
	--dark-blue:    var(--e-global-color-text);
	--light-blue:   var(--e-global-color-accent);
	--orange:       var(--e-global-color-464ca6c);
	--yellow:       var(--e-global-color-1aad5b9);
	--red:          var(--e-global-color-35964b4);
	--green:        var(--e-global-color-00bcbcb);
	--darker-gray:  var(--e-global-color-44bbeea);
	--lighter-gray: var(--e-global-color-66b4b0a);
	--blue-2:       var(--e-global-color-149624f);

	--standard-transition: background-color 0.3s, color 0.3s, opacity 0.3s;

	--load-more—spacing: 3.5rem;
}

:is(p, ul, ol, li, blockquote):last-child {
	margin-bottom: 0;
}

.e-con .e-con-full {
	--container-default-padding-right: 0;
	--container-default-padding-left: 0;
}

a, .elementor-button {
	text-underline-offset: 1px;
	transition: var(--standard-transition), text-underline-offset 0.3s, box-shadow 0.3s;
}
:is(a, .elementor-button):is(:hover, :focus) {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.elementor-widget-button.style-outline .elementor-button {
	color: white;
	background-color: transparent;
	border: 2px solid;
	padding: 8px 15px;
}
.card .elementor-widget-button.style-outline .elementor-button {
	color: inherit;
}
.e-loop__load-more {
	color: white;
	margin-top: 1rem;
}

:focus-visible {
	outline-color: var(--orange);
}
.screen-reader-text:focus {
	font-size: 1.8rem;
}

.home #pre-footer {
	display: none;
}
#site-footer a.elementor-social-icon:focus {
	background-color: var(--light-blue);
}


/* Header menu */

[id] {
	scroll-margin-top: 100px;
}

.elementor-nav-menu .menu-item-has-children {
	padding-right: 25px;
}
.elementor-nav-menu .sub-arrow {
	fill: currentColor !important;
	padding-left: 5px;
	position: absolute;
	left: 100%;
}
.elementor-nav-menu .sub-menu {
	padding-top: 1em !important;
}

.elementor-nav-menu .current-menu-ancestor > a {
	color: var(--red) !important;
}
.elementor-nav-menu .current-menu-item > a:is(:hover, :focus),
.elementor-nav-menu .current-menu-ancestor > a:is(:hover, :focus) {
	color: var(--dark-blue) !important;
}
.elementor-nav-menu .current-menu-ancestor > a::after {
	background-color: var(--red) !important;
	opacity: 1 !important;
}
.elementor-nav-menu .current-menu-item > a:is(:hover, :focus)::after,
.elementor-nav-menu .current-menu-ancestor > a:is(:hover, :focus)::after {
	background-color: var(--dark-blue) !important;
}
.elementor-nav-menu .sub-menu a:is(:hover, :focus) {
	color: var(--dark-blue) !important;
	text-decoration: underline;
}

.elementor-nav-menu.sm-vertical .menu-item-has-children {
	padding-right: 0;
}
.elementor-nav-menu.sm-vertical a,
.elementor-nav-menu.sm-vertical .sub-arrow {
	display: inline-block;
	text-decoration: none !important;
}
.elementor-nav-menu.sm-vertical .sub-menu {
	margin-top: 0 !important;
	margin-left: 0 !important;
	position: relative;
}

.e-off-canvas .elementor-nav-menu .current-menu-item > a:is(:hover, :focus),
.e-off-canvas .elementor-nav-menu .current-menu-ancestor > a:is(:hover, :focus) {
	color: var(--orange) !important;
}
.e-off-canvas .elementor-nav-menu .current-menu-item > a:is(:hover, :focus)::after,
.e-off-canvas .elementor-nav-menu .current-menu-ancestor > a:is(:hover, :focus)::after {
	background-color: var(--orange) !important;
}
.e-off-canvas .elementor-nav-menu .sub-menu a:is(:hover, :focus) {
	color: var(--orange) !important;
}
.e-off-canvas .elementor-nav-menu .current-menu-ancestor > a {
	color: var(--red) !important;
}

@media (min-width: 768px) {
	body.admin-bar .e-off-canvas__content {
		margin-top: 30px;
	}
}
@media (max-width: 767px) and (min-width: 601px) {
	body.admin-bar .e-off-canvas__content {
		margin-top: 45px;
	}
}


/* Header search */

.header-search {
	transition: width 0.5s !important;
	will-change: width;
}
.header-search:focus-within {
	width: 20rem !important;
}
.e-off-canvas__content .header-search:focus-within {
	width: 100% !important;
}
.header-search .e-search-input {
	padding: 5px 3.5em 5px 15px !important;
	min-height: 30px !important;
}
.header-search .e-search-submit {
	margin-left: -4.6rem !important;
	padding: 5px 15px;
	z-index: 1;
	transition: all 0.3s;
}
.header-search .e-search-input:focus {
	outline: 3px solid var(--red);
	outline-offset: 3px;
}
.header-search .e-search-submit:is(:hover, :focus) {
	box-shadow: 0 0 2rem #000a;
	scale: 1.1;
}


/* Page hero */

.page-hero {
	background-color: var(--dark-blue);
	color: white;
	overflow: hidden;
}


/* Stylized image borders */

.stylized-border {
	border-radius: 30px;
	border-color: var(--stylized-border-color);
	border-style: solid;
	border-width: 22px;
	width: max-content;
}
.stylized-border-width-thin {
	border-radius: 20px;
	border-width: 15px;
}
.stylized-border img {
	outline: 6px solid var(--stylized-border-color);
}
.stylized-border img,
.elementor-widget-hbcc_photo_grid img {
	display: block;
	border-radius: 6px;
	object-fit: cover;
}
.elementor-widget-hbcc_photo_grid .img1-wrapper img {
	aspect-ratio: var(--img1-width-int) / var(--img1-height-int);
	height: auto !important;
}
.elementor-widget-hbcc_photo_grid .img2-wrapper img {
	aspect-ratio: var(--img2-width-int) / var(--img2-height-int);
	height: auto !important;
}

.elementor-widget-hbcc_photo_grid .elementor-widget-container {
	position: relative;
	width: calc(var(--img1-width) + var(--img2-width) + 74px - 125px);
	max-width: 100%;
	--total-width-int: (var(--img1-width-int) + var(--img2-width-int) + 74 - 125);
	--height-ratio: ((var(--img1-height-int) + 44) / var(--total-width-int)) * 100%;
	aspect-ratio: calc( var(--total-width-int) / (var(--img1-height-int) + 44) );
	height: auto !important;
}
.photo-grid-position-bottom-left .elementor-widget-container,
.photo-grid-position-bottom-right .elementor-widget-container {
	aspect-ratio: calc( var(--total-width-int) / (var(--img1-height-int) + 44 + 40) );
}

.elementor-widget-hbcc_photo_grid .img1-wrapper,
.elementor-widget-hbcc_photo_grid .img2-wrapper {
	position: absolute;
}
.elementor-widget-hbcc_photo_grid .img1-wrapper {
	top: 0;
	width: calc( ((var(--img1-width-int) + 44) / var(--total-width-int)) * 100%);
}
.photo-grid-position-top-left .img1-wrapper,
.photo-grid-position-bottom-left .img1-wrapper {
	right: 0;
}
.photo-grid-position-top-right .img1-wrapper,
.photo-grid-position-bottom-right .img1-wrapper {
	left: 0;
}
.elementor-widget-hbcc_photo_grid .img2-wrapper {
	width: calc( ((var(--img2-width-int) + 30) / var(--total-width-int)) * 100%);
}
.photo-grid-position-top-left .img2-wrapper {
	top: 50px;
	left: 0;
}
.photo-grid-position-top-right .img2-wrapper {
	top: 50px;
	right: 0;
}
.photo-grid-position-bottom-left .img2-wrapper {
	bottom: 0;
	left: 0;
}
.photo-grid-position-bottom-right .img2-wrapper {
	bottom: 0;
	right: 0;
}

.elementor-widget-hbcc_photo_grid {
	container: photo-grid-container / inline-size;
	width: 100%;
	display: inherit;
	flex-direction: inherit;
	justify-content: inherit;
	align-items: inherit;
}
@container photo-grid-container (width < 400px) {
	.stylized-border.stylized-border-width-thick {
		border-width: 15px;
		border-radius: 20px;
	}
	.stylized-border.stylized-border-width-thin {
		border-width: 10px;
		border-radius: 10px;
	}
	.photo-grid-position-top-left .img2-wrapper,
	.photo-grid-position-top-right .img2-wrapper {
		top: 35px;
	}
}


/* Cards */

.card .elementor-widget-image img {
	aspect-ratio: 433 / 235;
	object-fit: cover;
}
.card img.wp-image-99 { /* Fallback image */
	object-fit: contain;
}
a.elementor-post-info__terms-list-item {
	color: inherit;
}
.e-loop-item:not(.type-page) .elementor-inline-item:has(.elementor-post-info__item--type-custom) {
	display: none;
}
.category-research-essentials-toolkit .card .elementor-widget-theme-post-excerpt {
	display: none;
}
.category-research-essentials-toolkit .card .elementor-widget-button {
	margin-top: 10px !important;
}


/* Forms */

.elementor-form {
	max-width: 850px;
}
.elementor-form-fields-wrapper,
.elementor-field-group {
	row-gap: 1rem;
}
.elementor-field-type-submit.elementor-col-100 {
	width: auto;
}
.e-form__buttons .elementor-button-text {
	white-space: nowrap;
}

#footer-newsletter-form {
	width: 100%;
	max-width: 850px;
}
#footer-newsletter-form .elementor-form-fields-wrapper {
	flex-direction: row;
}
#footer-newsletter-form .elementor-field-group {
	width: auto;
}
#footer-newsletter-form .elementor-field-type-text {
	flex-grow: 1;
}
#footer-newsletter-form .elementor-field-type-email {
	flex-grow: 2.5;
}
#footer-newsletter-form .elementor-field {
	border-radius: 2rem;
	padding: 8px 15px;
}
#footer-newsletter-form .elementor-button {
	color: white;
	background-color: transparent;
	border: 2px solid;
	padding: 8px 15px;
}
#footer-newsletter-form .elementor-button:is(:hover, :focus) {
	background-color: var(--lighter-gray);
	text-decoration: underline;
}
@media (max-width: 767px) {
	#footer-newsletter-form .elementor-field-group {
		width: 100%;
	}
}


/* Block editor content */

.elementor-widget-theme-post-content > *:not(:last-child) {
	margin-bottom: 2rem;
}
.wp-block-list li + li {
	margin-top: 5px;
}
:root :where(.wp-element-button, .wp-block-button__link) {
	background-color: var(--darker-gray);
	border-radius: 2rem;
	color: white !important;
	display: inline-block;
	font-size: 1.6rem;
	line-height: 1.22;
	padding: 1rem 2rem;
	text-transform: uppercase;
}
:where(.wp-element-button, .wp-block-button__link):is(:hover, :focus) {
	background-color: var(--lighter-gray);
}
.alignleft, .alignright {
	max-width: 50%;
}
.alignleft {
	margin-right: 3rem;
}
.alignright {
	margin-left: 3rem;
}
@media (max-width: 640px) {
	.alignleft, .alignright {
		margin-left: auto;
		margin-right: auto;
		max-width: 100%;
	}
}
