.elementor-7974 .elementor-element.elementor-element-dd676b0{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0em;--margin-bottom:1em;--margin-left:0em;--margin-right:0em;--padding-top:3em;--padding-bottom:3em;--padding-left:3em;--padding-right:3em;}.elementor-7974 .elementor-element.elementor-element-dd676b0:not(.elementor-motion-effects-element-type-background), .elementor-7974 .elementor-element.elementor-element-dd676b0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-4a62226 );background-image:url("https://portfairyspringfest.com.au/wp-content/uploads/2025/06/waves.jpg");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-7974 .elementor-element.elementor-element-f069681{width:var( --container-widget-width, 67.298% );max-width:67.298%;--container-widget-width:67.298%;--container-widget-flex-grow:0;}.elementor-7974 .elementor-element.elementor-element-f069681 > .elementor-widget-container{margin:0em 0em 1em 0em;}.elementor-7974 .elementor-element.elementor-element-f069681.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-7974 .elementor-element.elementor-element-f069681 .elementor-heading-title{font-size:2.4em;text-shadow:0px 0px 7px #FFFFFF;}.elementor-7974 .elementor-element.elementor-element-f069681.elementor-widget-heading .elementor-heading-title, .elementor-7974 .elementor-element.elementor-element-f069681.elementor-widget-heading .elementor-heading-title.elementor-heading-title a{color:var( --e-global-color-text );}.elementor-7974 .elementor-element.elementor-element-c15591c{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-7974 .elementor-element.elementor-element-c15591c.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-7974 .elementor-element.elementor-element-732fa1a{--divider-border-style:solid;--divider-color:var( --e-global-color-primary );--divider-border-width:1px;}.elementor-7974 .elementor-element.elementor-element-732fa1a > .elementor-widget-container{margin:0em 0em 1em 0em;}.elementor-7974 .elementor-element.elementor-element-732fa1a .elementor-divider-separator{width:100%;}.elementor-7974 .elementor-element.elementor-element-732fa1a .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-7974 .elementor-element.elementor-element-aa1f753 > .elementor-widget-container{margin:0em 0em 2em 0em;}.elementor-7974 .elementor-element.elementor-element-aa1f753{text-align:left;}.elementor-7974 .elementor-element.elementor-element-aa1f753 img{max-width:30%;}.elementor-7974 .elementor-element.elementor-element-7a37356{--divider-border-style:solid;--divider-color:var( --e-global-color-primary );--divider-border-width:1px;}.elementor-7974 .elementor-element.elementor-element-7a37356 > .elementor-widget-container{margin:0em 0em 1em 0em;}.elementor-7974 .elementor-element.elementor-element-7a37356 .elementor-divider-separator{width:100%;}.elementor-7974 .elementor-element.elementor-element-7a37356 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}@media(max-width:767px){.elementor-7974 .elementor-element.elementor-element-f069681{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-7974 .elementor-element.elementor-element-f069681 .elementor-heading-title{font-size:1.8em;}.elementor-7974 .elementor-element.elementor-element-aa1f753 img{max-width:50%;}}@media(min-width:768px){.elementor-7974 .elementor-element.elementor-element-c15591c{--width:60.144%;}}@media(max-width:1024px) and (min-width:768px){.elementor-7974 .elementor-element.elementor-element-c15591c{--width:100%;}}/* Start custom CSS */h2.eventtitle { font-size: 35px; font-weight: bold; letter-spacing: 0.07em; line-height: 1em; }

h3.eventdatetime, h3.eventprice { font-size: 24px; letter-spacing: 0.03em; font-weight: bold; line-height: 1.4em; margin: 0; }

h2 { padding-top: 1em; }

.emm .emm13:hover, .emm .emm53:hover { border: none !important; }
.emm .emm53 { top: 15px; right: 22px !important; }
#pfsmflogo { flex-grow: 4; }


/* Front page */

.frontitem { position: relative;   }

.frcta p {
    margin: 0;
    padding: 5px;
   

}

.frcta {
  text-decoration: none;
  color: #000000;
  background-color: #fff;
  border: 1px solid #000000;
  width: 70%;
  margin-left: auto;
  margin-right: auto;
  border-radius: 300px;
}


p.noul { text-decoration: none; padding-top: 5px !important; }

.frthumb { position: relative; }
.frseccat { flex-grow: 2;}
.frseccat h5   { 
    padding: 0;
    margin: 0;
    margin-bottom: 0em;
    font-size:18px;
    padding: 0 15px 0 15px;
     font-family: urw-din, sans-serif; font-weight: 500;
      color: #000;

  
     
}

a.frontitemlink  { 
    text-decoration: none !important;
    height: 100%;
    background-color: #fbfbfb;
    
}


.frdate h5, .frprices h5 {
  font-size: 18px;
  padding: 0 15px 15px 15px;
    margin: 0;
    font-family: urw-din, sans-serif; font-weight: 500;
    
 
}

.frontitem { 
    display: flex;
    flex-direction: column;
    height: 100%;
    border:1px solid var(--e-global-color-primary);
    box-shadow: 5px 5px var(--e-global-color-primary);
    
}


.frdatepricescontainer { display: flex; flex-direction: row; width: 100%;  } 

.frdate, .frprices { flex-basis: 50%; }

.frprices { text-align: right; }


.frseccat h4 { font-size: 0.8em; font-weight: normal; padding: 0 15px 15px 15px; margin:0; font-style:italic; color: #000; }



.frtitle h4 { margin-bottom: 0;   padding: 0 15px 0 15px; text-transform: uppercase; font-size: 1.7em; font-family: urw-din-condensed, sans-serif; font-weight: 600; letter-spacing: -1.5px;}



.frontitem:hover .frtitle h4,  .frontitem:hover .frdate h5, .frontitem:hover .frprices h5, .frontitem:hover .frseccat h4, .frontitem:hover .frseccat h5 { color: #fff; }

a.frontitemlink .frdesc { 
    position: absolute;
    max-height: 100%;
    width:100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
    font-size: 16px;
    transition:all .25s ease-in-out;
    background-color: var(--e-global-color-accent) ;
    color: #fff;
opacity: 0;
flex-direction: column;
justify-content: center;
display: flex;
    
  } 

a.frontitemlink .soldout { position:absolute; background-color:  var(--e-global-color-primary) !important; width:100%; top:66%; text-align:center; color: #000; }


a.frontitemlink .frdesc p { 
    margin-left: 2em;
    margin-right:2em;
   

} 

a.frontitemlink .frdesc p { text-align: center; padding-top: 1em; }


a.frontitemlink:hover .frdesc {  opacity: 1; width:100%; }


a.frontitemlink {
   
transition:all .25s ease-in-out;
}


a.frontitemlink:hover  { 
    
     background-color: var(--e-global-color-accent);
     color: #fff;
         transition:all .25s ease-in-out;
       
}

@media only screen and (max-width: 1024px) {


  .frseccat h5 { font-size: 1.1em; }
  .frtitle h4 { font-size: 1.8em; }
/* Hello Kitty */
}

blockquote {
 
  margin-left: 0;
  line-height: 1.5em;
  

}

blockquote small { font-size: 0.6em !important; }
@supports ( hanging-punctuation: first) {
  blockquote {
    text-indent: 0em;
    hanging-punctuation: all;
  }
}

blockquote::before {
    content: open-quote;
    font-size: 3em;
}

blockquote {
    quotes: "“" "”" "‘" "’";
}

ul { margin-bottom: 15px; }


.progcomposer { font-size: 0.9em; text-transform: uppercase; }
.progpiece { display: block; margin-bottom: -0.7em; }

/* Program Search and Filter */

form.searchandfilter ul { padding-left: 0; } 

form.searchandfilter ul { display: flex; 
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    
}

form.searchandfilter ul li.sf-field-post-meta-performance-days-of-festival ul li { margin-right: 10px; }/* End custom CSS */