/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/
body{overflow-x: hidden;}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 18px;
    padding-right: 40px;
}
body .main-navigation .menu-item-has-children { position: relative; }
body .main-navigation .menu-item-has-children .dropdown-menu-toggle .icon-arrow { display: inline-flex; align-items: center; transition: transform 0.3s ease; }
body .main-navigation .menu-item-has-children:hover > a .icon-arrow,
body .main-navigation .menu-item-has-children:focus-within > a .icon-arrow,
body .main-navigation .menu-item-has-children.sfHover > a .icon-arrow { transform: rotate(180deg); }
body .main-navigation ul.sub-menu { position: absolute; top: 100%; left: 50%; min-width: 240px; margin: 0; padding: 10px 0; list-style: none; background: #ffffff; border-radius: 14px; box-shadow: 0 12px 32px rgba(51, 51, 51, 0.14); border: 1px solid var(--f3f5e9, #f3f5e9); opacity: 0; visibility: hidden; transform: translateX(-50%) translateY(10px); transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease; z-index: 100; }
body .main-navigation ul.sub-menu::before { content: ""; position: absolute; top: -7px; left: 50%; margin-left: -7px; width: 14px; height: 14px; background: #ffffff; border-left: 1px solid var(--f3f5e9, #f3f5e9); border-top: 1px solid var(--f3f5e9, #f3f5e9); transform: rotate(45deg); }
body .main-navigation .menu-item-has-children:hover > ul.sub-menu,
body .main-navigation .menu-item-has-children:focus-within > ul.sub-menu,
body .main-navigation .menu-item-has-children.sfHover > ul.sub-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
body .main-navigation ul.sub-menu li { margin: 0; width: 100%; }
body .main-navigation ul.sub-menu li a,
body .main-navigation .menu-item-has-children ul.sub-menu li a { display: block; padding: 12px 24px; font-family: var(--gp-font--plus-jakarta-sans, sans-serif); font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--333333) !important; background: transparent; white-space: nowrap; position: relative; transition: color 0.25s ease, background 0.25s ease, padding-left 0.25s ease; }
body .main-navigation ul.sub-menu li a::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%) scaleY(0); width: 3px; height: 60%; background: var(--113f24); border-radius: 0 3px 3px 0; transition: transform 0.25s ease; }
body .main-navigation ul.sub-menu li a:hover,
body .main-navigation ul.sub-menu li a:focus,
body .main-navigation ul.sub-menu li.current-menu-item a,
body .main-navigation ul.sub-menu li.current-menu-item a:hover { color: var(--113f24) !important; background: rgba(17, 63, 36, 0.06) !important; padding-left: 28px; }
body .main-navigation ul.sub-menu li a:hover::before,
body .main-navigation ul.sub-menu li a:focus::before,
body .main-navigation ul.sub-menu li.current-menu-item a::before { transform: translateY(-50%) scaleY(1); }
body .main-navigation:not(.toggled) ul li.sfHover>ul, 
body .main-navigation:not(.toggled) ul li:hover>ul{left: 50%;}
@media (max-width: 1229px) {
	body .menu-item-has-children .dropdown-menu-toggle {
	    padding-right: 20px;
	}
} 
@media screen and (max-width: 600px) {
    #wpadminbar {
        position: fixed;
    }
}
@media (max-width: 768.5px) { 
	body .main-navigation ul.sub-menu { position: static; left: auto; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: none; border-radius: 0; padding: 0; min-width: 100%; background: rgba(17, 63, 36, 0.04); }
	body .main-navigation ul.sub-menu::before { display: none; }
	body .main-navigation ul.sub-menu li a { padding: 12px 30px; }
	body .main-navigation ul.sub-menu li a, 
	body .main-navigation .menu-item-has-children ul.sub-menu li a{color: var(--white) !important;}
	body .main-navigation ul.sub-menu li a:hover,
	body .main-navigation ul.sub-menu li a:focus { padding-left: 34px; background: #F3F5E9 !important;color: var(--2d5527) !important;}
	body .main-navigation .menu-item-has-children.sfHover > ul.sub-menu {transform: translateX(-0%) translateY(0);}
	body .main-navigation.toggled .menu-item-has-children .dropdown-menu-toggle{padding: 10px 15px;display: flex;}
	body .main-navigation .main-nav ul li.menu-item-has-children>a{display: flex;align-items: center; justify-content: space-between;}
	body .main-navigation .main-nav ul li.menu-item-has-children>a .gp-icon svg{width: 24px;height: 24px;}
	body .main-navigation .menu-item-has-children .dropdown-menu-toggle .icon-arrow{transition: transform 0.0s;}
	body .main-navigation{position: fixed;}
	body .main-navigation.toggled{height: 100dvh;}
	body .site-header { position: sticky; top: 0; z-index: 99; transition: transform 0.3s ease; }
	body .site-header + .main-navigation{transition: transform 0.3s ease;}
	body.admin-bar .site-header {top: 46px;}
	body .site-header.header-hidden, body .site-header.header-hidden + .main-navigation{transform: translateY(-80px);}
	body .main-navigation ul.sub-menu li.current-menu-item a,
	body .main-navigation ul.sub-menu li.current-menu-item a:hover{ color: var(--white) !important;}
	body .main-navigation.toggled .main-nav{height: 100dvh;overflow: auto;}
	html.mobile-menu-open body{overflow: hidden;}
	.nav-below-header .main-navigation .inside-navigation.grid-container{padding-right: 0 !important;}
}