/*
 Theme Name:   Bootscore Child
 Description:  Bootscore Child Theme
 Author:       Bootscore
 Author URI:   https://bootscore.me
 Template:     bootscore
 Version:      6.0.0
 Requires at least: 5.0
 Tested up to: 6.6
 Requires PHP: 7.4
 License: MIT License
 License URI: https://github.com/bootscore/bootscore-child/blob/main/LICENSE
 Text Domain:  bootscore
*/

/* 
All style editing is done via /assets/scss/_bootscore_custom.scss
*/

:root {
  --mov-black: #0E0E0E;
  --mov-green: #2ECEAF;
  --mov-white: #f2f2f2;
  --mov-blue: #00a8cb;
  --mov-grey: #444441;
}

/** COLOURS **/
.text-brand-black, .brandblack { color: var(--mov-black); }
.text-brand-green, .brandgreen { color: var(--mov-green); }
.text-brand-white, .brandwhite { color: var(--mov-white); }
.text-brand-blue, .brandblue { color: var(--mov-blue); }
.text-brand-grey, .brandgrey { color: var(--mov-grey); }

.bg-brand-black { background-color: var(--mov-black); }
.bg-brand-green { background-color: var(--mov-green); }
.bg-brand-white { background-color: var(--mov-white); }
.bg-brand-blue { background-color: var(--mov-blue); }
.bg-brand-grey { background-color: var(--mov-grey); }

/** GLOBAL **/
* { font-family: 'Montserrat', sans-serif; }
[data-bs-toggle] { cursor: pointer; }
.site-content { margin-top: -96px; }
.no-img-header { padding-top: 100px; }
html { scroll-behavior: smooth; }
iframe html { background-color:var(--mov-black); }
body { background-color: var(--mov-black); }
a { text-decoration: none; color: var(--mov-blue); }
a.linkhover:hover { text-decoration: underline; text-underline-offset: 0.375em!important; }
ul.movati-blue-bullets { list-style: none; line-height: 2.5; margin: 0 0 0 20px; padding: 0; }
ul.movati-blue-bullets li { line-height: 1.5; padding-bottom: 20px; }
ul.movati-blue-bullets li::before { content: "\2022"; color: var(--mov-blue); font-weight: bold; display: inline-block; width: 1em; margin-left: -1em;  }
.locatorModalHeader { background-color: var(--mov-blue); padding: 20px 10px; color: var(--mov-white); font-weight: 600; }
ul.social-network-icons { list-style: none; display: inline-block; }
ul.social-network-icons li { display: inline-block; font-size: 20px; margin: 0 20px 0 0; }
[data-bs-theme="dark"] { color: var(--mov-white);  }
input[type="search"] { border-radius: 30px !important; }
form input[type="text"], form input[type="email"], form input[type="tel"] { outline: none; border: none; border-bottom: 1px solid var(--mov-white); border-radius: 0; background-color: transparent; width: 100%; }
form .rp-select { background-color: transparent; }
.border100white { border-color: var(--mov-white)!important; }
.border-bottom-black { border-bottom: 1px solid var(--mov-black); }
.row.fullwidthdt { margin-right: calc(-.5 * var(--bs-gutter-x)); margin-left: calc(-.5 * var(--bs-gutter-x)); }
.grecaptcha-badge { visibility: hidden; }
/** TEXT STYLES **/
.movati-title { font-weight: 400; font-size: 5rem; line-height: 1; letter-spacing: 2px; margin: 0 0 20px 0; }
.movati-header-title { font-weight: 400; font-size: clamp(58px, 10vw, 160px); line-height: 1.25; line-height: 1; letter-spacing: 10%; margin: 0 0 20px 0; }
.movati-subheader-title { font-weight: 400; font-size: 6.5rem; line-height: 1; letter-spacing: 2px; margin: 0 0 20px 0; }
.movati-preheader { font-weight: 400; font-size: 2rem; line-height: 1; letter-spacing: 2px; }
.movati-subtitle { font-weight: 600; font-size: 2.15rem; line-height: 100%; letter-spacing: 50%; margin: 0; }
h1, .h1 { font-weight: 400; font-size: 4.0625rem; line-height: 130%; letter-spacing: 0%; }
h2, .h2 { font-weight: 400; font-size: 3.1875rem; line-height: 130%; letter-spacing: 0%; }
h3, .h3, .interactive-card .card-title { font-weight: 400; font-size: 2.625rem; line-height: 100%; letter-spacing: 0; }
h4, .h4 { font-weight: 500; font-size: 1.5rem; line-height: 100%; letter-spacing: 0; }
h5, .h5 { font-weight: 400; font-size: 1.5rem; line-height: 130%; letter-spacing: 0; }
h6, .h6, .movati-subtitle-sm { font-weight: 600; font-size: 1.25rem; line-height: 130%; letter-spacing: 15%; text-transform: uppercase; }
.p1 { font-weight: 400; font-size: 2.25rem; line-height: 130%; letter-spacing: 0%; }
.p2 { font-weight: 400; font-size: 1.375rem; line-height: 130%; letter-spacing: 0%; }
.p3 { font-weight: 400; font-size: 1rem; line-height: 130%; letter-spacing: 0%; }
.p4 { font-weight: 500; font-size: 1.5rem; line-height: 135%; letter-spacing: 0%; }
.b1 { font-weight: 500; font-size: 1.25rem; line-height: 130%; letter-spacing: 0%; }
.b2 { font-weight: 500; font-size: 1.5rem; line-height: 135%; letter-spacing: 0%; }
.m1 { font-weight: 700; font-size: 1.875rem; line-height: 130%; letter-spacing: 0%; }
.m2 { font-weight: 600; font-size: 1rem; line-height: 130%; letter-spacing: 0%; }
.m3 { font-weight: 600; font-size: 1.125rem; line-height: 130%; letter-spacing: 5%; }
.small {font-weight: 400; font-size: 0.7rem; line-height: 100%; letter-spacing: 0%;  }
.modal-open .modal { background-color: rgba(0, 0, 0, 0.6) !important; }



body.light-mode {
  background-color: var(--mov-white);
  --mov-black: #f2f2f2;
  --mov-white: #0E0E0E;	
}



/** HEADER **/
.navbar-brand { max-width: 160px; }
.dropdown-toggle::after { content: "+"; border: 0; vertical-align: 0; }
.menu-item { margin: 0 0.45vw; }
.btn-white a.nav-link, .btn-white-outline:hover a.nav-link { color: var(--brand-black); }
.nav-link { color: var(--mov-white); text-transform: uppercase; font-weight: 700; letter-spacing: 10%; font-size: 0.875rem; }
.dropdown-menu { border: 0; }
.dropdown-item { color: var(--mov-white); font-weight: 400; }
#offcanvas-search { height: 100%; max-height: 200px; }
.header-fade {  background-color: var(--mov-black) !important; opacity: 1.0; transition: all 1s; }

#bootscore-navbar li > a { position: relative; }
#bootscore-navbar li > a:after { background: none repeat scroll 0 0 transparent; bottom: 0; content: ""; display: block; height: 2px; left: 0%; position: absolute; background: #fff; transition: width 0.3s ease 0s, left 0.3s ease 0s; width: 0; }
#bootscore-navbar li.current-menu-parent .dropdown-menu a:after { width: 0%; left: 0; }
.dropdown-item.active, .dropdown-item:active { background-color: transparent; }
#bootscore-navbar li > a:hover:after, #bootscore-navbar li.current_page_parent > a.active:after, #bootscore-navbar li.current-menu-item a:after, .dropdown-item.active:after, .dropdown-item:active:after { width: 100%!important; left: 0; }
.dropdown:hover .dropdown-menu { display: block; margin-top: 0; }
.dropdown-menu .dropdown-item { white-space: nowrap; }


/** FOOTER **/
ul.subfooter { list-style: none; }
ul.subfooter li { list-style-type: none; display: inline-block; padding: 0 10px; }
.custom-tooltip-wide {  --bs-tooltip-bg: var(--mov-white); --bs-tooltip-color: var(--mov-black); }
.custom-tooltip-wide .tooltip-inner { max-width: 500px; white-space: normal; }
.social-network-icons li span { font-size: 30px; }
.offcanvas-bottom { border-top-left-radius: 20px; border-top-right-radius: 20px; background-color: #fff; }
#testimonialsOffcanvas { height: 30vh; }
#offcanvas-locator { height: 40vh; }

/** BUTTONS **/
.btn { border-radius: 100px; font-size: 0.875rem; padding: 0.9375rem 1.625rem; font-weight: 600; letter-spacing: 2%; min-width: 265px; }
.btn-sm { padding: 0.9375rem 1.125rem; border-radius: 100px; min-width: 136px; }
.btn-lg { padding: 1rem 2.25rem; }
.btn-100m { width: auto; }
.btn-white-outline { /*background: rgba(255, 255, 255, 0.2); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(1px); border: 1px solid rgba(255, 255, 255, 0.3); */ color: var(--mov-white); background: rgba(255, 255, 255, 0.06); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5x); border: 1px solid rgba(255, 255, 255, 0.86);}
.btn-white-outline:hover { background: rgba(255, 255, 255, 1); color: var(--mov-black);  }
.btn-white { background: rgba(255, 255, 255, 1); color: var(--mov-black)!important;  }
.btn-white:hover { background: rgba(255, 255, 255, 0.2); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); border: 1px solid rgba(255, 255, 255, 0.3); color: var(--mov-white)!important;}
.btn-round { border-radius: 50%; width: 40px; height: 40px; padding: 0; display: flex; justify-content: center; line-height: 1; font-size: 2.4rem; min-width: 40px; }
.btn-round-sm { border-radius: 50%; width: 44px; height: 44px; padding: 0; display: flex; justify-content: center; line-height: 1; font-size: 0.9rem; min-width: 44px; }
.btn-arrow { font-size: 1.25rem; padding: 0; color: inherit; min-width: auto; }
.btn-arrow::after { font-weight: 100; content: ""; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10.382' height='8.71' viewBox='0 0 10.382 8.71'%3E%3Cg id='Group_457' data-name='Group 457' transform='translate(0 0.354)'%3E%3Cpath id='Path_16' data-name='Path 16' d='M444.174,989.477l4,4-4,4' transform='translate(-438.5 -989.477)' fill='none' stroke='%23453d3e' stroke-width='1'/%3E%3Cline id='Line_2' data-name='Line 2' x2='10' transform='translate(0 4.023)' fill='none' stroke='%23453d3e' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E") no-repeat 50% 50%; mask-size: cover; display: inline-block; width: 10px; height: 8px; background-color: black; margin: 0 0 0 5px; }
.btn-arrow-sm { font-size: 1rem; min-width: auto; }
.btn-arrow-white::after { background-color: #fff; }


/** HOME TRANSITION **/
#branding-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: black; z-index: 9999; display: flex; justify-content: center; align-items: center; overflow: hidden; transition: transform 1s ease-in-out; }
.logo-container { position: relative; width: 200px; height: 80px; }
.logo { position: absolute; width: 100%; height: auto; transition: opacity 1s ease-in-out; }
.old-logo { opacity: 1; z-index: 1; }
.new-logo { opacity: 0; z-index: 2; }
.logo-transition .old-logo { opacity: 0; }
.logo-transition .new-logo { opacity: 1; }
#branding-overlay.slide-up { transform: translateY(-100%); }

/** HOME INTERACTIVE CARDS **/
.home-interactive-classes { position: absolute; top: 0; left: 0; width: 100%; height: 400px; background: url('/wp-content/uploads/mov-home-interactive-classes.jpg'); background-size: cover; background-position: center center; }
.home-interactive-wellness { position: absolute; top: 0; left: 0; width: 100%; height: 400px; background: url('/wp-content/uploads/mov-home-interactive-wellness.jpg'); background-size: cover; background-position: center center; }
.home-interactive-training { position: absolute; top: 0; left: 0; width: 100%; height: 400px; background: url('/wp-content/uploads/mov-home-interactive-training.jpg'); background-size: cover; background-position: top center; }

/** STICKY SUBNAV **/
.sub-nav { position: sticky; top: 69px; z-index: 1030; background-color: #fff; padding: 0.5rem 1rem; border-bottom: 1px solid #ddd; box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.sub-nav ul { list-style: none; }
.sub-nav ul li { list-style: none; list-style: none; display: inline-flex; margin: 0 20px; }

/** SECTIONS **/
.block-img-headline { display: flex; align-items: center; justify-content: center; height: 60vh; }
.block-imgleft-textright { }
.block-imgleft-textright .row { position: relative; height: auto; }
.block-imgleft-textright img { position: relative; height: auto; width: 100%; top: auto; left: auto; filter: brightness(1); }
.block-imgleft-textright .rp-img-dissolve-inline img { position: absolute; height: auto; width: 100%; top: auto; left: auto; filter: brightness(1); border-radius: 20px; }
.block-imgleft-textright .textblock { position: relative; top: auto; text-align: inherit; }
.block-imgleft-textright .btn { background: rgba(255, 255, 255, 1); color: var(--mov-black);  }
.block-imgleft-textright .btn:hover { background: rgba(255, 255, 255, 0.2); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); border: 1px solid rgba(255, 255, 255, 0.3); color: var(--mov-white);}

/** DISSOLVING IMAGES **/
.rp-img-dissolve .rp-img-dissolve-content { position: relative; z-index: 3; }
.rp-slide { opacity: 0; transition: opacity 1s ease; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.rp-slide.active { opacity: 1; z-index: 1; }
.rp-img-dissolve { position: relative; overflow: hidden; }
.rp-img-dissolve-inline { position: relative; overflow: hidden; width: 100%; height: 428px; }
.rp-img-dissolve-inline img { object-fit: cover; width: 100%; height: 100%; }
.block-imgleft-textright .carousel-nav-container .btn { background: initial; color: white; }

/** CARDS WITH CONTENT ROLLOVER **/
#interactive-cards { overflow: hidden; height: 70vh; align-content: center; }
.background-layer { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 0.8s ease; z-index: 0; }
.background-layer.active { opacity: 1; }
.background-layer::after, .wellness3img::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.3); pointer-events: none; }
.interactive-card { padding: 2rem; height: 100%; color: #fff; position: relative; overflow: hidden; transition: background-color 0.3s; align-content: center; }
.interactive-card .card-body { opacity: 0;  transition: all 0.5s ease; height: 0; }
.interactive-card .card-body p.twocol { max-width: 60%; margin: 0 auto; }
.interactive-card .card-footer { position: absolute; bottom: 10%; width: 80%; left: 10%; }
.interactive-card:hover .card-footer { text-decoration: underline; text-underline-offset: 0.375em!important; }
@media (min-width: 769px) {
  .interactive-card .card-body { opacity: 0; transform: translateY(-20px); }
  .interactive-card:hover .card-body { opacity: 1; transform: translateY(0); }
}
.interactive-card:hover { /* background-color: rgba(255, 255, 255, 0.2); */ }
.interactive-card-row, .interactive-card-container { height: 100%; }
.col-borders-dt { border-left: 1px solid rgba(255,255,255,0.3); border-right: 1px solid rgba(255,255,255,0.3); }
.col-borders-dt-right { border-right: 1px solid rgba(255,255,255,0.3); }
.col-borders-dt-left { border-left: 1px solid rgba(255,255,255,0.3); }

  .col3desc { opacity: 0; transition: 0.6s all linear; font-size: 1.15rem; }
  .col3title { transition: 0.6s all linear; }
  .col3:hover .col3img { filter: blur(25px) saturate(250%); }
  .col3:hover .col3title { opacity: 0;}
  .col3:hover .col3desc { opacity: 1; }	
  .wellness3 { overflow: hidden; transition: 0.6s all linear; height: 100%; }
  .wellness3desc { display: none; transition: 0.6s all linear; font-size: 1rem; }
  .wellness3title { transition: 0.6s all linear; }
  /* .wellness3:hover { height: 400px; } */
  
  .wellness3:hover .wellness3title { display: none;}
  .wellness3:hover .wellness3desc { display: block; }


/** CLUB PAGES **/
.club-page-header { height: 80vh; }
/* .club-page-header::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.3); pointer-events: none; height: 80vh; } */
.club-page-header > div.container-fluid, .container-fluid > div.screenoverlay { backdrop-filter: brightness(70%); -webkit-backdrop-filter: brightness(70%); }
.club-page-amherstburg { background-image: url('/wp-content/uploads/club-header-amherstburg.jpg'); background-size: cover; background-position: left 57% center; }
.club-page-brantford { background-image: url('/wp-content/uploads/club-header-brantford.jpg'); background-size: cover; background-position: left 20% center; }
.club-page-burlington { background-image: url('/wp-content/uploads/club-header-burlington.jpg'); background-size: cover; background-position: left 20% center; }
.club-page-edmonton-albany { background-image: url('/wp-content/uploads/club-exterior-edmonton-albany.jpg'); background-size: cover; background-position: top right 25%; }
.club-page-edmonton-manning { background-image: url('/wp-content/uploads/club-header-manning.jpg'); background-size: cover; background-position: left 20% center; }
.club-page-edmonton-windermere { background-image: url('/wp-content/uploads/club-header-windermere.jpg'); background-size: cover; background-position: center center; }
.club-page-edmonton-harvest-hills { background-image: url('/wp-content/uploads/club-header-edmonton-harvesthills.jpg'); background-size: cover; background-position: center center; }
.club-page-guelph { background-image: url('/wp-content/uploads/club-exterior-guelph.jpg'); background-size: cover; background-position: top right 85%; }
.club-page-kingsville { background-image: url('/wp-content/uploads/club-header-kingsville.jpg'); background-size: cover; background-position: left 60% center; }
.club-page-ottawa-barrhaven { background-image: url('/wp-content/uploads/club-header-ottawa-barrhaven.jpg'); background-size: cover; background-position: right 29% center; }
.club-page-ottawa-kanata { background-image: url('/wp-content/uploads/club-header-ottawa-kanata.jpg'); background-size: cover; background-position: center center; }
.club-page-ottawa-nepean { background-image: url('/wp-content/uploads/club-header-ottawa-nepean.jpg'); background-size: cover; background-position: center center; }
.club-page-ottawa-orleans { background-image: url('/wp-content/uploads/club-header-ottawa-orleans.jpg'); background-size: cover; background-position: right 22% center; }
.club-page-ottawa-trainyards { background-image: url('/wp-content/uploads/club-header-ottawa-trainyards.jpg'); background-size: cover; background-position: right 32% center; }
.club-page-thunder-bay { background-image: url('/wp-content/uploads/club-header-thunderbay.jpg'); background-size: cover; background-position: left 25% center; }
.club-page-waterloo { background-image: url('/wp-content/uploads/club-header-waterloo.jpg'); background-size: cover; background-position: left 20% center; }
.club-page-richmond-hill { background-image: url('/wp-content/uploads/club-header-richmond-hill.jpg'); background-size: cover; background-position: center center; }
.club-page-mississauga { background-image: url('/wp-content/uploads/club-header-mississauga.jpg'); background-size: cover; background-position: center center; }
.club-page-windsor { background-image: url('/wp-content/uploads/club-header-windsor.jpg'); background-size: cover; background-position: left 20% center; }
.toggle-icon { transition: transform 0.3s ease; }
.toggle-icon.rotated { transform: rotate(180deg); }

/** BLOG **/
.attachment-post-thumbnail.size-post-thumbnail.wp-post-image { object-fit: cover; object-position: center center; height: 60vh; }
.comment-navigation .nav-previous, .posts-navigation .nav-previous, .post-navigation .nav-previous { float: left; width: 50%; }
.comment-navigation .nav-next, .posts-navigation .nav-next, .post-navigation .nav-next { float: right; text-align: right; width: 50%; }

/** CARDS WITH BLUR HOVER **/
.hover-card { --details-height: 0px; }
.hover-card { touch-action: pan-y; }
.hover-card { position: relative; overflow: hidden; height: 380px; border-radius: 20px; align-items: flex-end; }
.hover-card-img { transition: all 0.4s ease; border-radius: 20px; height: 100%; }
.hover-card-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 85% ); pointer-events: none; }
.hover-card-overlay { position: absolute; display: flex; flex-direction: column; justify-content: flex-end; padding: 1rem; }
.hover-card-caption-group { color: white; transform: translateY(0); transition: transform 0.6s ease-in-out; height: 2rem; } 
.hover-card .hover-card-details { opacity: 0; transition: all 0.6s ease; max-width: 80%; }
.hover-card-icon { position: absolute; bottom: 1rem; right: 1rem; font-size: 1.8rem; color: white; transition: transform 0.6s ease; }

.hover-card .hover-card-caption-group { transform: translateY(0); }
.hover-card.active .hover-card-caption-group { transform: translateY(0)); }	
.hover-card-icon i { display: inline-block; transition: transform 0.6s ease; }
.hover-card.active .hover-card-details { opacity: 1;  }
.hover-card-details h6 { font-size: .95rem; margin: .25rem 0 .25rem; text-transform: none; }
.hover-card-details ul { padding-left: 1.1rem; margin-bottom: .5rem; }
.hover-card-details li { margin: 0; }
.hover-card.active .hover-card-icon i { transform: rotate(180deg); }
.hover-card.active .hover-card-icon i:before { animation: iconSwap 0.6s forwards; }
.hover-card.active .hover-card-img  { filter: blur(8px) brightness(0.6); }

/** "PEEK" CAROUSELS **/
.rp-peek-carousel .multi-item-carousel { position: relative; padding: 0 0 10px 0; overflow: hidden; }
.rp-peek-carousel .carousel-track { display: flex; transition: transform 0.5s ease; will-change: transform; height: 100%; }
.rp-peek-carousel .carousel-card-wrapper { flex: 0 0 auto; padding: 0 10px; }
.rp-peek-carousel .multi-item-carousel .carousel-card-wrapper { width: calc(100% - 60px); }
.rp-peek-carousel .carousel-card { background: white; border-radius: 12px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); overflow: hidden; transition: all 0.3s ease; height: 320px; display: flex; flex-direction: column; }
.rp-peek-carousel .carousel-card:hover { box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15); }
.rp-peek-carousel .card-image { height: 180px; display: flex; align-items: center; justify-content: center; color: white; font-size: 36px; font-weight: bold; text-shadow: 0 2px 4px rgba(0,0,0,0.3); }
.rp-peek-carousel .card-content { padding: 20px; flex-grow: 1; display: flex; flex-direction: column; }
.rp-peek-carousel .card-title { font-size: 20px; font-weight: 600; margin-bottom: 12px; color: #333; }
.rp-peek-carousel .card-text { color: #666; font-size: 14px; line-height: 1.6; flex-grow: 1; }
.rp-peek-carousel .carousel-nav-container { display: none; }
.rp-peek-carousel .nav-btn { cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 10; transition: all 0.3s ease; font-size: 20px; }
.rp-peek-carousel .carousel-container { /* padding: 0 60px; */ margin: 40px 0; }
.rp-peek-carouse-fade-black { position: absolute; width: 75px; height: 100%; background: #0E0E0E; background: linear-gradient(90deg, rgba(14, 14, 14, 0) 20%, rgba(14, 14, 14, 1) 100%); top: 0; right: 0;z-index: 9; }



@media (min-width: 768px) {
  /* Default: Desktop - Show 3 items + peek */
  .rp-peek-carousel .multi-item-carousel .carousel-card-wrapper { width: calc(33.333% - 20px); }
  
  /* Navigation buttons */
  .rp-peek-carousel .carousel-nav-container { display: block; width: 80px; }		
  
  .hover-card.active .hover-card-caption-group { transform: translateY(var(--details-height, -4rem)); }
  .rp-peek-carousel.staff-bios, .staff-bios .multi-item-carousel { height: 400px; }
  .staff-bios .hover-card { position: relative; overflow: visible; height: 380px; transition: all 0.6s ease; transform: translateY(0); align-items: end; animation: bounceClose 0.6s ease-in-out forwards; }
  .staff-bios .hover-card-img { transition: filter 0.6s ease; border-radius: 20px; height: 400px; }
  .staff-bios .hover-card-overlay { display: flex; flex-direction: column; justify-content: flex-end; padding: 1rem; height: 380px; }
  /* .staff-bios .hover-card-caption-group { color: white; transform: translateY(0); transition: transform 0.6s ease-in-out; height: 2rem; } 
  .staff-bios .hover-card-details { opacity: 0; transition: all 0.6s ease; }
  .staff-bios .hover-card-icon { position: absolute; bottom: 1rem; right: 1rem; font-size: 1.8rem; color: white; transition: transform 0.6s ease; }
  .staff-bios .hover-card .hover-card-img { filter: blur(0px) brightness(1);}	
  .staff-bios .hover-card-icon i { display: inline-block; transition: transform 0.6s ease; }
  .staff-bios .hover-card .hover-card-icon i { transform: rotate(0deg); }
  
  .staff-bios .hover-card.active .hover-card-caption-group { transform: translateY(var(--details-height, 0px)); }		
  .staff-bios .hover-card.active .hover-card-img  { filter: blur(8px) brightness(0.6); }
  .staff-bios .hover-card.active .hover-card-icon i { transform: rotate(180deg); }
  .staff-bios .hover-card.active .hover-card-icon i:before { animation: iconSwap 0.6s forwards; }
  .staff-bios .hover-card.active .hover-card-details { opacity: 1; max-width: 80%; }	 */
}

#successstories-carousel .carousel-card { height: 230px; background: #262626; border: 1px solid #fff; border-radius: 10px; }
#successstories-carousel .card-text { color: var(--mov-white); font-weight: 500; font-size: 1.25rem; line-height: 130%; letter-spacing: 0%; }

@keyframes iconSwap {
  0% { content: "\f4fe"; } /* plus-lg */
  49% { content: "\f4fe"; }
  50% { content: "\f2ea"; } /* dash-lg (minus) */
  100% { content: "\f2ea"; }
}

/** FORMS **/
fieldset { display: flex; flex-wrap: wrap; padding: 10px; width: 100%;  }
.form-control, .form-select, select { border-radius: 0; border: 0; border-bottom: 1px solid; }
.checkcol { flex-direction: column; width: 22%; justify-content: center; margin: 5px 5px 5px 18px;}
.permission { margin: 20px 5px 20px 18px; }
.permission-multi { margin: 10px 5px 10px 18px; }              
input[type='checkbox'], .optionPill input[type='radio'] { margin-left: -18px; }
form .error { color: #990000; }
select.error, input[type=text].error { background-color: #fdfd6d; }
#interestsError, #permissionError { display: block; width: 100%; }
label#interests\[\]-error.error, label#permission-error.error { display: block; padding: 0 0 20px 0; }
.optionPillWrapper { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.optionPill { position: relative; display: inline-flex; }
.optionPill input[type="checkbox"], .optionPill input[type="radio"] { display: none; }
.optionPill label { display: inline-flex; align-items: center; padding: 6px 16px; border: 1px solid #ccc; border-radius: 25px; font-size: 14px; cursor: pointer; transition: background-color 0.25s, border-color 0.25s; background-color: transparent; }
.optionPill label::before { content: ""; display: inline-block; width: 18px; height: 18px; margin-right: 8px; border: 1px solid #aaa; border-radius: 50%; background-color: #fff; background-size: 14px; background-position: center; background-repeat: no-repeat; transition: background-color 0.25s, border-color 0.25s, background-image 0.25s; }
.optionPill label:hover { border-color: #00a8cb; background-color: rgba(0, 168, 203, 0.3); }
.optionPill input[type="checkbox"]:focus + label, .optionPill input[type="radio"]:focus + label  { box-shadow: 0 0 0 3px rgba(0, 168, 203, 0.4); }
.optionPill input[type="checkbox"]:checked + label, .optionPill input[type="radio"]:checked + label  { background-color: #00a8cb; border-color: #00a8cb; color: #fff; }
.optionPill input[type="checkbox"]:checked + label::before, .optionPill input[type="radio"]:checked + label::before { border-color: #fff; background-color: #fff; background-image: url('data:image/svg+xml;utf8,<svg fill="%23007BFF" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20.285 6.709a1 1 0 0 0-1.414-1.418l-9.192 9.201-4.243-4.243a1 1 0 0 0-1.414 1.414l4.95 4.95a1 1 0 0 0 1.414 0l9.9-9.904z"/></svg>'); }



/** EXPANDING SECTIONS **/
.faq h3 { color: var(--mov-white); }
.accordion-item { border: 0; }
.accordion-button { font-weight: bold; }
.accordion-button:not(.collapsed) { color: inherit; background-color: transparent; box-shadow: none; }
.accordion-button:after { filter: brightness(100); }
.accordion-body { padding-top: 0; }
#expand-icon { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; }
.expand-plus { width: 30px; height: 30px; background: url('/logos/logo-plus.png'); background-size: cover;  }
.expand-plus-rotate { transform: rotate(0deg); animation: 1s rotateBack; }
.expand-minus { width: 30px; height: 30px; background: url('/logos/logo-minus.png'); background-size: cover; transform: rotate(180deg); animation: 1s rotate; }



@keyframes rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(180deg;) }
}
@keyframes rotateBack {
  0% { transform: rotate(180deg); }
  100% { transform: rotate(0deg;) }
}

/** TABLET PORTRAIT STYLES **/
@media all and (max-width: 992px) {
  
  /** TEXT STYLES **/
  /* .movati-header-title { font-weight: 400; font-size: 8rem; line-height: 1; letter-spacing: 10%; margin: 0 0 20px 0; } */
  .movati-subtitle { font-weight: 600; font-size: 2rem; line-height: 100%; letter-spacing: 50%; margin: 0; }
  
  /** CARDS WITH CONTENT ROLLOVER **/
  .interactive-card { padding: 0rem; }
}

/** MOBILE STYLES **/
@media all and (max-width: 768px) {
  
  .mw100 { width: 100%!important; }
  .mborder-bottom-white { border-bottom: 1px solid #fff; }
  .mborder-top-white { border-top: 1px solid #fff; }
  .mborder-none { border: none!important; }
  .row.fullwidthdt { margin-right: 0; margin-left: 0; }	
  #nav-main .offcanvas { background-color: #0e0e0e; }

  /** BUTTONS **/
  .btn-round-sm { min-width: 37.5px; width: 37.5px; height: 37.5px; font-size: 0.9375rem; }
  .btn-sm { min-width: 75px; padding: 0.4375rem 0.625rem; }
  .btn-100m { width: 100%; }
  
  /** HEADER STYLES **/
  .navbar-brand { max-width: 110px; margin: 0; }
  #offcanvas-search { height: 100%; max-height: 100%; }
  
  /** TEXT STYLES **/
  .movati-title { font-weight: 400; font-size: 4.5rem; line-height: 1; letter-spacing: 2px; margin: 0 0 20px 0; }
  /* .movati-header-title { font-weight: 400; font-size: clamp(60px, 4.5vw, 96px); line-height: 1.25; line-height: 1; letter-spacing: 10%; margin: 0 0 20px 0; } */
  .movati-subheader-title { font-weight: 400; font-size: 6.5rem; line-height: 1; letter-spacing: 2px; margin: 0 0 20px 0; }
  .movati-preheader { font-weight: 400; font-size: 2rem; line-height: 1; letter-spacing: 2px; }
  .movati-subtitle { font-weight: 600; font-size: 1.15rem; line-height: 100%; letter-spacing: 50%; margin: 0; }
  h1, .h1 { font-weight: 400; font-size: 2.25rem; line-height: 130%; letter-spacing: 0%; }
  h2, .h2 { font-weight: 400; font-size: 2.25rem; line-height: 130%; letter-spacing: 0%; }
  h3, .h3 { font-weight: 400; font-size: 1.875rem; line-height: 130%; letter-spacing: 0%; }
  h4, .h4, .interactive-card .card-title { font-weight: 500; font-size: 1.5rem; line-height: 100%; letter-spacing: 0; }
  h5, .h5 { font-weight: 400; font-size: 1.25rem; line-height: 130%; letter-spacing: 0%; }
  h6, .h6, .movati-subtitle-sm { font-weight: 600; font-size: 0.875rem; line-height: 130%; letter-spacing: 15%; text-transform: uppercase; }
  .p1 { font-weight: 400; font-size: 1.625rem; line-height: 130%; letter-spacing: 0%; }
  .p2 { font-weight: 400; font-size: 1rem; line-height: 130%; letter-spacing: 0%; }
  .p3 { font-weight: 400; font-size: 1rem; line-height: 130%; letter-spacing: 0%; }	
  
  /** SECTIONS **/
  .block-img-headline { display: flex; align-items: center; justify-content: center; height: 60vh; }
  .block-imgleft-textright .row { position: relative; height: 60vh; }
  .block-imgleft-textright img { position: absolute; z-index: 0; height: 60vh; border-radius: 0!important; object-fit: cover; width: 100%; top: 0; left: 0; filter: brightness(0.5); }
  .block-imgleft-textright .textblock { position: absolute; left: 0; top: 30%; text-align: center; width: 100%; z-index: 9; }
  .block-imgleft-textright .btn { /*background: rgba(255, 255, 255, 0.2); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(1px); border: 1px solid rgba(255, 255, 255, 0.3); */ color: var(--mov-white); background: rgba(255, 255, 255, 0.06); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5x); border: 1px solid rgba(255, 255, 255, 0.86);}
  .block-imgleft-textright .btn:hover { background: rgba(255, 255, 255, 1); color: var(--mov-black);  }
  
  /** HOME INTERACTIVE CARDS **/
  .home-interactive-classes { position: absolute; top: 0; left: 0; width: 100%; height: 120px; background: url('/wp-content/uploads/mov-home-interactive-classes.jpg'); background-size: cover; background-position: bottom 55% center; }
  .home-interactive-wellness { position: absolute; top: 0; left: 0; width: 100%; height: 120px; background: url('/wp-content/uploads/mov-home-interactive-wellness.jpg'); background-size: cover; background-position: top 20% center; }
  .home-interactive-training { position: absolute; top: 0; left: 0; width: 100%; height: 120px; background: url('/wp-content/uploads/mov-home-interactive-training.jpg'); background-size: cover; background-position: top 10% center; }	
  .expanded .home-interactive-classes, .expanded .home-interactive-wellness, .expanded .home-interactive-training  { height: 400px; }
  
  /** DISSOLVING IMAGES **/
  .rp-img-dissolve .rp-img-dissolve-content { position: relative; z-index: 3; }
  .rp-slide { opacity: 0; transition: opacity 1s ease; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
  .rp-slide.active { opacity: 1; z-index: 1; }
  .rp-img-dissolve { position: relative; overflow: hidden; }
  .rp-img-dissolve-inline { position: absolute; overflow: hidden; width: 100%; height: 60vh; top: 0;  }
  .block-imgleft-textright .rp-img-dissolve-inline img { object-fit: cover; width: 100%; height: 60vh; filter: brightness(0.5); border-radius: 0px; }
   
  .site-content { margin-top: -96px; }

  /** CARDS WITH CONTENT ROLLOVER **/
  #interactive-cards { overflow: hidden; height: 90vh; align-content: center; }
  .col-borders-dt { border-left: none; border-right: none; }
  .interactive-card-row, .interactive-card-container { height: auto; }
  .interactive-card .card-footer { display: none; }
  .interactive-card .card-body p.twocol { max-width: 100%; margin: 0 auto 1em auto; }
  .nocollapse #interactive-cards { height: auto; }
  .nocollapse .wellness3 { height: 240px; }
  .nocollapse .hover-card-overlay { margin-top: -20%; }
  .nocollapse .card-body { display: block; }
  .nocollapse .interactive-card { position: absolute; width: 100%; height: 100%; z-index: 2; display: flex; align-items: center; }
  .nocollapse .interactive-card .card-body { opacity: 1;  max-height: 100%; }
  .nocollapse .col-borders-dt { border-left: none; border-right: none; border-top: 1px solid rgba(255,255,255,0.3); border-bottom: 1px solid rgba(255,255,255,0.3); }
  
  
  .stackers .card-title { display: flex; justify-content: space-between; }
  .stackers .card-body { max-height: 0; }
  .stackers .expanded .card-body { opacity: 1; }
  .stackers .wellness3img { filter: blur(0) brightness(1); transition: all 0.6s ease; }
  .stackers .expanded .wellness3img { filter: blur(8px) brightness(0.6); }
  .stackers .interactive-card { position: absolute; width: 100%; height: 100%; z-index: 2; display: flex; align-items: center; }
  .stackers #interactive-cards { height: auto; }
  .wellness3 { height: 120px; border-radius: 10px; }
  
  /** CARDS WITH BLUR HOVER **/
  .hover-card { position: relative; overflow: hidden; height: 110px; transition: all 0.6s ease; transform: translateY(0); align-items: center; animation: bounceClose 0.6s ease-in-out forwards; }
  .hover-card-overlay { position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding: 1rem; }
  .hover-card-caption-group { color: white; transform: translateY(0); transition: transform 0.6s ease-in-out; }
  .hover-card-caption-group { height: 2rem; } 
  .hover-card-details { overflow: hidden; max-height: 0; opacity: 0; transition: max-height 0.6s ease, opacity 0.3s ease; max-width: 95%; }
  .hover-card-icon { position: absolute; bottom: 1rem; right: 1rem; font-size: 1.8rem; color: white; transition: transform 0.6s ease; }
  
  .hover-card.active .hover-card-img  { filter: blur(8px) brightness(0.6); height: 100%; }	
  .hover-card.active { animation: bounceOpen 0.6s ease-out forwards; }
  /*.hover-card:active .hover-card-icon { transform: translateY(var(--details-height, 0px)); }*/
  .hover-card.active .hover-card-details { opacity: 1;  }
  .hover-card-icon i { display: inline-block; transition: transform 0.6s ease; }
  .hover-card.active .hover-card-icon i { transform: rotate(180deg); }	
  .hover-card.active .hover-card-icon i:before { animation: iconSwap 0.6s forwards; }
  .hover-card.active .hover-card-overlay { transform: translateY(-75px); }

  .staff-bios .hover-card { position: relative; overflow: visible; height: 380px; transition: all 0.6s ease; transform: translateY(0); align-items: end; animation: bounceClose 0.6s ease-in-out forwards; }
  .staff-bios .hover-card-overlay { position: absolute; display: flex; flex-direction: column; justify-content: flex-end; padding: 1rem; height: 380px; top: 0; }
  .staff-bios .hover-card.active .hover-card-caption-group { transform: translateY(var(--details-height, 0px)); }
  /* .staff-bios .hover-card-img { transition: filter 0.6s ease; border-radius: 20px; }
  
  .staff-bios .hover-card-caption-group { color: white; transform: translateY(0); transition: transform 0.6s ease-in-out; height: 2rem; } 
  .staff-bios .hover-card-details { opacity: 0; transition: all 0.6s ease; }
  .staff-bios .hover-card-icon { position: absolute; bottom: 1rem; right: 1rem; font-size: 1.8rem; color: white; transition: transform 0.6s ease; }
  .staff-bios .hover-card .hover-card-img { filter: blur(0px) brightness(1);}	
  .staff-bios .hover-card-icon i { display: inline-block; transition: transform 0.6s ease; }
  .staff-bios .hover-card .hover-card-icon i { transform: rotate(0deg); }
  
  
  .staff-bios .hover-card.active .hover-card-img  { filter: blur(8px) brightness(0.6); }
  .staff-bios .hover-card.active .hover-card-icon i { transform: rotate(180deg); }
  .staff-bios .hover-card.active .hover-card-icon i:before { animation: iconSwap 0.6s forwards; }
  .staff-bios .hover-card.active .hover-card-details { opacity: 1; max-width: 80%; }	 */

  
  /** "PEEK" CAROUSELS **/
  .rp-peek-carousel.staff-bios, .staff-bios .multi-item-carousel { height: 400px; }
  .rp-peek-carousel .carousel-container { padding: 0 40px; }
  .rp-peek-carousel .prev-btn { left: -20px; }
  .rp-peek-carousel .next-btn { right: -20px; }
  #successstories-carousel .card-text { font-size: 1rem; }
  
  /** FOOTER **/
  ul.subfooter li { list-style-type: none; display: block; padding: 5px 0; }	
  .footcol-5 { border-top: 1px solid var(--mov-white) !important; }
  #offcanvas-locator { height: 75vh; }
  #testimonialsOffcanvas { height: 50vh; }
  
  
@keyframes bounceOpen {
  0%   { height: 120px; }
  70%  { height: 420px; }
  100% { height: 400px; }
}

@keyframes bounceClose {
  0%   { height: 400px; }
  70%  { height: 100px; }
  100% { height: 120px; }
}

.bounce-expand { animation: bounceOpen 0.6s ease-out forwards; }

.bounce-collapse { animation: bounceClose 0.6s ease-in-out forwards; }	
  
  
  /** STICKY SUBNAV **/
  .sub-nav { top: 72px; }
  .sub-nav ul li { list-style: none; list-style: none; display: inline-flex; margin: 0 10px; font-size: 1rem; }	
}