/*
 * base.css — loaded on every page.
 *
 * 1. Hello Elementor 3.4.4 reset.css, verbatim.
 * 2. Hello Elementor 3.4.4 theme.css, with one change: its narrow .site-main applied only
 *    to bodies without an Elementor page class; here only the Hello-style templates use
 *    .site-main, so the condition is dropped.
 * 3. The few Elementor frontend rules that applied site-wide.
 * 4. The Elementor kit's globals (kit 17739).
 * 5. .design-region: the resets Elementor applied inside its own wrappers. Every region
 *    rebuilt from an Elementor template carries this class.
 * 6. Text link hover: an underline that sweeps in from the left and out to the right.
 * 7. Button hover: a darker fill wipes across from the left.
 */

/* ---------- 0. Elementor's screen-reader rule ----------
 * Elementor's frontend stylesheet loaded before Hello's, and its .screen-reader-text rule is
 * the one site-wide rule that reached the Hello pages. Hello's own rule below still wins
 * where the two overlap, as before. Nothing visible changes; hidden text sits where it did. */
.screen-reader-text,.screen-reader-text span{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;top:-10000em;width:1px;clip:rect(0,0,0,0);border:0}

/* ---------- 1. Hello reset ---------- */
html{line-height:1.15;-webkit-text-size-adjust:100%}*,:after,:before{box-sizing:border-box}body{background-color:#fff;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{color:inherit;font-family:inherit;font-weight:500;line-height:1.2;margin-block-end:1rem;margin-block-start:.5rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-block-end:.9rem;margin-block-start:0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em;white-space:pre-wrap}a{background-color:transparent;color:#c36;text-decoration:none}a:active,a:hover{color:#336}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}abbr[title]{border-block-end:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none;height:auto;max-width:100%}details{display:block}summary{display:list-item}figcaption{color:#333;font-size:16px;font-style:italic;font-weight:400;line-height:1.4}[hidden],template{display:none}@media print{*,:after,:before{background:transparent!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre{white-space:pre-wrap!important}blockquote,pre{-moz-column-break-inside:avoid;border:1px solid #ccc;break-inside:avoid}thead{display:table-header-group}img,tr{-moz-column-break-inside:avoid;break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{-moz-column-break-after:avoid;break-after:avoid}}label{display:inline-block;line-height:1;vertical-align:middle}button,input,optgroup,select,textarea{font-family:inherit;font-size:1rem;line-height:1.5;margin:0}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{border:1px solid #666;border-radius:3px;padding:.5rem 1rem;transition:all .3s;width:100%}input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#333}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;width:auto}[type=button],[type=submit],button{background-color:transparent;border:1px solid #c36;border-radius:3px;color:#c36;display:inline-block;font-size:1rem;font-weight:400;padding:.5rem 1rem;text-align:center;transition:all .3s;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}[type=button]:focus:not(:focus-visible),[type=submit]:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}[type=button]:focus,[type=button]:hover,[type=submit]:focus,[type=submit]:hover,button:focus,button:hover{background-color:#c36;color:#fff;text-decoration:none}[type=button]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto;resize:vertical}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}select{display:block}table{background-color:transparent;border-collapse:collapse;border-spacing:0;font-size:.9em;margin-block-end:15px;width:100%}table td,table th{border:1px solid hsla(0,0%,50%,.502);line-height:1.5;padding:15px;vertical-align:top}table th{font-weight:700}table tfoot th,table thead th{font-size:1em}table caption+thead tr:first-child td,table caption+thead tr:first-child th,table colgroup+thead tr:first-child td,table colgroup+thead tr:first-child th,table thead:first-child tr:first-child td,table thead:first-child tr:first-child th{border-block-start:1px solid hsla(0,0%,50%,.502)}table tbody>tr:nth-child(odd)>td,table tbody>tr:nth-child(odd)>th{background-color:hsla(0,0%,50%,.071)}table tbody tr:hover>td,table tbody tr:hover>th{background-color:hsla(0,0%,50%,.102)}table tbody+tbody{border-block-start:2px solid hsla(0,0%,50%,.502)}@media(max-width:767px){table table{font-size:.8em}table table td,table table th{line-height:1.3;padding:7px}table table th{font-weight:400}}dd,dl,dt,li,ol,ul{background:transparent;border:0;font-size:100%;margin-block-end:0;margin-block-start:0;outline:0;vertical-align:baseline}

/* ---------- 2. Hello theme ---------- */
.comments-area a,.page-content a{text-decoration:underline}.alignright{float:right;margin-left:1rem}.alignleft{float:left;margin-right:1rem}.aligncenter{clear:both;display:block;margin-inline:auto}.alignwide{margin-inline:-80px}.alignfull{margin-inline:calc(50% - 50vw);max-width:100vw}.alignfull,.alignfull img{width:100vw}.wp-caption{margin-block-end:1.25rem;max-width:100%}.wp-caption.alignleft{margin:5px 20px 20px 0}.wp-caption.alignright{margin:5px 0 20px 20px}.wp-caption img{display:block;margin-inline:auto}.wp-caption-text{margin:0}.gallery-caption{display:block;font-size:.8125rem;line-height:1.5;margin:0;padding:.75rem}.pagination{display:flex;justify-content:space-between;margin:20px auto}.sticky{display:block;position:relative}.bypostauthor{font-size:inherit}.hide{display:none!important}.post-password-form{margin:50px auto;max-width:500px}.post-password-form p{align-items:flex-end;display:flex;width:100%}.post-password-form [type=submit]{margin-inline-start:3px}.screen-reader-text{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#eee;clip:auto!important;clip-path:none;color:#333;display:block;font-size:1rem;height:auto;left:5px;line-height:normal;padding:12px 24px;text-decoration:none;top:5px;width:auto;z-index:100000}.post .entry-title a{text-decoration:none}.post .wp-post-image{max-height:500px;-o-object-fit:cover;object-fit:cover;width:100%}@media(max-width:991px){.post .wp-post-image{max-height:400px}}@media(max-width:575px){.post .wp-post-image{max-height:300px}}#comments .comment-list{font-size:.9em;list-style:none;margin:0;padding:0}#comments .comment,#comments .pingback{position:relative}#comments .comment .comment-body,#comments .pingback .comment-body{border-block-end:1px solid #ccc;display:flex;flex-direction:column;padding-block-end:30px;padding-block-start:30px;padding-inline-end:0;padding-inline-start:60px}#comments .comment .avatar,#comments .pingback .avatar{border-radius:50%;left:0;margin-inline-end:10px;position:absolute}body.rtl #comments .comment .avatar,body.rtl #comments .pingback .avatar,html[dir=rtl] #comments .comment .avatar,html[dir=rtl] #comments .pingback .avatar{left:auto;right:0}#comments .comment-meta{display:flex;justify-content:space-between;margin-block-end:.9rem}#comments .comment-metadata,#comments .reply{font-size:11px;line-height:1}#comments .children{list-style:none;margin:0;padding-inline-start:30px;position:relative}#comments .children li:last-child{padding-block-end:0}#comments ol.comment-list .children:before{content:"↪";display:inline-block;font-size:1em;font-weight:400;left:0;line-height:100%;position:absolute;top:45px;width:auto}body.rtl #comments ol.comment-list .children:before,html[dir=rtl] #comments ol.comment-list .children:before{content:"↩";left:auto;right:0}@media(min-width:768px){#comments .comment-author,#comments .comment-metadata{line-height:1}}@media(max-width:767px){#comments .comment .comment-body{padding:30px 0}#comments .children{padding-inline-start:20px}#comments .comment .avatar{float:left;position:inherit}body.rtl #comments .comment .avatar,html[dir=rtl] #comments .comment .avatar{float:right}}.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),.site-main{margin-inline-end:auto;margin-inline-start:auto;width:100%}@media(max-width:575px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),.site-main{padding-inline-end:10px;padding-inline-start:10px}}@media(min-width:576px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),.site-main{max-width:500px}.site-footer.footer-full-width .footer-inner,.site-header.header-full-width .header-inner{max-width:100%}}@media(min-width:768px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),.site-main{max-width:600px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}@media(min-width:992px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),.site-main{max-width:800px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}@media(min-width:1200px){.page-header .entry-title,.site-footer .footer-inner,.site-footer:not(.dynamic-footer),.site-header .header-inner,.site-header:not(.dynamic-header),.site-main{max-width:1140px}.site-footer.footer-full-width,.site-header.header-full-width{max-width:100%}}

/* ---------- 3. Elementor site-wide rules ---------- */
:root{--page-title-display:block}
h1.entry-title{display:var(--page-title-display)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media (prefers-reduced-motion:reduce){html *{transition-delay:0s!important;transition-duration:0s!important}}

/* ---------- 4. Kit globals ---------- */
:root{
  --color-primary:#1B8ACF;
  --color-primary-dark:#161615;
  --color-text:#6E6F70;
  --color-accent:#1B8ACF;
  --color-para-on-dark:#F1F1F1;
  --color-grey-background:#F4F7F9;
  --color-gunmetal-darker:#202629;
  --color-gunmetal-lighter:#848689;
  --color-gunmetal-separator:#3F484D;
  --color-blue-on-dark:#B6E2FD;
  --color-heading-background:#ACC9E947;
  --color-button-dark:#3171B5;
  --radius:13px;
  --button-radius:999px;
  --font-brand:"brother-1816", Sans-serif;
}
body{color:var(--color-text)}
a{color:var(--color-primary)}
h1{font-family:var(--font-brand);font-weight:700}
h2{font-family:var(--font-brand);line-height:45px}
h3{font-family:var(--font-brand);line-height:40px}
h4,h5,h6{font-family:var(--font-brand)}
@media (max-width:767px){
  h2{font-size:25px;line-height:36px}
  h3{font-size:20px;line-height:26px}
}

/* ---------- 5. Builder resets inside rebuilt regions ---------- */
.design-region a{box-shadow:none;text-decoration:none}
.design-region hr{background-color:transparent;margin:0}
.design-region img{border:none;border-radius:0;box-shadow:none;height:auto;max-width:100%}
.design-region embed,.design-region iframe,.design-region object,.design-region video{border:none;line-height:1;margin:0;max-width:100%;width:100%}

/* ---------- 6. Text link hover (Luke, 10 October 2026) ----------
   A 1px line in the link's own colour sweeps in from the left on hover and out to the
   right when the pointer leaves. It is a background, so it follows wrapped lines and moves
   nothing. background-origin: content-box puts it under the text, not under any padding.
   The html prefix lets these transitions win over each area's own, which load later.
   Links that rest underlined (body copy) hide their own underline while the sweep shows. */
html :is(
	.mega-menu__title-text,
	.mega-menu__heading a,
	.mega-destinations__list a,
	.mega-experiences__button-text,
	.site-footer__link-text,
	.site-footer__credit-text a,
	.enquiry-card__contact a,
	.five-star__title a,
	.destinations__title a,
	.destination-menu__list a,
	.mobile-menu__countries a,
	.mobile-menu__region-title,
	.page-content a:not([class*="button"]),
	.page-text a:not([class*="button"]),
	.legal-page__content a,
	.message-text a
) {
	background-image: linear-gradient(currentColor, currentColor);
	background-origin: content-box;
	background-position: 100% 100%;
	background-repeat: no-repeat;
	background-size: 0 1px;
	transition: background-size .45s cubic-bezier(.22, 1, .36, 1), color .3s, fill .3s, text-decoration-color 0s .45s;
}

@media (hover: hover) {
	html :is(
		.mega-menu__title:hover .mega-menu__title-text,
		.mega-menu__heading a:hover,
		.mega-destinations__list a:hover,
		.mega-experiences__button:hover .mega-experiences__button-text,
		.site-footer__item a:hover .site-footer__link-text,
		.site-footer__credit-text a:hover,
		.enquiry-card__contact a:hover,
		.five-star__title a:hover,
		.destinations__title a:hover,
		.destination-menu__list a:hover,
		.mobile-menu__countries a:hover,
		.mobile-menu__region-title:hover,
		.page-content a:not([class*="button"]):hover,
		.page-text a:not([class*="button"]):hover,
		.legal-page__content a:hover,
		.message-text a:hover
	) {
		background-position: 0 100%;
		background-size: 100% 1px;
		text-decoration-color: transparent;
		transition: background-size .45s cubic-bezier(.22, 1, .36, 1), color .3s, fill .3s, text-decoration-color 0s;
	}
}

/* Keyboard focus shows the line too, and an open mega menu panel keeps its title underlined. */
html :is(
	.mega-menu__item.is-open .mega-menu__title-text,
	.mega-menu__heading a:focus-visible,
	.mega-destinations__list a:focus-visible,
	.mega-experiences__button:focus-visible .mega-experiences__button-text,
	.site-footer__item a:focus-visible .site-footer__link-text,
	.site-footer__credit-text a:focus-visible,
	.enquiry-card__contact a:focus-visible,
	.five-star__title a:focus-visible,
	.destinations__title a:focus-visible,
	.destination-menu__list a:focus-visible,
	.page-content a:not([class*="button"]):focus-visible,
	.page-text a:not([class*="button"]):focus-visible,
	.legal-page__content a:focus-visible,
	.message-text a:focus-visible
) {
	background-position: 0 100%;
	background-size: 100% 1px;
	text-decoration-color: transparent;
	transition: background-size .45s cubic-bezier(.22, 1, .36, 1), color .3s, fill .3s, text-decoration-color 0s;
}

/* ---------- 7. Button hover (Luke, 10 October 2026) ----------
   The deeper blue wipes across from the left and the blue glow blooms underneath. The wipe
   is a background layer, because a transform on a button makes its label wobble (see
   rendering.md) and the Gravity Forms buttons are inputs, which take no pseudo-elements.
   (A light sheen sweeping over the label was removed the same day: too much, said Luke.) */
html :is(
	.site-header__quote,
	.listing-button,
	.single-button,
	.page-button,
	.message-page .button a,
	.mobile-menu__button,
	.popup #gform_submit_button_3
) {
	background-image:
		linear-gradient(var(--color-button-dark), var(--color-button-dark));
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 0 100%;
	transition: background-size .55s cubic-bezier(.22, 1, .36, 1), background-color .26s, color .26s, box-shadow .35s cubic-bezier(.2, .7, .3, 1);
}

html :is(
	.site-header__quote:focus-visible,
	.listing-button:focus-visible,
	.single-button:focus-visible,
	.page-button:focus-visible,
	.message-page .button a:focus-visible,
	.mobile-menu__button:focus-visible,
	.popup #gform_submit_button_3:focus-visible
) {
	background-position: 0 0;
	background-size: 100% 100%;
	transition: background-size .55s cubic-bezier(.22, 1, .36, 1), background-color .26s, color .26s, box-shadow .35s cubic-bezier(.2, .7, .3, 1);
}

@media (hover: hover) {
	html :is(
		.site-header__quote:hover,
		.listing-button:hover,
		.single-button:hover,
		.page-button:hover,
		.message-page .button a:hover,
		.mobile-menu__button:hover,
		.popup #gform_submit_button_3:hover
	) {
		background-position: 0 0;
		background-size: 100% 100%;
		transition: background-size .55s cubic-bezier(.22, 1, .36, 1), background-color .26s, color .26s, box-shadow .35s cubic-bezier(.2, .7, .3, 1);
	}
}

/* The Quick Quote form's submit, whose Gravity Forms styles are all !important. */
html .quote-form :is(.gform_button, input[type="submit"]) {
	background-image:
		linear-gradient(var(--color-button-dark), var(--color-button-dark)) !important;
	background-position: 0 0 !important;
	background-repeat: no-repeat !important;
	background-size: 0 100% !important;
	transition: background-size .55s cubic-bezier(.22, 1, .36, 1), background-color .26s, color .26s, box-shadow .35s cubic-bezier(.2, .7, .3, 1) !important;
}

html .quote-form :is(.gform_button, input[type="submit"]):focus-visible {
	background-position: 0 0 !important;
	background-size: 100% 100% !important;
	transition: background-size .55s cubic-bezier(.22, 1, .36, 1), background-color .26s, color .26s, box-shadow .35s cubic-bezier(.2, .7, .3, 1) !important;
}

@media (hover: hover) {
	html .quote-form :is(.gform_button, input[type="submit"]):hover {
		background-position: 0 0 !important;
		background-size: 100% 100% !important;
		transition: background-size .55s cubic-bezier(.22, 1, .36, 1), background-color .26s, color .26s, box-shadow .35s cubic-bezier(.2, .7, .3, 1) !important;
	}
}

