/*
Theme Name: Perwillowen Studio
Theme URI: https://perwillowenstudio.com.au
Author: Perwillowen Studio
Author URI: https://perwillowenstudio.com.au
Description: Custom WordPress theme for Perwillowen Studio — actor training on the Sunshine Coast using the Kishawi Method.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary
Text Domain: perwillowen
*/

/* Styles are loaded via wp_enqueue_style() in functions.php (theme.css, components.css). */

body {
	color: #000 !important
}
h1 {font-size:4.5rem;} 
h2 {font-size:3rem; margin-bottom:30px;} 
h3 {font-size:1.5rem;} 
h4 {font-size:1rem;}

 h1, h2, h3, h4, h5, h6 {
    line-height:1.2;
  }
a {
	color: #BC874F;
	transition: ease-in-out 0.3s;
}
a:hover, a:active, a:focus {
	opacity:0.8;
	cursor:pointer;
}
.archive-title {
  font-size: 4.5rem;
  margin-bottom: 60px;
	text-align: center;
}
.blog article {
  display: flex;
  background: #fff;
  padding: calc(var(--spacing) * 8);
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  border-radius: calc(var(--radius) + 4px);
  margin: 0 0 40px;
}
.postcont {
	background: #fff;
  padding: calc(var(--spacing) * 8);
	--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	border-radius: calc(var(--radius) + 4px);
}
.blog .post-thumbnail {
  margin-right: 30px;
	width: 100%;
  max-width: 30%;
}
.blog .entry-title {
  font-size: 1.5rem;
  margin-bottom: 10px;
}
.blog .entry-meta {
  color: #666;
  font-size: 0.9rem;
  margin-bottom: 20px;
  font-style: italic;
}
.blog .entry-summary {
  margin-bottom: 20px;
}
.read-more-button {
  color: var(--primary);
  font-weight: var(--font-weight-semibold);
  border: 1px solid var(--primary);
  border-radius: 6px;
  padding: 4px 12px;
  display: block;
  max-width: fit-content;
}
.read-more-button:hover, .read-more-button:active, .read-more-button:focus {
	opacity:0.8;
}
.navigation.pagination {
  max-width: 1024px;
  margin: 0 auto;
}
.page-numbers {
  padding: 5px;
  border: 1px solid;
  border-radius: 50%;
  line-height: 1;
  width: 30px;
  height: 30px;
  display: inline-table;
  text-align: center;
  margin: 0 3px;
}
.next.page-numbers, .prev.page-numbers {
  width: auto;
  border-radius: 6px;
  padding: 5px 10px;
}

#site-nav {
  padding: 10px 0;
}
#nav-toggle {
  display: none;
}
#mobile-menu li {
  display: block;
  padding: 10px 0;
}
#mobile-menu ul {
  display: block;
}
#ham-1, #ham-2, #ham-3 {
  background: #000;
  height: 2px;
  margin: 5px 0;
}
.site-logo {
  max-width: 50px;
  width: 100%;
}
.site-header-menu li {
  display: inline-block;
}
.site-header-menu li a {
  padding: 3px 10px;
	color:#000;
}
.site-header-menu li a:hover, .site-header-menu li a:active, .site-header-menu li a:focus {
	color: var(--primary);
}
.single .entry-title {
  font-size: 3rem;
  text-align: center;
  max-width: 50rem;
  margin: 60px auto 20px;
  line-height: 1.3;
}
.single .entry-meta {
  color: #666;
  font-size: 0.9rem;
  margin-bottom: 60px;
  font-style: italic;
  text-align: center;
}
.single .post-thumbnail {
  text-align: center;
}
.single .postcont {
  margin-bottom: 100px;
}
.single .post-thumbnail img {
  margin: 0 auto 30px;
}

p {
  margin-bottom: 15px;
}
 .border-b:not(.home) {
    border-bottom-style: none;
    border-bottom-width: 0;
  }
.page-template-default:not(.home) .border-b h1, .page-template-page-gallery .border-b h1 {
  padding: 100px 0 60px;
  color: #000;
	text-align: center;
}
.page-template-default:not(.home) section, .page-template-page-gallery section {
  background: transparent;
}
.page-template-default:not(.home) article, .page-template-page-gallery article {
	background: #fff;
  padding: calc(var(--spacing) * 8);
	--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	border-radius: calc(var(--radius) + 4px);
	margin-bottom:100px;
}
.page-template-default:not(.home) .post-thumbnail img, .page-template-page-gallery .post-thumbnail img {
  max-width: 100%;
  height: auto;
  border-radius: 0;
  margin: 0 auto 30px;
}
.perwillowen-page-content:not(.home) {
  font-size: 1rem !important;
}
.pgwrap {
  max-width: 1536px;
	display: flex;
}
.blog .pgwrap {
  padding: 0;
}
.blog_article_wrap {
  max-width: 1060px;
	padding: 0;
	display: inline-block;
}
.pgwrap > article {
  max-width: 1060px;
  display: inline-block;
  width: 100%;
}
#secondary {
  width: 100%;
  max-width: 370px;
  display: inline-block;
  margin-left: 30px;
	vertical-align: top;
	padding: 20px;
  background: #fff;
  border-radius: 15px;
	--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
	box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
	margin-bottom: 100px;
}
.recent-post-item {
  display: inline-block;
  width: 100%;
}
.recent-posts-widget h3, .side_prices h3 {
  margin-bottom: 30px;
  text-align: center;
  font-size: 2rem;
}
.recent-post-item .post-thumbnail {
  float: left;
  max-width: 75px;
  margin: 0 10px 10px 0;
}
.recent-post-item img {
margin: 0 auto 30px;
}
.recent-post-item .post-title {
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
}
.post-date {
  font-size: 0.75rem;
  font-style: italic;
	color:#686868;
}
.side_prices .hm_pric_plans {
  display: block;
}
.side_prices .hm_pric_plan {
  max-width: 100%;
	margin-bottom:20px;
	text-align:center;
	padding: 15px 15px 20px;
}
.side_prices .hm_pric_plan:last-child {
	margin-bottom:40px;
}
.side_prices .hm_pric_plan_plan_name {
  font-size: 1rem;
  margin-bottom: 0;
}
.side_prices .hm_pric_plan_price {
  font-size: 2rem;
  margin-bottom: 0;
  line-height: 1.5;
}
.side_prices
.side_prices


/* Ensure the wrapper uses flexbox to stretch all slides to the tallest one */
.acf-custom-slider .swiper-wrapper {
    display: flex;
    align-items: stretch; /* This is the secret to equal heights */
}

/* Allow the slide to conform to the stretched wrapper */
.acf-custom-slider .swiper-slide {
    height: auto; 
    display: flex;
    flex-direction: column;
}
.slide-text {
  margin-bottom: 20px;
  font-style: italic;
  color: #686868;
  font-size: 1.1rem;
}
.swiper-pagination-bullet {
  width: 15px !important;
  height: 15px !important;
  margin: 0 8px !important;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #BC874F;
}
/* The actual content box inside the slide */
.acf-custom-slider .slide-inner-content {
    background-color: transparent;
    padding: 30px 30px 60px;
    border-radius: 8px;
    height: 100%; /* Forces the background to fill the stretched slide */
    box-sizing: border-box;
}

/* Add some padding to the bottom of the slider so the dots don't overlap content */
.acf-custom-slider {
    padding-bottom: 50px; 
	max-width: 800px;
}

.pg_row {
  position: relative;
  text-align: center;
  display: block;
}
.pg_wrap {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 100px 15px;
  position: relative;
  display: block;
}

.hm_hero .pg_wrap {
  height: 90vh;
  align-content: center;
  color: #fff;
	z-index:2;
}
.hm_hero_title {
  font-size: 4.5rem;
  max-width: 570px;
  margin: 0 auto 30px;
}
.hero_overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
}
.hm_hero_subtitle {
  font-family: 'Lato', sans-serif;
  font-weight: 200;
  font-size: 1.6rem;
  margin-bottom: 20px;
}
.hm_hero_intro {
  font-size: 1.1rem;
  max-width: 800px;
  margin: 0 auto 30px;
}
.pw_btn {
  color: #fff;
  background: #BC874F;
  padding: 15px 20px;
  border-radius: 6px;
  display: block;
  max-width: fit-content;
  margin: 0 auto;
  font-size: 1.1rem;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 1px;
  font-family: 'Lato', sans-serif;
}
.pw_btn:hover, .pw_btn:active, .pw_btn:focus {
  background: #D4A574;
}

.pw_btn_blk {
  color: #fff;
  background: #2C2C2C;
  padding: 15px 20px;
  border-radius: 6px;
  display: block;
  max-width: fit-content;
  margin: 0 auto;
  font-size: 1.1rem;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 1px;
  font-family: 'Lato', sans-serif;
}
.pw_btn_blk:hover, .pw_btn_blk:active, .pw_btn_blk:focus {
  opacity:0.8;
}

.wpcf7 input[type="submit"] {
  width: 100%;
  padding: 15px 20px !important;
  background-color: #BC874F !important;
  color: #fff;
  font-weight: 600 !important;
  border: none;
  border-radius: 6px !important;
  cursor: pointer;
  font-size: 1.2rem !important;
  text-transform: uppercase;
	letter-spacing: 1px;
	font-family: 'Lato', sans-serif;
}
.wpcf7 input[type="submit"]:hover {
	opacity:0.7;
}

.pg_row.hm_intro {
  background: #fff;
}
.hm_intro .pg_wrap {
  padding: 100px 15px;
	max-width: 1170px;
}
.hm_intro_intro {
  font-size: 1.1rem;
  color: #686868;
	margin-bottom:40px;
}
.intro_cards {
  display: flex;
  gap: 60px;
}
.intro_card {
  width: 100%;
  max-width: 50%;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 0 5px #c5c5c5 !important;
	background:#FFF5EB;
}
.intro_card_title {
  margin-bottom: 20px;
}
.intro_card_title {
  margin-bottom: 20px;
  color: #BC874F;
}
.intro_card:first-child {
  background: #eee;
}
.intro_card:first-child .intro_card_title {
  color: #000;
}
.intro_card:first-child {
  background: #eee;
}
h4 {
  text-transform: uppercase;
  margin-bottom: 10px;
  color: #BC874F;
font-family: 'Lato', sans-serif;
	letter-spacing: 1px;
}
.hm_method_section .pg_wrap {
  max-width: 1170px;
}
.hm_meth_desc {
font-size: 1.1rem;
  color: #686868;
  margin-bottom: 40px;
}
.hm_meth_cards {
  display: flex;
  gap: 60px;
  flex-wrap: wrap;
  justify-content: center;
}
.hm_meth_card {
  width: 100%;
  max-width: 40%;
  background: #fff;
  padding: 30px;
  border-radius: 15px;
	box-shadow: 0 0 5px #c5c5c5 !important;
}
.hm_meth_card_title {
  margin-bottom: 20px;
	color: #BC874F;
}
.hm_serv {
  background: #fff;
}
.hm_serv_big_title {
  margin-bottom: 60px;
}
.hm_serv_cards {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  justify-content: center;
}
.hm_serv_card {
  width: 100%;
  max-width: 25%;
  background: #FFF5EB;
  padding: 30px;
  border-radius: 15px;
	box-shadow: 0 0 5px #c5c5c5 !important;
}
.hm_serv_card_title {
  margin-bottom: 20px;
}

.hm_pric_title {
  margin-bottom: 60px;
}
.hm_pric_plans {
  display: flex;
  max-width: 800px;
  margin: 0 auto;
  gap: 60px;
}
.hm_pric_plan {
  width: 100%;
  max-width: 50%;
  background: #fff;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 0 5px #c5c5c5 !important;
}
.hm_pric_plan:first-child {
  background: #BC874F;
  color:#fff;
}
.hm_pric_plan_plan_name {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 15px;
}
.hm_pric_plan_price {
  font-size: 2.4rem;
  font-weight: 600;
  margin-bottom: 15px;
}

.hm_testimonials {
  background: #fff;
}

.pg_row.hm_cta {
  background: #2c2c2c;
  color: #fff;
}
.hm_cta_text {
  max-width: 630px;
  margin: 0 auto 30px;
  font-size: 1.2rem;
}

.footer_before {
  position: relative;
  text-align: center;
	background:#fff;
}
.home .footer_before {
	background:transparent;
}
.footer_bf_wrap {
  padding: 100px 15px;
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
  position: relative;
}
.footer_bf_intro {
	font-size: 1.1rem;
  color: #686868;
  margin-bottom: 40px;
}
.footer_cols {
  display: flex;
  gap: 100px;
}
.footer_bf_left, .footer_bf_right {
  width: 100%;
  max-width: 50%;
}
.footer_bf_left {
  text-align: left;
}
.footer_bf_label {
  margin-bottom: 30px;
	display: flex;
}
.footer_bf_label i {
  color: #BC874F;
font-size: 1.6rem;
}
.footer_bf_label_left {
  width: 100%;
  padding-left: 15px;
}
.footer_bf_label_left h4 {
  color: #000;
  font-family: 'Playfair Display', serif;
  text-transform: none;
  letter-spacing: 0;
  font-size: 1.1rem;
}
.footer_bf_right h3 {
  margin-bottom: 30px;
}
.wpcf7-form-control {
  margin-bottom: 10px;
}

.fmg-filter-btn {
  margin: 0 5px 10px !important;
}
.fmg-item img {
  border-radius: 15px !important;
}
.fmg-item {
  border-radius: 15px !important;
}
iframe {
  width: 100%;
}

@media screen and (max-width: 768px) {
h1 {
  font-size: 3rem;
}
#nav-toggle {
  display: block;
}
	.mainnav {
		display: none;
}
	#mobile-menu .perwillowen-nav-link {
  display: block;
  margin: 20px auto;
}
	.hm_hero_title {
  font-size: 3rem;
}
	h2 {
  font-size: 2rem;
}
	.intro_cards {
  display: block;
}
	.intro_card {
  max-width: 100%;
  margin-bottom: 30px;
}
	.hm_meth_cards {
  display: block;
}
	.hm_meth_card {
  max-width: 100%;
  margin-bottom: 30px;
}
	.hm_serv_cards {
  display: block;
}
	.hm_serv_card {
  max-width: 100%;
  margin-bottom: 30px;
}
	.hm_pric_plans {
  display: block;
}
	.hm_pric_plan {
  max-width: 100%;
  margin-bottom: 30px;
}
	.footer_cols {
  display: block;
}
	.footer_bf_left, .footer_bf_right {
  max-width: 100%;
}
.archive-title {
  font-size: 3rem;
}
	.blog article {
  display: block;
		text-align: center;
}
	.blog .post-thumbnail {
  margin-right: 0;
  max-width: 100%;
  margin-bottom: 20px;
}
	.blog .post-thumbnail img {
  margin: 0 auto;
}
	.single .entry-title {
  font-size: 2rem;
}
	.fmg-grid {
  display: block !important;
}
	.fmg-item {
  width: 100% !important;
  margin-bottom: 20px;
}
	.fmg-item img {
  height: 200px !important;
		
}
	.read-more-button {
  margin: 0 auto;
}
	.blog .post-thumbnail {
  height: 220px;
}
	#secondary {
  display: none;
}
	.entry-header {
  padding: 0 15px;
}
	iframe {
  max-width: 100%;
}
	.pgwrap {
  display: block;
}
	
}
