/* 
Theme Name: St Pat's Foundation
Theme URI: https://github.com/elementor/hello-theme-child/
Description: St Pat's Foundation is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

a {
	color: #7494EA;
	font-family: "QuattrocentoSans-Bold";
}

.entry-content ul,
.elementor-widget-text-editor ul {
    margin-bottom: 1rem;
}

.mobile-slide-menu {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
    min-height: 50vh;
}

.mobile-menu-panel {
    position: absolute;
    top: 0;
    left: 100%;
    width: 100%;
    height: 100%;
    transition: transform 0.3s ease;
    overflow-y: auto;
    padding: 30px;
}

.mobile-menu-panel.is-main {
    left: 0;
}

.mobile-menu-panel.is-active {
    transform: translateX(-100%);
}

.mobile-slide-menu.is-submenu-open .mobile-menu-panel.is-main {
    transform: translateX(-100%);
}

.mobile-menu-link,
.mobile-menu-parent,
.mobile-menu-back {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 16px 0;
    text-decoration: none;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 24px;
    color: #2D3142;
}


.mobile-menu-panel .mobile-menu-link,
.mobile-menu-panel .mobile-menu-parent {
	border-radius: 0;
	border: none;
}

.mobile-menu-panel .mobile-menu-parent {
	border-bottom: 2px solid #F5F1E4;
    padding: 16px 0;
	font-family: "QuattrocentoSans-Regular";
}

.mobile-menu-panel .mobile-menu-link {
	font-size: 20px;
    padding: 8px 0;
	font-family: "QuattrocentoSans-Regular";
}

.mobile-menu-panel .mobile-menu-back {
    font-size: 16px;
    color: #797C7F;
	justify-content: start;
	gap: 10px;
}

.mobile-menu-panel .mobile-menu-link:hover,
.mobile-menu-panel .mobile-menu-parent:hover {
    color: #2D3142;
	background: transparent;
}

.mobile-menu-panel .mobile-menu-parent:hover {
	border-width: 0 0 2px 0;
	border-color: #F5F1E4;
}

.mobile-menu-panel .mobile-menu-back {
    font-size: 16px;
    color: #797C7F;
	border: none;
	padding: 16px 0;
    margin-bottom: 20px;
}

.mobile-menu-panel .mobile-menu-back:hover {
    color: #797C7F;
    background: transparent;
	border-width: 0;
    border-color: transparent;
}

.mobile-menu-panel h3 {
    margin: 0 0 20px;
    font-size: 24px;
    font-weight: bold;
    color: #00764B;
}

.board {
    margin: 0 auto;
}

.board__grid {
    display: block;
}

.board__row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3rem 2rem;
	margin: 2rem 0;
}

.board__member {
    background: transparent;
    border: 0;
	border-bottom: 0 !important;
    padding: 0;
    cursor: pointer;
    transition: transform 0.2s ease;
	text-align: left;
}

.board__member:hover, .board__member:focus {
    background: #F5F1E4;
	border: 0 !important;
}

.board__image {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: 1rem;
    border: 2px solid transparent;
    transition: border-color 0.2s ease;
}


.board__member--active {
	background: #F5F1E4 !important;
}

.board__member--active .board__image {
    border-color: #4EA0A2;
}

.board__member--active .board__title {
	text-decoration: underline;
}

.board__name {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 22px;
    color: #7494EA;
	font-family: "QuattrocentoSans-Bold";
}

.board__title {
	font-size: 16px;
	font-family: "QuattrocentoSans-Bold";
    display: block;
    color: #2D3142;
}

.board__member:hover .board__title {
	text-decoration: underline;
}

.board__bio {
    padding: 2.5rem;
    border: 1px solid #7494EA;
	position: relative;
	display: none;
	margin: 2rem 0;
}

.board__bio--active {
	display: block;
}

.board__bio p:last-child {
    margin-bottom: 0;
}

.board-bio__close {
	top: 8px;
	right: 8px;
	position: absolute;
    padding: 10px 12px;
    background: #F5F1E4;
	height: 36px;
	width: 36px;
	border-radius: 50%;
    cursor: pointer;
}

.board__bio-mobile {
	display: none;
	padding: 1rem;
    border: 1px solid #7494EA;
}

.board__bio-mobile--active {
    display: block;
}

@media (max-width: 1024px) {
    .board__row {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
	
    .board__row {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .board__bio {
        padding: 2rem;
		display: none;
    }
}