 /* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
 html,
 body,
 div,
 span,
 applet,
 object,
 iframe,
 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 p,
 blockquote,
 pre,
 a,
 abbr,
 acronym,
 address,
 big,
 cite,
 code,
 del,
 dfn,
 em,
 img,
 ins,
 kbd,
 q,
 s,
 samp,
 small,
 strike,
 strong,
 sub,
 sup,
 tt,
 var,
 b,
 u,
 i,
 center,
 dl,
 dt,
 dd,
 ol,
 ul,
 li,
 fieldset,
 form,
 label,
 legend,
 table,
 caption,
 tbody,
 tfoot,
 thead,
 tr,
 th,
 td,
 article,
 aside,
 canvas,
 details,
 embed,
 figure,
 figcaption,
 footer,
 header,
 hgroup,
 menu,
 nav,
 output,
 ruby,
 section,
 summary,
 time,
 mark,
 audio,
 video {
   border: 0;
   font-size: 100%;
   font: inherit;
   vertical-align: baseline;
   margin: 0;
   padding: 0
 }

 article,
 aside,
 details,
 figcaption,
 figure,
 footer,
 header,
 hgroup,
 menu,
 nav,
 section {
   display: block
 }

 body {
   line-height: 1
 }

 ol,
 ul {
   list-style: none
 }

 blockquote,
 q {
   quotes: none
 }

 blockquote:before,
 blockquote:after,
 q:before,
 q:after {
   content: none
 }

 table {
   border-collapse: collapse;
   border-spacing: 0
 }

 /* Solves outline issues */
 * {
   box-sizing: border-box;
   caret-color: transparent;
   text-decoration: none;
   -webkit-tap-highlight-color: transparent;
 }

 *:focus {
   outline: none !important;
   outline-width: 0 !important;
 }

 *:active {
   outline: none !important;
   outline-width: 0 !important;
 }

 /* 
--------------------- BROWSER ANIMATION FIXES AND RENDERING OPTIMAZATION -------------------------
--------------------------------------------------------------------------------------------------
*/

 /* Solves scaling text issues */
 .smooth-text {
   -webkit-font-smoothing: antialiased;
   font-smoothing: antialiased;
   text-rendering: optimizelegibility;
 }

 /* Add to body*/
 .no-pixel-shift {
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
   -webkit-transform: translateZ(0) scale(1.0, 1.0);
   transform: translateZ(0) scale(1.0, 1.0);
 }

 /* Solves scaling image issues */
 .crisp-image {
   image-rendering: -o-crisp-edges;
   /* Opera */
   image-rendering: -webkit-optimize-contrast;
   /* Webkit (non-standard naming) */
   image-rendering: crisp-edges;
   -ms-interpolation-mode: nearest-neighbor;
   /* IE (non-standard property) */
 }

 .will-change {
   will-change: transform;
 }

 /* 
---------------------------------------- CUSTOM FONTS --------------------------------------------
--------------------------------------------------------------------------------------------------
*/

 @font-face {
   font-family: 'Boston_Bold';
   src: url('../fonts/Boston-Bold.woff') format('woff');
   text-rendering: optimizeLegibility;
 }

 @font-face {
   font-family: 'Boston_Black';
   src: url('../fonts/Boston-Black.woff') format('woff');
   text-rendering: optimizeLegibility;
 }

 @font-face {
   font-family: 'Noto_Serif';
   src: url('../fonts/NotoSerif-VariableFont_wdth,wght-Regular.woff') format('woff');
   text-rendering: optimizeLegibility;
 }

 /* 
--------------------- BROWSER ANIMATION FIXES AND RENDERING OPTIMAZATION -------------------------
--------------------------------------------------------------------------------------------------
*/

 /* Solves scaling text issues */
 .smooth-text {
   -webkit-font-smoothing: antialiased;
   font-smoothing: antialiased;
   text-rendering: optimizelegibility;
 }

 /* Add to body*/
 .no-pixel-shift {
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
   -webkit-transform: translateZ(0) scale(1.0, 1.0);
   transform: translateZ(0) scale(1.0, 1.0);
 }

 /* Solves scaling image issues */
 .crisp-image {
   image-rendering: -o-crisp-edges;
   /* Opera */
   image-rendering: -webkit-optimize-contrast;
   /* Webkit (non-standard naming) */
   image-rendering: crisp-edges;
   -ms-interpolation-mode: nearest-neighbor;
   /* IE (non-standard property) */
 }

 .will-change {
   will-change: transform;
 }


 /*
-------------------------------- GENERAL BANNER CLASSES ------------------------------------
--------------------------------------------------------------------------------------------
*/


 #ad_id {
   width: 320px;
   height: 480px;
   position: relative;
   z-index: 0;
   background: #f7f5f6;
   cursor: pointer;
   overflow: hidden;
   border-radius: 4px;
 }

 #border {
   width: 320px;
   height: 480px;
   position: absolute;
   z-index: 30;
   border: 1px solid #000000;
   box-sizing: border-box;
   pointer-events: none;
 }

 #fader {
   width: 320px;
   height: 480px;
   position: absolute;
   z-index: 100;
   background: #ffffff;
   pointer-events: none;
 }

 /*
-------------------------------- BRAND STYLES ----------------------------------------------
--------------------------------------------------------------------------------------------
*/

 #logo {
   width: 58px;
   height: 33px;
   position: absolute;
   top: 16px;
   left: 46px;
   z-index: 5;
   pointer-events: none;
 }

 #logo_bottom {
   width: 107px;
   height: 23px;
   position: absolute;
   top: 444px;
   left: 0;
   right: 0;
   margin: 0 auto;
   z-index: 5;
   pointer-events: none;
 }

 .image_element {
   width: 300px;
   height: 210px;
 }

 .travel_info {
   width: auto;
   height: 28px;
   overflow: hidden;
   position: absolute;
   top: 211px;
   left: 20px;
   right: 20px;
   margin: 0 auto;
   font-family: 'Boston_Bold';
   font-size: 10px;
   line-height: 14px;
   letter-spacing: 0.1em;
   text-transform: uppercase;
   color: #000000;
   text-align: center;
 }

 .travel_info .ship_line {
   color: #ca9740;
   display: block;
   overflow: hidden;
   white-space: nowrap;
 }

 .ship_line .ticker-track {
   display: inline-flex;
   align-items: center;
   will-change: transform;
 }

 .ship_line .ticker-item {
   flex: 0 0 auto;
   white-space: nowrap;
 }

 .divider {
   background: #ca9740;
   width: 64px;
   height: 1px;
   position: absolute;
   top: 249px;
   left: 0;
   right: 0;
   margin: 0 auto;
   pointer-events: none;
 }

 .divider_grey {
   background: #d3d3d3;
   width: 180px;
   height: 1px;
   position: absolute;
   top: 331px;
   left: 0;
   right: 0;
   margin: 0 auto;
   pointer-events: none;
 }

 .itinerary_name_container {
   width: auto;
   height: 72px;
   position: absolute;
   top: 252px;
   left: 20px;
   right: 20px;
   display: flex;
   align-items: center;
   justify-content: center;
   overflow: hidden;
 }

 .itinerary_name {
   font-family: 'Noto_Serif';
   font-size: 18px;
   line-height: 24px;
   max-height: 72px;
   overflow: hidden;
   text-align: center;
 }

 .from_container {
   display: flex;
   align-items: center;
   flex-shrink: 0;
   position: relative;
   top: 2px;
 }

 .from {
   width: 28px;
   height: 6px;
 }

 .price_container {
   width: 100%;
   max-width: 280px;
   height: 28px;
   position: absolute;
   top: 338px;
   left: 0;
   right: 0;
   margin: 0 auto;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 12px;
   z-index: 1;
 }

 .price {
   font-family: 'Boston_Black';
   font-size: 26px;
   line-height: 26px;
   color: #000000;
   white-space: nowrap;
   display: flex;
   align-items: center;
   gap: 7px;
 }

 .pp {
   font-size: 8px;
   line-height: 11px;
   text-align: left;
 }

 .conditions_apply {
   width: 70px;
   height: 8px;
   position: absolute;
   top: 369px;
   left: 0;
   right: 0;
   margin: 0 auto;
 }

 .cta_container {
   background: #ca9740;
   width: 151px;
   height: 25px;
   position: absolute;
   top: 383px;
   left: 0;
   right: 0;
   margin: 0 auto;
   display: flex;
   align-items: center;
   justify-content: center;
   overflow: hidden;
   border-radius: 4px;
   cursor: pointer;
 }

 .cta_text_a,
 .cta_text_b {
   width: 65px;
   height: 7px;
   position: absolute;
 }

 /*
-------------------------------- SWIPER STYLES ----------------------------------------------
---------------------------------------------------------------------------------------------
*/
 .flickity-viewport {
   z-index: 0 !important;
 }

 .carousel {
   width: 320px;
   height: 480px;
   margin: 0 auto;
   position: absolute;
   top: 0;
   left: 0;
   z-index: 1;
 }

 .carousel-cell {
   width: 320px;
   height: 480px;
   display: flex;
   align-items: center;
   justify-content: center;
 }

 .flickity-button-icon {
   fill: #d2a862 !important;
 }

 .flickity-button {
   background: #FFFFFF !important;
   border-radius: 6px !important;
   width: 24px !important;
   height: 27px !important;
   opacity: 1 !important;
   z-index: 2;
 }

 .flickity-prev-next-button.previous {
   top: 410px !important;
   left: 25px !important;
   transform: none !important;
 }

 .flickity-prev-next-button.next {
   top: 410px !important;
   right: 25px !important;
   transform: none !important;
 }

 .flickity-page-dots {
   top: 421px !important;
   z-index: 1 !important;
   font-size: 0 !important;
   line-height: 0 !important;
 }

 .flickity-page-dots .dot {
   display: inline-block !important;
   vertical-align: top !important;
   width: 21px !important;
   height: 5px !important;
   margin: 0 3px !important;
   background: #6d6f73 !important;
   border-radius: 2px !important;
   opacity: 1 !important;
   cursor: pointer !important;
 }

 /* Hover state */
 .flickity-page-dots .dot:hover {
   background: #ca9740 !important;
 }

 /* Active (selected) dot */
 .flickity-page-dots .dot.is-selected {
   background: #ca9740 !important;
 }

 /*
-------------------------------- HELPER STYLES ----------------------------------------------
---------------------------------------------------------------------------------------------
*/


 /* OPACITY HELPERS */

 .invisible {
   opacity: 0;
 }

 .display-none {
   display: none;
   opacity: 0;
   visibility: hidden;
 }

 /*. TYPOGRAPHY HELPERS */

 .text-align-center {
   text-align: center;
 }

 .text-align-left {
   text-align: left;
 }

 /*. CENTERING HELPERS */

 .absolute-center {
   position: absolute;
   margin: 0 auto;
   left: 0;
   right: 0;
   margin-left: auto;
   margin-right: auto;
 }

 .center-block-element {
   margin: 0 auto;
 }

 .display-table {
   /*Add this to parent vertical center element*/
   display: table;
 }

 .vertical-center {
   /*Add this to next child element of the .display-table element*/
   display: table-cell;
   vertical-align: middle;
 }

 /*. POSITIONING HELPERS */

 .pos-a {
   position: absolute;
 }

 .pos-r {
   position: relative;
 }

 .top-0 {
   top: 0;
 }

 .right-0 {
   right: 0;
 }

 .bottom-0 {
   bottom: 0;
 }

 .left-0 {
   left: 0;
 }

 .zero-scale {
   transform: scale(0);
 }

 /*. POSITIONING HELPERS STACKING ORDER */

 /*. .z-i-1 = Z Index 1 */

 .z-i-1 {
   z-index: 1;
 }

 .z-i-2 {
   z-index: 2;
 }

 .z-i-3 {
   z-index: 3;
 }

 .z-i-4 {
   z-index: 4;
 }

 .z-i-5 {
   z-index: 5;
 }

 .z-i-6 {
   z-index: 6;
 }

 .z-i-7 {
   z-index: 7;
 }

 .z-i-8 {
   z-index: 8;
 }

 .z-i-9 {
   z-index: 9;
 }

 .z-i-10 {
   z-index: 10;
 }

 .z-i-11 {
   z-index: 11;
 }

 .z-i-12 {
   z-index: 12;
 }

 .img-responsive {
   display: block;
   max-width: 100%;
   height: auto;
 }

 .mask {
   overflow: hidden;
   width: 100%;
 }
