.elementor-56806 .elementor-element.elementor-element-dedb802{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-56806 .elementor-element.elementor-element-f0e4f43{text-align:center;}.elementor-56806 .elementor-element.elementor-element-f0e4f43 .elementor-heading-title{font-family:"Noto Sans SC", Sans-serif;font-size:72px;font-weight:800;letter-spacing:5px;text-shadow:0px 5px 3px rgba(0, 0, 0, 0.15);}.elementor-56806 .elementor-element.elementor-element-8e7fc7d{--display:flex;--overflow:hidden;--border-radius:30px 30px 30px 30px;--margin-top:75px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-56806 .elementor-element.elementor-element-8e7fc7d:not(.elementor-motion-effects-element-type-background), .elementor-56806 .elementor-element.elementor-element-8e7fc7d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(136deg, var( --e-global-color-primary ) 42%, var( --e-global-color-accent ) 100%);}.elementor-56806 .elementor-element.elementor-element-cb4e5d4{--display:flex;--min-height:600px;}.elementor-56806 .elementor-element.elementor-element-15d5827{--display:flex;--min-height:600px;}.elementor-56806 .elementor-element.elementor-element-e00b9b5{--display:flex;--overflow:hidden;--border-radius:30px 30px 30px 30px;--margin-top:75px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-56806 .elementor-element.elementor-element-e00b9b5:not(.elementor-motion-effects-element-type-background), .elementor-56806 .elementor-element.elementor-element-e00b9b5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(136deg, #86668BC2 42%, #4C1455C2 100%);}.elementor-56806 .elementor-element.elementor-element-d0f7d45{--display:flex;--min-height:600px;}.elementor-56806 .elementor-element.elementor-element-d0f7d45:not(.elementor-motion-effects-element-type-background), .elementor-56806 .elementor-element.elementor-element-d0f7d45 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.ccmcanada.org/wp-content/uploads/2026/09/centre-map.png");background-position:0px -63px;background-repeat:no-repeat;background-size:800px auto;}.elementor-56806 .elementor-element.elementor-element-7825084{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:75px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-56806 .elementor-element.elementor-element-4e93614 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Zen Kaku Gothic New", Sans-serif;font-size:32px;font-weight:700;border-radius:50px 50px 50px 50px;padding:20px 40px 20px 40px;}.elementor-56806 .elementor-element.elementor-element-4e93614 .elementor-button:hover, .elementor-56806 .elementor-element.elementor-element-4e93614 .elementor-button:focus{background-color:#E7D6E7;color:var( --e-global-color-primary );box-shadow:0px 20px 10px -15px rgba(0, 0, 0, 0.75);}.elementor-56806 .elementor-element.elementor-element-4e93614 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-56806 .elementor-element.elementor-element-4e93614 .elementor-button:hover svg, .elementor-56806 .elementor-element.elementor-element-4e93614 .elementor-button:focus svg{fill:var( --e-global-color-primary );}.elementor-56806 .elementor-element.elementor-element-1d97aec{--display:flex;}.elementor-56806 .elementor-element.elementor-element-ab0c919{--spacer-size:75px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-56806 .elementor-element.elementor-element-d0f7d45:not(.elementor-motion-effects-element-type-background), .elementor-56806 .elementor-element.elementor-element-d0f7d45 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:0px 0px;}}@media(max-width:767px){.elementor-56806 .elementor-element.elementor-element-f0e4f43 .elementor-heading-title{font-size:48px;letter-spacing:3px;}.elementor-56806 .elementor-element.elementor-element-8e7fc7d{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:15px 15px 15px 15px;}.elementor-56806 .elementor-element.elementor-element-cb4e5d4{--min-height:130vw;}.elementor-56806 .elementor-element.elementor-element-15d5827{--min-height:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-56806 .elementor-element.elementor-element-d0f7d45:not(.elementor-motion-effects-element-type-background), .elementor-56806 .elementor-element.elementor-element-d0f7d45 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:0px 0px;}.elementor-56806 .elementor-element.elementor-element-4e93614 .elementor-button{font-size:28px;}}/* Start custom CSS for html, class: .elementor-element-2b9109a */.elementor-56806 .elementor-element.elementor-element-2b9109a {
    display: flex;
    height: 130vw;
    position: relative;
    justify-content: center;
    font-family: 'Noto Sans SC';
    --viewport-width: 95vw;
    --scale-factor: calc(var(--viewport-width) / 320px);
}

.elementor-56806 .elementor-element.elementor-element-2b9109a .map {
    display: flex;
    justify-content: center;
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%) scale( var(--scale-factor) );
    background-image: url('/wp-content/uploads/2026/09/centre-map.png');
    background-size: 320px auto;
    background-position: bottom left;
    background-repeat: no-repeat;
    width: 320px;
    height: 245px;
    transform-origin: bottom center;
}

.elementor-56806 .elementor-element.elementor-element-2b9109a .pin {
    position: absolute;
    display: inline-block;
    color: white;
    font-size: 22px;
    cursor: pointer;
    opacity: 0;
    animation-fill-mode: forwards!important;
    animation:
        drop-pin 1s ease-in-out;
}

.elementor-56806 .elementor-element.elementor-element-2b9109a .pin:hover {
    z-index: 5!important;
}

.elementor-56806 .elementor-element.elementor-element-2b9109a .pin:hover .pin-name{
    display: block;
}

.elementor-56806 .elementor-element.elementor-element-2b9109a .hidden-box-m {
    display: none;
}

.elementor-56806 .elementor-element.elementor-element-2b9109a .hidden-box-m:checked + .info-card {
    transform: translateY(99%);
}

.elementor-56806 .elementor-element.elementor-element-2b9109a .pin i {
    width: 22px;
    height: 22px;
    text-shadow: 0 0 12px red;
    border-radius: 50%;
    animation: 
        pulse-radial 2s linear 2s infinite;
}

.elementor-56806 .elementor-element.elementor-element-2b9109a .info-container {
    padding-right: 15px;
    padding-left: 15px;
    padding-top: 10px;
}

.elementor-56806 .elementor-element.elementor-element-2b9109a .info-card {
    position: absolute;
    bottom: 130vw;
    display: flex;
    flex-direction: column;
    background-color: rgba(255,255,255,0.85);
    width: 90%;
    height: fit-content;
    padding: 20px 0 20px 0;
    border-radius: 0 0 15px 15px;
    align-items: center;
    transition: transform 300ms ease-in-out;
    font-size: 16px;
    z-index: 5;
}

.elementor-56806 .elementor-element.elementor-element-2b9109a .info-card a {
    font-size: clamp( 12px, 3vw, 16px );
}

.elementor-56806 .elementor-element.elementor-element-2b9109a .info-card .logo {
    width: 80%;
    margin-bottom: 25px;
}

.elementor-56806 .elementor-element.elementor-element-2b9109a .info-card h3 {
    font-family: inherit;
    font-weight: 600;
    text-align: center;
}

.elementor-56806 .elementor-element.elementor-element-2b9109a .info-contact {
    border-top: 1px dotted grey;
    margin-top: 10px;
    padding-top: 5px;
    font-size: 0.9em;
    line-height: 1.5em;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cb4e5d4 */.elementor-56806 .elementor-element.elementor-element-cb4e5d4 {
    background-clip: border-box;
    background-position: center bottom 20px!important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-bccbe04 */.elementor-56806 .elementor-element.elementor-element-bccbe04 .pin-name {
    width: max-content;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    color: #86668b;
    padding: 8px 15px;
    background: white;
    border-radius: 25px;
    box-shadow: 0 12px 10px -10px grey;
    cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f3f64c6 */@keyframes pulse-radial {
  0% {
    box-shadow: 0 0 0 0 rgba(231, 76, 60, 0.7);
  }
  70% {
    box-shadow: 0 0 0 15px rgba(231, 76, 60, 0); /* Ring expands and fades out */
  }
  100% {
    box-shadow: 0 0 0 0 rgba(231, 76, 60, 0);
  }
}

@keyframes drop-pin {
  from {
    transform: translateY(-100px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.elementor-56806 .elementor-element.elementor-element-f3f64c6 {
    display: flex;
    height: 600px;
    position: relative;
    justify-content: flex-end;
}

.elementor-56806 .elementor-element.elementor-element-f3f64c6 .pin {
    position: absolute;
    display: inline-block;
    color: white;
    font-size: 36px;
    cursor: pointer;
    opacity: 0;
    animation-fill-mode: forwards!important;
    animation:
        drop-pin 1s ease-in-out;
}

.elementor-56806 .elementor-element.elementor-element-f3f64c6 .pin-name {
    position: absolute;
    width: max-content;
    font-family: roboto;
    font-size: 20px;
    font-weight: 700;
    color: #86668b;
    display: none;
    padding: 2px 15px;
    background: white;
    border-radius: 25px;
    box-shadow: 0 12px 10px -10px grey;
    top: 9px;
}

.elementor-56806 .elementor-element.elementor-element-f3f64c6 .pin-name.right {
    left: 40px;
}

.elementor-56806 .elementor-element.elementor-element-f3f64c6 .pin-name.left {
    right: 40px;
}

.elementor-56806 .elementor-element.elementor-element-f3f64c6 .pin:hover .pin-name{
    display: block;
}

.elementor-56806 .elementor-element.elementor-element-f3f64c6 .hidden-box {
    display: none;
}

.elementor-56806 .elementor-element.elementor-element-f3f64c6 .hidden-box:checked + .info-card {
    transform: translateY(-99%);
}

.elementor-56806 .elementor-element.elementor-element-f3f64c6 .pin i {
    width: 36px;
    height: 36px;
    text-shadow: 0 0 12px red;
    border-radius: 50%;
    animation: 
        pulse-radial 2s linear 2s infinite;
}

.elementor-56806 .elementor-element.elementor-element-f3f64c6 .info-container {
    padding-right: 30px;
    padding-top: 10px;
}

.elementor-56806 .elementor-element.elementor-element-f3f64c6 .info-card {
    position: absolute;
    right: 20px;
    top: 610px;
    display: flex;
    flex-direction: column;
    background-color: rgba(255,255,255,0.85);
    width: 400px;
    height: fit-content;
    padding: 40px 0 80px 0;
    border-radius: 20px 20px 0 0;
    align-items: center;
    transition: transform 300ms ease-in-out;
}

.elementor-56806 .elementor-element.elementor-element-f3f64c6 .info-card .logo {
    height: 80px;
    margin-bottom: 35px;
}

.elementor-56806 .elementor-element.elementor-element-f3f64c6 .info-card h3 {
    font-family: Montserrat;
    font-weight: 400;
    text-align: center;
}

.elementor-56806 .elementor-element.elementor-element-f3f64c6 .info-contact {
    border-top: 1px dotted grey;
    margin-top: 10px;
    padding-top: 5px;
    font-size: 0.9em;
    line-height: 1.5em;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d0f7d45 */.elementor-56806 .elementor-element.elementor-element-d0f7d45 {/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e00b9b5 */.elementor-56806 .elementor-element.elementor-element-e00b9b5 {
    overflow: hidden;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4e93614 */.elementor-56806 .elementor-element.elementor-element-4e93614 a {
    text-decoration: none!important;
}/* End custom CSS */