/* Custom CSS for Walt Disney Travel Company v2.0.0 */
/* Page structure and formatting, across desktop and mobile */

:root {
    font-family: InspireTWDC;
}

/* Text */
h1, h2, h2 > strong { font-weight: lighter }
h1 > sup, h2 > sup { font-size:50%; }
h3, h3 > strong { font-weight: normal; }
h3 > sup { font-size:60%; }
h4, h5 { font-weight: bold; }
h2, h3, h4, p { padding-bottom:10px; }
p:last-child { padding-bottom:0; } /* No padding on last paragraph */
h3:last-child { padding-bottom:0; } /* No padding on last <h3> */
a { cursor:pointer; white-space:nowrap; }
a[href^="tel"] { text-decoration:none !important; cursor:text; white-space:nowrap !important; }
s { text-decoration:line-through; }
time { white-space:nowrap; }
/* Lists */
ul, ol { margin-left:20px; padding-bottom:10px; } /* TODO: can we use last child on <li> to set padding? */
ul.none { margin:0; }
ul.none li { padding-left:0; list-style:none; }
ul.nav { margin:0; padding:0; }
ul.nav li { padding-left:0; padding-bottom:10px; list-style:none; }
ul.nav li:last-child { padding-bottom:0; }
ul.icon { margin:0; position:relative; }
ul.icon li { list-style:none; }
ul.icon li:before { position:absolute; }
/* List styles; use in conjunction with .icon */
ul.ticks li:before { content:'\e241'; }
ul.lightbulbs li:before { content:'\e24d'; }
ul.restricted li:before { content:'\e25a'; }
/* Specific list types */
ol.numerals { list-style-type:lower-roman !important; }
ol.alphabetic { list-style-type:lower-alpha !important; }
/* Modifiers */
.hide { display:none; }
.padding { padding-bottom:10px; }
.no-padding { padding:0 !important; }
.no-padding-top { padding-top:0 !important;}
.no-padding-bottom { padding-bottom:0 !important;}
.no-border { border:none !important; }
.no-wrap { white-space:nowrap !important; }
.panel-with-padding { padding-top: 10px; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Styles */
.roman { font-family: InspireTWDC; }
.heavy { font-weight: bold; }
.oblique { font-style: italic; }
.komu { font-family: komu-b, sans-serif; }
.belanosima { font-family: Belanosima, sans-serif; }
.reem-kufi { font-family: "Reem Kufi", sans-serif; }
.figtree-number { font-family: Figtree, sans-serif; }
.right { text-align:right; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Colours */
.red, .red a, .red a[href^="tel"]  { color:#ff6633 !important; } /* Should be consistent; MDX style guide advises #ff4605, but DPRD site uses #ff6633 */
.red a { text-decoration:underline; }
.green { color:#6fa623; }
.grey { color:#c4c4c4; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Icons */
body *:before, body *:after { font-family:'PEP Icon'; } /* Before/after icons always use PEP font */
.icon:before, .icon:after { vertical-align:bottom; display:inline-block; font-weight: normal }
/* Default padding */
.icon:before { padding-right:3px; }
.icon:after { padding-left:3px; }
/* Multiline */
.icon.multiline { position:relative; display:inline-block; white-space:normal; } /* We'll indent the wrapper to ensure that multi-line entries work correctly */
.icon.multiline:before, .icon.multiline:after { position:absolute; top:0; left:0; } /* We shouldn't use :after icons (.next, .more) with multiline */
/* Set icon, padding and colour (optional) */
.icon.offer { color:#6fa623; }
.icon.offer:before { content:'\e0ce'; padding-right:4px; }

.icon.price-tag:before { content: '\e0ce'; padding-right: 4px; }

.icon.chef-hat:before { content: '\e197'; padding-right: 4px; }

.icon.info:before { content:'\e302'; padding-right:2px; }
.icon.leaf:before { content:'\e1a2'; padding-right:2px; }
.icon.train:before { content:'\e2c0'; }
.icon.walk:before { content:'\e2c7'; }
.icon.bus:before { content:'\e2c1'; }
.icon.car:before { content:'\e2c2'; }
.icon.boat:before { content:'\e2c3'; }
.icon.plane:before { content:'\e2c5'; }
.icon.search:before { content:'\e310'; }
.icon.warning, .icon.warning * { color:#ff6633 !important; } /* Warning and nested elements (e.g. <a>) should be orange */
.icon.warning a { text-decoration:underline; } /* Link text will be orange, so underline to indicate hyperlink */
.icon.warning:before { content:'\e240'; }
.icon.previous:before { content:'\e30d'; padding-right:0; }
.icon.next:after { content:'\e30c'; padding-left:0; }
.icon.suitcase:before { content:'\e0c8'; }
.icon.cart:before { content:'\e0c0'; }
.icon.more:after { content:'\e31e'; }
.icon.bed:before { content:'\e0cf'; }
.icon.download:before { content:'\e304'; }
.icon.pdf:before { content:'\e30a'; }
.icon.tickets:before { content:'\e0c2'; }
.icon.dine:before { content:'\e180'; }
.icon.questions:before { content:'\e251'; padding-right:2px; }
.icon.mickey:before { content:'\e140'; }
.icon.luggage:before { content:'\e08f'; }
.icon.tick:before { content:'\e241'; padding-right:2px; }
.icon.squaretick:before { content: '\e24f'; }
.icon.continue:before { content:'\e182'; padding-right:2px; }
.icon.mdx:before { content:'\e100'; }
.icon.parks:before { content:'\e040'; }
.icon.restriction:before { content:'\e25a'; }
.icon.close:before { content:'\e300'; }
.icon.wand:before { content:'\e0c9'; }
.icon.mobile:before { content: '\e327'; }
.icon.beachball:before { content:'\e083'; }
.icon.calendar:before { content:'\e255'; padding-right:4px; }
.icon.rollercoaster:before { content:'\e38e'; }
.icon.masks:before { content:'\e08e'; }
.icon.reservation:before { content:'\e24e'; }
.icon.lightbulb:before { content:'\e24d'; }
.icon.gift:before { content:'\e380'; }
.icon.time:before { content:'\e249'; }
.icon.wifi:before { content:'\e226'; }
.icon.wheelchair:before { content:'\e340'; }
.icon.facebook:before { content:'\e385'; }
.icon.twitter:before { content:'\e386'; }
.icon.pinterest:before { content:'\e389'; }
.icon.cake:before { content:'\e10b'; }
.icon.details:before { content:'\e00b'; }
.icon.envelope:before { content:'\e252'; }
.icon.wavephone:before { content:'\e254'; }
.icon.masks:before { content:'\e08e'; }
.icon.drinks:before { content:'\e18a'; }
.icon.stateroom:before {content:'\e0cf'; }
.icon.cocktail:before {content:'\e088'; }
.icon.crew:before {content:'\e084'; }
.icon.directory:before {content:'\e08d'; }
.icon.ships:before {content:'\e081'; }
.icon.snowflake:before {content:'\e3e4'; }
.icon.online:before {content:'\e31d'; padding-right:4px; }
.icon.map:before {content:'\e200'; }
.icon.standard-plan:before {content:'\e188'; }
.icon.plus-plan:before {content:'\e193'; }
.icon.premium-plan:before {content:'\e189'; }
.icon.half-board:before {content:'\e186'; }
.icon.full-board:before {content:'\e187'; }
.icon.hotel:before {content:'\e049'; }
.icon.month:before {content:'\e311'; top:-1px; } /* Offset for multiline */
.icon.day:before {content:'\e312'; top:-1px; } /* Offset for multiline */
.icon.star:before { content:'\e141'; }
.icon.baby:before { content:'\e209'; }
.icon.water-parks:before { content:'\e0c7'; }
.icon.attractions:before { content:'\e38e'; }
.icon.parade:before { content:'\e23f'; }
.icon.swim:before { content:"\e1c3"; }
.icon.swap:before { content:"\e223"; }
.icon.mickey-profile:before { content:"\e142"; }
.icon.stars:before { content:"\e144"; }
.icon.mickey-check:before { content:"\e19f"; }
.icon.dinghy:before { content:"\e0c7"; }
.icon.popcorn:before { content:"\e392"; }
.icon.magicband:before { content:"\e104"; }
.icon.cutlery:before { content:"\e181"; }
.icon.camera:before { content:"\e10d"; }
.icon.pushchair:before { content:"\e214"; }
.icon.disability:before { content:"\e340"; }
.icon.medical:before { content:"\e20d"; }
.icon.stethoscope:before { content:"\e010"; }
.icon.relax:before { content:"\e21c"; }
.icon.passport:before { content:"\e095"; }
.icon.blog:before { content:'\e247'; }
.icon.video:before { content:'\e308'; }
.icon.nutrition:before { content:'\e19b'; }
.icon.magic-hours:before { content:'\e25d'; }
.icon.celebration:before { content:'\e204'; }
.icon.fastpass:before { content:'\e0c3'; }
.icon.golf:before { content:'\e1c0'; }
.icon.dummy:before { content:'\e462'; }
.icon.themeparks:before{content:'\e041'}
.icon.destinations:before{content:'\e082'}
.icon.anchor:before{content:'\e085'}
.icon.epcot:before{content:'\e042'}
.icon.hollywood-studios:before{content:'\e044'}
.icon.animal-kingdom:before{content:'\e043'}
.icon.blizzard-beach:before{content:'\e046'}
.icon.typhoon-lagoon:before{content:'\e045'}
.icon.espn:before{content:'\e048'}
.icon.magic:before { content:'\e143'; }
.icon.spa:before { content:'\e146'; }
.icon.cocktail:before { content:'\e18D'; }
.icon.wdw:before { content:'\e040'; }
.icon.dcl:before { content:'\e080'; }
.icon.playground:before { content:'\e1ca'; }
.icon.bell:before { content:'\e203'; }
.icon.key:before { content:'\e0cc'; }
.icon.bike:before { content:'\e1d0'; }
.icon.volleyball:before { content:'\e1ce'; }
.icon.horse:before { content:'\e1cb'; }
.icon.padlock:before { content:'\e24a'; }
.icon.insurance:before { content:'\e0e1'; }
.icon.thumbsup:before { content:'\e266'; }
.icon.award:before { content:'\e00c'; }
.icon.outbound-link:before { content: '\e32a'}
.icon.mickey-bag:before { content: '\e01d'}
.icon.credit-card:before { content: '\e08b'}
.icon.credit-card-stars:before { content: '\e0e5'}
.icon.cog:before { content: '\e103'}
.icon.boardwalk:before { content: '\e04b'}
.icon.disney-springs:before { content: '\e047'}
.icon.snacks-and-drinks:before { content: '\e195'}
.icon.all-you-can-eat-buffet:before { content: '\e196'}
.icon.plus-kids:before { content: '\e198'}
.icon.flexibility-and-choice:before { content: '\e185'}
.icon.disneyland:before {content: "\e414"}
.icon.disneyland-adventure:before {content: "\e415"}
.icon.character:before {content: "\e263"}
.icon.carriage:before {content: "\e018"}
.icon.camera:before {content: "\e21e"}




/* ------------------------------------------------------------------------------------------------------------------- */

/* Structure */
body { width:100%; height:100%; box-sizing:border-box; } /* Give the body a height so that its child elements can have percentage heights */
form { width:100%; float:left; }
#page { width:100%; position:relative; background-repeat:no-repeat; background-position:center top; }
#body { width:100%; }
#script { display:none; visibility:hidden; }

/* Divider */
body hr { border:0 none; color:#dfdfdf; display:block; float:left; font-size:1px; height:1px; line-height:1px; margin:20px 0; padding:0; width:100%;
    background: #dfdfdf; /* Old browsers */
    background: -moz-linear-gradient(left, #ffffff 0%, #dfdfdf 15%, #dfdfdf 85%, #ffffff 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, #ffffff 0%,#dfdfdf 15%,#dfdfdf 85%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, #ffffff 0%,#dfdfdf 15%,#dfdfdf 85%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.lt-ie9 body hr { background:#dfdfdf none repeat scroll 0 0; } /* Needed for hr to show in IE6-8 */

/* ------------------------------------------------------------------------------------------------------------------- */

/* Inset */
.inset { min-width:0 !important; background:none !important; }
.inset form { background:none !important; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Fullscreen */
body.fullscreen, body.fullscreen #body { background:none !important; }
body.fullscreen #form, #fullscreen, #fullscreen iframe { height:100%; }
#fullscreen, #fullscreen iframe { width:100%; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Content */
#body .content { position:relative; /* overflow:hidden; */ } /* Set overflow:hidden to allow for rounded corners with background colour */
#body .content.overflow { overflow:visible; } /* Override default content overflow value, allowing images to overflow the container, e.g Fairy Godmothers on FAQ */
#body .content.gap { margin-top:20px; } /* Add gap where we have multiple .content panels */
#body .footer small a { text-decoration:underline; }
#body .body figcaption { color:#969696; padding-top:10px; }
#body .footer small, #body .footer small a, aside small { color:#969696; }

/* Marcomms */
#body .newsletter #terms, #body .contact #terms { display:none; }
.contact.details fieldset { float:none; }
#body .newsletter label + p, .contact.details fieldset + p { padding:10px 0 0 0; }
#body .newsletter #terms { padding-top:10px; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Tables */
.cross:before, .check:before { vertical-align:bottom; display:inline-block; }
.cross:before { color:#ff6633; content:'\e25c'; }
.check:before { color:#6fa623; content:'\e241'; }
.cross span, .check span { display:none; }

/* Default styles */
table.default { border-collapse:separate; border-radius:7px; width:100%; border:1px solid #c4c4c4; }
table.default th { font-weight: bold; }
table.default th, table.default td { padding:10px; text-align:center; vertical-align:middle; }
table.default tr:nth-child(odd) { background:#fafafa; }
table.default tr:not(:first-of-type) th, table.default tr:not(:first-of-type) td { border-top:1px solid #c4c4c4; }
table.default th:not(:last-of-type), table.default td:not(:last-of-type) { border-right:1px solid #c4c4c4; }
table.default tr:first-of-type *:first-of-type { border-top-left-radius:7px; }
table.default tr:first-of-type *:last-of-type { border-top-right-radius:7px; }
table.default tr:last-of-type td:first-of-type { border-bottom-left-radius:7px; }
table.default tr:last-of-type td:last-of-type { border-bottom-right-radius:7px; }

/* Exceptions */
table.complex td:first-child { font-weight: bold; text-align:left; } /* Complex tables use first column as reference, hence bold +left-align */
table.left th, table.left td { text-align:left; } /* Single column tables look better left-align */

/* ------------------------------------------------------------------------------------------------------------------- */

/* Header & Nav */
header { background-color:#fff; }
.desktop header.blue { background-color:#1C468E; }
header a { text-decoration:none; }
nav a sup { vertical-align:super; } /* Nav links are never underlined so don't adjust vertical-align */

/* ------------------------------------------------------------------------------------------------------------------- */

/* Errors */
body.error, body.error #body { background:none !important; }
#error { top:0; left:0; bottom:0; right:0; position:absolute; text-align:center; }
#error .container { float:none; width:auto !important; height:100%; display:table; margin:0 auto; }
#error #message { float:none; vertical-align:middle; display:table-cell; text-align:left; }
#error #message a { text-decoration:underline; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Form elements */
*:focus { outline:none; } /* Disable native focus */
label, input, password, select, textarea { display:block; float:left; margin:0; padding:0; font-family: InspireTWDC; font-weight:normal; }
label { position:relative; }
label:not([for]) { cursor:default; }
label.error { color:#ff6633; }
label.error a { color:#ff6633; text-decoration:underline; }
input.error { box-shadow:0 0 4px 1px #ff6633 !important; } /* Apply manually for inputs without a label */

/* Buttons */
input[type=submit], input[type=button] { border:none !important; }
a.button, span.button { background:#6fa623; transition:background 250ms ease-out; }
a.button:hover, span.button:hover { background:#8dc63f; }
a.button, span.button, a.cancel, span.cancel, a.disabled, span.disabled:not(.dropdown) { display:block; box-shadow:0 1px 3px rgba(45,45,45,0.5); padding:1px 5px 0 5px; text-decoration:none !important; cursor:pointer; }
input.button { color:#fff; text-shadow:0 1px 2px rgba(0,0,0,0.3); background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjU2Ii8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMCIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); /* IE9 alpha fallback */ }
input.button, input.cancel, input.disabled { display:inline-block; font-weight: bold; padding:0 16px; margin:0 !important; white-space:nowrap; border:none; outline:none;
    background:-moz-linear-gradient(top, rgba(255,255,255,0.56) 0%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
    background:-webkit-linear-gradient(top,  rgba(255,255,255,0.56) 0%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
    background:linear-gradient(to bottom,  rgba(255,255,255,0.56) 0%,rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

@-moz-document url-prefix() { input.button::-moz-focus-inner, input.cancel::-moz-focus-inner, input.disabled::-moz-focus-inner { padding:0; border:0; } } /* Fix to remove the 2px padding that appears on buttons in FF */
a.button > input.button { pointer-events:none; } /* Passthrough click to <a> behind; jQuery handles this for IE where pointer-events are not supported */
a.button.centered { display: inline-block; float: none; margin-top: 8px;}

/* Disabled buttons/fields */
a.disabled, span.disabled:not(.dropdown) { cursor:default; background:#c4c4c4; }
input:disabled + label { cursor:default; color:#c4c4c4; }
.disabled { cursor:default; color:#c4c4c4; }

/* Text; add -webkit-appearance:none; to fix iOS bug */
input[type=text], input[type=email], input[type=tel], input[type=password], textarea { background:#fff; outline:none; border:none; padding:0 6px; box-shadow:0 1px 3px #969696; border-radius:6px; -webkit-appearance:none; overflow:hidden; text-overflow:ellipsis; }
label.error + input[type=text], label.error + input[type=email], label.error + input[type=tel], label.error + input[type=password] { box-shadow:0 0 4px 1px #ff6633 !important; }
textarea { height:auto; }

/* Dropdown menu; <select> must be wrapped in span.dropdown */
span.dropdown { display:inline-block; float:left; position:relative; }
span.dropdown:after { content:'\e316'; position:absolute; top:0; right:0; color:#969696; pointer-events:none; width:24px; text-align:center; } /* Custom arrow icon	 */
span.dropdown select { position:relative; border:0; border-radius:6px; box-shadow:0 1px 3px #969696; padding:0 24px 0 6px; overflow:hidden; text-overflow:ellipsis;
    background:#fff; /* Old browsers */
    background:-moz-linear-gradient(top, #fff 0%, #ebf5fc 100%); /* FF3.6-15 */
    background:-webkit-linear-gradient(top, #fff 0%,#ebf5fc 100%); /* Chrome10-25,Safari5.1-6 */
    background:linear-gradient(to bottom, #fff 0%,#ebf5fc 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ebf5fc',GradientType=0 ); /* IE6-9 */
    -webkit-appearance:none; -ms-appearance:none; -moz-appearance:none; appearance:none; } /* Removes platform specific styling; e.g. hide native arrows */
select::-ms-expand { display:none; }  /* Removes native IE10 arrow */
.no-csstransitions span.dropdown:after, .lt-ie9 span.dropdown:after { display:none!important; } /* Removes :after custom arrow as there is no way to remove native arrow in IE9- */
.lt-ie9 span.dropdown select { height:auto; border:1px solid #565656; } /* IE fallback to make the drop down look normal */
option { background-color:#fff; padding:5px 10px; }
label.error + span.dropdown select, span.dropdown-error select { box-shadow:0 0 4px 1px #ff6633 !important; } /* Provide alternatvies for dropdown with/without corresponding label */
span.dropdown select { padding:0\9; } /* Removes extra padding on dropdowns on IE8 & 9 */
/* Disabled */
span.dropdown.disabled:after { color:#c4c4c4; }
span.dropdown.disabled select[disabled=""] { color:#c4c4c4 !important; cursor:default;
    background:#fff; /* Old browsers */
    background:-moz-linear-gradient(top, #fff 0%, #f5f5f5 100%); /* FF3.6-15 */
    background:-webkit-linear-gradient(top, #fff 0%,#f5f5f5 100%); /* Chrome10-25,Safari5.1-6 */
    background:linear-gradient(to bottom, #fff 0%,#f5f5f5 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f5f5f5',GradientType=0 ); /* IE6-9 */
}
.lt-ie9 select[disabled=""] { border:1px solid #c4c4c4; }

/* Large dropdowns (e.g. FAQs) */
span.dropdown.large:after { line-height:31px;  }
span.dropdown.large select { font-size:18px; line-height:31px; height:31px; }

/* Radio buttons */
input[type=radio] { display:none; } /* Hide and use pseudo elements for styling */
input[type=radio] + label { position:relative; }
input[type=radio] + label:before, input[type=radio] + label:after { border-radius:50%; content:''; }
input[type=radio] + label:before { position:absolute; box-shadow:0 1px 3px #969696; background:#fff; }
input[type=radio] + label.icon:before { text-align:center; }
input[type=radio] + label:after { position:absolute;
    background: #f5f5f5; /* Old browsers */
    background: -moz-linear-gradient(top, #f5f5f5 0%, #eaeaea 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #f5f5f5 0%,#eaeaea 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #f5f5f5 0%,#eaeaea 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5f5f5', endColorstr='#eaeaea',GradientType=0 ); /* IE6-9 */
    box-shadow:0 2px 2px rgba(150,150,150,0.5) inset;
}
input[type=radio]:checked + label:after {
    background: #93bc5a; /* Old browsers */
    background: -moz-linear-gradient(top, #93bc5a 0%, #6fa623 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #93bc5a 0%,#6fa623 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #93bc5a 0%,#6fa623 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#93bc5a', endColorstr='#6fa623',GradientType=0 ); /* IE6-9 */
    box-shadow:0 2px 2px rgba(45,45,45,0.25) inset;
}
input[type=radio] + label.error:before { box-shadow:0 0 4px 1px #ff6633 !important; }
/* Disabled */
input[type=radio]:disabled + label:before { box-shadow:0 1px 3px #c4c4c4 !important; }
input[type=radio]:disabled + label:after { box-shadow: 0 2px 2px rgba(150, 150, 150, 0.25) inset; }

/* Checkboxes */
input[type=checkbox] { display:none; } /* Hide and use pseudo elements for styling */
input[type=checkbox] + label { position:relative; }
input[type=checkbox] + label:before { position:absolute; content:''; box-shadow:0 1px 3px #969696; background:#fff;  border-radius:4px; }
input[type=checkbox]:checked + label:before { content:'\e241'; color:#fff; background:#6fa623; text-align:center; }
input[type=checkbox] + label.icon:after { position:absolute; top:0; left:0; text-align:center; }
input[type=checkbox] + label.error:before { box-shadow:0 0 4px 1px #ff6633 !important; }
/* Disabled */
input[type=checkbox]:disabled + label:before { box-shadow:0 1px 3px #c4c4c4 !important; }

/* Legacy IE(6-8) fallback */
.lt-ie9 input[type=radio], .lt-ie9 input[type=checkbox] { display:block; } /* Don't hide native buttons on IE8- as the pseudo ones wont show */
.lt-ie9 input[type=radio] + label:before, .lt-ie9 input[type=checkbox] + label:before { display:none; }
.lt-ie9 input[type=radio] + label:after, .lt-ie9 input[type=checkbox] + label:after { display:none; }
.lt-ie9 input[type=radio] + label, .lt-ie9 input[type=checkbox] + label { padding-left:6px !important; } /* Tighten spacing as the default radio buttons are now displaying without icons */

/* ------------------------------------------------------------------------------------------------------------------- */

/* Overlay */
#overlay { display:none; position:fixed; top:0; left:0; right:0; bottom:0; z-index:99;  } /* Float over all elements, except #interstitial */
#interstitial { display:none; position:fixed; top:0; left:0; right:0; bottom:0; z-index:99; } /* Interstitial wrapper */
#horizontal { float:none; height:100%; display:table; margin:0 auto; } /* Centre horizontally */
#vertical { float:none; display:table-cell; vertical-align:middle; } /* Centre vertically */
#modal { position:relative; display:block; } /* Show dialog */
#modal .modal.hide { display:none !important; }
#dialog { position:relative; box-shadow:0 0 4px rgba(0,0,0,0.3); z-index:99; border-radius:12px; background-color:#fff; }
#dialog em { font-style:normal; font-weight: normal; white-space:nowrap; }
#dialog p.close { display:none; }
#dialog p.arrow { display:none; }
#dialog.dismissable p.close { top:0; right:0; display:block; width:40px; height:40px; text-align:center; position:absolute; color:#dfdfdf; z-index:101; cursor:pointer; -webkit-user-select:none; -webkit-touch-callout:none; -webkit-tap-highlight-color:rgba(0,0,0,0); }
#dialog.dismissable p.close:before { content:'\e300'; line-height:40px; }
#dialog.dismissable p.close a { display:none; }

/* ------------------------------------------- */

/* Modal with image */
#dialog.has-image > div { width:100%; text-align:center; }
#dialog.has-image .image { overflow:hidden; border-radius:0 12px 12px 0; -webkit-mask-image:-webkit-linear-gradient(left,#fff 0%,#fff 100%); }  /* Additional properties fix webkit bug for rounded corners + animation */
#dialog.has-image h2 { font-weight: bold; }
#dialog.has-image > div:not(#intermission) p { padding-bottom:0; }

/* ------------------------------------------- */

/* Modal with buttons */
#dialog.has-buttons .message { width:100%; }
#dialog.has-buttons .image { width:90px; height:90px; background-position:center center; background-repeat:no-repeat; }
#dialog.has-buttons p {padding-bottom:10px !important;}
#dialog.has-buttons #water-parks-closed p { padding-bottom:0 !important; }
#dialog.has-buttons #water-parks-closed .action { margin-top: 10px;}
#dialog.has-buttons .action { width:100%; border-top:1px solid #dfdfdf; }
#dialog.has-buttons .action span { float:right; } /* Buttons are float:right */
#dialog.has-buttons .action span.button { margin-left:10px; } /* Spacing between buttons */

/* ------------------------------------------- */

/* Modal with information */
#dialog.information .image { background-position:0 0; background-repeat:no-repeat; height:90px; padding:0; width:90px; }
.desktop #dialog.information .image + .text { width:410px; padding-left:20px; }

/* ------------------------------------------- */

/* Loading spinner */
.loading { margin:5px auto 0 auto; text-indent:-9999px; width:32px; height:32px; border-radius:50%; background:#fff; position:relative; -webkit-animation:loading 1s infinite linear; animation:loading 1s infinite linear; -webkit-transform:translateZ(0); -ms-transform:translateZ(0); transform:translateZ(0); }
.loading:before { width:16px; height:16px; border-radius:100% 0 0 0; position:absolute; top:0; left:0; content:''; }
.loading:after { background:#fff; width:22px; height:22px; border-radius:50%; content:''; margin:auto; position:absolute; top:0; left:0; right:0; bottom:0; }
@-webkit-keyframes loading {
    0% { -webkit-transform:rotate(0deg); transform:rotate(0deg); }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
}
}

@keyframes loading {
    0% { -webkit-transform:rotate(0deg); transform:rotate(0deg); }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
}
}

.lt-ie9 .loading {
    display: none;
}
/* Hide spinner for legacy IE */

/* ------------------------------------------------------------------------------------------------------------------- */

/* Footer */
footer { width:100%; padding-top:20px; }
footer section { width:100%; }
footer a { white-space:normal; }

/* Phone */
footer #phone { text-align:center; }
footer #phone p, footer #phone p * { color:#969696; }

/* Nav/Ancillaries */
footer h5 a:hover { text-decoration:none; }
footer .links ul { margin-left:0; }
footer .links li { list-style:none; }

/* Portfolio footer */
#legal-links { margin-left:0; }
#legal-links li { display:inline-block; }

/* Nav */
footer #nav h5, footer #nav li { padding-bottom:3px; }

/* Ancillaries */
footer #ancillaries h5 { padding-bottom:10px; }
footer #ancillaries li { padding-bottom:10px; }
footer #ancillaries ul { padding-bottom:0; }
footer #ancillaries li:last-child { padding-bottom:0; }
footer #ancillaries li a { display:block; line-height:25px; padding-left:35px; background-repeat:no-repeat; background-position:left center;}
footer #ancillaries li.facebook a { background-image:url('/images/social/facebook.svg'); }
footer #ancillaries li.x a { background-image:url('/images/social/x.svg'); }
footer #ancillaries li.pinterest a { background-image:url('/images/social/pinterest.svg'); }
footer #ancillaries li.instagram a { background-image:url('/images/social/instagram.svg'); }
footer #ancillaries li.youtube a { background-image:url('/images/social/youtube.svg'); background-size:34px 34px; }
footer #ancillaries li.blog a { background-image:url('/images/social/blog.svg'); }
/* Stay Connected social icon grid */
footer #ancillaries .links:first-child ul { display:grid; grid-template-columns:repeat(6, 1fr); gap:3px; max-width:130px; }
footer #ancillaries .links:first-child ul li { grid-column:span 2; padding-bottom:0; }
footer #ancillaries .links:first-child ul li:nth-child(4),
footer #ancillaries .links:first-child ul li:nth-child(5),
footer #ancillaries .links:first-child ul li a { padding-left:0; width:36px; height:36px; line-height:36px; background-position:center center; background-size:30px 30px; text-indent:-9999px; overflow:hidden; white-space:nowrap; }
footer #ancillaries .links:first-child ul li.youtube a { background-size:34px 34px; }
footer #ancillaries li.blog a { padding-left:0; width:36px; height:36px; line-height:36px; background-position:center center; background-size:30px 30px; text-indent:-9999px; overflow:hidden; white-space:nowrap; }
footer #ancillaries p { padding-left:60px; min-height:60px; background-repeat:no-repeat; background-position:left center; background-size:34px 34px; background-image:url('/images/promotions/event.png'); }
footer #ancillaries p a { white-space:nowrap; }
footer #ancillaries ul.protection li { display:inline-block; padding:0; }
footer #ancillaries ul.protection li a { padding:0; height:60px; background-repeat:no-repeat; background-position:center center; text-indent:-9999px; }
footer #ancillaries li.atol a { width:50px; margin-right:10px; background-image:url('/images/footer/atol.png'); background-size:50px 50px; }
footer #ancillaries li.abta a { width:130px; background-image:url('/images/footer/abta.png'); background-size:130px 50px; }
footer #ancillaries li.car a { width:32px; background-image:url('/images/footer/commission-aviation-regulation.png'); background-size:32px 50px; }
footer #ancillaries p.suitcase {background-image: url('/images/promotions/suitcase.png');}

/* Small print */
footer small { float:left; display:block; text-align:center; }
footer small a { text-decoration:underline; }
footer small * { color:#969696 !important; } /* !important forces links to grey */

/* ------------------------------------------------------------------------------------------------------------------- */

/* Cookie consent banner */
#cookie { position:fixed; width:100%; left:0; right:0; bottom:0; z-index:50; background: rgba(255, 255, 255, 0.95); box-shadow:0 0 4px rgba(0,0,0,0.3); }
.lt-ie9 #cookie { background:white; }

/* ------------------------------------------------------------------------------------------------------------------- */
/* GENERIC ENDS */
/* ------------------------------------------------------------------------------------------------------------------- */

/* Homepage */
#homepage, #frame { width:100%; position:relative; }
body.homepage { background:none !important; }
body.homepage form { background:#fff !important; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Search */
#search .holiday label { font-weight: bold; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Billboard on portfolio/brand homepages; uses Slick jquery plug-in */
.billboard { width:100%; }
.billboard a, .billboard a .frame { display:block; background-repeat:no-repeat; background-position:center center; background-size:cover; text-decoration:none; white-space:normal; }
.slick-list { float:none; }
.billboard hgroup { margin:0 auto; float:none; text-align:left; }
.billboard h2, .billboard h3 { padding:0; }
.billboard h2 { font-weight: bold; }

/*Billboard modal*/
.icon.info.multiline.billboard-show-info-trigger {
    position: absolute;
    display: none;
}
.slick-initialized .icon.info.multiline.billboard-show-info-trigger {
    display: block;
}

/* ------------------------------------------------------------------------------------------------------------------- */

/* Disruption */
/* #disruption * { color:#ff6633 !important; } */
#disruption h3 strong { font-weight: bold !important; }
#disruption a { text-decoration:underline; }

#infomessage h3 strong { font-weight: bold !important; }
#infomessage a { text-decoration: underline; }
#infomessage { color: #1994d7; }
/* ------------------------------------------------------------------------------------------------------------------- */

/* Promotions */
#promotions a { display:block; }
#promotions img { display:table-cell; float:left; }
#promotions h3 { display:table-cell; vertical-align:middle; }
#promotions a { white-space:normal; -webkit-transition:color 0 ease-out; -moz-transition:color 0 ease-out; -o-transition:color 0 ease-out; -ms-transition:color 0 ease-out; transition:color 0 ease-out; }
#promotions a:hover { text-decoration:none; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Page (e.g. non-homepage) */
#page .content { box-shadow:0 0 4px rgba(0,0,0,0.2); background:#fff; }
#page footer small * { color:#fff !important; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Structure */
section .panel { width:100%; }

/* Layout with thumbnail image on left and text on right, e.g. Theme Parks */
.two-column-layout img, .two-column-layout hgroup { float:left; }
.two-column-layout .divider { width:100%; border-top:1px solid #dfdfdf; margin-top:10px; padding-top:10px; }
.bottom-spacing li:not(:last-child) { padding-bottom:10px; } /* Curated package pages - more space between bullets */

/* Layout with two equal columns but no sidebar, e.g. Unforgettable Happens Here */
.equal-columns img { width:100%; padding-bottom:15px; }
.equal-columns #launcher { width:100%; }

/* Reasons to purchase table on Memory Maker & PhotoPass+ page */
#three-column-table td { display:block; text-align:center; padding: 0 10px;}
#three-column-table img { padding:10px 0; }

/* Curated packages hub page */
.three-columns img { width:100%; padding-bottom:15px; }
.three-columns .synopsis li:not(:last-of-type) { padding-bottom:3px; }
.three-columns .synopsis .divider { border-top:1px dotted #a6d6f0; }
.three-columns .divider { margin-top:10px; padding-top:10px; }
.three-columns .divider .button { float:left; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Synopsis block containing package details; e.g. Cruise and Stay, or DCL */
.synopsis hgroup, .synopsis small { float:left; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Launch user into bookflow via call-to-action panel */
.launch { width:100%; color:#fff !important; border-radius:7px; text-align:center; }
.launch span { white-space:nowrap; }
/* Deep panel */
.launch.deep h3 { font-weight: bold; }
.launch.deep p:last-child { display:inline-block; }
.launch.deep .price { width:100% !important; padding-top:0 !important; }
.launch.deep .price p { padding-bottom:10px !important; }
/* Shallow panel, for mid-page or mobile */
.launch.shallow h3 { display:block; float:left; padding:0; }
/* Use <a> when no button CTA */
a.launch { display:block; float:left; position:relative; }
a.launch:after { content:'\e30c'; position:absolute; right:15px; top:50%; margin-top:-12px; font-size:18px; line-height:24px; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Social */
#social span { display:inline-block; vertical-align:top;}
#social span:not(:last-child) { display:inline-block; padding-right:5px; }
#social a { display:block; float:none; position:relative; width:30px; height:30px; padding:0; color:transparent; text-indent:-9999px; white-space:nowrap; overflow:hidden; text-decoration:none; }
#social a:before { content:""; position:absolute; top:0; left:0; width:30px; height:30px; background-size:27px 27px; background-repeat:no-repeat; }
#social a.facebook:before { background-image:url('/images/social/facebook.svg'); }
#social a.x:before { background-image:url('/images/social/x.svg'); }
#social a.pinterest:before { background-image:url('/images/social/pinterest.svg'); }
#social a.instagram:before { background-image:url('/images/social/instagram.svg'); }
#social a.youtube:before { background-image:url('/images/social/youtube.svg'); background-size:30px 30px;}

/* Setting to absolute prevents horizontal scrollbar flash on FB.Init */
#fb-root { position:absolute; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Price */
.body .price p { padding-bottom:4px; }
.body .price h3 { padding-bottom:10px !important; }
.body .price h3 em abbr { font-weight: normal; }

/* Modifier to align right */
.body .price.right .total { float:right !important; text-align:right !important; }

/* Vertical (e.g. stacked) */
.body .price.vertical .total { display:block; }
.body .price.vertical h3 { font-weight: bold; display:inline-block; position:relative; }
.body .price.vertical h3 * { display:block; line-height:1;  }
.body .price.vertical h3 .pounds { line-height:0.85 !important; }
.body .price.vertical h3 > abbr, .body .price.vertical h3 > em { font-weight: bold; position:absolute; top:0; }
.body .price.vertical h3 > abbr { left:0; }
.body .price.vertical h3 > em { right:0; }
.body .price.vertical h3 > em > span.decimal { display:none; }

/* Horizontal (e.g. inline) */
.body .price.horizontal .total { display:inline-block; float:left; }
.body .price.horizontal .cost { font-weight: bold; }
.body .price.horizontal h3 > abbr { font-weight: bold; }

/* Original Price */
.itinerary.payment .original-price { padding-bottom:10px !important; }
.itinerary.payment .original-price p { padding-bottom:0; }
.itinerary.payment .original-price h3 { padding-bottom:0 !important; }

/* Price floating in image right top corner */
.image-with-floating-price {
    position: relative;
}
.body .image-with-floating-price .price.vertical {
    width: auto;
    min-width: auto;
    text-align: center;
    height: 37px;
    position: absolute;
    right: 0px;
    top: 0px;
    padding: 10px;
    background-color: #08608f;
    color: #FFFFFF;
    border-bottom-left-radius: 10px;
}
.body .image-with-floating-price .price.vertical h3 {
    font-size: 22px;
    padding-left: 11px;
    padding-right: 0;
}
.body .image-with-floating-price .price.vertical h3 > abbr {
    font-size: 15px;
}
.medium .image-with-floating-price .price.vertical {
    right: 7px;
}

/* Contact details page card logos */
.cards {
    width: 100%;
    margin-inline: auto;
    float: none !important;
    overflow-y: hidden;
    padding-top: 10px;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap:10px;
}
#payment-logos.cards {
    padding-top: 0;
}

.cards > div { background-repeat:no-repeat; background-position:0 0; background-size:100% 42px; height:44px; border:1px solid #dfdfdf;  }
#visa { width:85px; background-image:url('/images/booking/payment-logos/Visa.jpg'); }
#mastercard { width:57px; background-image:url('/images/booking/payment-logos/Mastercard.jpg'); }
#maestro { width:55px; background-image:url('/images/booking/payment-logos/Maestro.jpg'); }
#amex { width:44px; background-image:url('/images/booking/payment-logos/AmericanExpress.jpg'); border-color:#006fcf; }
#discover { width:70px; background-image:url('/images/booking/payment-logos/Discover.jpg'); }
#dinersClub { width:63px; background-image:url('/images/booking/payment-logos/DinersClub.jpg'); }
#carteBleue { width:89px; background-image:url('/images/booking/payment-logos/Carte-Bleue.jpg'); }
#cartesBancaires { width:70px; background-image:url('/images/booking/payment-logos/OB.jpg'); }
#ideal { width:47px; background-image:url('/images/booking/payment-logos/iDeal.jpg'); }
#paypal { width:153px; background-image:url('/images/booking/payment-logos/PayPal.jpg'); }
#klarna { width:91px; background-image:url('/images/booking/payment-logos/Klarna.jpg'); }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Promos */
.featured { display:block; float:left; width:100%; color:#fff; text-align:center; background:#ff6633; font-weight: normal; position:relative; margin-bottom:10px; padding-top:2px; }
.featured::after { content:''; position:absolute; bottom:-10px; left:0; border-top:10px solid #ff6633; -moz-transform:scale(0.999); -webkit-transform:rotate(360deg); }

/* ------------------------------------------------------------------------------------------------------------------- */
/* FORMATTING ENDS */
/* ------------------------------------------------------------------------------------------------------------------- */

/* Bookflow */
.book section hgroup { position:relative; float:left; }

/* Itinerary */
#itinerary .item.tickets.package p, #itinerary .item.dining.package p { padding-bottom:0; }
#itinerary p.infants { color:#969696; }
#itinerary .item.tickets:not(.total) em { font-weight: normal; font-style:normal; color:#969696; display:block; }

/* Paging */
/* #paging .back, #paging .next { font-weight: bold; } */
#paging .next { text-align:right; }
#paging a.inactive { color:#c4c4c4; cursor:default; text-decoration:none; }
#paging .pages { text-align:center; }
#paging .pages .links { float:none; display:inline-block; }
#paging .pages a.page { float:left; display:block; /* font-weight: bold; */ position:relative; text-decoration:none; }
#paging .pages a:first-of-type { margin-left:0 !important; }
#paging .pages span.divider { float:left; display:block; color:#c4c4c4; }
#paging .pages .page > span { position:absolute; text-align:center; font-weight: bold; }
#paging .pages a.page.current { color:#fff; cursor:default; }
#paging .pages .page > span { top:1px; left:0; letter-spacing:-1px; text-indent:-1px; }

/* ------------------------------------------- */

/* Select Eurostar (DLP) */
#eurostar .datetime { padding-bottom:10px; border-bottom:1px solid #dfdfdf; }
#eurostar .dex { padding:10px 0; border-bottom:1px solid #dfdfdf;  }
#eurostar .included { padding-top:10px; }

/* ------------------------------------------- */

/* Select Flights (WDW/DLP) */
.flight ul { padding:0; }
.flight li { padding:10px 0; }
li.outbound:before, ul.outbound li:before { content:'\e2c5'; }
ul.inbound li:before, li.inbound:before { content:'\e2c6' }
/* Carrier logos */
.flight .images { line-height:0; min-height:1px; } /* Make 1px tall in case carrier logo is missing */
.flight .images img { display:inline-block; }
/* Info */
.flight .info .airline { padding-bottom:10px; border-bottom:1px solid #dfdfdf; }
.flight .info .airline * { display:inline-block; }
.flight .info .airline h2 { padding:0; line-height:1; } /* Adjust line-height to visually compensate */
.flight .info li.outbound { border-bottom:1px dotted #dfdfdf; }
.flight .info .route { display:block; }
.flight .info .route span { display:block; }
.flight .info .route em { display:none; }
/* Itinerary */
.flight .itinerary .number { display:block; }
.flight .itinerary em { font-weight: normal; white-space:nowrap; }
.flight .itinerary .number { display:block; }
/* Includes */
.flight .includes { padding-top:10px; }
.flight .includes h4 { padding:0; }
.flight .includes a { font-weight: normal; }
.flight .supplementary { border-bottom:1px solid #dfdfdf; padding:10px 0; }
.flight .warning a { font-weight: normal; text-decoration:underline; }

/* ------------------------------------------- */

/* Select Transport (DLP) */
#transport .transport .images img { display:inline-block; }
#transport .transport .info .supplier { padding-bottom:10px; border-bottom:1px solid #dfdfdf; }
#transport .transport .info .supplier * { display:inline-block; }
#transport .transport .info .supplier h2 { padding:0; line-height:1; } /* Adjust line-height to visually compensate */
#transport .transport .details { padding:10px 0; }
#transport .transport .package h4 { padding:0; }
#transport .transport .package div { padding:10px 0; }

/* ------------------------------------------- */

/* Select Ferry/Train (DLP) */
#selfdrive .route { padding-bottom:10px; border-bottom:1px solid #dfdfdf; }
#selfdrive .extra { padding:10px 0; }
#selfdrive .time { padding:10px 0; border-bottom:1px dotted #dfdfdf; }
#selfdrive .times div:last-of-type { border-bottom:none; }

/* ------------------------------------------- */

/* Select Hotel (WDW/DLP) */
.accommodation .images img { cursor:pointer; }
.accommodation hgroup { float:left; }
/* Transport switch options */
.accommodation .switch ul { margin:0; padding:0; list-style:none; }
.accommodation .switch li a { -webkit-user-select:none; -webkit-touch-callout:none; -webkit-tap-highlight-color:rgba(0,0,0,0); text-decoration:none; white-space:nowrap; padding:0 6px; }
.desktop .accommodation .switch {
    padding: 15px 0 0 !important;
}
/* ------------------------------------------- */

/* Select Room (WDW/DLP) */
.hotel .offer h4 { padding-bottom:0; }
.hotel .reviews * { text-decoration:none !important; display:block; float:left; clear:both; }
.hotel .reviews p { padding:0; }
.hotel .reviews small { color:#c4c4c4 !important; }
/* TripAdvisor */
.tripadvisor { background:url(/images/hotels/tripadvisor.png) no-repeat 0 0; margin-bottom:10px; text-indent:-9999px;  }
.rating { background:url(/images/hotels/rating.png) no-repeat 0 0; margin-bottom:10px; text-indent:-9999px;  }
/* Room */
.room .options { padding-bottom:10px; }
.room .beds { padding-bottom:10px; }
.room .offline, .room .deal { padding:10px 0; }
.room .deal h4 { padding-bottom:0; }

/* ------------------------------------------- */

/* Select Dining (WDW/DLP) */
.dining .extra { padding-top:10px; }
.plan .details ul { padding-bottom:0; }

/* ------------------------------------------- */

/* Select Extras (WDW/DLP) */
#extras .premium { padding-top:10px; }
#extras .extra fieldset { padding:10px 0; border-top:#dfdfdf 1px solid; }
#extras .extra div.offer { padding-top:10px; border-top:#dfdfdf 1px solid; }
#extras .extra div.offer h4, #extras .extra div.package h4 { padding-bottom: 0; }
#extras .extra .cake { padding-bottom:0; }
#extras .extra .cake span { display:block; } /* Force line break */
#extras .extra hgroup > div { width:100%; }
#extras .extra .details { padding-bottom:10px; }
#extras .extra .package { padding:10px 0; border-top:#dfdfdf 1px solid; }

/* ------------------------------------------- */

/* Your Holiday (WDW/DLP) */
.itinerary { width:100%; }
.itinerary .images, .itinerary .images img { width:50px !important; height:50px !important; }
.itinerary .section { padding-top:10px; }
/* Summary */
.summary .transport ul { padding-bottom:0; }
.summary .transport ul.inbound li:last-child { padding-bottom:0; }
.summary .transport li { padding-top:10px; padding-bottom:10px; }
.summary .transport em { font-weight: normal; white-space:nowrap; }
.summary .transport .number { display:block; }
.summary .magical ul { padding:0; }
/* Transport */
ul.eurostar li:before { content:'\e2c0'; }
ul.po-ferries li:before { content:'\e2c3'; }
ul.eurotunnel li:before { content:'\e2c0'; }
/* Payment */
.deposit { color:#6fa623; }
.deposit strong { font-weight: bold; }

/* ------------------------------------------- */

/* Checkout (WDW/DLP) */
.checkout p.warning { padding-bottom:0; }

/* ------------------------------------------- */

/* Passenger Details (WDW/DLP) */

/* DOB individual form fields on Passenger Details */
#passengers input::placeholder, #passengers input::-webkit-input-placeholder { color:#c4c4c4; }

/* ------------------------------------------- */

/* Contact Details (WDW/DLP) */
#contact .contact span { display:block; float:left; }
#contact .info h3, #contact .billing h3 { padding:0; }
#contact .card img { width:270px; height:40px; }
#contact .card .cards #ideal { display:none; }
/* Address */
#contact .address.error input { box-shadow:0 0 4px 1px #ff6633 !important; } /* Error should highlight all input fields */
#contact .address #address2, #contact .address #address3, #contact .address #towncity { margin-top:6px; }
#contact #postcode { text-transform:uppercase; }
#contact div.no-country { padding-top:10px; }
/* Payment */
#contact .payment label strong { display:block; } /* Force line break */
#contact .payment label em { font-weight: normal; }
/* Newsletter */
#contact .newsletter.error * { color:#ff6633 !important; }
#contact .newsletter.error a { text-decoration:underline; }
#contact .newsletter.error [type=radio] + label:before { box-shadow:0 0 4px 1px #ff6633 !important; }
.contact.details #terms { padding-top:10px; }
#eurights { padding-top: 10px; }

/* ------------------------------------------- */

/*Payment Method*/

#payment-method .cards {padding:initial}
#payment-method .cards > div {border:initial}
#payment-method .options label { margin:0 !important; line-height:inherit; }
#payment-method .options .type label { width:100%; border:solid 2px #1994d7; border-radius:7px; }
#payment-method .options .type label .icon {font-size: 60px; line-height: 60px;}
#payment-method .options .type label:hover { border:solid 2px black; }
#payment-method .options .type label #ideal { transform: scale(1.6); margin: 12px 0; }

/* ------------------------------------------- */

/* Payment (DataCash/3DS) (WDW/DLP) */

/* DataCash HPS */
.datacash { min-width:0 !important; background:none !important; }
.datacash form { background:none !important; }
.datacash #body { background:none !important; }
.lt-ie9 .datacash { padding:10px; }

/* WorldPay HPP */
/* To prevent HPP inheriting CSS reset */
#payment section div { float:none !important; }

/* ------------------------------------------- */

/* Booking */
.booking .passengers p { padding:0; }
.booking .itinerary.pricing p { padding-bottom:0; }

/* .booking .itinerary.pricing h3 { padding-bottom:0; } */
/* .booking .itinerary.pricing h3 strong { font-weight: bold; } */

.booking .reference h3 strong { font-weight: bold; }
.booking .welcome h3 { padding:0; }
.booking .willcall h3 { padding-bottom:0; }
.booking .willcall h3 strong { font-weight: bold; }


/* ------------------------------------------------------------------------------------------------------------------- */

/* Exceptions (hard errors) */
.exception a { text-decoration:underline; }

/* ------------------------------------------------------------------------------------------------------------------- */

/* Alerts (soft errors) */
.alert .message h3:last-child { padding:0; }
.alert .message a { text-decoration:underline; white-space:normal; }
/* Characters */
.alert .white-rabbit { background-image:url('/images/errors/white-rabbit.jpg'); }
.alert .goofy { background-image:url('/images/errors/goofy.jpg'); }
.alert .donald { background-image:url('/images/errors/donald.jpg'); }
.alert .grumpy { background-image:url('/images/errors/grumpy.jpg'); }
.alert .dumbo { background-image:url('/images/errors/dumbo.jpg'); }
.alert .remy { background-image:url('/images/errors/remy.jpg'); }
.alert .sadness { background-image: url('/images/errors/sadness.jpg');}
.alert .russell { background-image: url('/images/errors/russell.jpg'); }
.alert .carl { background-image: url('/images/errors/carl.png'); }

/* ------------------------------------------------------------------------------------------------------------------- */
/* BOOKFLOW ENDS */
/* ------------------------------------------------------------------------------------------------------------------- */

/* Non-bookflow transactional (e.g. Ticket Store, travel agents, MMB ) */

/* Ticket store (WDW) */
#body.tickets .instructions h3 { padding-bottom:10px; }
#body .benefit { display:block; float:left; white-space:normal; padding-left:60px; background-repeat:no-repeat; background-position:left center; background-size:50px 50px; }
#body .benefit { text-decoration:none; color:inherit; }
#body .benefit strong { display:block; } /* Force line break */
#body a.benefit p:after { content:'\e302'; padding-left:2px; } /* Show info icon */
#body .benefit.access { background-image:url('/images/promotions/parks-map.png'); }
#body .benefit.fastpass { background-image:url('/images/promotions/fastpass-plus.png'); }
#body .benefit.tickets { background-image:url('/images/promotions/tickets.png'); }
#body .benefit.new { background-image:url('/images/promotions/stormtrooper.png'); }
#body .benefit.suitcase { background-image:url('/images/promotions/suitcase.png'); }
#body .benefit.entertainment, #body .benefit.greatsavings2025 { background-image:url('/images/promotions/balloons.png'); }
#body .benefit.memory { background-image:url('/images/promotions/memory-maker.png'); }
#body .benefit.upgrade,#body .benefit.seasonformagic { background-image:url('/images/promotions/hat.png'); }
#body .benefit.magicband { background-image:url('/images/promotions/toy-story-land-magicband.png'); }
#body .benefit.halloween,#body .benefit.seasonalevents { background-image:url('/images/promotions/halloween.png'); }
#body .benefit.makeawish { background-image:url('/images/promotions/event.png'); }
#body .benefit.discover { background-image:url('/images/promotions/stormtrooper.png'); }
#body .benefit.giftcard, #body .benefit.lowestpriceguaranteed, #body .benefit.ticketpercentagediscount {
    background-image: url('/images/promotions/gift-usd.png');
}
#body .benefit.fiftieth { background-image:url('/images/promotions/50th-logo.png'); }
#body .benefit.calendar { background-image:url('/images/promotions/calendar.png'); }
#body .benefit h4 { padding-bottom: 0; }
/* ------------------------------------------- */
/* Magic Your Way/Delta (EMEA) */
/* Continue using .myw class during MYW > Delta transition, with new .delta class for calendar elements */
/* ------------------------------------------- */
/* Duration */
#tickets.myw fieldset .duration, #tickets.myw fieldset .calendar { border-bottom:#dfdfdf 1px solid; }
/* Reset input and pseudo-elements */
#tickets.myw .ticket input[type=radio] + label:before, #tickets.myw .ticket input[type=radio] + label:after { display:none !important; }
#tickets.myw .ticket label { padding:0 !important; margin:0 !important; }
#tickets.myw .ticket label { width:84px; }
#tickets.myw .ticket label p { display:block; float:left; }
#tickets.myw .ticket label p small { font-weight: bold; }
/* Default */
#tickets.myw .ticket label p.select { width:64px; height:64px; font-size:36px; line-height:64px; font-weight: lighter; border-radius:32px; color:#1994d7; margin:0 10px; padding:0; }
#tickets.myw .ticket label p.from { width:84px; color:#969696; padding:10px 0 5px 0; line-height:1; }
#tickets.myw .ticket label p.per-day { width:84px; font-size:22px; color:#969696; line-height:1; }
/* Checked */
#tickets.myw .ticket input[type=radio]:checked + label p.select { background:#253b56; color:#fff; line-height:64px; border:none; }
#tickets.myw .ticket input[type=radio]:checked + label p.per-day { color:#253b56; }
#tickets.myw .ticket input[type=radio]:checked + label p.from { color:#253b56; }
/* --- */
/* Tappable Passengers (Delta only) */
#tickets.delta fieldset .label h3 { line-height:36px; }
#tickets.delta fieldset .number a { display:block; position:relative; float:left; width:36px; height:36px; color:#1994d7; }
#tickets.delta fieldset .number a span { display:none; }
#tickets.delta fieldset .number a:before { position:absolute; top:1px; left:-5px; width:36px; height:36px; font-size:36px; line-height:36px; }
#tickets.delta fieldset .number a.minus:before { content:'\e330'; }
#tickets.delta fieldset .number a.plus:before { content:'\e32f'; }
#tickets.delta fieldset .number h2 { display:block; float:left; font-size:36px; line-height:36px; font-weight: lighter; }
/* --- */
/* Calendar (Delta only) */
#tickets.delta .seasons .key.value { background-color:#d6ecf8; }
#tickets.delta .seasons .key.regular { background-color:#a6d6f0; }
#tickets.delta .seasons .key.peak { background-color:#61b5e4; }
#tickets.delta .seasons .key.window { background-color:#6fa623; }
#tickets.delta .frame { border:solid 3px #253b56; border-radius:7px; }
#tickets.delta .usage { background-color:#253b56; color:#fff; }
/* --- */
/* Options */
#tickets.myw .options { border-bottom:#dfdfdf 1px solid; }
/* Label */
#tickets.myw .options .type label { width:100%; border:solid 2px #1994d7; border-radius:7px; color:#969696;overflow: hidden; }
#tickets.myw .options .type.disabled label { border-color:#969696;}
#tickets.myw .options .type label div { width:100%; }
/* Reset input and pseudo-elements */
#tickets.myw .options input[type=radio] + label:before, #tickets.myw .options input[type=radio] + label:after { display:none !important; }
#tickets.myw .options label { margin:0 !important; line-height:inherit; }
/* Heading */
#tickets.myw .options .type label .heading { border-bottom:#dfdfdf 1px dotted; padding:0 0 10px 0; }
#tickets.myw .options .type label .heading p { padding:2px 0; }
#tickets.myw .options .type label .heading h2 { font-weight: normal; padding:0; }
/* Included */
#tickets.myw .options .type label .included { border-bottom:#dfdfdf 1px dotted; padding:10px 0; }
#tickets.myw .options .type label .included ul { padding:0; }
/* Pax */
#tickets.myw .options .type label .pax { border-bottom:#dfdfdf 1px dotted; padding:10px 0; }
/* Total */
#tickets.myw .options .type label .total { padding:10px 0 0 0; }
#tickets.myw .options .type label .total-last { padding:4px 0 0 0; }
#tickets.myw .options .type label .total h2 { font-weight: bold; padding:0; }
/* Checked */
#tickets.myw .options input[type=radio]:checked + label { border:solid 3px #253b56; color:#253b56; }
#tickets.myw .options input[type=radio]:checked + label .tick:before { color:#6fa623; }
#tickets.myw .options input[type=radio]:checked + label .restriction:before { color:#ff6633; }
/* --- */
/* Summary */
#tickets.myw #summary { background-color:#ebf6fc; }
#tickets.myw #summary .breakdown { border-bottom:#a6d6f0 1px dotted; }
#tickets.myw #summary .breakdown em { font-weight: normal; font-style:normal; color:#969696; }
#tickets.delta .types label:hover p.promo, #tickets.delta .types input[type="radio"]:checked + label p.promo {
    color: #6FA623;
}

#tickets.myw  .offer-6f4-active .ticket input + label[for="6-day"] p.select { border: solid 2px #6fa623; color: #6fa623; line-height: 60px; }
#tickets.myw  .offer-6f4-active .ticket input[type=radio]:checked + label[for="6-day"] p.select { background: #6fa623; color: #ffffff; }
.desktop #tickets.myw fieldset .offer-6f4-active  .days {
    padding-top: 42px;
}

.offer-6f4-active .offer-6f4-tooltip-message {

    background: #6fa623;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    padding: 2px 18px;
    border-radius: 0 0 7px 7px;
    color: #ffffff;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px;
    top: -42px;
    white-space: nowrap;
    font-size: 14px;
}
.offer-6f4-summary-message {
    clear: both;
    padding-top: 10px;
    font-size: 18px;
    color: #6fa623;
    font-weight: bold;
}


.mobile .offer-6f4-active .offer-6f4-tooltip-message {
    border-radius: 7px;
}
.offer-6f4-active .offer-6f4-tooltip-message:after {
    content: ' ';
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 9px solid #6fa623;
    position: absolute;
    bottom: -9px;
    left: 50%;
    transform: translateX(-50%);

}
.offer-6f4-active .offer-6f4-message-terms {
    color: #969696;
    margin-top: 20px;
}
.mobile .offer-6f4-active .ticket:nth-child(4),
.mobile .offer-6f4-active .ticket:nth-child(5),
.mobile .offer-6f4-active .ticket:nth-child(6) {
    margin-top: 30px;
}
.desktop #tickets.magic .options .type li.promo span, #tickets.delta .types p.promo > span {
    font-size: 12px;
    display: inline-block;
}
#tickets #ticket-discount-price-message { font-size: 16px; font-weight: bold; margin-top: 10px; }
.tickets-info-pods-container {
    display: flex;
    width: 100%;
    justify-content: center;
}

.desktop .tickets-info-pods-container-inner-wrapper {
    border: 2px solid #dfdfdf;
    border-radius: 7px;
    padding: 25px 0 20px;
}

.mobile .tickets-info-pods-container-inner-wrapper {
    border: solid 2px #6fa623;
    border-radius: 7px;
    padding: 10px 0 0;
    display: flex;
    flex-flow: column;
    margin: 30px 15px 15px;
}

.tickets-info-pods-container:has(.terms) {
    border-bottom: #dfdfdf 1px solid;
    padding: 40px 0 50px;
}

.info-pods-bottom-message {
    border-bottom: #dfdfdf 1px solid;   
}

.mobile .info-pods-bottom-message {
    padding-top: 0 !important;
    padding-bottom: 10px !important;
}

.info-pods-bottom-message-last-14-days {
    border-bottom: #dfdfdf 1px solid;   
    color:#f63;
}

.mobile .info-pods-bottom-message-last-14-days {
    padding-top: 0 !important;
    padding-bottom: 10px !important;
    color:#f63;
}


.tickets-info-pods-container .info-pod {
    padding: 0 20px;
    border-left: 1px solid #dfdfdf;
    flex: 1;
    display: flex;
    flex-flow: column;
    position: relative;
    height: 200px;
}
.desktop .tickets-info-pods-container .info-pod {
    max-width: 300px;
}

.tickets-info-pods-container .info-pod > *, #body.book  .header .tickets-info-pods-container  .info-pod > h3 {
    padding: 10px 0;
}

.mobile .tickets-info-pods-container-inner-wrapper .info-pod:last-child {
    border-bottom: 0;
}

.tickets-info-pods-container .info-pod:first-child {
    border-left: none;
}
.tickets-info-pods-container h3 {
    font-size: 26px;
    font-weight: bold;
}

.mobile .info-pod *:last-child {
    padding-bottom: 0;
}
.mobile .info-pod h3:first-child {
    padding-top: 0 !important;
}
#body.book .header .info-pods-title {
    padding: 20px;
    text-align: center;
    font-weight: bold;
    float: left;
    width: 100%;
}
.tickets-info-pods-container .icon.offer {
    color: inherit;

}
.info-pods-container .icon.offer:before {
    vertical-align: baseline;
}
.tickets-info-pods-container .icon.offer.green {
    color: #6fa623;
}
.tickets-info-pods-container .terms {
    position: absolute;
    bottom: -15px;
    font-size: 10px;
    color: #969696;
}
.tickets-info-pods-container .info-pod ul {
    padding-bottom: 0;
    height:45px;
}

.mobile .tickets-info-pods-container .info-pod ul {
    padding-bottom: 0;
    height:auto;
}

.tickets-info-pods-container .special-offer-badge {
    position: absolute;
    top: -40px;
    padding: 5px 16px 4px 13px;
}
.mobile .special-offer-badge, .mobile .terms {
    position: static;
    align-self: start;
}
.mobile .terms {
    padding-top: 0;
}
.mobile .tickets-info-pods-container {
    flex-flow: column;
    padding: 0;
    border-bottom: none;
}
.mobile .tickets-info-pods-container .info-pod {
    border-bottom: 1px solid #dfdfdf;
    padding: 15px;
}
.mobile #body.book .header .info-pods-title {
    padding: 15px 15px 0;
}
/* ------------------------------------------- */

/* Itinerary */
#itinerary .tickets h3 { font-weight: bold; }

/* ------------------------------------------------------------------------------------------------------------------- */
/* TRANSACTIONAL ENDS */
/* ------------------------------------------------------------------------------------------------------------------- */

/* Static pages (e.g. deals, hotel, extras, etc) */

/* ------------------------------------------------------------------------------------------------------------------- */

/* All deals */
.offer a > span { display:block; float:left; }

/* Countdown */
.countdown > div { width:100%; text-align:center; }
.countdown .action { display:inline-block; }

/* ------------------------------------------- */

/* Hotel */
.resort a > span { display:block; float:left; }
.resort .reviews { display:block; }
.resort .reviews:hover span.count { text-decoration:underline; }
.resort .reviews span { display:inline-block; float:left; margin-bottom:0; }
.resort .reviews span.owl { background:url(/images/hotels/tripadvisor.png) no-repeat 0 0; margin-right:4px; }
.resort .reviews span.count { padding-left:8px; text-decoration:underline; }
aside .address p { padding-bottom:0; }
aside .reviews a { white-space:normal; }
.hotel-partner-badge-header {
    position: relative;
}
#body .header.hotel-partner-badge-header img.partner-badge {
    position: absolute;
    width: 225px;
    bottom: 10px;
    left: 30px;
}
.mobile #body .header.hotel-partner-badge-header img.partner-badge {
    width: 150px;
    bottom: 25px;
    left: 25px;
}
.accommodation .images img.partner-badge {
    width: 100% !important;
    height: auto !important;
    border:1px solid #4d3266;
    margin-top: 6px;
}
#body.book .header.hotel-partner-badge-header img.partner-badge {
    height: auto;
    bottom: 30px;
}
.mobile #body.book .header.hotel-partner-badge-header img.partner-badge {
    bottom: 25px;
}
.mobile .accommodation .images img.partner-badge {
    position: absolute;
    left: 6px;
    bottom: 6px;
    width: 150px !important;
}
.accommodation .images {
    position: relative;
}
.desktop .accommodation.pppn .images img.partner-badge {
    position: absolute;
    width: 175px !important;
    border-radius: 7px;
    bottom: 10px;
    left: 10px;
}

/* ------------------------------------------- */

/* Maps */
img.map { border:1px solid #dfdfdf !important; cursor:pointer; }

/* ------------------------------------------- */

/* Travel agents */
#agents #reference { text-transform:uppercase; }
#agents .form p { padding:0; }
#agents img { border:#dfdfdf 1px solid; }
#agents .signpost { margin-bottom: 10px; }
#agents .disabled input {
    cursor: default
}
.reset-password-requirements li:before {
    content:'\2022';
    width: 22px;
    text-align: center;
    font-size: 16px;
    margin-bottom: 5px;
    line-height: 15px;
}
#agents .reset-password-requirements li {
    transition: 0.2s all;
}
#agents .reset-password-requirements .restriction:before, .reset-password-requirements .tick:before {
    font-size: 13px;
    margin-bottom: 0;
    line-height: 20px;
}
#agents .password-requirements-title {
    text-decoration: underline;
    margin: 10px 0 4px;
    display: inline-block;
}


/* ------------------------------------------- */

/* Manage My Booking */
#manage .form h4 { padding:0; }

/* ------------------------------------------- */

/* FAQs */
#body.faq a { white-space:normal; }
#body.faq .index ul { padding-bottom:0; }
#body.faq .index li { padding-bottom:10px; }
#body.faq .index li:last-child { padding-bottom:0; }
/* Categories */
#body.faq .categories li { list-style:none; }
/* Show icons */
#body.faq .faq-disneyworld:before { content:'\e040'; }
#body.faq .faq-hotels:before { content:'\e0c8'; }
#body.faq .faq-transport:before { content:'\e2c0'; }
#body.faq .faq-dining:before { content:'\e180'; }
#body.faq .faq-flights:before { content:'\e2c5'; }
#body.faq .faq-cruises:before, .faq-disneycruise:before { content:'\e081'; }
#body.faq .faq-disneyland:before { content:'\e003'; }
#body.faq .faq-booking:before, .faq-preparing:before  { content:'\e24e'; }
#body.faq .faq-health:before { content: "\e20d"; }
/* Format page */
#body.faq .questions h3 { padding:0; }
#body.faq .questions h4:before, #body.faq .questions p:before { font-weight: bold; position:absolute; top:0; left:0; }
#body.faq .questions h4, #body.faq .questions p, #body.faq .questions ul { position:relative; display:block; white-space:normal; }
#body.faq .questions h4:before { content:'Q.'; }
#body.faq .questions p:first-of-type:before { content:'A.'; } /* First <p> starts answer */

/* ------------------------------------------- */

/* Free planning tools */

/* Tools */
#body.planning .tools label:before { top:3px; }
#body.planning label h3 { font-weight: bold; }

/* Details */
#body.planning .header.character { padding-bottom:0; }
#body.planning .details h3 { font-weight: bold; }
#body.planning .action label { float:none; }
#body.planning .details #postcode { text-transform:uppercase; }
#body.planning h4 {margin-top: 10px; padding-bottom: 0 !important;font-size: 16px; }

/* CTA */
#body.planning #action .button { float:right; }

/* Thanks */
#body.planning .thanks .image { overflow:hidden; position:relative; }
#body.planning .thanks .image img { position:absolute; }

/* Standalone signup */
/*WDW and DLP*/
#body.signup .character .image.joy, #body.signup .character .image.lumiere { height:190px; }
#body.signup .character .image.joy img, #body.signup .character .image.lumiere img { width:190px; }

/* Free planning tools - brochure and sign up form (DLP layout) */
.two-uneven-columns .brochure { padding:20px!important; }
.two-uneven-columns .newsletter { padding-top:20px; }
.two-uneven-columns #action { border-top:0!important; }
#body.signup #terms + p { padding-top:20px; }
#body.planning .genie img { width:320px!important; }

/* DSRAH */
.divider.reviews { padding-top:20px; cursor:pointer; }
.divider.reviews > .owl { width:27px; height:16px; background-size:97px 16px!important; }

/* Lifestyle banner with text - e.g. Magicband lifestyle promo banner */
#body #promo-banner { border-bottom-left-radius:0; border-bottom-right-radius:0; }
#banner-message { border-bottom-left-radius:7px; border-bottom-right-radius:7px; color:white; width:100%; text-align:center; }
#banner-message h2 { font-weight: bold; padding-bottom:0; }
#banner-message .firstline { display: inline-flex; align-items: center; gap: 5px; margin: 0; }
#banner-message .offer25text { font-size: 1.5em; line-height: 1; }

/* Cruise & Stay */
#sample-itinerary .panel { position:relative; }
#sample-itinerary h4 { position:absolute; left:0; background:rgba(255, 255, 255, 0.8); padding:5px 10px; font-weight: bold; text-align:center; }
#sample-itinerary small { display:block; }

/* Carousel in the banner image e.g WDW Ticket Store */
#body.carousel .billboard.top-border-radius { border-top-left-radius:7px; border-top-right-radius:7px; }
#body.carousel .billboard:not(.top-border-radius) { border-radius:7px; }
#body.carousel .top-border-radius img { border-radius:0; }
#body.carousel img { z-index:1!important; }

.reopening-hotels-list {
    border: 1px solid #ccc;
    border-radius: 7px;
    padding: 0 !important;
    width: 100%;
}

.hotel-name-text {
    width: 80%;
    float: left;
}
.reopening-hotels-list .hotel-name {
    float: none;
    padding: 15px;
    background-color: #f4edf7;
    cursor: pointer;
    overflow: hidden;
    border-top: 1px solid #ccc;
}

.reopening-hotels-list .hotel-name:first-child {
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
    border: 0;
}
.reopening-hotels-list .hotel-last-name {
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
}

.reopening-hotels-list .hotel-last-name.ui-accordion-header-active {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.reopening-hotels-list .hotel-info {
    float: none;
    padding: 15px;
}

.reopening-hotels-list .ui-accordion-header-active  .expand:before {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: 44% 48%;
    -ms-transform-origin: 44% 48%;
    transform-origin: 44% 48%;
    -webkit-transition: -webkit-transform .1s ease-out 0s;
    -moz-transition: -moz-transform .1s ease-out 0s;
    transition: transform .1s ease-out 0s;
}

.reopening-hotels-list  .expand:before {
    content: '\e30e';
    font-size: 16px;
    float: left;
    margin-right: 10px;
}

.reopening-hotels-list li {
    padding-left: 4px;
    margin-top: 8px;
}

.reopening-hotels-list li:first-child {
    margin-top: 0;
}

.warning-unavailable {
    color: #1994d7;
    border: 2px solid #1994d7;
    border-radius: 7px;
    padding: 20px;
    margin-bottom: 20px;
}

.desktop section.advisory-wrapper {
    border-bottom: 1px solid #dfdfdf;
}

section.advisory-wrapper hr {
    display: none;
}

.advisory {
    border: 1px solid #f09219;
    border-left-width: 9px;
    border-radius: 7px;
    padding: 15px;
    display: block;
    float: left;
    width: 100%;
}

.advisory-message {
    position: relative;
    padding-left: 26px;
}

.mobile .advisory-message {
    padding-left: 28px;
}

.advisory-message:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '\e240';
    font-size: 18px;
    line-height: 24px;
    color: #f09219;
}

.advisory-message h3 {
    font-weight: bold;
}

/* Promotional highlight label, e.g DLP Best Price Guaranteed */
a.highlight { display:block; float:left; position:relative; width:100%; }
a.highlight .label {
    float:left;
    display:inline-block;
    background: linear-gradient(to right,#200b63, #501695, #cb2d6c);
    color:#fff;
    border-radius:5px;
}
.desktop a.highlight .label { padding:4px 7px 3px 4px; }
.mobile a.highlight .label { padding:5px; width:100%; }
.mobile a.highlight .label b { width:85%; }
.mobile a.highlight .label h3 { width:90%; }
a.highlight .more { float:left; display:inline-block; font-family: 'PEP Icon'; }
.desktop a.highlight .more { padding:4px 3px 3px 4px; color:#cb2d6c; }
.mobile a.highlight .more { position: absolute; right:0; bottom: 0; padding:5px; color:#fff; }

/* ------------------------------------------------------------------------------------------------------------------- */
/* SCRIPT ENDS */
/* ------------------------------------------------------------------------------------------------------------------- */

#redirectDLP {
    text-align: center;
}

#redirectDLP img {
    width: auto;
}

#redirectDLP .option-panel {
    border-bottom: 1px solid #dfdfdf;
    margin-bottom: 15px;
    padding-bottom: 7px;
}

#redirectDLP .footer {
    float: left;
    display: block;
    width: 100%;
    height: auto;
    color: #969696;
}

#redirectDLP .option-panel a {
    text-decoration: underline;
}

.posterama-title {
    font-weight: bold;
    letter-spacing: 1px;
    padding: 0;
    text-transform: uppercase;
    text-align: center;
}

.mobile .posterama-title {
    font-size: 28px;
    line-height: 32px;
    margin-bottom: 15px;
}

.desktop .posterama-title {
    font-size: 32px;
    line-height: 36px;
    margin-bottom: 10px;
}

.desktop .posterama-title.smaller {
    font-size: 31px;
}

#eu-advisory p {
    padding-bottom : 0px;
}

/*carbon offsetting*/

.mobile #carbon-offsetting{
    text-align: center;
    border-top: 1px solid #c4c4c4;
    padding: 20px 15px;
}

#carbon-offsetting{
    text-align: center;
    padding: 0px 20px 20px;
}

#carbon-offsetting-url a {
    color: #17744f;
}

.mobile #carbon-offsetting-url a {
    text-decoration: underline;
}

.desktop #carbon-offsetting-url a {
    padding: 1px
}

#body.central-wide-column .header {
    border-bottom: none;
}

#body.central-wide-column .promo {
    float: none;
}

#body.central-wide-column .header h3, #body.central-wide-column .header h1, #body.central-wide-column .header p {
    text-align: center;
}

#body.central-wide-column .header.image {
    padding-bottom: 0!important;
}

.desktop #body.central-wide-column  #confidence {
    padding: 15px 10px 20px!important;
    border-bottom: 1px solid #dfdfdf;
}

#body.central-wide-column #confidence {
    text-align: center;
}
.dlp #body.central-wide-column #confidence {
    background-color: #f4edf7;
}
.wdw #body.central-wide-column #confidence {
    background-color: #ebf6fc;
}

#body.central-wide-column #confidence .reason a {
    text-decoration: underline;
    color: #4d3266;
}

.desktop #body.central-wide-column #confidence {
    padding: 15px 10px 20px 10px !important;
    border-bottom: 1px solid #dfdfdf;
}

.desktop #body.central-wide-column #confidence .reason {
    width: 230px;
    padding: 0 10px;
}

.desktop #body.central-wide-column #confidence .reason h1 {
    line-height: 50px;
}

.desktop #body.central-wide-column #confidence .reason h3 {
    padding-bottom: 5px;
}

.mobile #body.central-wide-column #confidence {
    padding: 0 15px;
}

.mobile #body.central-wide-column #confidence .reason {
    width: 100%;
    padding: 15px 0;
    border-bottom: 1px dotted #4d3266;
}

.mobile #body.central-wide-column #confidence .reason:last-child {
    border-bottom: none;
}

.mobile #body.central-wide-column #confidence .reason h3 {
    padding-bottom: 0;
}

.mobile #body.central-wide-column #confidence .reason p {
    padding: 0 30px;
}

#body.central-wide-column section.equal-columns {
    padding-top: 0;
}

#body.central-wide-column .body-title {
    float: none !important;
    padding-left: 0;
    width: auto!important;
}

#body.central-wide-column .equal-columns .body-title {
    margin-top: 20px;
}

#body.central-wide-column .body-title.centered {
    text-align: center;
}

.desktop #body.central-wide-column #cta, .desktop #body.central-wide-column .kbyg {
    border-bottom: 1px solid #dfdfdf;
}

#body.central-wide-column .kbyg {
    background-color: #f4edf7;
    padding: 0!important;
    display: flex;
}

.desktop #body.central-wide-column .kbyg .text {
    padding: 20px;
    width: 470px;
}
.page .central-wide-column .panel:last-child, .page .central-wide-column #video {
    border-bottom: 0 none;
}
/* Outlined button */
.button.outlined {
    border: 2px solid #0e1d52;
    background-color: transparent;
    font-weight: bold;
    color: #0e1d52;
    float: none;
    display: inline-block;
    box-shadow: none;
}

.desktop #body.central-wide-column .body section.equal-columns.border-top {
    padding-top: 20px;
    border-top: 1px solid #dfdfdf;
}

.button.outlined input {
    color: #0e1d52;
    text-shadow: none;
    padding-top:4px;
}
.dlp .button.outlined {
    border: 2px solid #81609f;
}
.dlp .button.outlined input {
    color: #81609f;
}
.button.outlined:hover {
    background: transparent;
    opacity: 0.7;
    transition: 0.3s all;
}

/* Hero */
.hero-panel {
    display: flex;
    box-shadow: 0px 2px 4px 0px hsl(0deg 0% 0% / 30%);
    border-radius:  7px;
    overflow: hidden;
}
.hero-panel > * {
    flex: 0 0 50%;
}

.hero-panel-margin {
	margin: 20px 20px 0 20px;
}

.mobile .hero-panel{
    flex-flow: column;
    flex-direction: column-reverse;
    margin: 20px;
}
.hero-image {
    display: flex;
    justify-content: center;
    overflow: hidden;
}
.hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hero-image.fit-height img {
    max-width: none;
    height: 100%;
}
.hero-content {
    display: flex;
    flex-flow: column;
    padding: 20px;
}
.hero-content .hero-text {
    margin-bottom: auto;    
}
.hero-content .hero-center-text {
    margin-top: 25px;
}
.hero-content .hero-terms {
    font-size: 12px;
    color:#4d3266 !important;
}
.hero-content .hero-button {
    height: 27px;
    margin-top: 8px;
}
.hero-terms {
    color: #969696 !important;
    font-size: 12px;
}

.desktop #body.central-wide-column .cta-wrapper-top {
    border-top: 1px solid #dfdfdf;
}

.mobile #body.central-wide-column .body-title + .carousel-container {
    border-top: 1px solid #c4c4c4;

}

.mobile #body.central-wide-column .body-title {
    padding: 15px;
    margin-top: 0;
}

.mobile #body.central-wide-column .kbyg .text {
    padding: 15px;
}

.mobile #body.central-wide-column .cta-wrapper-top {
    border-top: 1px solid #c4c4c4;
}

.mobile #body.central-wide-column .body section.equal-columns.border-top {
    border-top: 1px solid #c4c4c4;
}
.desktop #body.central-wide-column .cta-wrapper-bottom {
    border-bottom: 1px solid #dfdfdf;
}
.desktop  #body.central-wide-column .kbyg .img {
    overflow: hidden;
    display: flex;
    justify-content: center;
}
.desktop  #body.central-wide-column .kbyg img {
    height: 100%;
}

.desktop #body.central-wide-column .kbyg-short .img {
    align-items: center;
    height: 200px;
}

.desktop #body.central-wide-column .kbyg-short img {
    height: fit-content;
}

.mobile #body.central-wide-column .kbyg {
    display: flex;
    flex-flow: column;
}
.mobile #body.central-wide-column .equal-columns > div {
    padding: 15px;
}
.mobile #body.central-wide-column .equal-columns > div:not(:last-child) {
    border-bottom: 1px solid #c4c4c4;
}
.central-wide-column .body section:not(.checkerboard) {
    border-top: 1px solid #dfdfdf;
}
.mobile .central-wide-column .body section:not(.checkerboard) {
    border-top: 1px solid #c4c4c4;
}
.desktop #dialog.has-image #signupSalesOpen .image img {
    width: 230px;
}

.desktop #signupSalesOpen .image img {
    margin-left: 20px;
}
.mobile #dialog #signupSalesOpen .image {
    margin: auto;
    float: none;
}
#dialog.has-image > div#signupSalesOpen p {
    padding-bottom: 10px;
}
#signupSalesOpen .message {
    padding: 20px;
}

/*seasons badging*/

#halloween-badging-summary .image {
    background-image: url("/images/promotions/halloween.png");
}

#christmas-badging-summary .image {
    background-image: url("/images/promotions/winter.png");
}

.desktop .badges {
    width: 940px;
}

.mobile .badges {
    width: inherit;
}

.mobile #christmasbadge img {
    margin-left: 10px;
}

.mobile #halloweenbadge img {
    margin-left: 18px;
}

#body .badges img {
    width: 80px;
    height: 80px;
}

.badges {
    z-index: 1;
    position: relative;
}

.badges a {
    text-decoration: underline;
}


#christmasbadge {
    background-image: linear-gradient(to right, #3e6433, #609b3a);
    border-top: #45842c 1px solid;
    border-bottom: #45842c 1px solid;
}

#christmasbadge p {
    color: #ffffff;
    padding-bottom: 0px;
}

#christmasbadge p a {
    color: #ffffff;
}

#halloweenbadge {
    background-image: linear-gradient(to right, #ff9f32, #bb5b02);
    border-top: 1px solid #c07136;
    border-bottom: 1px solid #a44c0a;
}

#badge-text {
    width: 100%;
}

.desktop #badge-text {
    padding: 15px 110px 15px 20px;
}

.mobile #badge-text {
    padding: 10px 115px 10px 15px;
}

#badge-image {
    position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
}

.desktop #badge-image {
    right: 20px;
}

.mobile #badge-image {
    right: 10px;
}

#halloweenbadge p {
    color: #ffffff;
    padding-bottom: 0px;
}

#halloweenbadge p a {
    color: #ffffff;
}
.progress-bar-container {
    width: 100%;
}
.progress-bar {
    border: solid 2px darkgreen;
    height: 25px;
    width: 100%;
    position: relative;
    border-radius: 5px;
    overflow: hidden;
}
.progress-bar .progress-bar-circle {
    border-radius: 20px;
    width: 36px;
    height: 36px;
    font-size: 16px;
    border: 2px solid #565656;
    line-height: 30px;
    text-align: center;
    position: absolute;
    right: -2px;
    background: white;
    top: -13px;
    overflow: hidden;
}
.progress-bar .progress-bar-circle:first-child {
    left: -2px;
    right: auto;
}
.progress-bar .progress-bar-circle.mickey {
    color: #93bc5a;
    background-color: #93bc5a;
    font-size: 34px;
}
.progress-bar .progress-bar-circle.tick {
    z-index: 1;
}
.progress-bar .progress-bar-circle.mickey:before {
    position: relative;
    left: -6px;
    top: 1px;
}
.progress-bar .progress-bar-completed {
    height: 100%;
    background: linear-gradient(90deg, rgba(163,200,103,1) 0%, rgba(111,166,35,1) 100%);
    border-radius: 3px 0 0 3px;
    }

.progress-bar-labels {
    width: 100%;
    margin-top: 10px;
}
.progress-bar-labels > div {
    float:right;
    display: flex;
    flex-flow: column;
    text-align: right;
}
.progress-bar-labels > div:first-child {
    float:left;
    text-align: left;
}

.bordered-options {
    display: flex;
    gap: 20px;
    width: 100%;
    flex-wrap: wrap;
}
.mobile .bordered-options {
    gap: 15px;
}
.bordered-options > input[type=radio] + label {
    flex: 1 1 0px;
    border: 2px solid #b7b4b4;
    border-radius: 7px;
    align-content: center;
    position: relative;
    min-height: 135px;
    color: #b7b4b4;
    transition: 0.2s color;
    overflow: hidden;
    margin: 0;
    padding: 14px 15px;
}
.bordered-options > input[type=radio] + label a {
    color: #b7b4b4;
    text-decoration: underline;
}
.bordered-options > input:checked + label {
    border-color:  #4d3266;
    border-width: 3px;
    padding: 13px 14px;
    color: inherit;
}
.wdw .bordered-options > input:checked + label a {
    color: #1994d7;
}
.dlp .bordered-options > input:checked + label a {
    color: #81609f ;
}
.bordered-options input[type=radio] + label:before {
    display: none;
}
.bordered-options input[type=radio] + label:after {
    display: none;
}
.full-width-image-header {
    overflow:hidden;
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0;
    position: relative;
    border: 0;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1.0) 90%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1.0) 90%, transparent 100%);
}

.full-width-image-header img {
    max-height: 100%;
    margin: auto;
    width: 100%;
}
.desktop .full-width-image-header img {
    min-width: 1900px;
}

.full-width-image-header + .container .content {
    margin-top: -50px;
}
.mobile .full-width-image-header + .container .content {
    margin-top: -20px;
}
.full-width-image-header:after {
    width: 100%;
    height: 70px;
    position: absolute;
    bottom: -1px;
    content: ' ';
}

.desktop .full-width-image-header .blend-sides {
    mask-image: linear-gradient(to right, transparent 0px, rgba(0, 0, 0, 1.0) 240px, rgba(0, 0, 0, 1.0) 1040px, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0px, rgba(0, 0, 0, 1.0) 240px, rgba(0, 0, 0, 1.0) 1040px, transparent 100%);
}

.mobile .full-width-image-header:after {
    height: 20px;
}
#page.enchanted-christmas {
    background: #102f72;
}
.enchanted-christmas .full-width-image-header:after {
    background: linear-gradient(0deg, #102f72  0%, rgba(129,96,159,0) 100%);
}
#page.halloween-festival {
    background: #271524 ;
}
.halloween-festival .full-width-image-header:after {
    background: linear-gradient(0deg, #271524  0%,  rgba(129,96,159,0) 100%);
}

.steps-panel {
    display: flex;
    gap: 20px;
    margin-top: 20px;
    flex-wrap: wrap;
}
.mobile .steps-panel {
    gap: 15px;
    margin-top: 15px;
}
.steps-panel .step {
    border: 2px solid #4d3266;
    text-align: center;
    border-radius: 7px;
    background-color: #f4edf7;
    flex: 1 1;
    min-width: 180px;
}
.wdw .steps-panel .step {
    border: 2px solid #253b56;
    background-color: #ebf6fc;
}
.steps-panel .step {
    padding:20px;
}
.mobile .steps-panel .step {
    padding:15px;
}
.steps-panel .step-number {
    line-height: 1;
    padding-bottom: 5px;
    font-weight: lighter;
}
.desktop .steps-panel .step-number {
    font-size: 36px;
}
.mobile .steps-panel .step-number {
    font-size: 30px;
}
.steps-panel .step-title {
    font-size: 20px;
    line-height: 26px;
}
.desktop .steps-panel .step-title {
    border-bottom: 2px solid #4d3266;
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.steps-panel.with-arrows {
    padding: 45px 0;
}
.steps-panel.with-arrows .step {
    position: relative;
}
.desktop .steps-panel.with-arrows .step:after {
    background: url('/images/global/steps-arrow-horizontal.png') no-repeat;
    width: 130px;
    height: 40px;
    display: block;
    content: '';
    position: absolute;
    top: -42px;
    right: -80px
}
.desktop .steps-panel.with-arrows .step:nth-child(even):after {
    top: auto;
    bottom: -42px;
    transform: scaleY(-1);
}
.desktop .steps-panel.with-arrows .step:last-child:after {
    background: none;
}
.mobile .steps-panel.with-arrows .step {
    margin-bottom: 20px;
}
.mobile .steps-panel.with-arrows .step:after {
    background: url('/images/global/steps-arrow-down.png') no-repeat;
    width: 15px;
    height: 40px;
    display: block;
    content: '';
    bottom: -42px;
    position: absolute;
    left: calc(50% - 7px);
}
.mobile .steps-panel.with-arrows .step:last-child:after {
    background: none;
}
.mobile .steps-panel.with-arrows .step:last-child {
    margin-bottom: 0;
}

.instalments-badge-container {
    border-bottom: 1px solid #dfdfdf;
    padding: 20px;
    display: none;
}
.instalments-badge {
    font-size: 22px;
    line-height: 22px;
    color: inherit;
    display: block;
}
.instalments-badge:hover {
    text-decoration: none;
    color: inherit;
}
.mobile .instalments-badge {
    text-align: center;
}
.instalments-badge.bordered {
    border: 2px solid #4d3266;
    border-radius: 7px;
    text-align: center;
    padding: 10px;
}
.dlp .instalments-badge.bordered {
    border: 2px solid #4d3266;
}
.wdw .instalments-badge.bordered {
    border: 2px solid #253b56;
}
.wdw .instalments-badge.with-background {
    background-color: #253b56;
    color: white;
}
.wdw .instalments-badge.with-background .gold{
    color: white;
}
.instalments-badge .gold {
    color: #c58f40;
}
.instalments-badge .info {
    font-size: 16px;
    line-height: 16px;
    color: #c58f40;
    position: relative;
    top: -4px;
}
.desktop .instalments-badge .credit-card-stars:before, .desktop .instalments-badge .month:before {
    color: #c58f40;
}
.desktop .instalments-badge .first-line:after {
    content: ' - ';
    font-family: komu-b, sans-serif;
    padding: 0;
}
.mobile .instalments-badge .first-line, .instalments-summary .first-line {
    border-bottom: 1px dotted #c58f40;
    display: block;
    margin-bottom: 10px;
    padding-bottom: 10px;
}

#dialog.information #average-price-info-modal .details {
    padding: 0 20px 0 20px;
    width: 511px;
}


#instalments-badge-info-modal .image {
    background-image: url("/images/promotions/calendar.png");
}
.instalments-badge-container.instalments-summary {
    border-bottom: none;
    padding-top: 15px;
}
.mobile .instalments-badge-container.instalments-summary {
    margin-bottom: 15px;
}
.desktop .instalments-badge-container.instalments-summary {
    padding-top: 0;
}
.desktop .instalments-summary hr {
    margin-top: 0;
}
.mobile .instalments-summary {
    border-top: 1px solid #c4c4c4;
}
.instalments-summary p {
    font-size: 16px;
    text-align: left;
}
.instalments-summary .instalments-badge.bordered {
    text-align: left;
}
.desktop .instalments-summary .instalments-badge .first-line:after {
    content: ''
}

.tickets-info-pods-container .special-offer-badge.top {   
    margin: 0 0 10px;
    float: left;
}

.mobile .tickets-info-pods-container .special-offer-badge.top {
    margin: -40px 0 10px;
    float: left;
}

.special-offer-badge {
    padding: 5px 16px 4px 13px;
    display: block;
    background: #6fa623;
    border-radius: 7px;
    margin-top: 4px;
    color: white;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 1px;
}

.special-offer-badge.top {
    margin: 0 0 10px;
    float: left;
}

.special-offer-badge.ticket-store {
    position: absolute;
    top: 0;
    left: 0;
    margin-top: 0;
    border-radius: 0 0 7px 0;
    padding-left: 18px;
}

.special-offer-badge.ticket-store + * {
    margin-top: 28px;
}

.mobile .special-offer-badge.ticket-store.hidden + * {
    margin-top: 0;
}

.mobile .special-offer-badge {
    padding-left: 14px;
}

#tickets .special-offer-badge {
    background-color: #dfdfdf ;
    padding: 7px 19px 6px 19px;
}
#tickets .options input[type=radio]:checked + label .special-offer-badge {
    background-color: #6fa623;
    padding: 6px 18px 6px 18px;
    border-radius: 0 0 7px 0;
}
#tickets .options .type:hover .special-offer-badge {
    background-color: #6fa623;
}
.extra .special-offer-badge {
    float: left;
    margin: 0 20px 8px;
}
.mobile .extra .special-offer-badge {
    float: left;
    margin: 8px 0;
}

.desktop .instalments-badge-container.instalments-summary {
    padding-top: 0;
}

.questions h4:before {
    content: 'Q.';
}
.questions h4:before, .questions p:before {
    font-weight: bold;
    font-family: inherit;
    position: absolute;
    top: 0;
    left: 0;
}
.questions h4,  .questions p,  .questions ul {
    padding-left: 22px;
}
.questions h4,  .questions p,  .questions ul {
    position: relative;
    display: block;
    white-space: normal;
}
.questions p:first-of-type:before {
    content: 'A.';
}

   #body.faq:lang(es) .questions h4:before {
    content: 'P.';
   }

    #body.faq:lang(es) .questions p:first-of-type:before {
        content: 'R.';
    }

    #body.faq:lang(de) .questions h4:before {
        content: 'F.';
    }

.border-bottom-grey {
    border-bottom: 1px solid #dfdfdf;
}
.mobile .border-bottom-grey {
    border-bottom: 1px solid #c4c4c4;
}

.border-top-grey {
    border-top: 1px solid #dfdfdf;    
}
.mobile .border-top-grey {
    border-top: 1px solid #c4c4c4;
}
.centered {
    text-align: center;
}
.section-no-border-top {
    border-top: 0 !important;
    padding-top: 0px !important;
}

.checkerboard {
    background-color: #f4edf7;
    padding: 0;
    display: flex;
}
:not(.checkerboard) + .checkerboard {
    border-top: 1px solid #dfdfdf;
}

.wdw .checkerboard {
    background-color: #ebf6fc;
}
#body .body section.checkerboard {
    padding: 0;
}
.desktop checkerboard {
    border-bottom: 1px solid #dfdfdf;
}
.checkerboard .img {
    overflow: hidden;
    display: flex;
    justify-content: center;
}
.desktop .checkerboard .img {
    width: 50%;
}

.checkerboard img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.desktop .checkerboard .text {
    padding: 20px;
    width: 50%;
}
.desktop .checkerboard:nth-child(odd) {
    flex-flow: row-reverse;
}
.mobile .checkerboard {
    display: flex;
    flex-flow: column;
}
.mobile .checkerboard .text {
    padding: 15px;
    order: 2;
}
#body .carousel-container .carousel-cards:not(.slick-dotted) {
    padding: 20px 10px;
}


.accommodation.pppn .package {
    width: auto;
    border: 0;
    padding-top: 0;
}
.accommodation.pppn .price.vertical {
    float: right;
    position: relative;
    width: auto;
    align-self: flex-start;
}
.accommodation .price-container-pppn {
    display: none;
}
.accommodation.pppn .price-container-pppn {
    display: flex;
    flex-flow: column;
    align-items: flex-end;
}
.accommodation.pppn .price-container-full {
    display: none;
}


.body .accommodation .price .price-container-pppn .total *  {
    font-size: 14px;
}
.body  .accommodation.total-first .price  .price-container-pppn .price-per-person .total  h3, .body  .accommodation .price  .price-container-pppn .total-price .total  h3 {
    font-size: 16px;
    line-height: 1;
}

.body .accommodation.total-first .price .price-container-pppn .total-price h3, .body .accommodation .price .price-container-pppn  .price-per-person h3 {
    font-size: 24px;
}

.body .price.horizontal .price-container-pppn .cost {
    font-size: inherit;
}

.accommodation.total-first .price .price-container-pppn .price-per-person {
    order: 2;
}

.accommodation.total-first .price .price-container-pppn .total-price {
    order: 0;
}

.accommodation .separator {
    border-top: 1px solid #dfdfdf;
    margin: 8px 0;
    width: 100%;

}
.mobile .accommodation .separator {
    border-top: 1px dotted #dfdfdf;
    margin: 8px 0;
    width: 200px;
}
.accommodation.total-first .separator {
    order: 1;
}
.pppn .button {
    margin-top: 5px;
}



.pppn hgroup {
    flex-wrap: wrap;
}
.pppn div.info {
    display: flex;
    flex-flow: column;
    flex-grow: 1;
    width: auto !important;
}
.price-container-pppn .info {
    font-size: 12px;
}
.body .pppn .price h3 em {
    position: relative;
    display: inline;
}
.body .pppn .price.vertical h3 {
    padding-right: 0;
    padding-bottom: 0 !important;
}
.body .pppn .price h3 * {
    display: inline;
}
.body .pppn .price h3 em abbr {
    display: none;
}
.body .pppn .price.vertical h3 em .decimal {
    display: inline;
}
.body .pppn .price h3 > abbr {
    font-size: inherit;
    position: relative;

}
.price-per-person {
    display: flex;
    width: 100%;
    justify-content: space-between;
}
.mobile .accommodation.pppn .price-container-pppn {
    align-items: flex-start;
}
.mobile .accommodation  .price-container-pppn .info {
    padding-bottom: 0;
}

.accommodation.pppn .average-price-container {
    padding: 0;
    border-bottom: 0;
    margin-top: 2px;
}

.itinerary.payment h3.itemised-summary {
    font-weight: bold;
    padding-bottom: 0 !important;

}

.itemised-billing {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    line-height: 32px;
}

.itemised-billing div {
    margin: 0;
}

.itinerary.payment .itemised-included {
    color: #6fa623;
    font-weight: bold;
}

div.itinerary.payment div.itemised-price span.total h3 {
    padding: 0 !important;
}

div.itinerary.payment div.itemised-price .cost em abbr {
    font-size: 14px;
    line-height: 1;
    padding-left: 4px;
}

div.itinerary.payment div.itemised-billing.total {
    height: 32px;
}

div.itinerary.payment  div.average-price-container {
    line-height: 10px;
}
.mobile div.itinerary.payment  div.average-price-container {
    line-height: 20px;
}

.body .itemised-summary-price .horizontal.original-price .cost {
    font-size: 20px;
}

.itemised-summary-price .original-price .cost span {
    text-decoration: line-through;
}

div.body section div.itinerary.payment hr {
    border-top: 2px solid #4d3266;
    margin: 2px 0 8px;
    display: block !important;
}

.mobile div.body section div.itinerary.payment hr {
    margin: 10px 0;
}

div.body div.itinerary.payment div.itemised-billing.pppn div.itemised-summary-price h3 span.cost {
    font-size: 20px;
}

.mobile div.itinerary.payment div.average-price-container {
    padding: 0;
    border-bottom: 0;
}




.desktop .accommodation.pppn .images {
    width: 630px !important;
    height: 250px;
    overflow: hidden;
    border-radius: 7px;
    margin-bottom: 12px;
}
.desktop .accommodation.pppn .images img {
    width: 630px !important;
    height: auto !important;

}
 .hotel-inline-gallery {
    width: 100% !important;
}
.hotel-inline-gallery .slick-prev {
    left: 1rem;
}
.hotel-inline-gallery .slick-next {
    right: 1rem;
}
.hotel-inline-gallery .slick-arrow {
    display: block;
    color: #253b56;
    font-family: PEP Icon;
    padding: .5rem !important;
    font-size: 1rem;
    background: hsla(0, 0%, 100%, .6980392157);
    transform: translateY(-50%);
    border: 1px solid #edf0f2;
    width: auto;
    height: auto;
    margin-top: 0;
    cursor: pointer;
    line-height: 1.2;
    border-radius: 50%;
    transition: opacity .2s;
    z-index: 1;
}
.mobile .hotel-inline-gallery .slick-slide {
    height: auto;
}
.mobile .hotel-inline-gallery .slick-arrow {
    display: none !important;
}
.mobile .hotel-inline-gallery .slick-dots {
    display: none !important;
}
.desktop .hotel-inline-gallery + .icon.camera:before {
    display: none;
}
.hotel-inline-gallery .slick-prev:before {
    content: "";
    position: relative;
    left: -1px;
}
.hotel-inline-gallery .slick-next:before {
    content: "";
    position: relative;
    left: 1px;
}
.hotel-inline-gallery .slick-dots li button:before {
    font-size: 2rem;
    transition: transform .2s;
    height: 30px;
}
.gallery-counter {
    position: absolute;
    bottom: 0.75rem;
    right: 0.75rem;
    border-radius: .5rem;
    background-color: hsla(0, 0%, 100%, .8);
    font-size: .875rem;
    padding: .125rem .5rem;
    z-index: 2;
}
.hotel-inline-gallery .slick-dots li.slick-active button:before {
    opacity: 1;
    transform: scale(1.4);
}
.hotel-inline-gallery .slick-dots li.slick-active+li button:before,  .hotel-inline-gallery .slick-dots li:has(+ .slick-active ) button:before{
  opacity: 0.75;
  transform: scale(1.2);
}
.hotel-inline-gallery .slick-dots {
    display: flex;
    align-items: center;
    justify-content: start;
    padding-bottom: .5rem;
    left: 50%;
    transform: translateX(-50%);
    max-width: 150px;
    width: auto;
    overflow: hidden;
    z-index: 2;
}


#body.book section .accommodation.pppn hgroup {
    width: 100% !important;
    padding-left: 0;
    display: flex;
    column-gap: 15px;
}

.mobile .pppn .price.horizontal .total {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.mobile .pppn .price.horizontal .total > * {
    padding-bottom: 0 !important;
}
.mobile .pppn .price-container-pppn > * {
    width: 100%;
}
 .itinerary.payment .itemised-summary-price .original-price {
    padding-bottom: 0 !important;
}

.itinerary.payment .itemised-summary-price .price h3 {
    padding-bottom: 0 !important;
}
.itinerary .itemised-billing > div {
    width: auto;
}
.desktop .itemised-billing.pppn {
    margin-bottom: 20px;
}
.itemised-billing.pppn .itemised-summary-price {
    padding-bottom: 10px;
}
.itinerary.payment hgroup > .itemised-summary {
    margin-bottom: 10px;
}

.mobile .accommodation hgroup {
    display: flex;
    flex-flow: column;
}

.mobile .accommodation .price {
    order: 3;
}

.desktop .pppn .separator:last-child {
    display: none;
}
.mobile .pppn .separator:last-child {
    order: 4;
}
.mobile .pppn .button {
    float: right;
    margin-top: 4px;
}

.mobile .accommodation.total-first .price .price-container-pppn .total-price .total p , .mobile .accommodation .price .price-container-pppn .price-per-person .total p  {
    font-size: 22px;
}



.mobile .accommodation .price .price-container-pppn .total-price .total h3, .mobile .accommodation.total-first .price .price-container-pppn .price-per-person .total h3 {
    font-size: 18px;
}

.mobile .accommodation .price .price-container-pppn .price-per-person .total h3, .mobile .accommodation.total-first .price .price-container-pppn .total-price .total h3  {
    font-size: 28px;
}

.mobile .price-container-pppn .info {
    font-size: 14px;
}

.mobile .accommodation.total-first .price .price-container-pppn .price-per-person .total p {
    font-size: 16px;
    font-family: InspireTWDC;
}

.mobile .accommodation .price .price-container-pppn h3  {
    font-weight: bold;
}

/* Panels separated with a plus sign like in Packages */
.components-plus-container {
    text-align: center;
}
.desktop .components-plus-container {
    display: flex;
    margin-top: 20px;
}
.mobile .components-plus-container {
    padding: 15px;
}
.components-plus-container .plus .title {
    font-size: 18px;
    line-height: 22px;
    font-weight: bold;
    padding: 0 15px 10px;
}
.desktop .components-plus-container .plus-left.three-items {
    border-right: 0 none;
    padding-left: 15px;
}
.desktop .components-plus-container .plus-right .divider {
    left: -20px;
}
.desktop .components-plus-container .divider {
    width: 40px;
    position: absolute;
    top: 0;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.desktop .components-plus-container .divider .add {
    display: block;
    font-weight: bold;
    width: 36px;
    height: 50px;
    margin: auto;
    line-height: 48px;
    font-size: 60px;
    overflow: hidden;
    background-color: #fff;
    padding: 4px 0;
}
.desktop .components-plus-container .plus-right.three-items {
    border-left: 1px solid #dfdfdf;
    padding-right: 15px;
}
.desktop .components-plus-container .plus.three-items {
    position: relative;
    width: 300px;
    padding: 0 20px;
    display: flex;
    flex-flow: column;
    align-items: center;
}
.components-plus-container .bottom-element {
    margin-top: auto;
}
.mobile .components-plus-container  .divider {
    width: 100%;
    height: 33px;
    margin: 15px 0;
    position: relative;
    z-index: 0;
}
.mobile .components-plus-container .divider .add {
    display: block;
    width: 53px;
    height: 33px;
    margin: 0 auto;
    line-height: 38px;
    font-size: 60px;
    overflow: hidden;
    background-color: #fff;
}
.mobile .components-plus-container  .plus {
    width: 100%;
}
.mobile .components-plus-container .divider:after {
    width: 100%;
    top: 0;
    left: 0;
    content: '';
    height: 17px;
    position: absolute;
    border-bottom: 1px solid #dfdfdf;
    z-index: -1;
}
.mobile .components-plus-container .plus h1 {
    padding: 0px 0 15px 0;
}
.components-plus-container .plus img {
    margin-bottom: 20px;
}
.components-plus-container .mobile .plus img {
    width: 90px;
    height: 90px;
}
.mobile .components-plus-container .plus img {
    width: 90px;
    height: 90px;
}
.centered-list {
    margin: 0;
}
.centered-list li {
    padding-left: 0;
    list-style: none;
}
.centered-list li:before {
    content: '-';
}


/* New Billboard  */
.billboard .frame {
    height: 500px;
}
.billboard hgroup {
    display: none;
}
.billboard ul.slick-dots {
    bottom: unset;
    top: 0;
    display: flex !important;
    gap: 8px;
    margin-left: 0;
    padding: 0 16px;


}
.billboard ul.slick-dots li {
    width: auto !important;
    flex: 1 1;
    margin: 0;
    display: flex;
    align-items: center;
    height: 26px;
}
.billboard .slick-dots li button {
    width: 100% !important;
    height: 4px !important;
    background: #ffffff50 !important;
    border-radius: 2px;
    padding: 0 !important;
}
.billboard .slick-dots li.slick-active button   {
    background: #ffffff !important;
}
.billboard .slick-dots li button:before {
    content: '' !important;
}
.billboard a {
    position: relative;
    color: unset !important;
}
.billboard-panel-wrapper {
    position: absolute;
    top: 12px;
    width: 100%;
    padding: 15px;
}
.billboard-content {
    padding: 16px;
    background: rgb(255 255 255 / 90%);
    display: flex;
    flex-flow: column;
    gap: 4px;
}
@media screen and (min-width: 950px) {
    .billboard-panel-wrapper {
        width: 960px;
        margin: 0 auto;
        bottom: auto;
        top: auto;
        position: relative;
        float: none;
        padding: 0;
        height: 100%;
    }
    .billboard-panel-wrapper .billboard-panel {
        width: 350px;
        position: absolute;
        top: 175px;
    }
    .billboard-panel-wrapper.billboard-desktop-right .billboard-panel {
        right: 0;
    }
    .billboard-panel-wrapper.billboard-desktop-middle .billboard-panel {
        top: 260px;
    }
    .billboard-panel-wrapper.billboard-desktop-bottom .billboard-panel {
        top: auto;
        bottom: 20px;
    }
    .billboard-panel-wrapper.billboard-desktop-top .billboard-panel {
        top: 185px;
        transition: 0.4s top linear;
    }
    .billboard-panel-wrapper.billboard-desktop-top.billboard-ages-panel-large .billboard-panel {
        top: 233px;
    }
    .billboard-panel-wrapper.billboard-desktop-top.billboard-ages-panel-extralarge .billboard-panel {
        top: 270px;
    }
    .billboard-content {
        padding: 21px 25px 16px;
    }
    .billboard-content:last-child {
        padding-bottom: 21px;
    }
    div.billboard-footer-panel {
        padding: 16px 25px;
    }
}

.billboard-panel-wrapper.billboard-mobile-bottom {
    bottom: 0;
    top: auto;
}
.billboard-panel {
    border-radius: 10px;
    width: 100%;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.20);
    overflow: hidden;
    backdrop-filter: blur(4px);
}

.billboard-has-price .billboard-headline {
    text-transform: uppercase;
    font-size: 16px;
    font-weight: bold;
}
.billboard-has-price .billboard-price-point {
    display: flex;
    align-items: end;
    margin: 4px 0;
}

.billboard-headline {
    line-height: 22px;
    float: none;
    font-size: 20px;
}

.billboard-price {
    line-height: 1;
    font-size: 30px;
    margin-right: 6px;
    font-weight: bold;
}
.billboard-price sup {
    font-size: 50%;
}
.billboard-footer-panel {
    box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.10) inset;
    padding: 16px;
    background: rgb(239 239 239 / 90%);
    display: flex;
    flex-flow: column;
    gap: 8px;
}
.billboard-footer-text {
    font-size: 14px;
    line-height: 18px;
}
.billboard-footer-terms {
    font-size: 14px;
    line-height: 16px;
    cursor: pointer;
}
.billboard-footer-terms.icon.info:before {
    margin-right: 6px;
}

.billboard-price-text {
    font-weight: 500;

}
.billboard-price-point {
    display: none;
}
#header {
    border-bottom: 1px solid #11243a;
}
.billboard-panel-wrapper.price-point .billboard-headline{
    text-transform: none;
    font-size: 22px;
    line-height: 28px;
    margin-bottom: 4px;
}
.billboard-panel-wrapper div {
    float: none;
}
div.billboard-arrow-button {
    float: right;
    border: 1px solid #C4C4C4;
    height: 42px;
    width: 42px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-left: 8px;
}
.wayforwarddatewarning {
    text-align: center;
    padding: 20px;
    font-family: Arial, sans-serif;
    font-weight: bold;
    color: #e60000;
}

.wayforwarddatewarning a, .wayforwarddatewarning a:visited {
    color: #333;
    text-decoration: underline;
}

#page.wayforward-page {
    background-image: radial-gradient(ellipse farthest-corner at center top, rgba(129, 201, 252, 0.6) 10%, rgba(69, 166, 234, 0.6) 15%, rgba(23, 64, 146, 0.6) 75%);
}

#body.full.wayforward {
    background-image: url(/images/global/stars.png);
    background-repeat: repeat-x;
}

#body.full.wayforward, #body.full.wayforward form {
    background: #3a72bb
}

#body.full.wayforward p.padding-below {
    padding-bottom: 20px;
}
#body.full.wayforward p.padding-left {
    padding-left: 20px;
}
#body.full.wayforward .heading {
    display: flex; /* Ensure flex layout */
    align-items: center; /* Center items vertically */
    margin-bottom: 10px; /* Add space below the heading */
}
#body.full.wayforward .tardis {
    display: flex;
    justify-content: center;
    float: none !important;
}
#body.full.wayforward .heading h3 {
    margin: 0; /* Reset default margin */
}

#body.full.wayforward .heading .icon.calendar {
    margin-right: 10px; /* Adjust spacing between icon and text */
}
#body.full.wayforward #title {
    color: #ffffff;
}
#body.full.wayforward .message {
    font-size: 1.2em;
    color: #333;
    padding-top: 10px; /* Padding top for the message */
    padding-left: 10px; /* Padding left for the message */
    padding-bottom: 15px; /* Padding bottom for the message */
}
#body.full.wayforward .message strong {
    font-weight: bold; /* Make the date text bold */
    margin-left: 10px; /* Add space from the label */
}
#body.full.wayforward .padding-left {
    padding-left: 10px; /* Padding left for the link */
}
#body.full.wayforward a.styled-link {
    text-decoration: none;
    font-size: 1.4em;
}
#body.full.wayforward a.styled-link:hover {
    text-decoration: underline;
}

.hotels-subheading {
    padding-top: 20px;
}
.mobile .hotels-subheading {
    border-bottom: 1px solid #c4c4c4;
}
.hotels-subheading hr {
    margin: 0;
}
.hotels-subheading h3 {
    padding-bottom: 20px;






}

.voucher {
    border-top: 1px solid #dfdfdf;
    padding-top: 15px;
    margin: 20px 0;
}
.desktop .voucher {
    padding: 20px 90px !important;
    border-bottom: 1px solid #dfdfdf;
}
.voucher .cancel {
    display: inline-block;
    float: none;
}
.voucher .title {
    font-weight: bold;
    cursor: pointer;
    font-size: 16px;
    padding-bottom: 0;
}
.mobile .voucher .cancel {
    margin-top: 15px;
}

.voucher .title:before {
    content:'\e316';

    position:relative;
    top: 2px;
    margin-right: 8px;
    transform: rotate(-90deg);
    transition: 0.3s all;
    display: inline-block;
    width: 22px;
    height: 22px;
}

.voucher.expanded .title {
    color: #81609f;
}

.wdw .voucher.expanded .title {
    color: #1994d7;
}

.voucher .box-wrapper {
    height: 0;
    overflow: hidden;
    padding: 0 4px 0;
    transition: 0.3s all;
    opacity: 0;
    interpolate-size: allow-keywords;
}
.mobile .voucher .box-wrapper {
    width: 100%;
}

.voucher.expanded .box-wrapper {
    padding: 15px 4px 4px;
    height: auto;
    opacity: 1;
}

.voucher .remove-voucher {
    background: none;
    border: none;
    color: #ccc;
    font-size: 14px;
}
.voucher .icon.offer {
    font-weight: bold;
}
.voucher #voucher-code.error {
    box-shadow: 0 0 4px 1px #ff6633 !important;
}

.voucher.expanded .title:before {
    transform: rotate(0deg);
}

.voucher .warning {
    margin-top: 10px;
}

.summary:has(+.voucher) .itinerary:last-child hr {
    display: none;
}
html:has(#voucher-section) {
    scroll-behavior: smooth;
}

#banner-message.lpg-ticket-stripe {
    width: 100%;
    margin: 0 auto;
    padding: 16px 20px 12px;
    text-align: center;
    background-color: #ffaede;
    color: #000000;
}

.lpg-ticket-stripe-top small,
.lpg-ticket-stripe-subtitle {
    font-weight: bold;
    line-height: 1.15;
}

.lpg-ticket-off {
    font-size: 36px;
    margin: 10px 2px;
}

.lpg-ticket-off .lpg-ticket-number {
    font-weight: 900;
}

.lpg-ticket-stripe-top {
    font-size: 26px;
    margin: 0;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-weight: bold;
}

.lpg-ticket-stripe-top small {
    font-size: 16px;
}

.lpg-ticket-stripe-ribbon {
    display: inline-block;
    margin: 4px 0 15px;
    padding: 4px 30px !important;
    font-size: 44px;
    line-height: 1;
    background: #ffffff;
    text-transform: uppercase;
    position: relative;
    font-weight: 600;
}

.lpg-ticket-stripe-ribbon:before,
.lpg-ticket-stripe-ribbon:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-top: 44px solid transparent;
    border-bottom: 44px solid transparent;
}

.lpg-ticket-stripe-ribbon:before {
    left: 0;
    border-left: 14px solid #ffaede;
}

.lpg-ticket-stripe-ribbon:after {
    right: 0;
    border-right: 14px solid #ffaede;
}

.lpg-ticket-stripe-subtitle {
    margin: 0;
    font-size: 20px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    padding-bottom: 0;
}

.lpg-ticket-stripe-book-by {
    font-size: 13px;
    font-weight: normal;
}

.lpg-ticket-number {
    font-family: Figtree, sans-serif;
}

.mobile .lpg-ticket-stripe {
    margin: 0 15px;
    width: auto;
    padding: 10px 10px 9px;
}

.mobile .lpg-ticket-stripe-top {
    font-size: 20px;
    flex-wrap: wrap;
    row-gap: 0;
}

.mobile .lpg-ticket-stripe-ribbon {
    margin: 0 0 10px 0;
    padding: 5px 12px !important;
    font-size: 27px;
}

.mobile .lpg-ticket-stripe-ribbon:before {
    border-left-width: 9px;
    border-right-width: 0;
}

.mobile .lpg-ticket-stripe-ribbon:after {
    border-right-width: 9px;
    border-left-width: 0;
}

.mobile .lpg-ticket-stripe-subtitle {
    font-size: 19px;
}

.mobile .lpg-ticket-stripe-book-by {
    font-size: 11px;
}

#banner-message.golden-banner-box {
    background: radial-gradient(circle at top left, #d3ab4c, #fff5ba);
    color: #253b56;
    font-weight: bold;
    border: 1px solid #dcb858;
    position: relative;
    font-size: 24px;
}
#banner-message.golden-banner-box > * {
    z-index: 1;
    position: relative;
}
#banner-message.golden-banner-box strong {
    font-family: 'InspireTWDC';
    font-size: 48px;
}
#banner-message.golden-banner-box:before {
    background: url(/walt-disney-world/images/tickets/desktop/golden-stripe.jpg);
    width: 100%;
    content: ' ';
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    opacity: 0.5;
}
.mobile #banner-message.golden-banner-box:before {
    background: url(/walt-disney-world/images/tickets/mobile/golden-stripe.jpg);
}

#banner-message.golden-banner-box small {
    font-size: 14px;
}

#banner-message.golden-banner-box .golden-banner-terms {
    font-weight: 100;
    font-size: 12px;
}


.accommodation.pppn {
    width: 100% !important
}
.hotel-list-container, .hotel-list-container.alert {
    display: none;
}
.desktop .hotel-list-container {
    padding: 0 20px;
}
.mobile .hotel-list-container {
    padding: 0 !important;
}
.hotel-list-container.selected {
    display: block;
}
.select-hotel-tabs-container {
    display: flex;
    gap: 10px;
    position: absolute;
    top: -104px;
    padding: 0 !important;

}
.desktop #body.book section.action div.select-hotel-tabs-container {
    padding: 0;
    width: 940px;
    justify-content: space-between;
    top: -89px;
    column-gap: 20px;
    row-gap: 0;
    flex-wrap: wrap;
}
.desktop:has(.badges) #body.book section.action div.select-hotel-tabs-container {
    top: -139px;
}
.mobile #body.book section.action div.select-hotel-tabs-container {
    justify-content: space-between;
    column-gap: 10px;
    row-gap: 0;
    flex-wrap: wrap;
}
.desktop #body.book section.action:has(#disneyplusbadge) div.select-hotel-tabs-container {
    top: -132px;
}
.select-hotel-tabs-container .select-hotel-tab {
    text-align: center;
    padding: 10px 20px;
    cursor: pointer;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    background-color: #CEBFDA;
    flex: 1;
    box-shadow: 0px -2px 4px 0px #0000001A;

}
.select-hotel-tabs-container .select-hotel-tab h3 {
    font-size: 22px;
    font-weight: 500;
    line-height: 28px;
}
.mobile .select-hotel-tabs-container .select-hotel-tab h3 {
    font-size: 20px;
}
.select-hotel-tabs-container .select-hotel-tab > * {
    padding-bottom: 0;
}
.select-hotel-tabs-container .select-hotel-tab.selected {
    background: white;
    mask: none;
    border-bottom: none;
}
.mobile .select-hotel-tab p {
    font-size: 16px;
    line-height: 16px;
    margin-top: 4px;
}
.desktop .select-hotel-tab p {
    font-size: 16px;
    line-height: 16px;
    margin-top: 6px;
}
.desktop .select-hotel-tab p b {
    font-size: 18px;
}
.package-price-panel {
    display: flex;
    flex-flow: column;
    border: 1px solid #dfdfdf;
    border-radius: 7px;
    flex-shrink: 0;
}
.mobile .package-price-panel {
    border: none;
}

.package-price-panel .total-price {
    width: 100%;
}
.package-price-panel .total-price .total {
    width: 100%;
    display: flex !important;
    justify-content: space-between;
}
.package-price-panel .button{
    align-self: end;
}
.package-price-panel-actions {
    padding:  15px;
}
.mobile .package-price-panel-actions {
    padding: 15px 0 0;
}
.package-included-items {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 15px;
    border-radius: 4px;
    justify-content: space-evenly;
    border-bottom: 1px solid #dfdfdf;
}
.mobile .package-included-items {
    border: 1px solid #CEBFDA;
    padding: 8px 18px;
    font-size: 12px;
}
.mobile .package-included-items b {
    font-size: 18px;
}
.price-per-person {
    justify-content: space-between;
}

.package-included-items .divider {
    font-weight: bold;
    font-size: 18px;
}
.package-item-wrapper {
    display: flex;
    flex-flow:column;
    text-align: center;
}
.package-item-wrapper b {
    font-size: 14px;
}
.package-item-wrapper .icon:before {
    margin-bottom: 8px;
    padding-right: 0;
}
.mobile .package-included-items {
    width: 100%;
    gap: 10px;
}
.package-included-items .icon.multiline {
    padding-left: 34px;
}
.package-included-items .icon:before {
    font-size: 24px;
    padding-top: 6px;
}
#page .container > .content:has(.select-hotel-tabs-container) {
    margin-top: 94px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
#page .container > .content:has(.select-hotel-tabs-container) > .header {
    display: none;
}
.mobile #page .container > .content:has(.select-hotel-tabs-container) {
    margin-top: 104px;
}

.stars-container {
    float: none;
    display: inline-block;
    letter-spacing: -2px;
    padding-bottom: 5px;
}
.mobile .stars-container {
    margin-left: 0;
    margin-bottom: 4px;
}
.stars-container .star:before {
    font-size: 14px;
    padding-right: 0;
}
.accommodation {
    position: relative;
}
.accommodation .hotel-label {
    padding: 8px 6px;
    float: left;
    border: 1px solid #dfdfdf;
    border-radius: 4px;
}
.mobile .accommodation .hotel-label {
    font-size: 14px;
}
.mobile .accommodation .hotel-summary {
    margin-bottom: 15px;
    border-bottom: 1px solid #DFDFDF
}

.accommodation .hotel-labels {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 15px;
    width: 100%;
    line-height: 1;
}
.accommodation .hotel-extra-info {
    padding-bottom: 15px;
    line-height: 1;
}
.accommodation .info {
    flex: 1 1 0;
}
.accommodation .hotel-name {
    width: 100%;
}

.accommodation .hotel-image-label {
    background-color: #81609F;
    position: absolute;
    top: 26px;
    left: -8px;
    border-radius: .5rem;
    border-bottom-left-radius: 0;
    color: #fff;
    padding: .5rem 1.5rem;
    font-weight: 600;
    z-index: 10;
    -webkit-backdrop-filter: blur(13px);
    backdrop-filter: blur(13px);
    font-size: 16px;
    line-height: 24px;
}
.mobile .accommodation .hotel-image-label {
    left: 7px;
}
.accommodation .hotel-image-label:after {
    content: " ";
    width: 0;
    height: 0;
    border-color: transparent #4D3266 transparent transparent;
    border-style: solid;
    border-width: 0 8px 8px 0;
    transform: rotate(0deg);
    position: absolute;
    bottom: -8px;
    left: 0;
}


.mobile .package-price-label p {
    font-size: 22px;
}
.mobile .body .accommodation .price .price-container-pppn .price-per-person h3{
    font-size: 28px;
}
.mobile .accommodation .deal {
    padding: 10px 0;
    border-bottom: 1px solid #dfdfdf;
    border-top: 1px solid #dfdfdf;
    margin-bottom: 15px;
}
.desktop .select-hotel-tabs-container:after {
    display: block;
    height: 20px;
    border-bottom: 1px solid #dfdfdf;
    content: ' ';
    width: 100%;
    background-color: white;
}
.mobile .select-hotel-tabs-container:after {
    display: block;
    height: 20px;
    border-bottom: 1px solid #c4c4c4;
    content: ' ';
    width: 100%;
    background-color: white;
}
.hotel-extra-info.breakfast-included {
    font-weight: 500;
}
 .partner-hotels-container.alert, .disney-hotels-container.alert {
    padding: 30px !important;
}

 .listing-hotels-banner {
    position: relative;
    padding-top: 20px;
    cursor: pointer;
 }
 .mobile .listing-hotels-banner {
    padding: 15px;
 }
 .desktop .listing-hotels-banner .images {
    width: 100% !important;
    height: 250px;
    border-radius: 7px;
    margin-bottom: 20px;
}
.listing-hotels-banner .images {
    overflow: hidden;
    position: relative;
}
.listing-hotels-banner .images img {
    width: 100% !important;
    height: auto !important;
    
}
 .listing-hotel-image-label {
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.15);
    color: #4d3266;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 7px;
    font-size: 16px;
    line-height: 24px;
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
 }
 .mobile .listing-hotel-image-label {
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 10px 8px;
 }

 .listing-hotel-image-label h2 {
    padding: 0;
    text-box-trim: trim-end;
 }
 .mobile .listing-hotel-image-label h2 {
    font-size: 16px;
 }
 .listing-hotel-image-label .button {
    pointer-events: none;
 }
 .mobile #select-tickets > div > h3 {
    font-weight: 700;
 }
.desktop .hotel-list-container.alert .character {
    width: 183px;
}
.desktop .hotel-list-container.alert .wrapper {
    margin-top: 40px;
    width: 100%;
    justify-content: center;
}
.mobile .select-room-info .select-room-tickets-message {
    padding: 10px 0;
    margin: 0 0 10px 0;
    border-bottom: 1px solid #dfdfdf;
    border-top: 1px solid #dfdfdf;
}
.select-room-info hr{
    margin: 0px 0 10px;
}
.select-room-info .questions {
    margin-left: 10px;
}
.mobile .select-room-info .questions {
    display: block;
    margin-top: 10px;
    margin-left: 0;
}
#hotel-ticket-info .image {
    background-image:url('/images/promotions/tickets.png');
}
body.mobile:has(#hotel-ticket-info) #dialog {
    max-height: fit-content;
}