[class*='cz_row_shape_'] .row:before,
[class*='cz_row_shape_'] .row:after,
.elms_row [class*='cz_row_shape_']:before,
.elms_row [class*='cz_row_shape_']:after {
position: absolute;
content: '';
top: 0;
width: 138px;
height: 100%;
background: inherit;
z-index: 0
}
[class*='cz_row_shape_'] > .elms_row > .clr,
[class*='cz_row_shape_'] > .cz_elm {
z-index: 1
}
[class*='cz_row_shape_'] > [class*='cz_elm search_'] {
z-index: 2
}
[class*='cz_row_shape_'] .row:before,
.elms_row [class*='cz_row_shape_']:before {
left: 0;
border-radius: inherit;
border-bottom-right-radius: 0;
border-top-right-radius: 0
}
[class*='cz_row_shape_'] .row:after,
.elms_row [class*='cz_row_shape_']:after {
right: 0;
border-radius: inherit;
border-bottom-left-radius: 0;
border-top-left-radius: 0
}
.cz_row_shape_full_filled_left .row:before, 
.cz_row_shape_full_filled_right .row:after,
.elms_row .cz_row_shape_full_filled_left:before, 
.elms_row .cz_row_shape_full_filled_right:after {
width: 3000px !important;
transform: none;
transform: translateX(-96%) !important;
border-radius: 0
}
.cz_row_shape_no_left .row:before,
.cz_row_shape_no_right .row:after {
visibility: hidden;
opacity: 0
}
.cz_row_shape_full_filled_right .row:after,
.elms_row .cz_row_shape_full_filled_right:after {
transform: translateX(96%) !important
}
.cz_row_shape_1 .row:before,
.elms_row .cz_row_shape_1:before {
transform: translateX(-40%) skewX(45deg)
}
.cz_row_shape_1 .row:after,
.elms_row .cz_row_shape_1:after {
transform: translateX(40%) skewX(-45deg)
}
.cz_row_shape_2 .row:before,
.elms_row .cz_row_shape_2:before {
transform: translateX(-40%) skewX(-45deg)
}
.cz_row_shape_2 .row:after,
.elms_row .cz_row_shape_2:after {
transform: translateX(40%) skewX(45deg)
}
.cz_row_shape_3 .row:before,
.elms_row .cz_row_shape_3:before {
transform: translateX(-40%) skewX(-45deg)
}
.cz_row_shape_3 .row:after,
.elms_row .cz_row_shape_3:after {
transform: translateX(40%) skewX(-45deg)
}
.cz_row_shape_4 .row:before,
.elms_row .cz_row_shape_4:before {
transform: translateX(-40%) skewX(45deg)
}
.cz_row_shape_4 .row:after,
.elms_row .cz_row_shape_4:after {
transform: translateX(40%) skewX(45deg)
}
.cz_row_shape_none .row:after,
.cz_row_shape_none .row:before{
display: none
}
.cz_row_shape_radius .row:before,
.elms_row .cz_row_shape_radius:before {
left: -8px;
border-radius: 20px !important
}
.cz_row_shape_radius .row:after,
.elms_row .cz_row_shape_radius:after {
right: -8px;
border-radius: 20px !important
}.cz_title {
position: relative;
z-index: 1
}
.cz_title_has_bg {
z-index: 2
}
.cz_title.tac .cz_title_content {
margin-right: auto;
margin-left: auto
}
.cz_title_vertical > div, 
.cz_title_vertical_2 > div {
position: absolute;
top: -80px;
left: 0;
z-index: 2;
white-space: nowrap;
transform: rotate(90deg);
transform-origin: bottom left;
animation: none !important
}
.cz_title_vertical_2 > div {
top: -40px;
left: 0;
transform-origin: 0 0;
transform: rotate(-90deg) translateX(-100%)
}
.cz_title_vertical.cz_title_vertical_outside > div {
top: 0;
left: 0;
transform-origin: 0 0;
transform: rotate(90deg) translate(0, 40%)
}
.cz_title_vertical_2.cz_title_vertical_outside > div {
transform: rotate(-90deg) translate(-100%, -140%)
}
.cz_title_content {
display: table;
position: relative;
word-break: break-word;
transition: all .2s ease-in-out
}
.cz_title_pos_block .cz_title_content,
.cz_title_pos_block .cz_title_content > div {
width: 100%;
display: block
}
.cz_title_pos_left .cz_title_content {
float: left
}
.cz_title_pos_center:not(.cz_title_has_icon) .cz_title_content > div {
display: block
}
.cz_title_pos_right .cz_title_content {
float: right
}
.cz_title_content > div {
position: relative;
z-index: 2;
vertical-align: middle
}
.cz_title_content > * {
display: table-cell
}
.cz_title_has_bg .cz_title_content {
padding: 10px 30px
}
.cz_title_has_icon .cz_title_content {
padding: 10px 0
}
.cz_title_content * {
margin: 0
}
.cz_title_content hr {
display: block;
margin: 10px 0
}
.cz_title_content > span {
margin: 0 15px 0 0;
position: relative;
font-size: 20px;
transition: all .2s ease-in-out
}
.cz_title_pos_block .cz_title_content > span {
margin-right: 0 !important;
margin-left: 0 !important
}
.cz_title_content > i {
font-size: 2em;
margin: 0;
text-align: center;
width: 2em;
height: 2em;
line-height: 2em;
display: inline-block;
vertical-align: sub;
box-sizing: content-box;
transition: all .2s ease-in-out
}
.cz_title_content > i:before,
.cz_title_content > i span,
.cz_title_content .cz_title_image {
display: inline-block
}
.cz_title_content .cz_title_image {
overflow: hidden;
max-width: 120px
}
.cz_title_image img {
width: inherit
}
.cz_title_number {
font-style: normal
}
.cz_title_shape {
position: absolute;
left: 0;
top: 0;
font-size: 140px;
font-weight: 900;
width: 100%;
line-height: 1;
pointer-events: none;
transform-origin: 0;
z-index: 1;
word-wrap: initial;
transition: all .2s ease-in-out
}
.shape_square, .shape_circle, 
.shape_rectangle, .shape_rhombus, 
.shape_rhombus_radius {
background: #404040;
width: 150px;
height: 150px
}
.shape_circle {
border-radius: 100%
}
.shape_rhombus, .shape_rhombus_radius {
display: inline-block;
transform: rotate(45deg)
}
.shape_rhombus_radius {
border-radius: 20%
}
.shape_rectangle {
transform: scaleX(2)
}
.cz_title_shape_outline {
background: none;
border: 10px solid
}
.cz_title_line {
width: 100%;
height: 4px;
display: block;
margin: 0 0 20px
}
.cz_title_line span {
font-size: 0;
height: 100%;
display: inline-block;
position: relative;
top: -20px;
background: #a7a7a7;
width: 60px
}
.cz_line_after_title,
.cz_line_before_title {
position: relative
}
.cz_title_content .cz_line_side_solo {
font-size: 0;
height: 4px;
width: 50px;
display: inline-block;
vertical-align: bottom;
margin: 0 20px 0 0;
background: rgba(167, 167, 167, .4)
}
.cz_title.tac .cz_title_shape,
.tac.cz_title_shape {
left: 50%;
transform: translate(-50%,-50%)
}
.cz_title.tac .cz_title_shape.tal,
.cz_title.tac .cz_title_shape.tar {
transform: none
}
.cz_title.tac .shape_rectangle {
transform: scaleX(2) translate(-50%,-50%)
}
.cz_title.tac .shape_rhombus, 
.cz_title.tac .shape_rhombus_radius {
transform: rotate(45deg) translate(-50%,-50%)
}
.cz_title .cz_title_shape.tal {
left: 0
}
.cz_title .cz_title_shape.tar {
left: auto;
right: 0
}
.cz_title_ba_line .cz_title_content {
display: inline-block
}
.shape_image {
width: auto
}
.cz_title_content .cz_line_side_after {
margin: 0 0 0 20px
}
.cz_title .xtra-placeholder {
max-width: 100px
}
.cz_title_pos_center .cz_title_content {
float: none;
margin: 0 auto;
display: table
}
[class*="codevz-fancy-"] {
overflow: hidden
}
[class*="codevz-fancy-"] .cz_wpe_content > * > span {
display: inline-block;
position: relative;
transform: translateY(130%)
}
[class*="codevz-fancy-"] .codevz-start-fancy {
animation: fancyFX .8s ease-out forwards
}
@keyframes fancyFX {
0% {transform: translateY(130%)}
100% {transform: translateY(0)}
}
.elementor-element .cz_title_content .cz_line_side_solo {
vertical-align: middle
}
.elementor-element .cz_title_content .cz_title_image {
box-sizing: content-box
}.cz_grid_p {
position: relative;
margin: 0 -10px;
z-index: 1
}
.cz_grid {
width:100%;
margin: 0
}
.cz_grid:before {
width: 30px !important;
height: 30px !important;
visibility: visible !important;
font-size: 0;
margin: 0 10px;
padding: 0;
border-radius: 100%;
z-index: 1;
position: absolute;
top: 50px;
left: calc(50% - 14px);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
border: 1px solid rgba(167, 167, 167, .2);
border-right-color: #676767;
background-image: none;
background-color: transparent;
animation: CircleBorderLoop .5s linear infinite
}
.no-js .cz_grid:before,
.cz_grid[data-animation]:before,
.cz_grid_no_loading:before,
.elementor-editor-active .cz_grid:before,
.vc_editor .cz_grid:before {
display: none;
opacity: 0;
visibility: hidden !important
}
.cz_grid:not(.cz_grid_no_loading) > .cz_grid_item {
opacity: 0
}
.no-js .cz_grid:not(.cz_grid_no_loading) > .cz_grid_item,
.elementor-editor-active .cz_grid:not(.cz_grid_no_loading) > .cz_grid_item,
.vc_editor .cz_grid:not(.cz_grid_no_loading) > .cz_grid_item {
opacity: 1
}
.slick .cz_grid {
width: 100% !important;
margin: 0 !important
}
.cz_grid_item {
position:relative;
float: left
}
.cz_tab .cz_grid_item {
transition: 1ms ease !important
}
.cz_grid_item > div {
position: relative;
margin: 0 10px 20px;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transition: all .2s ease-in-out
}
.cz_gallery_badge {
position: absolute;
z-index: 9;
top: -20px;
right: -20px;
width: 40px;
height: 40px;
line-height: 40px;
border-radius: 100%;
background: #ff3535;
color: #fff;
font-weight: bold;
font-size: 12px
}
.cz_grid_disable_links a {
pointer-events: none;
position: relative;
display: block
}
.cz_grid_disable_links a:after {
z-index: 1;
content: '';
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
.cz_single_line_title h3,
.cz_single_line_title h4,
.cz_single_line_title h5,
.cz_single_line_title h6 {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis
}
.cz_grid_c1 .cz_grid_item {width: calc(100%)}
.cz_grid_c2 .cz_grid_item, 
.cz_metro_1 .cz_grid_item:nth-child(3n+2), 
.cz_metro_2 .cz_grid_item:nth-child(2),
.cz_metro_2 .cz_grid_item:nth-child(9),
.cz_metro_2 .cz_grid_item:nth-child(12),
.cz_metro_2 .cz_grid_item:nth-child(19),
.cz_metro_2 .cz_grid_item:nth-child(22),
.cz_metro_2 .cz_grid_item:nth-child(29),
.cz_metro_2 .cz_grid_item:nth-child(32),
.cz_metro_2 .cz_grid_item:nth-child(39),
.cz_metro_2 .cz_grid_item:nth-child(42),
.cz_metro_3 .cz_grid_item:nth-child(5n+3),
.cz_metro_4 .cz_grid_item:nth-child(4),
.cz_metro_8 .cz_grid_item:nth-child(6n+4),
.cz_metro_8 .cz_grid_item:nth-child(6n+5),
.cz_grid_1big .cz_grid_item:nth-child(2) {width: calc(100% / 2)}
.cz_grid_c3 .cz_grid_item {width: calc(100% / 3)}
.cz_metro_5 .cz_grid_item:nth-child(7n+2), 
.cz_metro_6 .cz_grid_item:nth-child(5n+3) {width: calc(100% / 3 * 2)}
.cz_grid_c4 .cz_grid_item {width: calc(100% / 4)}
.cz_grid_c5 .cz_grid_item {width: calc(100% / 5)}
.cz_grid_c6 .cz_grid_item {width: calc(100% / 6)}
.cz_metro_9 .cz_grid_item:nth-child(4n+2) {width: calc(100% / 6 * 3)}
.cz_metro_10 .cz_grid_item:nth-child(7n+2) {width: calc(100% / 6 * 2)}
.cz_grid_c7 .cz_grid_item {width: calc(100% / 7)}
.cz_metro_7 .cz_grid_item:nth-child(6n+2) {width: calc(100% / 7 * 3)}
.cz_grid_c8 .cz_grid_item {width: calc(100% / 8)}
.cz_grid_link {
direction: ltr;
display: block;
position: relative;
overflow: hidden;
clip-path: inset(0% 0% 0% 0%);
-webkit-clip-path: inset(0% 0% 0% 0%)
}
.cz_grid_item img {
border-radius: inherit !important;
width: 100% !important;
transition: all .6s ease-in-out !important
}
.cz_grid_posts .cz_grid_item img {
transition: all 1s cubic-bezier(.06,.2,.1,1) !important
}
.cz_grid_posts .cz_grid_item:hover img {
transform: scale(1.15)
}
.cz_grid_item_svg img {
background: rgba(167, 167, 167, .1)
}
.cz_grid_item_svg {
background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDU4IDU4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1OCA1ODsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSI2NHB4IiBoZWlnaHQ9IjY0cHgiPgo8Zz4KCTxwYXRoIGQ9Ik01Nyw2SDFDMC40NDgsNiwwLDYuNDQ3LDAsN3Y0NGMwLDAuNTUzLDAuNDQ4LDEsMSwxaDU2YzAuNTUyLDAsMS0wLjQ0NywxLTFWN0M1OCw2LjQ0Nyw1Ny41NTIsNiw1Nyw2eiBNNTYsNTBIMlY4aDU0VjUweiIgZmlsbD0iI2RlZGVkZSIvPgoJPHBhdGggZD0iTTE2LDI4LjEzOGMzLjA3MSwwLDUuNTY5LTIuNDk4LDUuNTY5LTUuNTY4QzIxLjU2OSwxOS40OTgsMTkuMDcxLDE3LDE2LDE3cy01LjU2OSwyLjQ5OC01LjU2OSw1LjU2OSAgIEMxMC40MzEsMjUuNjQsMTIuOTI5LDI4LjEzOCwxNiwyOC4xMzh6IE0xNiwxOWMxLjk2OCwwLDMuNTY5LDEuNjAyLDMuNTY5LDMuNTY5UzE3Ljk2OCwyNi4xMzgsMTYsMjYuMTM4cy0zLjU2OS0xLjYwMS0zLjU2OS0zLjU2OCAgIFMxNC4wMzIsMTksMTYsMTl6IiBmaWxsPSIjZGVkZWRlIi8+Cgk8cGF0aCBkPSJNNyw0NmMwLjIzNCwwLDAuNDctMC4wODIsMC42Ni0wLjI0OWwxNi4zMTMtMTQuMzYybDEwLjMwMiwxMC4zMDFjMC4zOTEsMC4zOTEsMS4wMjMsMC4zOTEsMS40MTQsMHMwLjM5MS0xLjAyMywwLTEuNDE0ICAgbC00LjgwNy00LjgwN2w5LjE4MS0xMC4wNTRsMTEuMjYxLDEwLjMyM2MwLjQwNywwLjM3MywxLjA0LDAuMzQ1LDEuNDEzLTAuMDYyYzAuMzczLTAuNDA3LDAuMzQ2LTEuMDQtMC4wNjItMS40MTNsLTEyLTExICAgYy0wLjE5Ni0wLjE3OS0wLjQ1Ny0wLjI2OC0wLjcyLTAuMjYyYy0wLjI2NSwwLjAxMi0wLjUxNSwwLjEyOS0wLjY5NCwwLjMyNWwtOS43OTQsMTAuNzI3bC00Ljc0My00Ljc0MyAgIGMtMC4zNzQtMC4zNzMtMC45NzItMC4zOTItMS4zNjgtMC4wNDRMNi4zMzksNDQuMjQ5Yy0wLjQxNSwwLjM2NS0wLjQ1NSwwLjk5Ny0wLjA5LDEuNDEyQzYuNDQ3LDQ1Ljg4Niw2LjcyMyw0Niw3LDQ2eiIgZmlsbD0iI2RlZGVkZSIvPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+Cjwvc3ZnPgo=);
background-repeat: no-repeat;
background-position: center;
}
.cz_grid_item h3,
.cz_grid_item h4,
.cz_grid_item h5,
.cz_grid_item h6 {
font-size: 22px
}
.cz_grid_search {
position: relative;
display: inline-block;
width: 190px;
color: #a7a7a7;
margin: 0;
padding: 6px 20px;
float: inline-end;
border-radius: 50px
}
.elementor-widget-cz_posts,
.elementor-widget-cz_gallery {
visibility: visible !important
} .cz_grid_grayscale img,
.cz_grid_grayscale_on_hover:hover img,
.cz_grid_grayscale_remove img {
filter: grayscale(100%)
}
.cz_grid_grayscale_remove:hover img {
filter: grayscale(0%)
}
.cz_grid_blur img {
filter: blur(0)
}
.cz_grid_blur:hover img,
.cz_grid_blur_others:hover .cz_grid_blur_others img {
filter: blur(2px)
}
.cz_grid_blur_others:hover .cz_grid_blur_others:hover img {
filter: blur(0px)
}
.cz_grid_zoom_in:hover img,
.cz_grid_zoom_out img {
transform: scale(1.1)
}
.cz_grid_zoom_out:hover img {
transform: scale(1)
}
.cz_grid_zoom_rotate:hover img {
transform: scale(1.15) rotate(-5deg)
}
.cz_grid_flash:hover img {
opacity: 1;
animation: czFlashFx 1s forwards
}
.cz_grid_shine:after {
position: absolute;
content: '';
top: 0;
left: 150%;
z-index: 2;
display: block;
width: 50%;
height: 100%;
border: 0;
border-radius: 0;
animation: xtraGridShineDef 1s forwards;
background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,.3));
transform: skewX(-25deg)
}
@keyframes xtraGridShineDef {100% {left: -125%}}
.cz_grid_shine:hover:after {left: -125%;animation: xtraGridShine 1s forwards}
@keyframes xtraGridShine {100% {left: 125%}}
.cz_grid_item > div:hover .cz_grid_inset_clip_1x {
clip-path: inset(5px 5px 5px 5px);
-webkit-clip-path: inset(5px 5px 5px 5px)
}
.cz_grid_item > div:hover .cz_grid_inset_clip_2x {
clip-path: inset(10px 10px 10px 10px);
-webkit-clip-path: inset(10px 10px 10px 10px)
}
.cz_grid_item > div:hover .cz_grid_inset_clip_3x {
clip-path: inset(15px 15px 15px 15px);
-webkit-clip-path: inset(15px 15px 15px 15px)
}
.cz_grid_zoom_mask {
clip-path: inset(10px 10px 10px 10px);
-webkit-clip-path: inset(10px 10px 10px 10px)
}
.cz_grid_item > div:hover .cz_grid_zoom_mask {
clip-path: inset(0% 0% 0% 0%);
-webkit-clip-path: inset(0% 0% 0% 0%);
z-index: 2
}
.cz_grid_item > div:hover .cz_grid_scale {
transform: scale(1.1);
z-index: 2
}
.cz_grid_item > div:hover .cz_grid_scale2 {
transform: scale(1.2);
z-index: 2
}
.cz_grid_rhombus_hover {
clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
}
.cz_grid_rhombus,
.cz_grid_item > div:hover .cz_grid_rhombus_hover {
clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
-webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)
} ul.cz_grid_filters {
list-style-type: none;
margin-left: 0 !important;
margin-right: 0 !important;
padding: 0;
}
.tag .cz_grid_filters,
.category .cz_grid_filters,
[class*="tax-"] .cz_grid_filters {
display: none
}
.cz_grid_filters li {
position: relative;
display: inline-block;
color: #a7a7a7;
margin: 0 0 20px;
padding: 6px 20px;
cursor: pointer;
border-radius: 50px;
border: 1px solid transparent;
transition: all .3s ease-in-out
}
.cz_grid_filters li.cz_active_filter {
font-weight: 500;
color: #111
}
.cz_grid_filters li:after {
position: absolute;
content: '';
right: 0;
top: 50%;
transform: translateY(-50%)
}
.cz_grid_filters li:last-child:after {
display: none
}
.cz_grid_filters_count li span {
text-align: center;
margin: 0;
width: 1em;
height: 1em;
line-height: 1em;
border-radius: 2px;
white-space: nowrap;
display: inline-block;
box-sizing: content-box;
transition: all 300ms cubic-bezier(.77, 0, .175, 1);
}
.cz_grid_filters_count_a li span,
.cz_grid_filters_count_ah li span {
position: absolute;
left: 50%;
top: 50%;
opacity: 0;
transform: translate(-50%, -80%)
}
.cz_grid_filters_count_i li span {
margin: 0 0 0 10px;
opacity: .5
}
.cz_grid_filters_count_a li span,
.cz_grid_filters_count li:hover span,
li.cz_active_filter span {
top: 0;
opacity: 1
}
li[data-filter=".cz_no_count"] {
display: none !important
} .cz_ajax_pagination {
display: block;
position: relative;
width: 100%
}
.cz_ajax_loadmore a, 
.cz_ajax_infinite a {
display: inline-block;
padding: 10px 20px;
background: #111;
color: #fff;
border-radius: 2px;
margin: 20px 0 0;
overflow: hidden;
border: 2px solid transparent;
transition: all .2s linear
}
.cz_loadmore_block a {display: block;text-align: center}
.cz_ajax_loadmore a:hover, .cz_ajax_infinite a:hover {color: #fff}
.cz_ajax_infinite a {opacity: 0}
.cz_ajax_infinite .cz_ajax_loading {opacity: 1}
.cz_ajax_loadmore .cz_ajax_loading, 
.cz_ajax_infinite .cz_ajax_loading {
font-size: 0 !important;
margin: 0 auto;
text-indent: -99999px;
color: transparent !important;
padding: 0 !important;
width: 40px !important;
height: 40px !important;
background: none !important;
border-radius: 100% !important;
border-color: rgba(167, 167, 167, .4);
border-right-color: #111;
transform: translateZ(0);
transition: none !important;
animation: rotateInfinite .6s linear infinite
}
@keyframes rotateInfinite {
from {transform: rotate(0deg)}
to {transform: rotate(360deg)}
}
.no-js .cz_grid_filters,
.no-js .cz_ajax_pagination,
.no-js .cz_ajax_loadmore a,
.no-js .cz_ajax_infinite a {
display: none
}
.cz_data_sub_prefix {
opacity: .6
}
.cz_ajax_end {
opacity: .3;
font-size: 12px !important;
pointer-events: none
} .cz_grid_1 .cz_grid_item > div:hover .cz_grid_link:before,
.cz_grid_1.cz_grid_1_hide_on_hover .cz_grid_link:before {
opacity: 1
}
.cz_grid_1 .cz_grid_link:before, 
.cz_grid_1_hide_on_hover .cz_grid_item > div:hover .cz_grid_link:before {
content: '';
position: absolute;
height: 100%;
width: 100%;
left: 0;
top: 0;
opacity: 0;
z-index: 1;
border-radius: inherit;
background: rgba(0, 0, 0, .4);
border: 0;
transition: all 500ms cubic-bezier(.77, 0, .175, 1)
}
.cz_grid_overlay_border .cz_grid_link:before {
height: calc( 100% - 4px );
width: calc( 100% - 4px );
border: 2px solid transparent
}
.cz_grid_overlay_5px .cz_grid_link:before {
height: 96%;
width: 96%;
top: 2%;
left: 2%;
}
.cz_grid_overlay_10px .cz_grid_link:before {
height: 92%;
width: 92%;
top: 4%;
left: 4%;
}
.cz_grid_overlay_15px .cz_grid_link:before {
height: 88%;
width: 88%;
top: 6%;
left: 6%;
}
.cz_grid_overlay_20px .cz_grid_link:before {
height: 86%;
width: 86%;
top: 7%;
left: 7%;
}
.cz_grid_1 .cz_grid_details {
position: absolute;
top: 20px;
left: 50%;
z-index: 2;
width: 90%; transform: translateX(-50%)
}
.cz_grid_1_mid .cz_grid_details {
top: 50%;
transform: translate(-50%, -50%)
}
.cz_grid_1_bot .cz_grid_details {
top: auto;
bottom: 20px
}
.cz_grid .cz_grid_icon {
box-sizing: content-box
}
.cz_grid_1 .cz_grid_icon {
font-size: 30px;
margin: 0 0 20px;
color: #fff;
width: 2em;
height: 2em;
line-height: 2em;
text-align: center;
opacity: 0;
transform: translateY(20px);
transition: all 400ms cubic-bezier(.77, 0, .175, 1)
}
.cz_grid_1_no_title:not(.cz_grid_1_w_info) .cz_grid_icon {
margin: 0
}
.cz_grid_1 h3,
.cz_grid_1 h4,
.cz_grid_1 h5,
.cz_grid_1 h6,
.cz_grid_1 .cz_post_excerpt {
position: relative;
color: #fff;
opacity: 0;
margin: 0;
word-wrap: normal;
transform: translateY(20px);
transition: all 500ms cubic-bezier(.77, 0, .175, 1)
}
.cz_grid_1 .cz_post_excerpt {
display: none;
margin: 10px 0;
transition: all 700ms cubic-bezier(.77, 0, .175, 1)
}
.cz_grid_1_has_excerpt .cz_post_excerpt {
display: block
}
.cz_grid.cz_grid_1 small {
font-size: .7em;
color: #fff;
opacity: 0;
margin: 8px 0;
transform: translateY(20px);
transition: all 900ms cubic-bezier(.77, 0, .175, 1), color 200ms ease-in-out
}
.cz_grid_1_no_title h3, 
.cz_grid_1_no_title h4,
.cz_grid_1_no_title h5, 
.cz_grid_1_no_title h6,
.cz_grid_1_no_hover .cz_grid_details,
.cz_grid_1_no_hover .cz_grid_link:before,
.cz_grid_1_no_desc small,
.cz_grid_1_no_icon .cz_grid_icon {
display: none
}
.cz_grid_1 .cz_grid_item > div:hover a .cz_grid_details > *,
.cz_grid_1_hide_on_hover .cz_grid_item a .cz_grid_details > *,
.cz_grid_1 .cz_grid_item > div:hover .cz_grid_details > *,
.cz_grid_1_hide_on_hover .cz_grid_item .cz_grid_details > * {
transform: translateY(0);
opacity: 1
}
.cz_grid_1_hide_on_hover .cz_grid_item > div:hover a .cz_grid_details > *,
.cz_grid_1_hide_on_hover .cz_grid_item > div:hover .cz_grid_details > * {
transform: translateY(-20px);
opacity: 0
}
.cz_grid_fib .cz_grid_item a .cz_grid_details > * {
transform: translateY(-20px)
}
.cz_grid_fib .cz_grid_item > div:hover a .cz_grid_details > *,
.cz_grid_fib.cz_grid_1_hide_on_hover .cz_grid_item a .cz_grid_details > * {
transform: translateY(0);
opacity: 1
}
.cz_grid_fib.cz_grid_1_hide_on_hover .cz_grid_item > div:hover a .cz_grid_details > * {
transform: translateY(20px);
opacity: 0
}
.cz_grid_fil .cz_grid_item a .cz_grid_details > * {
transform: translateX(20px)
}
.cz_grid_fil .cz_grid_item > div:hover a .cz_grid_details > *,
.cz_grid_fil.cz_grid_1_hide_on_hover .cz_grid_item a .cz_grid_details > * {
transform: translateX(0);
opacity: 1
}
.cz_grid_fil.cz_grid_1_hide_on_hover .cz_grid_item > div:hover a .cz_grid_details > * {
transform: translateX(-20px);
opacity: 0
}
.cz_grid_fir .cz_grid_item a .cz_grid_details > * {
transform: translateX(-20px)
}
.cz_grid_fir .cz_grid_item > div:hover a .cz_grid_details > *,
.cz_grid_fir.cz_grid_1_hide_on_hover .cz_grid_item a .cz_grid_details > * {
transform: translateX(0);
opacity: 1
}
.cz_grid_fir.cz_grid_1_hide_on_hover .cz_grid_item > div:hover a .cz_grid_details > * {
transform: translateX(20px);
opacity: 0
}
.cz_grid_zin .cz_grid_item a .cz_grid_details > * {
transform: translateX(0) scale(.5)
}
.cz_grid_zin .cz_grid_item > div:hover a .cz_grid_details > *,
.cz_grid_zin.cz_grid_1_hide_on_hover .cz_grid_item a .cz_grid_details > * {
transform: translateX(0) scale(1);
opacity: 1
}
.cz_grid_zin.cz_grid_1_hide_on_hover .cz_grid_item > div:hover a .cz_grid_details > * {
transform: translateX(0) scale(1.5);
opacity: 0
}
.cz_grid_zou .cz_grid_item a .cz_grid_details > * {
transform: translateX(0) scale(1.5)
}
.cz_grid_zou .cz_grid_item > div:hover a .cz_grid_details > *,
.cz_grid_zou.cz_grid_1_hide_on_hover .cz_grid_item a .cz_grid_details > * {
transform: translateX(0) scale(1);
opacity: 1
}
.cz_grid_zou.cz_grid_1_hide_on_hover .cz_grid_item > div:hover a .cz_grid_details > * {
transform: translateX(0) scale(.5);
opacity: 0
}
.cz_grid_siv .cz_grid_item a .cz_grid_details > * {
transform: translateX(0) scale(1, 0);
transform-origin: center
}
.cz_grid_siv .cz_grid_item > div:hover a .cz_grid_details > *,
.cz_grid_siv.cz_grid_1_hide_on_hover .cz_grid_item a .cz_grid_details > * {
transform: translateX(0) scale(1);
opacity: 1
}
.cz_grid_siv.cz_grid_1_hide_on_hover .cz_grid_item > div:hover a .cz_grid_details > * {
transform: translateX(0) scale(1, 0);
opacity: 0
}
.cz_grid_sih .cz_grid_item a .cz_grid_details > * {
transform: translateX(0) scale(0, 1);
transform-origin: center
}
.cz_grid_sih .cz_grid_item > div:hover a .cz_grid_details > *,
.cz_grid_sih.cz_grid_1_hide_on_hover .cz_grid_item a .cz_grid_details > * {
transform: translateX(0) scale(1);
opacity: 1
}
.cz_grid_sih.cz_grid_1_hide_on_hover .cz_grid_item > div:hover a .cz_grid_details > * {
transform: translateX(0) scale(0, 1);
opacity: 0
}
.cz_grid_sil .cz_grid_item a .cz_grid_details > .cz_grid_icon,
.cz_grid_sir .cz_grid_item a .cz_grid_details > .cz_grid_icon {
transform: translateX(-1000%);
}
.cz_grid_sil .cz_grid_item a .cz_grid_details > * {
transform: translateX(140%);
opacity: 1
}
.cz_grid_sil .cz_grid_item > div:hover a .cz_grid_details > *,
.cz_grid_sil.cz_grid_1_hide_on_hover .cz_grid_item a .cz_grid_details > * {
transform: translateX(0)
}
.cz_grid_sil.cz_grid_1_hide_on_hover .cz_grid_item > div:hover a .cz_grid_details > * {
transform: translateX(-140%)
}
.cz_grid_sir .cz_grid_item a .cz_grid_details > * {
transform: translateX(-140%);
opacity: 1
}
.cz_grid_sir .cz_grid_item > div:hover a .cz_grid_details > *,
.cz_grid_sir.cz_grid_1_hide_on_hover .cz_grid_item a .cz_grid_details > * {
transform: translateX(0)
}
.cz_grid_sir.cz_grid_1_hide_on_hover .cz_grid_item > div:hover a .cz_grid_details > * {
transform: translateX(140%)
}
.cz_grid_1_always_show .cz_grid_link:before,
.cz_grid_1_always_show .cz_grid_item h3, 
.cz_grid_1_always_show .cz_grid_item h4, 
.cz_grid_1_always_show .cz_grid_item h5, 
.cz_grid_1_always_show .cz_grid_item h6, 
.cz_grid_1_always_show .cz_grid_item h4,  
.cz_grid_1_always_show .cz_grid_item small,
.cz_grid_1_always_show .cz_grid_item .cz_post_excerpt,
.cz_grid_1_always_show .cz_grid_item .cz_grid_icon {
transform: translateY(0) scale(1) !important;
opacity: 1 !important
}
.cz_grid_1 .cz_grid_item * {
transform-origin: center
}
.cz_grid_1_title_sub_after .cz_grid_link {
margin: 0 0 20px
}
.cz_grid_1_title_sub_after:not(.cz_grid_1_subtitle_on_img) a .cz_grid_details {
text-align: center !important;
transform: translate(-50%, -50%);
top: 50% !important;
left: 50% !important;
bottom: auto
}
.cz_grid_1_title_sub_after:not(.cz_grid_1_subtitle_on_img) a .cz_grid_details i {
margin: 0
}
.cz_grid_1_title_sub_after:not(.cz_grid_1_subtitle_on_img) * {
transform-origin: center !important
}
.cz_grid_1_title_sub_after .cz_grid_details_outside {
display: block !important;
width: initial !important;
transform: none !important;
text-align: inherit;
z-index: 2;
position: relative;
left: 0;
top: 0
}
.cz_grid_1_title_sub_after .cz_grid_details_outside h3,
.cz_grid_1_title_sub_after .cz_grid_details_outside h4,
.cz_grid_1_title_sub_after .cz_grid_details_outside h5,
.cz_grid_1_title_sub_after .cz_grid_details_outside h6,
.cz_grid_1_title_sub_after .cz_grid_details_outside small, 
.cz_grid_1_title_sub_after .cz_post_excerpt {
display: block !important;
position: static !important;
transform: none !important;
color: #111;
opacity: 1 !important
}
.cz_grid_1_no_image .cz_grid_link {
display: none !important
}
.cz_grid_1_small_image a .cz_grid_details {
width: 100% !important
}
.cz_grid_1_small_image .cz_grid_link {
width: 80px;
float: left;
margin: 0 20px 30px 0
}
.cz_grid_1_small_image .cz_grid_icon {
margin: 0 !important
}
.cz_grid_1_small_image .cz_grid_item > div {
border-radius: 0 !important
}
.cz_grid_details small .cz_cats_2 > * {
margin: 0 2px 4px 2px;
border-radius: 3px;
padding: 2px 10px;
background: rgba(174, 174, 174, .1)
}
.cz_grid_details small .cz_cats_3 > * {
background: #fff !important;
color: #6e6e6e;
}
.cz_grid_details small .cz_cats_4 > * {
background: #111 !important;
color: #ddd;
}
.cz_grid_details small .cz_cats_5 > * {
background: none !important;
border: 1px solid rgba(174, 174, 174, .2)
}
.cz_grid_details small .cz_cats_6 > * {
border: 0 !important;
color: #fff !important;
background: #111
}
.cz_grid_details small .cz_cats_7 > * {
border: 0 !important;
color: #111 !important;
background: #fff
}
.cz_grid_1 .cz_post_author_avatar {
margin: 0 10px 0 0
}
.cz_grid_1 small * {
display: inline-block;
vertical-align: middle
}
.cz_grid_1 small > span {
color: inherit !important
}
.cz_grid_1 small a {
color: inherit !important
}
.cz_grid_1 .cz_post_author_name {
display: block !important
}
.cz_grid_1 .cz_post_author_name {
margin-top: 4px
}
.cz_post_author_avatar .cz_sub_icon {
width: 1em;
height: 1em;
line-height: 1em;
text-align: center;
width: 2.2em;
height: 2.2em;
line-height: 2.2em;
text-align: center;
background: #111;
color: #fff
}
.cz_post_data {
margin: 0 10px 0 0
}
.cz_post_data_r {
float: right;
margin: 0 0 0 10px
}
.cz_meta_all_center small {
text-align: center
}
.cz_meta_all_center small * {
float: none !important
} .cz_grid[data-animation] {
perspective: initial;
perspective-origin: center
}
.cz_grid[data-animation="cz_grid_anim_fall_perspective"] {
perspective: 2000px
}
.cz_grid[data-animation] .cz_grid_item {
opacity: 0
}
.cz_grid_anim_fade_in {animation: gridFadeIn .3s forwards}
@keyframes gridFadeIn {100% {opacity: 1}}
.cz_grid_anim_move_up {transform: translateY(100px);animation: gridMoveUp .5s forwards}
@keyframes gridMoveUp {100% {transform: translateY(0);opacity: 1}}
.cz_grid_anim_move_down {transform: translateY(-100px);animation: gridMoveDown .5s forwards}
@keyframes gridMoveDown {100% {transform: translateY(0);opacity: 1}}
.cz_grid_anim_move_left {transform: translateX(100px);animation: gridMoveLeft .5s forwards}
@keyframes gridMoveLeft {100% {transform: translateX(0);opacity: 1}}
.cz_grid_anim_move_right {transform: translateX(-100px);animation: gridMoveRight .5s forwards}
@keyframes gridMoveRight {100% {transform: translateX(0);opacity: 1}}
.cz_grid_anim_zoom_in {transform: scale(.6);animation: gridZoomIn .5s forwards}
@keyframes gridZoomIn {100% {transform: scale(1);opacity: 1}}
.cz_grid_anim_zoom_out {transform: scale(1.2);animation: gridZoomOut .5s forwards}
@keyframes gridZoomOut {100% {transform: scale(1);opacity: 1}}
.cz_grid_anim_fall_perspective {transform-style: preserve-3d;transform: translateZ(400px) translateY(300px) rotateX(-90deg);animation: gridFallPerspective .5s forwards}
@keyframes gridFallPerspective {100% {transform: translateZ(0px) translateY(0px) rotateX(0deg);opacity: 1}}
.cz_grid_anim_slant {transform-style: preserve-3d;transform-origin: 0% 0%;transform: rotateX(-80deg);animation: gridSlant .5s forwards}
@keyframes gridSlant {100% {transform: rotateX(0deg);opacity: 1}}
.cz_grid_anim_helix {transform-style: preserve-3d;transform: rotateY(-90deg);animation: gridHelix .5s forwards}
@keyframes gridHelix {100% {transform: rotateY(0deg);opacity: 1}} .cz_posts_list_1 .cz_grid_link,
.cz_posts_list_2 .cz_grid_link,
.cz_posts_list_3 .cz_grid_link,
.cz_posts_list_5 .cz_grid_link {
width: 360px;
float: left;
box-sizing: border-box;
}
.cz_posts_list_1 div > .cz_grid_details,
.cz_posts_list_2 div > .cz_grid_details,
.cz_posts_list_3 div > .cz_grid_details,
.cz_posts_list_5 div > .cz_grid_details {
width: calc( 100% - 360px ) !important;
float: left;
box-sizing: border-box;
padding: 0 0 0 40px
}
.cz_posts_list_5 .cz_posts_list_first .cz_grid_link,
.cz_posts_list_5 .cz_posts_list_first div > .cz_grid_details {
padding: 0 !important;
width: 100% !important;
float: none !important
}
.cz_posts_list_2 .cz_posts_list_odd div > .cz_grid_details,
.cz_posts_list_3 div > .cz_grid_details {
padding: 0 40px 0 0
}
.cz_posts_list_3 .cz_grid_link,
.cz_posts_list_2 .cz_posts_list_odd .cz_grid_link {
float: right
}
.cz_grid .cz_sub_icon,
.cz_grid .cz_grid_details small,
.cz_grid_filters li span {
box-sizing: content-box
}
.cz_smart_details .cz_grid_item .cz_grid_details {
display: none !important
}
.cz_metro_1.cz_smart_details .cz_grid_item:nth-child(3n+2) .cz_grid_details,
.cz_metro_1.cz_smart_details .cz_grid_item:nth-child(3n+2) .cz_grid_details, 
.cz_metro_2.cz_smart_details .cz_grid_item:nth-child(2) .cz_grid_details, 
.cz_metro_2.cz_smart_details .cz_grid_item:nth-child(9) .cz_grid_details, 
.cz_metro_2.cz_smart_details .cz_grid_item:nth-child(12) .cz_grid_details, 
.cz_metro_2.cz_smart_details .cz_grid_item:nth-child(19) .cz_grid_details, 
.cz_metro_2.cz_smart_details .cz_grid_item:nth-child(22) .cz_grid_details, 
.cz_metro_2.cz_smart_details .cz_grid_item:nth-child(29) .cz_grid_details, 
.cz_metro_2.cz_smart_details .cz_grid_item:nth-child(32) .cz_grid_details, 
.cz_metro_2.cz_smart_details .cz_grid_item:nth-child(39) .cz_grid_details, 
.cz_metro_2.cz_smart_details .cz_grid_item:nth-child(42) .cz_grid_details, 
.cz_metro_3.cz_smart_details .cz_grid_item:nth-child(5n+3) .cz_grid_details, 
.cz_metro_4.cz_smart_details .cz_grid_item:nth-child(4) .cz_grid_details, 
.cz_metro_8.cz_smart_details .cz_grid_item:nth-child(6n+4) .cz_grid_details, 
.cz_metro_8.cz_smart_details .cz_grid_item:nth-child(6n+5) .cz_grid_details, 
.cz_grid_1big.cz_smart_details .cz_grid_item:nth-child(2) .cz_grid_details {
display: block !important
}
.codevz-plus-overlay-gradient:after {
--overlay-gr: #fff;
content: '';
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
visibility: visible;
pointer-events: none;
background: linear-gradient(to right,
var(--overlay-gr, #fff) 0%,
var(--overlay-gr, #fff) 2%,
transparent,
transparent,
var(--overlay-gr, #fff) 98%,
var(--overlay-gr, #fff) 100%);
z-index: 1
}
.cz_justified {
display: block;
font-size: 0
}
.cz_grid_item {
display: inline-block;
vertical-align: top;
box-sizing: border-box
}
.cz_grid_item img {
display: block;
object-fit: cover
}
.cz_justified .cz_hidden_item {
display: none !important
}
@media screen and (max-width:768px) {
.cz_grid:not(.cz_justified,.cz_grid_carousel) .cz_grid_item {
width: 50% !important
}
.cz_grid_item img {
width: auto !important;
margin: 0 auto
}
.cz_posts_list_1 .cz_grid_item div > *,
.cz_posts_list_2 .cz_grid_item div > *,
.cz_posts_list_3 .cz_grid_item div > *,
.cz_posts_list_5 .cz_grid_item div > * {
padding: 0 !important;
width: 100% !important
}
.cz_smart_details .cz_grid_item .cz_grid_details {
display: block !important
}
}
@media screen and (max-width:480px) {
.cz_grid {
width:100% !important;
margin:0 !important
}
.cz_grid:not(.cz_justified) .cz_grid_item {
width: 100% !important;
height: auto !important;
margin: 0 !important;
}
footer .cz_grid:not(.cz_justified,.cz_grid_carousel) .cz_grid_item {
width: 50% !important
}
.cz_grid:not(.cz_justified) .cz_grid_item > div {
margin: 0 5px 10px !important
}
.cz_grid_item img {
width: auto !important
}
.cz_grid_p {
margin-left: 0 !important;
margin-right: 0 !important
}
.cz_gallery_badge {
right: -10px
}
.cz_grid_two_columns_on_mobile:not(.cz_justified) .cz_grid_item {
width: 50% !important
}
ul.cz_grid_filters {
text-align: center
}
.cz_grid_search {
margin: 0 auto 30px;
display: table;
float: none;
width: 100%
}
}.jsv-course-calendar .jsv-course-card__facts dd .jsv-course-card__schedule {
display: grid; gap: .65rem; margin-top: .45rem; min-width: 0;
}
.jsv-course-calendar .jsv-course-card__schedule-group { display: block; min-width: 0; }
.jsv-course-calendar .jsv-course-card__facts .jsv-course-card__schedule-days {
display: block; font-family: inherit; font-size: .9em; font-weight: 600;
line-height: 1.5; color: var(--jsv-ink); overflow-wrap: anywhere;
}
.jsv-course-calendar .jsv-course-card__facts .jsv-course-card__schedule-time {
display: block; margin-top: .12rem; font-size: .84em; font-weight: 400;
line-height: 1.5; color: var(--jsv-muted);
}
.jsv-course-calendar a.jsv-course-card__leader-email { font-size: .875em !important; line-height: 1.5; overflow-wrap: anywhere; }
.jsv-course-calendar {
--jsv-green: #07773c;
--jsv-green-dark: #045b2e;
--jsv-green-light: #80bc47;
--jsv-ink: #17231d;
--jsv-muted: #5b6861;
--jsv-line: #dce6df;
--jsv-surface: #f4f8f5;
--jsv-white: #fff;
width: 100%;
max-width: 1400px;
margin: 0 auto;
color: var(--jsv-ink);
background: var(--jsv-white);
font-family: "Open Sans", Arial, Helvetica, sans-serif;
font-size: 16px;
line-height: 1.55;
white-space: normal !important;
text-align: left;
isolation: isolate;
} .jsv-course-calendar--month-picker-open {
position: relative;
z-index: 50;
overflow: visible;
}
.jsv-course-calendar,
.jsv-course-calendar *,
.jsv-course-calendar *::before,
.jsv-course-calendar *::after {
box-sizing: border-box;
}
.jsv-course-calendar :where(h2, h3, h4, p, dl, dt, dd, fieldset, legend) {
float: none;
padding: 0;
border: 0;
background: transparent;
box-shadow: none;
text-indent: 0;
text-shadow: none;
text-transform: none;
}
.jsv-course-calendar :where(button, input, select, textarea) {
font: inherit;
}
.jsv-course-calendar__header {
max-width: 860px;
margin: 0 0 clamp(1.35rem, 2.5vw, 2rem) !important;
padding: 0 !important;
}
.jsv-course-calendar__eyebrow {
margin: 0 0 .3rem !important;
color: var(--jsv-green);
font-size: .82rem;
font-weight: 800;
letter-spacing: .1em;
}
.jsv-course-calendar h2,
.jsv-course-calendar h3,
.jsv-course-calendar h4 {
color: var(--jsv-green);
font-family: "EB Garamond", Georgia, serif;
font-weight: 600;
letter-spacing: .03em;
} #page_content .jsv-course-calendar h2,
#page_content .jsv-course-calendar h3,
#page_content .jsv-course-calendar h4 {
color: var(--jsv-green) !important;
font-family: "EB Garamond", Georgia, serif !important;
font-weight: 600 !important;
letter-spacing: .03em !important;
text-transform: none !important;
}
.jsv-course-calendar h2 {
margin: 0 0 .65rem;
font-size: clamp(1.9rem, 4vw, 2.75rem);
line-height: 1.1;
}
#page_content .jsv-course-calendar h2 {
margin: 0 0 .65rem !important;
font-size: clamp(1.9rem, 4vw, 2.75rem) !important;
line-height: 1.1 !important;
}
.jsv-course-calendar h3 {
margin: 0 0 1rem;
font-size: clamp(1.5rem, 2.5vw, 2rem);
line-height: 1.16;
}
#page_content .jsv-course-calendar h3 {
margin: 0 0 1rem !important;
font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
line-height: 1.16 !important;
}
.jsv-course-calendar h4 {
margin: 0 0 .3rem;
font-size: 1.35rem;
line-height: 1.2;
}
#page_content .jsv-course-calendar h4 {
margin: 0 0 .3rem !important;
font-size: 1.35rem !important;
line-height: 1.2 !important;
}
.jsv-course-calendar__header > p:last-child {
max-width: 68ch;
margin: 0 !important;
}
.jsv-course-filter {
position: relative;
margin: 0 0 clamp(1.5rem, 3vw, 2.25rem) !important;
padding: clamp(1.15rem, 2.2vw, 1.75rem) !important;
border: 1px solid var(--jsv-line);
border-radius: 14px;
background: var(--jsv-surface);
}
.jsv-course-filter__alert {
position: absolute;
z-index: 10;
top: 1rem;
right: 1rem;
display: flex;
align-items: center;
gap: .7rem;
max-width: min(24rem, calc(100% - 2rem));
margin: 0 !important;
padding: .75rem .9rem !important;
border: 1px solid var(--jsv-green-light);
border-radius: 9px;
background: var(--jsv-white);
color: var(--jsv-ink);
opacity: 1 !important;
box-shadow: 0 14px 32px rgba(7, 119, 60, .18);
font-size: .9rem;
font-weight: 700;
line-height: 1.4;
animation: jsv-course-alert-in .2s ease-out both;
}
.jsv-course-filter__alert[hidden] {
display: none !important;
}
.jsv-course-filter__alert-icon {
display: inline-grid;
flex: 0 0 1.75rem;
width: 1.75rem;
height: 1.75rem;
place-items: center;
border-radius: 50%;
background: var(--jsv-green);
color: var(--jsv-white);
font-family: "Open Sans", Arial, Helvetica, sans-serif;
font-weight: 800;
}
@keyframes jsv-course-alert-in {
from { transform: translateY(-.35rem); }
to { transform: translateY(0); }
}
.jsv-course-filter legend {
width: 100%;
margin: 0 0 .75rem;
color: var(--jsv-green);
font-weight: 800;
}
.jsv-course-filter__categories {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: .65rem .85rem;
margin: 0 0 1.15rem !important;
padding: 0 !important;
}
.jsv-course-filter__categories legend {
grid-column: 1 / -1;
}
.jsv-check {
display: flex;
align-items: center;
gap: .65rem;
min-height: 58px;
margin: 0 !important;
padding: .75rem .85rem !important;
border: 1px solid var(--jsv-line);
border-radius: 9px;
background: var(--jsv-white);
cursor: pointer;
font-weight: 650;
line-height: 1.35;
transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.jsv-check:hover {
border-color: var(--jsv-green-light);
background: #fbfdfb;
box-shadow: 0 5px 16px rgba(7, 119, 60, .06);
}
.jsv-check:has(input:checked) {
border-color: var(--jsv-green);
background: #edf6e8;
}
.jsv-check input {
flex: 0 0 auto;
width: 1.15rem;
height: 1.15rem;
margin: 0 !important;
accent-color: var(--jsv-green);
}
.jsv-course-filter__grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1rem;
align-items: end;
}
.jsv-course-filter__grid > label,
.jsv-course-filter__grid > .jsv-course-filter__field,
.jsv-booking-form__grid > label {
display: grid;
gap: .4rem;
min-width: 0;
color: var(--jsv-ink);
font-weight: 700;
margin: 0 !important;
padding: 0 !important;
}
.jsv-month-picker {
position: relative;
min-width: 0;
}
.jsv-month-picker__trigger {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
min-height: 46px;
margin: 0 !important;
padding: .7rem .8rem !important;
border: 1px solid #b9c8be !important;
border-radius: 7px !important;
background: var(--jsv-white) !important;
color: var(--jsv-ink) !important;
box-shadow: none !important;
font: 400 1rem/1.3 "Open Sans", Arial, Helvetica, sans-serif !important;
text-align: left;
cursor: pointer;
}
.jsv-month-picker__trigger svg {
flex: 0 0 auto;
margin-left: .75rem;
color: var(--jsv-green);
}
.jsv-month-picker__panel {
position: absolute;
z-index: 30;
top: calc(100% + .45rem);
left: 0;
width: min(22rem, calc(100vw - 2rem));
padding: .85rem;
border: 1px solid #b9c8be;
border-radius: 10px;
background: var(--jsv-white);
box-shadow: 0 12px 32px rgba(7, 119, 60, .16);
}
.jsv-month-picker__panel[hidden] {
display: none !important;
}
.jsv-month-picker__header {
display: grid;
grid-template-columns: 44px 1fr 44px;
gap: .5rem;
align-items: center;
margin-bottom: .65rem;
text-align: center;
}
.jsv-month-picker__header button,
.jsv-month-picker__months button,
.jsv-month-picker__clear {
min-height: 44px;
margin: 0 !important;
border: 1px solid #d4dfd7 !important;
border-radius: 7px !important;
background: #fff !important;
color: var(--jsv-ink) !important;
box-shadow: none !important;
font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
cursor: pointer;
}
.jsv-month-picker__header button {
padding: 0 !important;
color: var(--jsv-green) !important;
font-size: 1.65rem !important;
line-height: 1 !important;
}
.jsv-month-picker__header strong {
font-size: 1rem;
}
.jsv-month-picker__months {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: .4rem;
}
.jsv-month-picker__months button {
padding: .55rem .25rem !important;
font-size: .88rem !important;
}
.jsv-month-picker__months button:hover,
.jsv-month-picker__header button:hover {
border-color: var(--jsv-green-light) !important;
background: #eff8f1 !important;
}
.jsv-month-picker__months button.is-selected {
border-color: var(--jsv-green) !important;
background: var(--jsv-green) !important;
color: #fff !important;
}
.jsv-month-picker__clear {
width: 100%;
margin-top: .65rem !important;
padding: .55rem .75rem !important;
color: var(--jsv-green) !important;
font-size: .88rem !important;
font-weight: 700 !important;
}
.jsv-course-calendar :where(input[type="text"], input[type="email"], input[type="tel"], input[type="date"], input[type="month"], select, textarea) {
width: 100%;
min-width: 0;
min-height: 46px;
margin: 0;
padding: .7rem .8rem;
border: 1px solid #b9c8be;
border-radius: 7px;
background: var(--jsv-white);
color: var(--jsv-ink);
box-shadow: none;
font-weight: 400;
line-height: 1.3;
}
#page_content .jsv-course-calendar :is(input[type="text"], input[type="email"], input[type="tel"], input[type="date"], input[type="month"], select, textarea) {
font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
font-size: 1rem !important;
}
.jsv-course-calendar textarea {
min-height: 110px;
resize: vertical;
}
.jsv-course-calendar :where(input, select, textarea, button, a):focus-visible {
outline: 3px solid var(--jsv-green-light);
outline: 3px solid color-mix(in srgb, var(--jsv-green-light) 65%, white);
outline-offset: 2px;
}
.jsv-course-filter__actions {
grid-column: 1 / -1;
display: flex;
flex-wrap: wrap;
gap: .75rem 1rem;
margin-top: .25rem;
}
.jsv-button {
appearance: none;
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 46px;
margin: 0;
padding: .7rem 1.2rem;
border: 1px solid transparent;
border-radius: 7px;
box-shadow: none;
cursor: pointer;
font-weight: 800;
line-height: 1.2;
text-decoration: none;
transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
#page_content .jsv-course-calendar .jsv-button {
font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
font-size: .95rem !important;
line-height: 1.2 !important;
text-transform: none !important;
}
.jsv-button--primary {
background: var(--jsv-green);
color: var(--jsv-white);
}
.jsv-button--primary:hover {
background: var(--jsv-green-light);
color: var(--jsv-green-dark);
}
.jsv-button--text {
border-color: var(--jsv-green);
background: transparent;
color: var(--jsv-green);
}
.jsv-button--text:hover {
border-color: var(--jsv-green-light);
background: var(--jsv-white);
}
.jsv-course-results__summary {
margin: 0 0 1rem !important;
padding: 0 !important;
color: var(--jsv-muted);
}
.jsv-course-results__summary[hidden],
.jsv-course-results__prompt[hidden] {
display: none !important;
}
.jsv-course-results__prompt {
margin: 0 !important;
padding: 1rem 1.1rem !important;
border: 1px solid var(--jsv-line);
border-left: 4px solid var(--jsv-green-light);
border-radius: 9px;
background: var(--jsv-surface);
color: var(--jsv-ink);
}
.jsv-course-results__list {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
align-items: start;
gap: 1.35rem;
touch-action: pan-y;
}
.jsv-course-pagination {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: .55rem;
margin-top: clamp(1.35rem, 2.5vw, 2rem);
padding-top: 1.25rem;
border-top: 1px solid var(--jsv-line);
}
.jsv-course-pagination[hidden] {
display: none !important;
}
.jsv-course-pagination__pages {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: .4rem;
}
.jsv-course-pagination :where(button) {
appearance: none;
display: inline-grid;
min-width: 44px;
min-height: 44px;
place-items: center;
margin: 0;
padding: .55rem .75rem;
border: 1px solid var(--jsv-line);
border-radius: 8px;
background: var(--jsv-white);
color: var(--jsv-green);
box-shadow: none;
cursor: pointer;
font-family: "Open Sans", Arial, Helvetica, sans-serif;
font-size: .9rem;
font-weight: 800;
line-height: 1.2;
transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.jsv-course-pagination :where(button):hover,
.jsv-course-pagination__page.is-current {
border-color: var(--jsv-green);
background: var(--jsv-green);
color: var(--jsv-white);
}
.jsv-course-pagination :where(button):disabled {
border-color: var(--jsv-line);
background: var(--jsv-surface);
color: var(--jsv-muted);
cursor: not-allowed;
opacity: .55;
}
.jsv-course-pagination__direction {
min-width: 7rem !important;
display: inline-flex !important;
align-items: center;
justify-content: center;
gap: .3rem;
}
.jsv-course-pagination__ellipsis {
display: inline-grid;
min-width: 1.5rem;
min-height: 44px;
place-items: center;
color: var(--jsv-muted);
font-weight: 800;
}
.jsv-course-pagination__status {
flex: 0 0 100%;
margin-top: .2rem;
color: var(--jsv-muted);
font-size: .82rem;
font-weight: 700;
text-align: center;
}
.jsv-course-pagination__swipe-hint {
display: none;
flex: 0 0 100%;
color: var(--jsv-muted);
font-size: .78rem;
font-weight: 600;
text-align: center;
}
.jsv-course-card {
position: relative;
min-width: 0;
padding: clamp(1.1rem, 1.8vw, 1.5rem);
border: 1px solid var(--jsv-line);
border-top: 4px solid var(--jsv-green);
border-radius: 14px;
background: var(--jsv-white);
box-shadow: 0 14px 38px rgba(7, 119, 60, .09);
overflow: hidden;
}
.jsv-course-card:has(.jsv-booking-panel:not([hidden])) {
grid-column: 1 / -1;
}
.jsv-course-card[hidden] {
display: none !important;
}
.jsv-course-card__topline {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 1rem;
margin-bottom: .8rem;
}
.jsv-course-card__category {
max-width: 70ch;
color: var(--jsv-green);
font-size: .82rem;
font-weight: 800;
letter-spacing: .04em;
text-transform: uppercase;
}
.jsv-course-card__category-title {
display: block;
}
.jsv-course-card__category-title + .jsv-course-card__category-title {
margin-top: .35rem;
padding-top: .35rem;
border-top: 1px solid var(--jsv-line);
}
.jsv-course-card h3 {
margin-top: .55rem !important;
font-size: clamp(1.45rem, 2vw, 1.75rem) !important;
line-height: 1.25 !important;
}
.jsv-course-card__status {
flex: 0 0 auto;
padding: .35rem .65rem;
border-radius: 999px;
font-size: .76rem;
font-weight: 800;
line-height: 1.15;
}
.jsv-course-card__status--open {
background: #e6f4df;
color: var(--jsv-green-dark);
}
.jsv-course-card__status--waitlist {
background: #fff1c7;
color: #684e00;
}
.jsv-course-card__status--closed {
background: #eee;
color: #555;
}
.jsv-course-card__status--offline {
background: #e8f2eb;
color: var(--jsv-green-dark);
}
.jsv-course-card__facts {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: .75rem;
margin: 0 0 1.1rem !important;
padding: 0 !important;
}
.jsv-course-card__facts > div {
display: grid;
grid-template-columns: minmax(0, 1fr);
align-content: center;
gap: .25rem;
min-width: 0;
margin: 0 !important;
padding: .8rem .9rem !important;
border: 1px solid var(--jsv-line);
border-left: 3px solid var(--jsv-green-light);
border-radius: 9px;
background: var(--jsv-surface);
}
.jsv-course-card__facts dt {
float: none !important;
clear: none !important;
width: auto !important;
min-width: 0 !important;
max-width: none !important;
margin: 0 !important;
padding: 0 !important;
color: var(--jsv-green);
font-size: .76rem;
font-weight: 800;
letter-spacing: .04em;
line-height: 1.3;
text-transform: uppercase;
}
.jsv-course-card__facts dd {
float: none !important;
clear: none !important;
width: auto !important;
min-width: 0;
max-width: none !important;
margin: 0 !important;
padding: 0 !important;
font-weight: 600;
line-height: 1.45;
overflow-wrap: anywhere;
}
.jsv-course-card__facts dd .jsv-course-card__subline {
display: block;
margin-top: .18rem;
color: var(--jsv-muted);
font-size: .84em;
font-weight: 500;
line-height: 1.4;
}
.jsv-course-card__facts .jsv-course-card__availability {
border-color: var(--jsv-line);
border-left-color: var(--jsv-green-light);
background: var(--jsv-surface);
}
.jsv-course-card__facts .jsv-course-card__availability dd {
color: var(--jsv-ink);
font-weight: 600;
}
.jsv-course-card__facts .jsv-course-card__availability.is-full {
border-color: var(--jsv-line);
border-left-color: var(--jsv-green-light);
background: var(--jsv-surface);
}
.jsv-course-card__facts .jsv-course-card__availability.is-full dd {
color: var(--jsv-ink);
}
.jsv-course-card__description {
max-width: 80ch;
margin: 0 0 1.1rem !important;
padding: 0 !important;
}
.jsv-course-card__description > :first-child {
margin-top: 0 !important;
}
.jsv-course-card__description > :last-child {
margin-bottom: 0 !important;
}
.jsv-course-card__description a,
.jsv-course-card__facts a {
color: var(--jsv-green) !important;
overflow-wrap: anywhere;
text-decoration: underline;
text-decoration-thickness: .08em;
text-underline-offset: .15em;
}
.jsv-booking-panel {
margin-top: 1.35rem;
padding-top: 1.35rem;
border-top: 1px solid var(--jsv-line);
}
.jsv-booking-panel[hidden] {
display: none !important;
}
.jsv-booking-form__heading {
margin-bottom: 1rem;
}
.jsv-booking-form__heading p {
margin: 0;
}
.jsv-booking-errors {
display: grid;
grid-template-columns: 2rem minmax(0, 1fr);
gap: .8rem;
align-items: start;
margin: 0 0 1.15rem !important;
padding: 1rem 1.1rem !important;
border: 1px solid #e2b7b0;
border-left: 4px solid #a43a2e;
border-radius: 9px;
background: #fff8f6;
color: var(--jsv-ink);
box-shadow: 0 8px 22px rgba(75, 29, 22, .08);
}
.jsv-booking-errors[hidden] {
display: none !important;
}
.jsv-booking-errors__icon {
display: grid;
width: 2rem;
height: 2rem;
place-items: center;
border-radius: 50%;
background: #a43a2e;
color: #fff;
font-size: 1.1rem;
font-weight: 800;
line-height: 1;
}
.jsv-booking-errors__title {
margin: 0 0 .35rem !important;
color: #7e2b22;
font-size: 1rem;
font-weight: 800;
line-height: 1.4;
}
.jsv-booking-errors ul {
margin: 0 !important;
padding: 0 0 0 1.15rem !important;
color: #62302a;
font-size: .88rem;
line-height: 1.5;
}
.jsv-booking-errors li + li {
margin-top: .18rem;
}
.jsv-booking-form__grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1rem;
}
.jsv-booking-form__wide {
grid-column: 1 / -1;
}
.jsv-course-calendar .jsv-booking-form__course-category {
min-width: 0;
margin: 0 0 .25rem !important;
padding: 0 !important;
border: 0 !important;
}
.jsv-course-calendar .jsv-booking-form__course-category > legend {
width: 100%;
margin: 0 0 .65rem !important;
color: var(--jsv-green);
font-weight: 800;
font-size: 1rem;
line-height: 1.5;
}
.jsv-course-calendar .jsv-booking-form__category-options {
display: grid;
gap: .8rem;
}
.jsv-course-calendar .jsv-booking-form__category-options .jsv-check {
min-width: 0;
align-items: flex-start;
padding: .9rem !important;
line-height: 1.5;
}
.jsv-course-calendar .jsv-booking-form__category-options input[type="radio"] {
flex: 0 0 1.15rem;
width: 1.15rem !important;
min-width: 1.15rem;
height: 1.15rem !important;
min-height: 0 !important;
margin: .2rem 0 0 !important;
padding: 0 !important;
accent-color: var(--jsv-green);
}
.jsv-course-calendar .jsv-booking-form__category-options .jsv-check > span {
min-width: 0;
white-space: normal;
overflow-wrap: break-word;
}
.jsv-booking-form__identity-row {
display: grid;
grid-template-columns: minmax(9rem, .75fr) repeat(2, minmax(0, 1fr));
gap: 1rem;
min-width: 0;
}
.jsv-booking-form__identity-row > label,
.jsv-booking-form__membership-select > label {
display: grid;
gap: .4rem;
min-width: 0;
margin: 0 !important;
padding: 0 !important;
color: var(--jsv-ink);
font-weight: 700;
}
.jsv-booking-form__membership {
min-width: 0;
margin: .25rem 0 0 !important;
padding: 0 !important;
border: 0 !important;
}
.jsv-booking-form__membership > legend {
width: 100%;
margin: 0 0 .65rem !important;
color: var(--jsv-green);
font-weight: 800;
}
.jsv-booking-form__membership-option + .jsv-booking-form__membership-option {
margin-top: .8rem;
}
.jsv-booking-form__membership .jsv-check {
align-items: flex-start;
min-height: 0;
padding: .9rem !important;
}
.jsv-booking-form__membership .jsv-check input {
margin-top: .16rem !important;
}
.jsv-booking-form__membership-select {
margin-top: .55rem;
padding: .85rem .9rem !important;
border: 1px solid var(--jsv-line);
border-radius: 9px;
background: #fbfdfb;
}
.jsv-booking-form__membership-select[hidden] {
display: none !important;
}
.jsv-booking-form input[type="date"] {
cursor: pointer;
}
.jsv-booking-form :is(input, select, textarea).jsv-booking-field--invalid,
#page_content .jsv-course-calendar .jsv-booking-form :is(input, select, textarea).jsv-booking-field--invalid {
border-color: #a43a2e !important;
background: #fffafa !important;
box-shadow: 0 0 0 2px rgba(164, 58, 46, .1) !important;
}
.jsv-booking-form .jsv-check.jsv-booking-field-label--invalid {
border-color: #a43a2e !important;
background: #fff8f6 !important;
box-shadow: 0 0 0 2px rgba(164, 58, 46, .08) !important;
}
.jsv-booking-field-error,
#page_content .jsv-course-calendar .jsv-booking-field-error {
display: block;
margin: .1rem 0 0 !important;
padding: 0 !important;
color: #8b3026 !important;
font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
font-size: .82rem !important;
font-weight: 700 !important;
line-height: 1.4 !important;
}
.jsv-booking-form__privacy + .jsv-booking-field-error {
margin: -.65rem 0 1rem !important;
}
.jsv-booking-form__privacy {
margin: 1rem 0;
font-size: .9rem;
}
.jsv-course-calendar a {
color: var(--jsv-green);
text-underline-offset: .16em;
}
.jsv-course-calendar a:hover {
color: var(--jsv-green-light);
}
.jsv-booking-form__honeypot {
position: absolute !important;
left: -10000px !important;
width: 1px !important;
height: 1px !important;
overflow: hidden !important;
}
.jsv-booking-form__required {
display: inline-block;
margin: 0 0 0 .7rem;
color: var(--jsv-muted);
font-size: .82rem;
}
.jsv-course-results__empty,
.jsv-course-notice {
padding: 1rem 1.1rem;
border-radius: 8px;
}
.jsv-course-results__empty {
border: 1px solid var(--jsv-line);
background: var(--jsv-surface);
margin: 0 !important;
}
.jsv-course-notice {
margin: 0 0 1.5rem;
border: 1px solid;
}
.jsv-course-notice--success {
border-color: #79ac62;
background: #edf8e8;
color: #245118;
}
.jsv-course-notice--error {
border-color: #d79b9b;
background: #fff0f0;
color: #782525;
}
@media (max-width: 900px) {
.jsv-course-filter__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.jsv-course-results__list {
grid-template-columns: 1fr;
}
.jsv-course-pagination__swipe-hint {
display: block;
}
}
@media (max-width: 900px) {
.jsv-course-calendar .jsv-course-pagination {
display: grid;
grid-template-columns: 44px minmax(0, 1fr) 44px;
gap: .45rem;
width: 100%;
min-width: 0;
}
.jsv-course-calendar .jsv-course-pagination__direction {
width: 44px;
min-width: 0 !important;
padding-inline: 0;
font-size: 1.6rem;
}
.jsv-course-calendar .jsv-course-pagination__direction-label { display: none !important; }
.jsv-course-calendar .jsv-course-pagination__pages {
flex-wrap: nowrap !important;
justify-content: flex-start;
min-width: 0;
max-width: 100%;
overflow-x: auto;
overflow-y: hidden;
padding-block: 4px;
white-space: nowrap;
touch-action: pan-x;
overscroll-behavior-x: contain;
}
.jsv-course-calendar .jsv-course-pagination__pages > * { flex: 0 0 auto; }
.jsv-course-calendar .jsv-course-pagination__status,
.jsv-course-calendar .jsv-course-pagination__swipe-hint {
grid-column: 1 / -1;
}
}
@media (max-width: 600px) {
.jsv-course-calendar {
font-size: 15px;
}
.jsv-course-filter__grid,
.jsv-course-filter__categories,
.jsv-booking-form__grid,
.jsv-booking-form__identity-row {
grid-template-columns: 1fr;
}
.jsv-month-picker__panel {
width: 100%;
}
.jsv-booking-form__wide {
grid-column: auto;
}
.jsv-course-card__topline {
align-items: stretch;
flex-direction: column;
}
.jsv-course-card__status {
align-self: flex-start;
}
.jsv-course-card__facts > div {
grid-template-columns: minmax(0, 1fr);
}
.jsv-course-card__facts {
grid-template-columns: 1fr;
}
.jsv-course-filter__actions,
.jsv-course-filter__actions .jsv-button,
.jsv-course-card__book,
.jsv-booking-form > .jsv-button {
width: 100%;
}
.jsv-booking-form__required {
display: block;
margin: .6rem 0 0;
}
.jsv-booking-errors {
grid-template-columns: 1.75rem minmax(0, 1fr);
gap: .65rem;
padding: .9rem !important;
}
.jsv-booking-errors__icon {
width: 1.75rem;
height: 1.75rem;
font-size: 1rem;
}
}
@media (prefers-reduced-motion: reduce) {
.jsv-course-calendar *,
.jsv-course-calendar *::before,
.jsv-course-calendar *::after {
scroll-behavior: auto !important;
transition-duration: .01ms !important;
}
}.jsv-interaktive-karte {
display: block !important;
box-sizing: border-box !important;
width: 100% !important;
min-width: 0 !important;
max-width: 100% !important;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
background: #ffffff !important;
overflow-x: hidden !important;
overflow-x: clip !important;
} pre.jsv-map-wrapper-reset,
code.jsv-map-wrapper-reset,
#page_content pre.jsv-map-wrapper-reset,
#page_content code.jsv-map-wrapper-reset {
all: unset !important;
display: block !important;
box-sizing: border-box !important;
width: 100% !important;
max-width: none !important;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
border-radius: 0 !important;
background: #ffffff !important;
box-shadow: none !important;
color: inherit !important;
font: inherit !important;
line-height: normal !important;
white-space: normal !important;
overflow: visible !important;
}
.jsv-interaktive-karte__status {
color: #07773c;
font-family: "Open Sans", Arial, sans-serif;
font-size: 1rem;
}
#jsv-map-app { all: initial;
--jsv-green: #07773c;
--jsv-green-active: #80bc47;
--jsv-green-dark: #045b2e;
--jsv-marker: #cd1719;
--jsv-ink: #17231d;
--jsv-muted: #5b6861;
--jsv-line: #dce6df;
--jsv-surface: #f4f8f5;
--jsv-white: #ffffff;
color: var(--jsv-ink);
font-family: "Open Sans", Arial, sans-serif;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 1.5;
text-align: left;
text-transform: none;
letter-spacing: normal;
-webkit-text-size-adjust: 100%;
isolation: isolate;
background: var(--jsv-white);
display: block;
width: 100%;
min-width: 0;
max-width: 1400px;
margin: 0 auto;
box-sizing: border-box;
}
#jsv-map-app *,
#jsv-map-app *::before,
#jsv-map-app *::after {
box-sizing: border-box;
} #jsv-map-app :where(h2, h3, h4, p, dl, dt, dd) {
float: none;
padding: 0;
border: 0;
background: transparent;
box-shadow: none;
text-indent: 0;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
}
#jsv-map-app :where(label, strong, button, select) {
font-family: inherit;
}
#jsv-map-app button {
appearance: none;
min-width: 0;
min-height: 0;
margin: 0;
box-shadow: none;
text-transform: none;
letter-spacing: normal;
transform: none;
}
#jsv-map-app button::before,
#jsv-map-app button::after {
content: none;
}
#jsv-map-app select {
margin: 0;
box-shadow: none;
text-transform: none;
letter-spacing: normal;
}
#jsv-map-app svg {
max-width: none;
margin: 0;
}
#jsv-map-app h2,
#jsv-map-app h3,
#jsv-map-app h4,
#jsv-map-app p {
margin-top: 0;
}
#jsv-map-app h2 {
font-family: "EB Garamond", Georgia, serif;
font-weight: 600;
color: var(--jsv-green);
max-width: 34ch;
font-size: clamp(1.75rem, calc(0.75rem + 1.8vw), 2.2rem);
line-height: 1.14;
letter-spacing: 0.005em;
overflow-wrap: normal;
word-break: normal;
hyphens: none;
margin: 0 0 0.65rem;
}
#jsv-map-app h3 {
color: var(--jsv-green);
font-family: "EB Garamond", Georgia, serif;
font-size: clamp(1.5rem, calc(0.55rem + 1.6vw), 2rem);
font-weight: 600;
line-height: 1.18;
letter-spacing: 0.03em;
margin: 0 0 0.55rem;
overflow-wrap: normal;
word-break: normal;
hyphens: none;
}
#jsv-map-app a {
color: var(--jsv-green-dark);
text-decoration-thickness: 1px;
text-underline-offset: 0.18em;
overflow-wrap: anywhere;
}
#jsv-map-app a:hover {
color: var(--jsv-green);
}
#jsv-map-app button,
#jsv-map-app select {
font: inherit;
}
.jsv-map__intro {
display: grid;
min-width: 0;
max-width: 100%;
grid-template-columns: minmax(0, 1fr) minmax(230px, 330px);
gap: clamp(1rem, 3vw, 3rem);
align-items: end;
margin-bottom: clamp(1.2rem, 2.5vw, 2rem);
}
.jsv-map__intro > div > p:last-child {
max-width: 74ch;
margin-bottom: 0;
line-height: 1.65;
}
.jsv-map__eyebrow {
color: var(--jsv-green);
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.09em;
margin-bottom: 0.4rem;
text-transform: uppercase;
}
.jsv-map__select-label {
display: grid;
gap: 0.4rem;
color: var(--jsv-green-dark);
font-size: 0.82rem;
font-weight: 700;
margin: 0;
}
.jsv-map__select {
-webkit-appearance: none;
appearance: none;
width: 100%;
min-height: 48px;
padding: 0.65rem 2.75rem 0.65rem 0.8rem;
border: 1px solid var(--jsv-line);
border-radius: 8px;
background-color: var(--jsv-white);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2307773c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
background-size: 16px 16px;
color: var(--jsv-ink);
}
.jsv-map__select:focus-visible,
.jsv-map__popup-close:focus-visible,
.jsv-map__help-toggle:focus-visible,
.jsv-map__club-show:focus-visible {
outline: 3px solid rgba(128, 188, 71, 0.55);
outline-offset: 3px;
} .jsv-map__select:focus-visible {
outline-offset: -3px;
}
#jsv-map-app .jsv-map__zoom-open { display: none; }
#jsv-map-app .jsv-map__zoom-dialog:not([open]) { display: none; }
#jsv-map-app .jsv-map__zoom-dialog {
position: fixed;
inset: 0;
margin: auto;
width: 100%;
max-width: 100%;
height: 100%;
height: 100dvh;
max-height: 100%;
padding: max(10px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));
border: 0;
background: #f4f8f5;
color: var(--jsv-ink);
font: inherit;
overflow: hidden;
}
#jsv-map-app .jsv-map__zoom-dialog[open] {
display: flex;
flex-direction: column;
gap: 10px;
}
.jsv-map__zoom-dialog::backdrop { background: rgba(0, 30, 15, .55); }
.jsv-map__zoom-toolbar {
display: grid;
grid-template-columns: 44px 1fr 44px auto;
align-items: center;
gap: 8px;
}
.jsv-map__zoom-toolbar strong { grid-column: 1 / 4; }
.jsv-map__zoom-toolbar output { text-align: center; color: var(--jsv-green); font-weight: 700; }
#jsv-map-app .jsv-map__zoom-toolbar button,
#jsv-map-app .jsv-map__zoom-open {
min-height: 44px;
padding: 8px 12px;
border: 1px solid var(--jsv-green);
border-radius: 10px;
color: var(--jsv-green);
background: white;
font-size: .85rem;
cursor: pointer;
}
#jsv-map-app .jsv-map__zoom-toolbar button[data-zoom="close"] {
position: relative;
justify-self: end;
width: 36px;
height: 36px;
min-width: 36px;
min-height: 36px;
padding: 0;
line-height: 1;
background: var(--jsv-green);
color: white;
font-size: 1.25rem;
}
#jsv-map-app .jsv-map__zoom-toolbar button[data-zoom="close"]::after {
content: "";
position: absolute;
inset: -4px;
}
#jsv-map-app .jsv-map__zoom-toolbar button:disabled { opacity: .4; cursor: default; }
#jsv-map-app .jsv-map__zoom-toolbar button:focus-visible,
#jsv-map-app .jsv-map__zoom-open:focus-visible,
.jsv-map__zoom-viewport:focus-visible {
outline: 3px solid var(--jsv-green-active);
outline-offset: -3px;
}
#jsv-map-app .jsv-map__zoom-hint { margin: 0; font-size: .78rem; line-height: 1.5; }
.jsv-map__zoom-viewport {
flex: 1;
min-height: 100px;
overflow: hidden;
touch-action: none;
user-select: none;
border: 1px solid var(--jsv-line);
border-radius: 12px;
background: white;
}
#jsv-map-app .jsv-map__zoom-viewport .jsv-map__svg { width: 100%; height: 100%; }
.jsv-map__zoom-details { flex: 0 1 auto; max-height: 42%; overflow: auto; }
#jsv-map-app .jsv-map__zoom-details .jsv-map__popup {
position: relative;
top: auto !important;
left: auto !important;
width: 100%;
max-width: 100%;
margin: 0;
}
.jsv-map__zoom-details .jsv-map__popup::after { display: none; }
.jsv-map__layout {
display: grid;
min-width: 0;
max-width: 100%;
grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.8fr);
gap: clamp(1rem, 3vw, 2.5rem);
align-items: start;
}
.jsv-map__stage {
position: relative;
width: 100%;
min-width: 0;
max-width: 100%;
overflow: hidden;
border: 1px solid var(--jsv-line);
border-radius: 14px;
background: linear-gradient(145deg, #f8fbf9 0%, #eef5f0 100%);
box-shadow: 0 12px 34px rgba(7, 70, 37, 0.08);
}
.jsv-map__help {
position: absolute;
z-index: 20;
top: clamp(0.65rem, 1.6vw, 1rem);
right: clamp(0.65rem, 1.6vw, 1rem);
}
.jsv-map__help-toggle {
position: relative;
display: grid;
width: 46px;
height: 46px;
padding: 0;
place-items: center;
border: 1px solid rgba(7, 119, 60, 0.3);
border-radius: 14px;
background: rgba(255, 255, 255, 0.9);
color: var(--jsv-green);
box-shadow: 0 8px 24px rgba(7, 70, 37, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.9);
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
cursor: pointer;
transition: border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.jsv-map__help-toggle::before {
position: absolute;
inset: -4px;
border: 1px solid rgba(128, 188, 71, 0.72);
border-radius: 18px;
content: "";
opacity: 0;
pointer-events: none;
transform: scale(0.82);
transition: opacity 220ms ease, transform 220ms ease;
}
.jsv-map__help-icon {
display: block;
transition: transform 180ms ease;
}
.jsv-map__help-toggle:hover,
.jsv-map__help.is-open .jsv-map__help-toggle {
border-color: transparent;
background: linear-gradient(145deg, var(--jsv-green) 0%, #0a9150 100%);
color: var(--jsv-white);
box-shadow: 0 12px 28px rgba(7, 119, 60, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.18);
transform: translateY(-2px);
}
.jsv-map__help-toggle:hover::before,
.jsv-map__help.is-open .jsv-map__help-toggle::before {
opacity: 1;
transform: scale(1);
}
.jsv-map__help-toggle:hover .jsv-map__help-icon,
.jsv-map__help.is-open .jsv-map__help-icon {
transform: scale(1.08);
}
.jsv-map__help-content {
position: absolute;
top: calc(100% + 0.55rem);
right: 0;
width: min(22rem, calc(100vw - 3rem));
padding: 0.85rem 1rem;
border: 1px solid rgba(7, 119, 60, 0.24);
border-radius: 10px;
background: var(--jsv-white);
color: var(--jsv-ink);
box-shadow: 0 12px 30px rgba(7, 70, 37, 0.18);
opacity: 0;
visibility: hidden;
pointer-events: none;
cursor: pointer;
transform: translateY(-5px);
transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}
.jsv-map__help-content strong {
display: block;
margin: 0 0 0.25rem;
color: var(--jsv-green);
font-size: 0.95rem;
}
.jsv-map__help-content p {
margin: 0;
color: var(--jsv-ink);
font-size: 0.84rem;
line-height: 1.5;
}
.jsv-map__help:not(.is-dismissed):hover .jsv-map__help-content,
.jsv-map__help:not(.is-dismissed):focus-within .jsv-map__help-content,
.jsv-map__help.is-open .jsv-map__help-content {
opacity: 1;
visibility: visible;
pointer-events: auto;
transform: translateY(0);
}
.jsv-map__svg {
display: block;
width: 100%;
height: auto;
aspect-ratio: 2640 / 1880;
touch-action: manipulation;
}
.jsv-map__district {
fill: var(--jsv-green);
stroke: #ffffff;
stroke-width: 1.6px;
vector-effect: non-scaling-stroke;
cursor: pointer;
transition: fill 180ms ease, filter 180ms ease;
outline: none;
}
.jsv-map__district:hover,
.jsv-map__district:focus-visible {
fill: #159054;
filter: brightness(1.04);
outline: none;
}
.jsv-map__district.is-active,
.jsv-map__district.is-active:hover,
.jsv-map__district.is-active:focus-visible {
fill: var(--jsv-green-active);
}
.jsv-map__district:focus-visible {
filter: brightness(1.08);
}
.jsv-map__markers {
pointer-events: none;
}
.jsv-map__marker {
cursor: pointer;
outline: none;
pointer-events: all;
}
.jsv-map__marker-hit {
fill: #ffffff;
fill-opacity: 0.001;
pointer-events: all;
}
.jsv-map__marker-icon {
filter: url(#jsv-marker-shadow);
pointer-events: none;
transition: filter 160ms ease;
}
.jsv-map__marker:hover .jsv-map__marker-icon,
.jsv-map__marker:focus-visible .jsv-map__marker-icon,
.jsv-map__marker.is-selected .jsv-map__marker-icon {
filter: url(#jsv-marker-shadow) brightness(1.08);
}
.jsv-map__marker:hover .jsv-map__marker-ring,
.jsv-map__marker:focus-visible .jsv-map__marker-ring {
opacity: 1;
animation: jsv-marker-pulse 1.2s ease-out infinite;
}
.jsv-map__marker.is-selected .jsv-map__marker-ring {
opacity: 1;
}
.jsv-map__marker-ring {
fill: none;
stroke: var(--jsv-green);
stroke-width: 10;
opacity: 0;
pointer-events: none;
transform-box: fill-box;
transform-origin: center;
}
@keyframes jsv-marker-pulse {
0% {
opacity: 0.95;
transform: scale(0.92);
}
70%,
100% {
opacity: 0;
transform: scale(1.42);
}
}
.jsv-map__panel {
min-width: 0;
padding: clamp(1rem, 2.5vw, 1.6rem);
border: 1px solid var(--jsv-line);
border-radius: 14px;
background: var(--jsv-white);
}
.jsv-map__summary {
color: var(--jsv-muted);
margin-bottom: 1rem;
line-height: 1.55;
}
.jsv-map__club-list {
display: grid;
gap: 1.1rem;
max-height: min(740px, 72vh);
overflow: auto;
padding: 0.15rem 0.35rem 0.15rem 0.15rem;
scrollbar-color: var(--jsv-green-active) transparent;
}
.jsv-map__club-card {
width: 100%;
min-width: 0;
max-width: 100%;
border: 1px solid var(--jsv-line);
border-radius: 10px;
background: var(--jsv-surface);
color: var(--jsv-ink);
overflow: hidden;
transition: border-color 160ms ease, box-shadow 160ms ease;
}
.jsv-map__club-card:hover,
.jsv-map__club-card.is-selected {
border-color: var(--jsv-green-active);
box-shadow: 0 7px 20px rgba(7, 119, 60, 0.11);
}
.jsv-map__club-show {
display: flex;
width: 100%;
align-items: center;
justify-content: space-between;
gap: 0.75rem;
padding: 0.95rem 1.15rem;
border: 0;
border-bottom: 1px solid var(--jsv-line);
background: transparent;
color: var(--jsv-ink);
text-align: left;
cursor: pointer;
}
.jsv-map__club-show:hover {
background: rgba(128, 188, 71, 0.1);
}
.jsv-map__club-show strong {
display: block;
min-width: 0;
color: var(--jsv-green-dark);
line-height: 1.3;
overflow-wrap: anywhere;
}
.jsv-map__club-show span {
flex: 0 0 auto;
color: var(--jsv-green-dark);
font-size: 0.78rem;
font-weight: 700;
}
#jsv-map-app .jsv-map__club-card .jsv-map__details {
padding: 1rem 1.15rem 1.15rem;
}
.jsv-map__popup {
position: absolute;
z-index: 5;
width: min(480px, calc(100% - 24px));
padding: 1rem 2.55rem 1rem 1rem;
border: 1px solid rgba(7, 119, 60, 0.24);
border-radius: 12px;
background: var(--jsv-white);
box-shadow: 0 18px 46px rgba(1, 31, 16, 0.24);
}
.jsv-map__popup[hidden] {
display: none;
}
.jsv-map__popup::after {
position: absolute;
left: var(--jsv-popup-arrow-left, 50%);
bottom: -9px;
width: 17px;
height: 17px;
border-right: 1px solid rgba(7, 119, 60, 0.24);
border-bottom: 1px solid rgba(7, 119, 60, 0.24);
background: var(--jsv-white);
content: "";
transform: translateX(-50%) rotate(45deg);
}
.jsv-map__popup.is-below::after {
top: -9px;
bottom: auto;
border: 0;
border-left: 1px solid rgba(7, 119, 60, 0.24);
border-top: 1px solid rgba(7, 119, 60, 0.24);
}
.jsv-map__popup-close {
position: absolute;
top: 0.45rem;
right: 0.45rem;
display: grid;
width: 34px;
height: 34px;
place-items: center;
border: 0;
border-radius: 50%;
background: var(--jsv-surface);
color: var(--jsv-green-dark);
font-size: 1.45rem;
line-height: 1;
cursor: pointer;
}
.jsv-map__popup h4 {
color: var(--jsv-green-dark);
font-size: 1.05rem;
line-height: 1.3;
margin: 0 0 0.65rem;
}
.jsv-map__details {
display: grid;
gap: 0.35rem;
margin: 0;
font-size: 0.9rem;
line-height: 1.45;
}
.jsv-map__details-row {
display: grid;
grid-template-columns: 5.1rem minmax(0, 1fr);
gap: 0.5rem;
}
#jsv-map-app.jsv-map--jagdhunde .jsv-map__details-row {
grid-template-columns: 8.4rem minmax(0, 1fr);
}
.jsv-map__details dt {
color: var(--jsv-muted);
font-weight: 700;
width: auto;
margin: 0;
}
.jsv-map__details dd {
float: none;
width: auto;
min-width: 0;
margin: 0;
overflow-wrap: anywhere;
}
#jsv-map-app .jsv-map__details a[href^="mailto:"] {
display: inline-block;
max-width: 100%;
font-size: clamp(0.72rem, 1.3vw, 0.86rem);
letter-spacing: -0.012em;
overflow-wrap: normal;
white-space: nowrap;
word-break: normal;
}
@media (max-width: 900px) {
.jsv-map__intro,
.jsv-map__layout {
grid-template-columns: minmax(0, 1fr);
}
.jsv-map__intro {
align-items: stretch;
}
.jsv-map__select-label {
max-width: none;
}
.jsv-map__club-list {
max-height: none;
grid-template-columns: repeat(2, minmax(0, 1fr));
overflow: visible;
padding-right: 0.15rem;
}
}
@media (max-width: 580px) {
#jsv-map-app .jsv-map__zoom-open {
display: block;
margin: 0 12px 12px auto;
}
.jsv-map__help-toggle {
width: 36px;
height: 36px;
border-radius: 11px;
} #jsv-map-app .jsv-map__help-toggle::after {
content: "";
position: absolute;
inset: -4px;
}
.jsv-map__help-icon {
width: 20px;
height: 20px;
}
#jsv-map-app {
max-width: 100%;
overflow-x: hidden;
overflow-x: clip;
}
#jsv-map-app h2 {
font-size: clamp(1.65rem, 7vw, 1.9rem);
}
.jsv-map__stage,
.jsv-map__panel {
border-radius: 10px;
}
.jsv-map__club-list {
grid-template-columns: minmax(0, 1fr);
}
.jsv-map__popup {
position: relative;
left: auto !important;
top: auto !important;
width: calc(100% - 24px);
margin: 0 12px 12px;
padding: 0.9rem 2.4rem 0.9rem 0.9rem;
}
.jsv-map__popup::after {
display: none;
}
.jsv-map__details-row {
grid-template-columns: minmax(0, 1fr);
gap: 0.05rem;
}
#jsv-map-app .jsv-map__details a[href^="mailto:"] {
display: inline;
max-width: 100%;
white-space: normal;
overflow-wrap: anywhere;
word-break: break-word;
}
}
@media (prefers-reduced-motion: reduce) {
.jsv-map__district,
.jsv-map__marker-icon,
.jsv-map__club-card,
.jsv-map__club-show,
.jsv-map__help-toggle,
.jsv-map__help-toggle::before,
.jsv-map__help-icon {
transition: none;
}
.jsv-map__marker:hover .jsv-map__marker-ring,
.jsv-map__marker:focus-visible .jsv-map__marker-ring {
animation: none;
opacity: 1;
transform: none;
}
}@font-face{font-family: 'EB Garamond';font-style: normal;font-weight: 400;unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;src: url(//www.jagdschutzverein.com/wp-content/uploads/omgf/omgf-stylesheet-68/eb-garamond-normal-latin-ext-400.woff2?ver=1775732274) format('woff2');font-display: swap;}@font-face{font-family: 'EB Garamond';font-style: normal;font-weight: 400;unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;src: url(//www.jagdschutzverein.com/wp-content/uploads/omgf/omgf-stylesheet-68/eb-garamond-normal-latin-400.woff2?ver=1775732274) format('woff2');font-display: swap;}