/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi/
Version: 1.0.2
Description: Divi child theme
Author:  Kat Clark
Author URI: https://kat-clark.dev
Template:     Divi
Text Domain:  Divi-child
*/


@font-face {
  font-family: 'La Nord';
  src: url('fonts/LaNord-Regular.woff2') format('woff2'); 
  font-weight: normal; 
  font-style: normal;
  font-display: swap;
}

/* Divi Overrides */
.et_pb_image .et_pb_image_wrap img[src*=".svg"] { width: 100% !important; }
.et_pb_sticky_placeholder { pointer-events: none !important; }
.et_pb_module:not(:last-child) { margin-bottom: 20px; }
.et_pb_gallery .et_pb_gallery_item.et_slide_transition { display: block !important; }
.et_pb_blurb.et_clickable:hover .et_pb_module_header { opacity: 0.5; }

@media (min-width: 981px) {
	.et_pb_equal_columns > .et_pb_column { margin-top: auto; margin-bottom: auto; }
	.et_pb_module:not(:last-child) { margin-bottom: 30px; }
	.et_pb_column_2_3 { width: calc(((100% - 40px) / 3) * 2 + 20px) !important; }
}

/* Tweaks */
body.tabbing :focus { outline-offset: 2px; outline: 2px solid #69b3e3; }
.grecaptcha-badge { opacity: 0 !important; }

/* Text */
body { font-size: 18px !important; }
@media (min-width: 981px) {
	body { font-size: 24px !important; }
}

sub, sup { font-size: .6em; height: 0; line-height: 1; position: relative; vertical-align: baseline; }
sup { bottom: .8em; }

/* Headings */
.et_pb_heading_container { font-size: 24px; }
.Heading { padding: 0; line-height: 1.25em; }
.Heading--small { font-size: 18px !important; }
.Heading--large { font-size: 24px; }

@media (min-width: 981px) {
	.Heading--small { font-size: 24px !important; }
	.Heading--large { font-size: 42px; }
	.et_pb_heading_container { font-size: 42px; }
}

/* Media */
.Media { display: block; overflow: hidden; margin: 0 0 20px 0; }
.Media img,
.Media video { display: block; width: 100%; margin: 0; padding: 0; }
.Media--cover img,
.Media--cover video { height: 100%; object-fit: cover; }
.Media--contain img,
.Media--contain video { height: 100%; object-fit: contain; }
.Media--square { aspect-ratio: 1; }
.Media--landscape { aspect-ratio: 680 / 470; }

/* Modals */
.Modal { position: fixed; width: 100vw; max-width: 100vw; height: 100vh; height: 100dvh; max-height: 100dvh; margin: 0; padding: calc(var(--header-height,80px) + 60px) 0 60px; border: 0; background: #fff; color: #000; top: 0; right: 0; bottom: 0; left: 0; z-index: 999; display: flex !important; justify-content: center; opacity: 1; transition: opacity 0.35s ease-in-out; }
.Modal__Content { width: 100%; max-height: 100%; max-width: 2000px; padding: 10px; overflow: auto; z-index: 2; }
.Modal[hidden] { opacity: 0; pointer-events: none; }

#search-modal { z-index: 9; }

#AOC { background: #F5A2C6; flex-direction: column; align-items: center; justify-content: space-between; padding: 10px; transition: transform 0.5s ease-in-out; transform: translateY(-100%); opacity: 1; pointer-events: none; }
#AOC.Modal[open] { transform: translateY(0); pointer-events: auto; }
#AOC::before { content: ""; display: block; }
#AOC .Modal__Content { font-size: 24px; line-height: 1.25; text-align: center; max-width: 945px; }
@media (min-width: 767px) {
	.Modal__Content { padding: 20px; }
}
@media (min-width: 981px) {
	.Modal__Content { padding: 30px; }
	#AOC { padding: 30px; }
	#AOC .Modal__Content { font-size: 42px; }
}

/* Buttons / Links */
a:not(.et_pb_button):hover { opacity: 0.5; }
a[href^="http"]:not([href*="fruitflycircus.com.au"])::after,
.et_pb_module:not(.et_pb_code) a[href^="http"]:not([href*="fruitflycircus.com.au"])::after,
body.et_button_no_icon a.et_pb_button[href^="http"]:not([href*="fruitflycircus.com.au"])::after { content: "\2197" !important; display: inline-block !important; font-family: 'La Nord', sans-serif !important; position: static !important; font-size: inherit; margin-left: .5em; line-height: 1; opacity: 1 !important; transform: none !important; vertical-align: text-bottom; }
body.et_button_no_icon a.et_pb_button[href*="fruitflycircus.com.au"]::after { content: none !important; }

/* Buttons */
.Button { cursor: pointer; display: block; position: relative; color: currentcolor; font-size: 18px; -webkit-appearance: none; appearance: none; border-radius: 0; border: 0; }
.Button--square { width: 44px; height: 44px; padding: 0; }
.Button--transparent { border: none; background-color: transparent; }
.Button--close { position: absolute; z-index: 12; top: 4vw; right: 4vw; transition: all 0.35s ease-in-out; }
.Button--down { text-align: center; }
.Button--down .et-pb-icon { display: block; font-size: 2em; }
.Button--hamburger { position: relative; z-index: 10; transition: all 0.35s ease-in-out; }
.Button--hamburger::before,
.Button--hamburger::after,
.Button--hamburger .patty,
.Button--close::before,
.Button--close::after { content: ''; background-color: currentColor; display: block; position: absolute; left: 0; right: 0; top: 0; bottom: 0; width: 2.5px; height: 60%; margin: auto; transform: rotate(90deg); transition: all 0.35s ease-in-out; }
.Button--close::before { transform: rotate(-45deg); }
.Button--close::after { transform: rotate(45deg); }
.Button--hamburger::before { transform: translateY(-30%) rotate(90deg); }
.Button--hamburger::after { transform: translateY(30%) rotate(90deg); }
.Button--search { z-index: 10; }
.Button--search::after { content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21' fill='none'><path d='M13.25 13.409L19.5667 19.5667' stroke='black' stroke-width='2.5' stroke-linecap='round'/><circle cx='8.125' cy='8.125' r='6.875' stroke='black' stroke-width='2.5'/></svg>"); display: block; width: 21px; height: 21px; position: absolute; left: 3%; right: 0; top: 0; bottom: 0; margin: auto; }

@media (min-width: 981px) {
	.Button--hamburger::before,
	.Button--hamburger::after,
	.Button--hamburger .patty,
	.Button--close::before,
	.Button--close::after { height: 60%; }
	.Button { font-size: 24px; }
}

.wp-block-buttons { padding-bottom: 0.6em; }
.wp-block-buttons .wp-block-button__link { text-decoration: none !important; color: #000000 !important; font-family: 'La Nord', Helvetica, Arial, Lucida, sans-serif !important; background-color: #f5a2c6; padding-top: 0.05em !important; padding-right: 0.6em !important; padding-bottom: 0.05em !important; padding-left: 0.6em !important; line-height: 1.7em!important; opacity: 1 !important; }
.wp-block-buttons .wp-block-button__link:hover { background-color: #f0513f !important; }

body.light-header:not(.menu-open) .et_builder_inner_content:not(.has_et_pb_sticky) .Button--hamburger { color: #fff; }
body.light-header:not(.menu-open) .et_builder_inner_content:not(.has_et_pb_sticky) .et_pb_section_0_tb_header .Button--search { filter: invert(1); }

/* Search */
.search-form { display: flex; width: 100%; border-bottom: 1px solid #000; }
.search-field { flex: 1 1 100%; font-size: 24px; color: #000; -webkit-appearance: none; appearance: none; border-radius: 0; border: 0;  }
.search input[type="search"]::-webkit-search-cancel-button,
.search input[type="search"]::-webkit-search-decoration { -webkit-appearance:none; appearance:none; }
input[type="search"]::placeholder { color: #000; }

@media (min-width: 981px) {
	.search-field { font-size: 42px; }
}

/* Links */
.Link { cursor: pointer; }
.Link--full { position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: 1; text-indent: -200vw; overflow: hidden; }

/* Hamburger */
#main-navigation { background-color: #fff; width: 100vw; height: 100vh; overflow: auto; position: fixed; top: 0; right: 0; z-index: 9; display: flex; flex-direction: column; padding: var(--header-height, 70px) 0 0 0; opacity: 0; pointer-events: none; transition: opacity 0.35s ease-in-out; }
body.admin-bar #main-navigation { top: 32px; }
.Button--hamburger[aria-expanded="true"]::before { transform: rotate(-45deg); }
.Button--hamburger[aria-expanded="true"]::after { transform: rotate(45deg); }
.Button--hamburger[aria-expanded="true"] .patty { opacity: 0; }
.Button--hamburger[aria-expanded="true"] + #main-navigation { visibility: visible; pointer-events: auto; opacity: 1; }

/* Menus General */
button[aria-expanded="false"] + [hidden] { overflow: auto; display: none; }
button[aria-expanded="true"] + [hidden] { display: block; }

/* Main Nav */
.et-l--header ul { list-style-type: none; padding: 0; margin: 0; }
#main-navigation ul.menu { width: 100%; height: calc(100vh - var(--header-height)); position: relative; display: flex; flex-direction: column; justify-content: stretch; list-style-type: none; padding: 0; }
body.admin-bar #main-navigation ul.menu { height: calc(100vh - var(--header-height) - 48px); }

#main-navigation a,
#main-navigation button { display: block; width: 100%; font-size: 24px; line-height: 1.25; text-align: left; padding: 10px; margin: 0; transition: backgroundColor 0.3s ease-in-out; }
#main-navigation ul.menu li.menu-item-has-children.et-touch-hover .submenu { display: block; }
#main-navigation ul.menu > li > a { opacity: 1 !important; }
#main-navigation .submenu { list-style-type: none; padding: 0; }
#main-navigation .submenu li.current-menu-item .menu-link { opacity: 0.5; }

@media (min-width: 981px) {
	#main-navigation ul { height: calc(100vh - var(--header-height, 70px)); }
	body.admin-bar #main-navigation ul { height: calc(100vh - var(--header-height, 70px) - 32px); }
	#main-navigation ul li { position: static; }
	#main-navigation a,
	#main-navigation button { font-size: 42px; padding: 10px 30px; }
	#main-navigation ul.menu > li { flex: 1 0 auto; display: flex; align-items: stretch; }
	#main-navigation ul.menu > li > a, 
	#main-navigation ul.menu > li > button { font-size: 72px; font-size: 6vh; display: flex; align-items: center; }
	#main-navigation .submenu { position: absolute; top: 0; right: 0; width: 50vw; height: 100%; margin: 0; padding: 10px 0; z-index: 100; }
}

/* SUBMENU */
.SubMenu ul { list-style-type: none; display: flex; flex-direction: column; padding: 0; }
.SubMenu button,
.SubMenu a { display: block; padding: 0.3em 10px; margin: 0; width: 100%; font-size: 18px; line-height: 1.25; text-align: left; }
.SubMenu button { padding: 10px 10px; }
.SubMenu a.is-current { opacity: 1; }
.SubMenu--submenu a { padding: 4px 20px; }
.SubMenu button[aria-expanded]::after { content: '\2193'; }
.SubMenu button[aria-expanded="true"]::after { content: '\2191'; }

@media (min-width: 981px) {
	.SubMenu ul { padding: 16px 16px; flex-direction: row; gap: 46px; display: flex !important; }
	.SubMenu a { font-size: 24px; display: block; padding: 0.2em 0.6em; border-radius: 100px; }
	.SubMenu ul.SubMenu--submenu { display: none !important; }
	.SubMenu button[aria-expanded] { display: none; }
}

/* Menu Colors */
#main-navigation ul.menu > li.menu-item:nth-child(6n + 1) > .menu-link:hover,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 1).current-menu-item > .menu-link,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 1).current-menu-ancestor > .menu-link,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 1).et-show-dropdown > .menu-link,
.SubMenu--1 { background-color: #F5A2C6; }
#main-navigation ul.menu > li.menu-item:nth-child(6n + 1) .submenu,
.SubMenu--1 a.is-current { background-color: #F0513F; }

#main-navigation ul.menu > li.menu-item:nth-child(6n + 2) > .menu-link:hover,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 2).current-menu-item > .menu-link,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 2).current-menu-ancestor > .menu-link,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 2).et-show-dropdown > .menu-link,
.SubMenu--2 { background-color: #DEEBB4; }
#main-navigation ul.menu > li.menu-item:nth-child(6n + 2) .submenu,
.SubMenu--2 a.is-current { background-color: #00AD4D; }

#main-navigation ul.menu > li.menu-item:nth-child(6n + 3) > .menu-link:hover,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 3).current-menu-item > .menu-link,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 3).current-menu-ancestor > .menu-link,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 3).et-show-dropdown > .menu-link,
.SubMenu--3 { background-color: #8BD7F8; }
#main-navigation ul.menu > li.menu-item:nth-child(6n + 3) .submenu,
.SubMenu--3 a.is-current { background-color: #F0513F; }

#main-navigation ul.menu > li.menu-item:nth-child(6n + 4) > .menu-link:hover,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 4).current-menu-item > .menu-link,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 4).current-menu-ancestor > .menu-link,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 4).et-show-dropdown > .menu-link,
.SubMenu--4 { background-color: #00AD4D; }
#main-navigation ul.menu > li.menu-item:nth-child(6n + 4) .submenu,
.SubMenu--4 a.is-current { background-color: #8BD7F8; }

#main-navigation ul.menu > li.menu-item:nth-child(6n + 5) > .menu-link:hover,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 5).current-menu-item > .menu-link,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 5).current-menu-ancestor > .menu-link,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 5).et-show-dropdown > .menu-link,
.SubMenu--5 { background-color: #F9ED32; }
#main-navigation ul.menu > li.menu-item:nth-child(6n + 5) .submenu,
.SubMenu--5 a.is-current { background-color: #00AD4D; }

#main-navigation ul.menu > li.menu-item:nth-child(6n + 6) > .menu-link:hover,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 6).current-menu-item > .menu-link,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 6).current-menu-ancestor > .menu-link,
#main-navigation ul.menu > li.menu-item:nth-child(6n + 6).et-show-dropdown > .menu-link,
.SubMenu--6 { background-color: #F0513F; }
#main-navigation ul.menu > li.menu-item:nth-child(6n + 6) .submenu,
.SubMenu--6 a.is-current { background-color: #F9ED32; }

/* Submenu Highlights */
body.page-id-111 #CTA-1,
body.page-id-4822 #CTA-2, 
body.page-id-113 #CTA-3,
body.page-id-115 #CTA-4
{ border-radius: 50% !important; }

.nav-links { display: flex; flex-direction: row; gap: 10px; }
.nav-links .page-numbers { width: 40px; height: 40px; line-height: 40px; text-align: center; border-radius: 50%; }
.nav-links .page-numbers.current,
.nav-links .page-numbers.next,
.nav-links .page-numbers.prev { background: #F9ED32; }

/* Accordions / Toggles */
.et_pb_toggle_title::before { font-size: 1em !important; }
.et_pb_toggle_title { padding-left: 1.3em !important; padding-right: 0 !important; }
.et_pb_toggle.et_pb_toggle_close .et_pb_toggle_title::before,
.et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title::before { content: "\2193" !important; font-family: "La Nord", Helvetica, Arial, Lucida, sans-serif !important; display: inline-block; vertical-align: middle; left: 0; right: auto; color: #000; transition: transform 0.3s ease-in-out; }
.et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title::before { transform: rotate(-180deg); } 
.et_pb_accordion .et_pb_toggle.et_pb_toggle_close { background-color: #fff; border-bottom: 1px solid #000 !important; border-top: 1px solid #000 !important; margin: -1px 0 !important; }
.et_pb_toggle:nth-child(4n + 1).et_pb_toggle_open { background-color: #F9ED32 !important; border: 0; }
.et_pb_toggle:nth-child(4n + 2).et_pb_toggle_open { background-color: #8BD7F8 !important; border: 0; }
.et_pb_toggle:nth-child(4n + 3).et_pb_toggle_open { background-color: #DEEBB4 !important; border: 0; }
.et_pb_toggle:nth-child(4n + 4).et_pb_toggle_open { background-color: #F5A2C6 !important; border: 0; }
.et_pb_toggle_content { width: 1034px; max-width: 100%; }
.et_pb_toggle_content p,
.et_pb_toggle_content ul,
.et_pb_toggle_content ol { padding-bottom: 1em !important; line-height: 1.25; }
.et_pb_toggle_content :last-child { padding-bottom: 0 !important; }

/* FORMS */
:root {
  --field-bg: #F9ED32;   /* input background color */
  --field-fg: #111;   /* input text/caret color */
}

/* Chrome / Safari / Edge (Blink/WebKit) */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--field-bg) inset;
		  box-shadow: 0 0 0 1000px var(--field-bg) inset;

  /* Keep text/caret color correct */
  -webkit-text-fill-color: var(--field-fg);
  caret-color: var(--field-fg);

  /* Prevent the "flash" of yellow on autocompletion */
  transition: background-color 9999s ease-out 0s;
}

/* Firefox */
input:-moz-autofill,
textarea:-moz-autofill,
select:-moz-autofill {
  box-shadow: 0 0 0 1000px var(--field-bg) inset;
  -moz-text-fill-color: var(--field-fg);
  caret-color: var(--field-fg);
}

/* Carousel */
.splide__track { padding: 0 !important; overflow: visible; }
.splide__arrows { display: flex; gap: 10px; margin-top: 24px; }
.splide__arrow { display: flex; justify-content: center; align-items: center; background: #F9ED32; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; }
.splide__arrow::before { content: "\2192"; color: #000; font-size: 24px; line-height: 1; padding: 0; margin: 0; font-family: 'La Nord', Helvetica, Arial, Lucida, sans-serif !important; }
.splide__arrow--prev::before { content: "\2190" } 
.splide__arrow[disabled] { opacity: 0.2; }

.splide__slide { width: 96%; max-width: 470px; margin: 0 10px 0 0; }
.splide__slide:hover .Heading,
.splide__slide:hover p { opacity: 0.5; }

@media (min-width: 981px) {
	.splide__slide { margin: 0 20px 0 0; max-width: min(calc((100vw - 120px) / 3), 626px); }
}

/* GRID PAGES */
button.pill { font-size: 18px; line-height: 1.75;  background: transparent; border: 1px solid #000; color: #000; border-radius: 50px; padding: 0 10px; cursor: pointer; }
button.pill.is-active,
button.pill:hover { border-color: transparent; background: #F5A2C6; }
.filter-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.ajax-filter.is-loading { opacity: .6; pointer-events: none; }
.kc_pb_posts { display: grid; gap: 20px; grid-template-columns: repeat(auto-fill, minmax(min(450px, 100%), 1fr)); }
.kc_pb_post { position: relative; }
.kc_pb_post:hover .Heading,
.kc_pb_post:hover p { opacity: 0.5; }
/* .kc_pb_post:hover { opacity: 0.5; } */

@media ( min-width: 981px) {
	button.pill { font-size: 24px; }
	.filter-buttons { gap: 20px; }
	
	.kc_pb_posts.post_count_1 { display: block; }
	.kc_pb_posts.post_count_2 { grid-template-columns: repeat(auto-fill, minmax(min(700px, 100%), 1fr)); }
	.kc_pb_posts.post_count_1 .Media--square,
	.kc_pb_posts.post_count_2 .Media--square { aspect-ratio: auto; height: 606px; width: 100%; }
}