.elementor-kit-7{--e-global-color-primary:#2B3E6B;--e-global-color-secondary:#D4BA83;--e-global-color-text:#FEFEFE;--e-global-color-accent:#F08BA1;--e-global-color-tt_navy_deep:#1E304F;--e-global-color-tt_navy_dark:#102447;--e-global-color-tt_pink_hot:#D86691;--e-global-color-tt_raspberry:#DC2950;--e-global-color-tt_sky:#ABD6ED;--e-global-color-tt_green:#0A7A56;--e-global-color-tt_white_10:rgba(254,254,254,0.1);--e-global-color-tt_mauve:#A6557C;--e-global-color-tt_pink_soft:#D585AC;--e-global-color-tt_lavender:#ABA8C8;--e-global-color-tt_grey:#9D9E9E;--e-global-typography-primary-font-family:"gopher";--e-global-typography-primary-font-size:52px;--e-global-typography-primary-font-weight:500;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-family:"gopher";--e-global-typography-secondary-font-size:40px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-line-height:1.15em;--e-global-typography-text-font-family:"Arial";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-line-height:1.5em;--e-global-typography-accent-font-family:"Arial";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:none;--e-global-typography-accent-line-height:1em;--e-global-typography-tt_eyebrow-font-family:"Arial";--e-global-typography-tt_eyebrow-font-size:13px;--e-global-typography-tt_eyebrow-font-weight:700;--e-global-typography-tt_eyebrow-text-transform:none;--e-global-typography-tt_eyebrow-line-height:1.2em;--e-global-typography-tt_eyebrow-letter-spacing:1px;--e-global-typography-tt_menu-font-family:"gopher";--e-global-typography-tt_menu-font-size:22px;--e-global-typography-tt_menu-font-weight:500;--e-global-typography-tt_menu-text-transform:none;--e-global-typography-tt_menu-line-height:1.3em;--e-global-typography-tt_menu-letter-spacing:0px;--e-global-typography-tt_small-font-family:"Arial";--e-global-typography-tt_small-font-size:14px;--e-global-typography-tt_small-font-weight:400;--e-global-typography-tt_small-text-transform:none;--e-global-typography-tt_small-line-height:1.4em;background-color:#2B3E6B;background-image:url("https://twinkletown.ie/wp-content/uploads/2026/09/tt-pattern-tile-tint.png");color:#FEFEFE;font-family:"Arial", Arial, Helvetica, sans-serif;font-size:18px;font-weight:400;text-transform:none;line-height:1.5em;background-position:top left;background-repeat:repeat;background-size:629px auto;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:#F08BA1;font-family:"Arial", Arial, Helvetica, sans-serif;font-size:16px;font-weight:700;text-transform:none;line-height:1em;color:#2B3E6B;border-style:none;border-radius:0px 0px 0px 0px;padding:14px 28px 14px 28px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:#D86691;color:#FEFEFE;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 p{margin-block-end:16px;}.elementor-kit-7 a{color:#D4BA83;}.elementor-kit-7 a:hover{color:#F08BA1;}.elementor-kit-7 h1{color:#D4BA83;font-family:"gopher", Arial, Helvetica, sans-serif;font-size:52px;font-weight:500;text-transform:none;line-height:1.1em;}.elementor-kit-7 h2{color:#F08BA1;font-family:"gopher", Arial, Helvetica, sans-serif;font-size:40px;font-weight:500;text-transform:none;line-height:1.15em;}.elementor-kit-7 h3{color:#FEFEFE;font-family:"gopher", Arial, Helvetica, sans-serif;font-size:28px;font-weight:500;text-transform:none;line-height:1.2em;}.elementor-kit-7 h4{color:#FEFEFE;font-family:"gopher", Arial, Helvetica, sans-serif;font-size:22px;font-weight:500;text-transform:none;line-height:1.25em;}.elementor-kit-7 h5{color:#FEFEFE;font-family:"gopher", Arial, Helvetica, sans-serif;font-size:18px;font-weight:500;text-transform:none;line-height:1.3em;}.elementor-kit-7 h6{color:#D4BA83;font-family:"gopher", Arial, Helvetica, sans-serif;font-size:14px;font-weight:500;text-transform:none;letter-spacing:1px;}.elementor-kit-7 img{border-radius:16px 16px 16px 16px;}.elementor-kit-7 label{color:#FEFEFE;}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{color:#2B2A29;background-color:#FEFEFE;border-style:none;border-radius:0px 0px 0px 0px;padding:14px 16px 14px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-7{--e-global-typography-primary-font-size:40px;--e-global-typography-secondary-font-size:34px;}.elementor-kit-7 h1{font-size:40px;}.elementor-kit-7 h2{font-size:34px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-primary-font-size:30px;--e-global-typography-secondary-font-size:30px;--e-global-typography-text-font-size:16px;font-size:16px;}.elementor-kit-7 h1{font-size:30px;}.elementor-kit-7 h2{font-size:30px;}.elementor-kit-7 h3{font-size:22px;}.elementor-kit-7 h4{font-size:19px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===== CLIENT FEEDBACK ROUND 1 - GROUP A (global). Kept on ONE line: newlines sent through the MCP arrive as literal backslash-n and break every .elementor-kit-7 after them. ===== */ /* A1. Sentence case: kill all-caps everywhere, incl. per-widget overrides */ body, h1, h2, h3, h4, h5, h6, .elementor-heading-title, .elementor-button, .elementor-button-text, .e-n-button, .elementor-widget-text-editor, .elementor-widget-text-editor *, .elementor-nav-menu a, .elementor-nav-menu--dropdown a, .elementor-icon-list-text, .elementor-image-box-title, .elementor-tab-title, .elementor-accordion-title, .elementor-toggle-title, .e-n-accordion-item-title, .e-n-accordion-item-title-text, .elementor-field-group label, .elementor-field, .elementor-field-subgroup label, .elementor-post__title, .elementor-cta__title, .elementor-cta__description, .elementor-slide-heading, .elementor-slide-description, .elementor-price-list-title { text-transform: none !important; } /* A3. All CTA buttons squared */ .elementor-button, .elementor-button-wrapper .elementor-button, .elementor-widget-button a.elementor-button, .elementor-field-type-submit button, button.elementor-button, input[type="submit"], .e-n-button, .elementor-slide-button { border-radius: 0 !important; } /* A4a. Navy nav bar on every page EXCEPT the homepage. NOTE: needs css_classes (no underscore) = tt-header on header container 3c70d40 to actually fire - not yet applied. */ .tt-header { background-color: #2B3E6B; } body.home .tt-header { background-color: rgba(43,62,107,0) !important; } /* A4b. Thin hamburger (3 x 1.5px lines) */ .tt-burger .elementor-icon i { display: block; position: relative; width: 28px; height: 19px; font-size: 0; line-height: 0; } .tt-burger .elementor-icon i::before, .tt-burger .elementor-icon i::after { content: ""; position: absolute; left: 0; right: 0; height: 1.5px; background: currentColor; border-radius: 0; } .tt-burger .elementor-icon i::before { top: 0; box-shadow: 0 8.75px 0 currentColor; } .tt-burger .elementor-icon i::after { bottom: 0; } /* A4c. Thin close X on the menu overlay */ .elementor-popup-modal .dialog-close-button i, .tt-close .elementor-icon i { display: block; position: relative; width: 24px; height: 24px; font-size: 0; line-height: 0; } .elementor-popup-modal .dialog-close-button i::before, .elementor-popup-modal .dialog-close-button i::after, .tt-close .elementor-icon i::before, .tt-close .elementor-icon i::after { content: ""; position: absolute; top: 50%; left: 0; right: 0; height: 1.5px; background: currentColor; margin-top: -0.75px; } .elementor-popup-modal .dialog-close-button i::before, .tt-close .elementor-icon i::before { transform: rotate(45deg); } .elementor-popup-modal .dialog-close-button i::after, .tt-close .elementor-icon i::after { transform: rotate(-45deg); } .elementor-popup-modal .dialog-close-button svg { stroke-width: 1 !important; } /* A6. Consistent rounded corners on gallery / carousel / image-box imagery */ .elementor-widget-image-gallery .gallery-item img, .elementor-widget-gallery img, .elementor-widget-media-carousel .elementor-carousel-image, .elementor-widget-image-box .elementor-image-box-img img { border-radius: 16px !important; } /* ===== GROUP C (attraction pages) ===== */ /* C1. Hide the Book Tickets button when the page has no booking URL. ticket_url is empty for every pay-on-day / free attraction, so Elementor renders the anchor with no href at all. */ .tt-book-btn .elementor-button:not([href]), .tt-book-btn .elementor-button[href=""], .tt-book-btn .elementor-button[href="#"] { display: none !important; } /* C2. Attraction gallery carousel - landscape crop, rounded, brand controls */ .tt-attraction-carousel .swiper-slide img, .tt-attraction-carousel .elementor-image-carousel img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 16px; } .tt-attraction-carousel .elementor-swiper-button { color: #D4BA83; } .tt-attraction-carousel .swiper-pagination-bullet { background: #FEFEFE; opacity: .45; } .tt-attraction-carousel .swiper-pagination-bullet-active { background: #D4BA83; opacity: 1; } /* ===== PAGE PATTERN - centre column (14 Sep 2026). The pattern tile is a NATIVE Site Settings > Background image (media 580, repeat, 629px wide). Elementor has no two-layer background control, so this draws the plain navy column over the pattern: fixed, 1032px (was 860, Bradley asked for 20% more clearance around the 760px text blocks), behind all content. z-index -1 paints above the canvas background because html has no background of its own. Full width under 1032px, so phones and small tablets never see the pattern. ===== */ body::before { content: ""; position: fixed; top: 0; bottom: 0; left: 50%; width: min(1032px, 100%); transform: translateX(-50%); background: #2B3E6B; z-index: -1; pointer-events: none; } /* ===== PLAIN WP PAGES (17 Sep 2026, Bradley): legal pages 26/27/28 are non-Elementor and Hello's theme.css gives .site-main a hard 1140px max-width - wider than the 1032px navy centre column, so the text bled onto the pattern gutters. Match the column and give the copy the inner padding of a boxed section. ===== */ body:not([class*="elementor-page-"]) .site-main { max-width: 1032px; padding: 48px 24px 75px; box-sizing: border-box; } @media (max-width: 767px) { body:not([class*="elementor-page-"]) .site-main { padding: 32px 20px 60px; } }/* End custom CSS */