/* placeholder */
.fw-theme-block-placeholder{border:1px solid; border-radius:2px; padding:64px 0; text-align:center; line-height:1; color:#2271b1;}
.fw-theme-block-placeholder-inner{display:inline-block;}
.fw-theme-block-placeholder svg{fill:#2271b1; vertical-align:bottom;}

/* slider */
.fw-theme-block .slick-slider{position:relative; display:block; box-sizing:border-box; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; -webkit-touch-callout:none; -khtml-user-select:none; -ms-touch-action:pan-y; touch-action:pan-y; -webkit-tap-highlight-color:transparent;}
.fw-theme-block .slick-list{position:relative; display:block; overflow:hidden; margin:0; padding:0;}
.fw-theme-block .slick-list:focus{outline:none;}
.fw-theme-block .slick-list.dragging{cursor:hand;}
.fw-theme-block .slick-track, .fw-theme-block .slick-list{-webkit-transform:translate3d(0, 0, 0); -moz-transform:translate3d(0, 0, 0); -ms-transform:translate3d(0, 0, 0); -o-transform:translate3d(0, 0, 0); transform:translate3d(0, 0, 0);}
.fw-theme-block .slick-track{position:relative; top:0; left:0; display:block; margin-left:auto; margin-right:auto;}
.fw-theme-block .slick-track:before, .fw-theme-block .slick-track:after{content:''; display:table;}
.fw-theme-block .slick-track:after{clear:both;}
.fw-theme-block .slick-loading .slick-track{visibility:hidden;}

.fw-theme-block .slick-slide{display:none; float:left; height:100%; min-height:1px;}
.fw-theme-block .slick-slide img{display:block;}
.fw-theme-block .slick-slide.slick-loading img{display:none;}
.fw-theme-block .slick-slide.dragging img{pointer-events:none;}
.fw-theme-block .slick-initialized .slick-slide{display:block;}
.fw-theme-block .slick-loading .slick-slide{visibility:hidden;}
.fw-theme-block .slick-vertical .slick-slide{display:block; height:auto; border:1px solid transparent;}

.fw-theme-block .slick-arrow{position:absolute; display:block; bottom:-48px; height:48px; width:48px; padding:0; border:none; font-size:0; line-height:0; cursor:pointer; color:transparent; background:none; z-index:60;}
.fw-theme-block .slick-arrow.slick-disabled{opacity:0.25;}
.fw-theme-block .slick-prev{left:0px;}
.fw-theme-block .slick-next{left:48px;}
.fw-theme-block .slick-arrow:before{content:''; position:absolute; height:8px; width:8px; top:50%; border-style:solid; border-color:#000;}
.fw-theme-block .slick-prev:before{border-width:0 0 2px 2px; left:50%; transform:translate(-30%, -50%) rotate(45deg);}
.fw-theme-block .slick-next:before{border-width:2px 2px 0 0; right:50%; transform:translate(30%, -50%) rotate(45deg);}

.fw-theme-block .slick-dots{position:absolute; bottom:-48px; left:0; right:0; display:block; padding:0; margin:0; list-style:none; text-align:right; z-index:50;}
@media (min-width:600px) {
.fw-theme-block .slick-dots{text-align:center;}
}
.fw-theme-block .slick-dots li{position:relative; display:inline-block; width:24px; height:48px; margin:0; padding:0; cursor:pointer;}
.fw-theme-block .slick-dots li button{font-size:0; line-height:0; display:block; width:24px; height:100%; cursor:pointer; color:transparent; border:0; outline:none; background:transparent;}
.fw-theme-block .slick-dots li button:hover, .slick-dots li button:focus{outline:none;}
.fw-theme-block .slick-dots li button:hover:before, .slick-dots li button:focus:before{opacity:1;}
.fw-theme-block .slick-dots li button:before{content:''; position:absolute; top:20px; left:8px; height:8px; width:8px; border-radius:50%; background-color:#222; transition:opacity 0.2s;}

.fw-theme-block .slick-dots{transition:margin 0.2s;}
.fw-theme-block .slick-dots.slick-dots-first{margin-left:48px;}
.fw-theme-block .slick-dots.slick-dots-second{margin-left:24px;}
.fw-theme-block .slick-dots.slick-dots-last{margin-right:48px;}
.fw-theme-block .slick-dots.slick-dots-secondlast{margin-right:24px;}
.fw-theme-block .slick-dots li{width:0; opacity:0; transition:0.4s;}
.fw-theme-block .slick-dots .slick-current-dot{width:24px; opacity:1;}
.fw-theme-block .slick-dots .slick-prev-dot{width:24px; opacity:0.25;}
.fw-theme-block .slick-dots .slick-prevprev-dot{width:24px; opacity:0;}
.fw-theme-block .slick-dots .slick-next-dot{width:24px; opacity:0.25;}
.fw-theme-block .slick-dots .slick-nextnext-dot{width:24px; opacity:0;}

/* accordion */
.fw-theme-block-accordion{margin-top:1em; margin-bottom:1em;}
.fw-theme-block-accordion-item{border-bottom:1px solid rgba(0,0,0,0.1);}
.fw-theme-block-accordion-item:first-child{border-top:1px solid rgba(0,0,0,0.1);}

.fw-theme-block-accordion-item-heading{position:relative; margin:0; padding:1em 0; cursor:pointer;}
.fw-theme-block-accordion-item-heading:after{content:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" fill="black"><polygon points="16,7 9,7 9,0 7,0 7,7 0,7 0,9 7,9 7,16 9,16 9,9 16,9"/></svg>'); opacity:0.6}
.fw-theme-block-accordion-item-heading:after{position:absolute; top:50%; margin-top:-8px; right:0; line-height:1; transform-origin:50% 50%; transition:0.2s; transform:rotate(360deg);}
.fw-theme-block-accordion-item-content{display:none; padding:0 0 1em 0; font-size:1em;}
.fw-theme-block-accordion-item-content :first-child{margin-top:0;}
.fw-theme-block-accordion-item-content :last-child{margin-bottom:0;}
.fw-theme-block-accordion-item-active .fw-theme-block-accordion-item-heading:after{transform:rotate(180deg);}

[data-type="frameworx-theme/accordion"] > .fw-theme-block-accordion > .block-editor-inner-blocks > .block-editor-block-list__layout > .block-list-appender{position:relative;}

[data-type="frameworx-theme/accordion-item"]{min-height:48px; border-bottom:1px solid rgba(0,0,0,0.1);}
[data-type="frameworx-theme/accordion-item"]:first-child{border-top:1px solid rgba(0,0,0,0.1);}
[data-type="frameworx-theme/accordion-item"] .fw-theme-block-accordion-item{border:none;}
[data-type="frameworx-theme/accordion-item"] .fw-theme-block-accordion-item:first-child{border:none;}
[data-type="frameworx-theme/accordion-item"] .fw-theme-block-accordion-item-content{display:block;}

/* carousel */
.fw-theme-block-carousel .fw-theme-block-carousel-slider{margin-left:auto; margin-right:auto;}
.fw-theme-block-carousel .fw-theme-block-carousel-item{overflow:hidden;}
.fw-theme-block-carousel .slick-list{overflow:hidden;}
.fw-theme-block-carousel .slick-slider[data-dots="true"]{margin-bottom:48px;}
.fw-theme-block-carousel .slick-slider[data-gap="1"]{margin-left:-8px; margin-right:-8px;}
.fw-theme-block-carousel .slick-slider[data-gap="1"] .slick-slide{margin-left:8px; margin-right:8px;}
.fw-theme-block-carousel .slick-slider[data-gap="2"]{margin-left:-16px; margin-right:-16px;}
.fw-theme-block-carousel .slick-slider[data-gap="2"] .slick-slide{margin-left:16px; margin-right:16px;}
.fw-theme-block-carousel .slick-slider[data-gap="3"]{margin-left:-24px; margin-right:-24px;}
.fw-theme-block-carousel .slick-slider[data-gap="3"] .slick-slide{margin-left:24px; margin-right:24px;}
.fw-theme-block-carousel .slick-slider[data-gap="4"]{margin-left:-48px; margin-right:-48px;}
.fw-theme-block-carousel .slick-slider[data-gap="4"] .slick-slide{margin-left:48px; margin-right:48px;}
.fw-theme-block-carousel .slick-slider[data-overflow="true"] .slick-list{overflow:visible;}

[data-type="frameworx-theme/carousel"] .fw-theme-block-carousel-slider .fw-theme-block-carousel-item .wp-block-cover__inner-container > *{transform:none;}
[data-type="frameworx-theme/carousel"] .fw-theme-block-carousel-slider > .block-editor-inner-blocks > .block-editor-block-list__layout{white-space:nowrap; overflow-x:scroll;}
[data-type="frameworx-theme/carousel"] .fw-theme-block-carousel-slider > .block-editor-inner-blocks > .block-editor-block-list__layout > *{position:relative; display:inline-block; vertical-align:top;}

[data-type="frameworx-theme/carousel-item"]{width:100%; min-height:48px; max-width:none !important;}
[data-type="frameworx-theme/carousel-item"] .fw-theme-block-carousel-item > .block-editor-inner-blocks > .block-editor-block-list__layout > *{margin-left:0; margin-right:0; max-width:none; min-width:48px;}

[data-type="frameworx-theme/carousel"] [data-slides-lg="2"] [data-type="frameworx-theme/carousel-item"]{width:50%;}
[data-type="frameworx-theme/carousel"] [data-slides-lg="3"] [data-type="frameworx-theme/carousel-item"]{width:33.3333%;}
[data-type="frameworx-theme/carousel"] [data-slides-lg="4"] [data-type="frameworx-theme/carousel-item"]{width:25%;}
[data-type="frameworx-theme/carousel"] [data-slides-lg="5"] [data-type="frameworx-theme/carousel-item"]{width:20%;}
[data-type="frameworx-theme/carousel"] [data-slides-lg="6"] [data-type="frameworx-theme/carousel-item"]{width:16.6666%;}
[data-type="frameworx-theme/carousel"] [data-gap="1"] [data-type="frameworx-theme/carousel-item"] > *{margin-right:8px;}
[data-type="frameworx-theme/carousel"] [data-gap="2"] [data-type="frameworx-theme/carousel-item"] > *{margin-right:16px;}
[data-type="frameworx-theme/carousel"] [data-gap="3"] [data-type="frameworx-theme/carousel-item"] > *{margin-right:24px;}
[data-type="frameworx-theme/carousel"] [data-gap="4"] [data-type="frameworx-theme/carousel-item"] > *{margin-right:48px;}

/* programslider */
.fw-theme-block-programslider .slick-slider .slick-list{overflow:visible;}
.fw-theme-block-programslider-slider{margin:48px -8px;}

.fw-theme-block-programslider-item{display:block; margin:0 8px; color:#fff; hyphens:auto;}
.fw-theme-block-programslider-inner{position:relative; display:block; width:100%; padding-bottom:125%; overflow:hidden;}
.fw-theme-block-programslider-figure{position:absolute; top:0; left:0; bottom:0; right:0; background-color:#000;}
.fw-theme-block-programslider-figure:after{content:''; position:absolute; top:0; left:0; bottom:0; right:0; background:linear-gradient(to bottom, rgba(0,0,0,0.05) 50%, rgba(0,0,0,0.5) 100%);}
.fw-theme-block-programslider-figure img{transition:opacity 0.2s;}
.fw-theme-block-programslider-item:hover .fw-theme-block-programslider-figure img{opacity:0.85;}
.fw-theme-block-programslider-figure img{position:absolute; top:0; left:0; bottom:0; right:0; height:100%; width:100%; object-fit:cover;}
.fw-theme-block-programslider-title{position:absolute; bottom:16px; left:16px; right:16px; margin:0; color:#fff; font-weight:600; line-height:1;}

/* calendar */
.fw-theme-block-calendar-filter{display:block; padding:20px; margin-bottom:16px; background-color:#f4f4f4;}
.fw-theme-block-calendar input, .fw-theme-block-calendar select{margin:4px;}
.fw-theme-block-calendar label{margin:4px; font-weight:600;}
.fw-theme-block-calendar input, .fw-theme-block-calendar select{height:32px; border:1px solid #ddd; background-color:#fff; line-height:1; padding:0 8px; border-radius:6px; box-sizing:border-box;}
.fw-theme-block-calendar-item{display:block; border-bottom:1px solid #ddd; overflow:hidden; color:inherit; text-decoration:none; transition:background-color 0.2s;}
.fw-theme-block-calendar-weekday{display:inline-block; padding:4px 6px; border:none; background:none; text-decoration:none; color:inherit; transition:background-color 0.2s; line-height:1; background-color:#f4f4f4;}
.fw-theme-block-calendar-weekday.is-active{background-color:#222; color:#fff; font-weight:600; cursor:default;}
.fw-theme-block-calendar-empty{max-width:900px; margin:0 auto; border-top:1px solid #ddd; text-align:center;}

.fw-theme-block-calendar-item[data-new="true"] .fw-theme-block-calendar-title{color:#ff4d1c;}
.fw-theme-block-calendar-item[data-new="true"] .fw-theme-block-calendar-date{color:#ff4d1c;}
.fw-theme-block-calendar-item[data-new="true"] .fw-theme-block-calendar-label{display:inline-block; width:32px; line-height:32px; border-radius:100%; background-color:#ff4d1c; font-size:0.75rem; font-weight:600; vertical-align:top; color:#fff; margin:0 8px; text-align:center;}
.fw-theme-block-calendar-item[data-new="true"] .fw-theme-block-calendar-weekday{color:#ff4d1c;}
.fw-theme-block-calendar-item[data-new="true"] .fw-theme-block-calendar-weekday.is-active{background-color:#ff4d1c; color:#fff;}

@media (min-width:600px){
.fw-theme-block-calendar-item{display:flex; gap:24px; width:100%; justify-content:space-between; text-align:left;}
.fw-theme-block-calendar-item-details{flex:0 0 auto; width:33%; text-align:right;}
}

/* calendarnext */
.fw-theme-block-calendarnext-title{text-align:center;}
.fw-theme-block-calendarnext-nav{text-align:center; margin-bottom:32px;}
.fw-theme-block-calendarnext-day{display:inline-block; padding:8px 12px; border:none; background:none; text-decoration:none; color:inherit; transition:background-color 0.2s; line-height:1; text-transform:none;}
.fw-theme-block-calendarnext-day:hover{background-color:#f4f4f4;}
.fw-theme-block-calendarnext-day.is-active{background-color:#222; color:#fff; font-weight:600; cursor:default;}
.fw-theme-block-calendarnext-item{display:block; border-top:1px solid #ddd; overflow:hidden; color:inherit; text-decoration:none; transition:background-color 0.2s;}
.fw-theme-block-calendarnext-empty{max-width:900px; margin:0 auto; border-top:1px solid #ddd; text-align:center;}

@media (min-width:600px){
.fw-theme-block-calendarnext-item{display:flex; gap:24px; width:100%; justify-content:space-between; text-align:left;}
.fw-theme-block-calendarnext-item-details{flex:0 0 auto; width:33%; text-align:right;}
}

/* postgrid */
.fw-theme-block-postgrid-inner{margin:0 -1rem;}
.fw-theme-block-postgrid-item{display:block; width:100%;}
.fw-theme-block-postgrid-item-inner{position:relative; display:block; margin:1rem; padding:16px; background-color:#f4f4f4;}
.fw-theme-block-postgrid figure{position:relative; padding-bottom:56.25%; overflow:hidden; background-color:#ececed;}
.fw-theme-block-postgrid img{position:absolute; top:0; left:0; height:100%; width:100%; object-fit:cover;}
.fw-theme-block-postgrid h2{font-size:1.5rem; margin:1rem 0 0.5rem 0;}
.fw-theme-block-postgrid p{margin:0.5rem 0;}
.fw-theme-block-postgrid-label{display:inline-block; padding:0.25rem 0.75rem; font-size:0.75rem; text-transform:uppercase; font-weight:600; background-color:#fff; color:inherit;}
.fw-theme-block-postgrid-item a{text-decoration:none;}
.fw-theme-block-postgrid a{text-transform:uppercase; text-decoration:none; font-weight:600;}

.fw-theme-block-postgrid-item.has-thumbnail .fw-theme-block-postgrid-item-inner{padding:0; background-color:transparent;}
.fw-theme-block-postgrid-item.has-thumbnail .fw-theme-block-postgrid-label{position:absolute; bottom:16px; left:16px;}

@media (min-width:600px) {
.fw-theme-block-postgrid-item{width:50%;}
.fw-theme-block-postgrid-item:nth-child(1){margin-top:2rem;}
}
@media (min-width:900px) {
.fw-theme-block-postgrid-item{width:33.3333%;}
.fw-theme-block-postgrid-item:nth-child(2){margin-top:4rem;}
}
