/* Reuse the actual local brand fonts under names unaffected by Skole's old demo URLs. */
@font-face {
    font-family: CMSJSensei;
    src: url('camping-object-intro/Sensei-Medium.woff') format('woff');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: CMSJCatamaran;
    src: url('camping-object-intro/Catamaran.ttf') format('truetype');
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

/* Keep Palmi at its native size, but centre the title independently of empty columns. */
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor .elementor-element-d9a5061 > .elementor-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor .elementor-element-d9a5061 > .elementor-container > .elementor-column {
    grid-area: 1 / 1;
}
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor .elementor-element-4a9a6f3 {
    justify-self: center;
}
/* Native mouse tracking moved every text line away from its background centre. */
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor-element-4a9a6f3 .elementor-widget-heading > .elementor-widget-container {
    transform: none !important;
}
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor .elementor-element-839129f .elementor-heading-title {
    font-family: CMSJCatamaran, sans-serif;
    font-size: clamp(1.125rem, 1.5vw, 1.5rem);
    font-weight: 700;
    line-height: 1.25;
}
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor .elementor-element-18cbcc6 .elementor-heading-title {
    font-family: CMSJSensei, sans-serif;
    font-weight: 400;
    line-height: 1.1;
}
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor .elementor-element-9d3314b .elementor-heading-title {
    font-family: CMSJCatamaran, sans-serif;
    font-weight: 600;
    line-height: 1.1;
}
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor .elementor-element-5834af4 .elementor-heading-title {
    font-family: CMSJSensei, sans-serif;
    font-weight: 400;
    line-height: 1.05;
}
/* Brand body face, locally served and distinct from the playful display lettering. */
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) #main .elementor-widget-text-editor,
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) #main .elementor-widget-text-editor p {
    font-family: CMSJCatamaran, sans-serif;
    font-size: 19px;
    line-height: 1.55;
}

body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor :is(.elementor-element-b1f7bb4, .elementor-element-df8ffa4) > .elementor-widget-container {
    padding: 0 20px;
}
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor :is(.elementor-element-b1f7bb4, .elementor-element-df8ffa4) .elementor-heading-title {
    font-family: CMSJSensei, sans-serif;
    font-weight: 400;
    font-size: clamp(2rem, 4.45vw, 4rem);
    line-height: 1.15;
    text-align: center;
    letter-spacing: 0;
    text-wrap: balance;
}
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor .elementor-element-b1f7bb4 {
    margin-bottom: 36px;
}
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor .elementor-element-f5dc8b6 > .elementor-container {
    min-height: 0;
}

/* Existing columns, original masks and colours remain in Elementor. */
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor-element-caaab20 .elementor-widget-image-box .elementor-image-box-content > :is(h2, h3) {
    font-family: CMSJSensei, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: 0;
}
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor-element-caaab20 .elementor-image-box-content > div.elementor-image-box-title {
    font-family: CMSJCatamaran, sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.55;
}
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor-element-caaab20 .elementor-widget-image-box .elementor-image-box-wrapper .elementor-image-box-img {
    display: block;
    width: 90%;
    max-width: 240px;
    margin: 22px auto 24px;
}
body:is(.page-id-1104, .page-id-992217, .page-id-992245, .page-id-992223, .page-id-992214, .page-id-992227) .elementor-element-caaab20 .elementor-image-box-img img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    /* Original Skole path, with flexible SVG proportions for the square photo crop. */
    --cmsj-home-photo-mask: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMzQgMTQwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj48cGF0aCBkPSJNMTMuNDU4IDEwLjI2MUMyMi4xMDkgMS43NTMgMTE3LjQ2OCAwIDE2NS4zMzggMGMyNC44NDUgMCA0Mi45NzEgMi40NSA1NC4zNzggNy4zNWExNSAxNSAwIDAgMSA4Ljk3OCAxMi4wMzFjOC42NDQgNzMuNTM5IDYuNzI1IDExMi4xNi01Ljc1NyAxMTUuODY0LTE5LjMzIDUuNzM2LTE5My4yMSA0LjY3OC0yMDcuNTU3IDQuNjc4QzEuMDMzIDEzOS45MjMgMCA4OC45MDMgMCA2OS43MWMwLTE5LjE5MyA0LjgwNi01MC45NCAxMy40NTgtNTkuNDQ5eiIgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+");
    -webkit-mask-image: var(--cmsj-home-photo-mask);
    mask-image: var(--cmsj-home-photo-mask);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}
