/* GENERAL FORMATTING AND RESETS */
@media (max-width:950px) {
  h1 {
    font-size:2.875rem; /* 46px */
  }
  h2 {
    font-size:2.15625rem; /* 34.5px */
  }
  h3 {
    font-size:1.5rem; /* 24px */
  }
  h4 {
    font-size:1.15625rem; /* 18.5px */
  }
}
@media (max-width:800px) {
  h1 {
    font-size:2.75rem; /* 44px */
    letter-spacing:-.045em;
  }
  h2 {
    font-size:2.0625rem; /* 33px */
    letter-spacing:-.035em;
  }
  h3 {
    font-size:1.4375rem; /* 23px */
    letter-spacing:-.02em;
  }
  h4 {
    font-size:1.125rem; /* 18px */
  }
}
@media (max-width:600px) {
  h1 {
    font-size:calc(6vw + 8px);
    margin:0 0 1.5625rem;
  }
  h2 {
    font-size:calc(3.5vw + 12px);
    margin:3.125rem 0 1.5625rem;
  }
  h3 {
    font-size:calc(1.5vw + 14px);
    margin:2.0625rem 0 1.03125rem;
  }
  h4 {
    font-size:1.09375rem; /* 17.5px */
    margin:1.5625rem 0 1.03125rem;
  }
}
@media (max-width:400px) {
  h1 {
    font-size:2rem; /* 32px */
    letter-spacing:-.04em;
    margin:0 0 1.25rem;
  }
  h2 {
    font-size:1.625rem; /* 26px */
    letter-spacing:-.03em;
    margin:2.8125rem 0 1.25rem;
  }
  h3 {
    font-size:1.25rem; /* 20px */
    letter-spacing:-.015em;
    margin:1.875rem 0 .9375rem;
  }
  h4 {
    font-size:1.0625rem; /* 17px */
    letter-spacing:-.015em;
    margin:1.5625rem 0 .9375rem;
  }
}
@media (max-width:500px) {
  p.hanging,
  div.hanging,
  p.indent,
  div.indent {
    padding-left:30px;
  }
  p.hanging i[class^="icon-"]:first-child {
    font-size:20px;
    margin-left:-30px;
  }
}
/* INLINE IMAGES */
@media (max-width:500px) {
  img.alignleft,
  img.alignright {
    float:none;
    margin-top:1em;
    margin-left:0;
    margin-right:0;
  }
}
@media (max-width:500px) {
  div.alignleft,
  div.alignright {
    float:none;
    margin:1em 0;
  }
}
/* Image enlargements at this size are rather pointless Then again, any screen this size is a touchscreen which doesn't have a hover state... */
@media (max-width:400px) {
  a.enlarge {
    cursor:default;
  }
  a.enlarge::after {
    display:none;
  }
}
*/

/* CONTENT TABLES */
@media (max-width:625px) {
  table.ledger {
    font-size:.9375rem; /* 15px */
    border-width:.5em .625em; /* simulate padding */
  }
  table.ledger input[type=checkbox],
  table.ledger input[type=radio] {
    margin-top:.3em;
  }
}
@media (max-width:500px) {
  table.ledger {
    border-width:.5em;
  }
}
@media (max-width:400px) {
  table.ledger {
    font-size:.90625rem; /* 14.5px */
    border:none;
    background:none;
  }
  table.ledger tr td:first-child {
    padding-left:.25em;
  }
  table.ledger tr td:last-child {
    padding-right:.25em;
  }
  table.ledger input[type=checkbox],
  table.ledger input[type=radio] {
    margin-top:.25em;
  }
}
@media (max-width:500px) {
  div.fieldset {
    padding:1em;
    border:none;
  }
}
@media (max-width:400px) {
  div.fieldset {
    font-size:.90625rem; /* 14.5px */
    padding:0;
    background:none;
  }  
}
@media (max-width:500px) {
  table.fieldset {
    border-width:.75em .625em;
  }  
}
@media (max-width:400px) {
  table.fieldset {
    font-size:.90625rem; /* 14.5px */
    border-width:.25em .125em;
  }  
}
@media (max-width:450px) {
  .cleanTable td {
    padding:.6em .8em;
  }
}
@media (max-width:600px) {
  .datesTable th {
    font-size:1.25m;
  }
}
@media (max-width:500px) {
  .datesTable th {
    font-size:1.2em;
  }
}

/* TOUR PRICE DISCOUNTS WIDGET */
@media screen and (max-width:600px) {
	div.tourBanners > div {
		margin-bottom:1.6em; /* 32px */
	}
	div.tourBanners strong {
    font-size:1.1em;
  }
  div.tourDiscounts.multiple {
    padding-left:2.25em; /* 45px */
  }
  div.tourDiscounts.multiple i[class^="icon-"] {
    font-size:2em;  /* 40px */
    top:-.15em;
  }
  div.tourDiscounts.multiple div.big {
    font-size:1.1em;
    letter-spacing:-.02em;
  }
}
@media screen and (max-width:500px) {
	div.tourBanners > div,
	div.tourDiscounts.multiple {
			padding-left:1.7em; /* 34px */
  }
  div.tourBanners strong {
    font-size:1em;
  }
  div.tourBanners img,
  div.tourBanners i[class^="icon-"],
  div.tourDiscounts.multiple i[class^="icon-"] {
    font-size:1.5em;  /* 30px */
    top:-.1em;
  }
  div.tourDiscounts.multiple div.big {
    border-bottom:0;
    font-size:1em;
    letter-spacing:-.01em;
  }
}

/* TOUR TILE LISTINGS */
@media (max-width:950px) {
  div.tiles .title {
    font-size:1.625rem; /* 26px */
  }
  div.tiles.tours .price big,
  div.tiles.tours .duration big {
    font-size:1.5625rem; /* 25px */
  }
}
@media (max-width:800px) {
  div.tiles .title {
    font-size:1.5625rem; /* 25px */
    letter-spacing:-.04em;
  }
  div.tiles.tours .price big,
  div.tiles.tours .duration big {
    font-size:1.5rem; /* 24px */
    letter-spacing:-.025em;
  }
}
@media (max-width:600px) {
  div.tiles .title {
    font-size:calc(2vw + 13px);
    letter-spacing:-.03em;
  }
  div.tiles.tours .price big,
  div.tiles.tours .duration big {
    font-size:calc(1.5vw + 15px);
    letter-spacing:-.02em;
  }
  div.tiles.tours a.btn {
    font-size:.78125rem; /* 12.5px */
    padding:.2em 1.375em .3em;
  }
}
@media (max-width:400px) {
  div.tiles .tileImg {
    max-height:150px;
  }
  div.tiles .title {
    font-size:1.3125rem; /* 21px */
    letter-spacing:-.02em;
  }
  div.tiles.tours .price,
  div.tiles.tours .duration {
    font-size:.75rem; /* 12px */
  }
  div.tiles.tours .price big,
  div.tiles.tours .duration big {
    font-size:1.3125rem; /* 21px */
    letter-spacing:-.015em;
  }
  div.tiles.tours a.btn {
    font-size:.75rem; /* 12px */
    padding:.15em 1.25em .25em;
  }
}

/* FEEFO REVIEWS */
@media screen and (max-width:600px) {
  #reviewsBox .review,
  #reviewsBox .review:nth-child(odd) {
    padding-left:0;
    padding-right:0;
    background:none;
  }
}
@media (max-width:500px) {
  #reviewsBox .review .review-meta {
    padding-right:0;
  }
  #reviewsBox .review a.review-share {
    display:none;
  }
}

/* FANCYBOX */
@media (max-width:600px), screen and (max-height: 600px) {
  body .fancybox-slide--iframe {
    padding:40px 20px 20px;
  }
  body .fancybox-slide--iframe .fancybox-iframe {
    padding:20px;
  }
  body .fancybox-content {
    padding:40px 20px 20px;
  }
}
@media (max-width:360px), screen and (max-height: 360px) {
  body .fancybox-slide--iframe {
    padding:40px 0 0;
  }
  body .fancybox-slide--iframe .fancybox-iframe {
    padding:10px;
  }
  body .fancybox-content {
    padding:40px 10px 10px;
  }
}
/* TEMPLATE STYLES: formerly in layout.css. */
#template {
  min-width:320px;
}
.pageWidth,
#pageContent {
  width:100%;
  max-width:1150px;
}
@media (max-width:625px) {
  .pageWidth,
  #pageContent {
    padding-left:15px;
    padding-right:15px;
  }
  .pageWidth .row.max-gutter,
  #pageContent .row.max-gutter {
    margin-left:-15px;
    margin-right:-15px;
  }
  #pageContent .row.max-gutter > [class*="col"],
  .pageWidth .row.max-gutter > [class*="col"] {
    padding-left:15px;
    padding-right:15px;
  }
}

/* HEADER */
@media (max-width:1050px) {
  div#headerSearch,
  .jsActive div#headerSearch {
    display:none;
  }
  div#headerSearchMobile {
    display:block;
  }
}
@media (max-width:1000px) {
  div#headerMenuMobile {
    display:block;
  }
}
@media (max-width:900px) {
  div#headerHelpBtns {
    display:none;
  }
}
@media (max-width:750px) {
  header#siteHeader {
    padding-top:20px;
    padding-bottom:20px;
  }
  #masthead a {
    padding:14% 0 0;
  }
  #masthead img {
    width:13%;
  }
  #masthead .logotype {
    top:11%;
    width:83%;
    height:86.56%;
  }
  #masthead .slogan {
    display:none;
  }
  div#headerPhone a big {
    font-size:3.6vw;
    letter-spacing:-.035em;
  }
  div#headerPhone small {
    display:none;
  }
}
@media (max-width:650px) {
  div#headerPhone,
  html.crjs div#headerPhone {
    display:none;
  }
  div#headerSearchMobile,
  div#headerPhoneMobile {
    display:block;
  }
  div#headerSearchMobile a,
  div#headerMenuMobile a,
  div#headerPhoneMobile a {
    font-size:4.15vw;
    line-height:1em;
    height:1em;
    width:auto;
    margin:0;
  }
  div#headerMenuMobile a:before,
  div#headerPhoneMobile a:before {
    font-size:4.15vw;
  }
  div#headerSearchMobile a:before {
    font-size:3.5vw;
  }
}
@media (max-width:578px) {
  header#siteHeader {
    padding-top:15px;
    padding-bottom:15px;
  }
  div#headerSearchMobile a,
  div#headerMenuMobile a,
  div#headerPhoneMobile a,
  #siteSearchBox .search-button {
    font-size:1.5rem; /* 24px */
  }
  div#headerMenuMobile a:before,
  div#headerPhoneMobile a:before {
    font-size:1.5rem; /* 24px */
  }
  div#headerSearchMobile a:before {
    font-size:1.25rem; /* 20px */
  }
}

/* TOP MENU */
@media (max-width:1000px){
  .menuzord-responsive.menuzord {
    padding:0;
  }
  #menuzord-overlay.clicked {
    display:none;
  }
  .menuzord-responsive .menuzord-menu {
    width:100%;
    max-width:600px;
    float:right !important;
    display:none;
    border-left:none;
    border-right:none;
    box-shadow:0 3px 15px rgba(0,0,0,.35);
  }
  .menuzord-responsive .menuzord-menu.open {
    display:block;
  }
  .menuzord-responsive .menuzord-menu.scrollable {
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .menuzord-responsive .menuzord-menu.scrollable > .scrollable-fix {
    display:block;
  }
  .menuzord-responsive .menuzord-menu > li {
    width:100%;
    display:block;
    position:relative;
  }
  .menuzord-responsive .menuzord-menu > li > a {
    width:100%;
    padding:12px 20px;
    display:block;
    border-top:1px solid rgba(255,255,255,.3);
    border-bottom:1px solid rgba(0,0,0,.3);
    text-align:left;
    transition:none;
  }
  .menuzord-responsive .menuzord-menu > li:first-child > a {
    border-top:solid 1px #f0f0f0;
  }
  .menuzord-menu > li > a,
  .menuzord-menu > li.clicked > a {
    border-right:none;
    border-left:none;
  }
  .menuzord-menu > li.clicked > a {
    font-weight:700;
  }
  .menuzord-responsive .menuzord-menu li .indicator {
    display:block;
    width:60px;
    height:100%;
    position:absolute;
    right:0;
    top:0;
    font-size:22px;
    font-weight:600;
    text-align:center;
    line-height:43px;
    border-left:solid 1px #f5f5f5;
    border-left:1px solid rgba(255,255,255,.3);
  }
  .menuzord-responsive .menuzord-menu li .indicator i {
    font-style:normal;
    display:inline-block;
    margin:0 auto;
    transition:transform .2s linear;
  }
  .menuzord-responsive .menuzord-menu li.clicked .indicator i {
    transform:rotate(45deg) scale(1.4);
  }
  .menuzord-responsive .menuzord-menu > li > .megamenu {
    width: 100% !important;
    left: 0 !important;
    position: static;  
    border-top: none;
    border-bottom: solid 1px #f0f0f0;
    box-shadow:none;
  }
  .menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-row {
    margin-top:0;
  }
  .menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-content {
    padding:20px 20px 25px;
  }
  .menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-sidebar {
    padding:20px 20px 4025px;
  }
  .menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-row [class*="col"],
  .menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-content[class*="col"],
  .menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-sidebar[class*="col"] {
    float:none;
    display:block;
    width:100% !important;
    margin-left:0;
    margin-top:0;
  }
  .menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-row [class*="col"] {
    margin-top:20px;
  }
  .menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-row:first-child [class*="col"]:first-child {
    margin-top: 0;
  }
}
@media (max-width:1000px){
  nav#headerMenu {
    padding:0;
    background:#ccc;
    box-shadow:none;
  }
  .menuzord #homeMenu {
    display:none;
  }
  .menuzord #destinationsMenu .countrySelect {
    display:block;
  }
  .menuzord #destinationsMenu .regionCountryList,
  .menuzord #destinationsMenu .megamenu-sidebar,
  .menuzord #toursMenu .tourSearch,
  .menuzord #toursMenu .toursImg,
  .menuzord #groupsMenu .groupsImg,
  .menuzord #aboutMenu .megamenu-sidebar,
  .menuzord #bookingMenu .megamenu-sidebar {
    display:none;
  }
  .menuzord #toursMenu .megamenu-row .col6,
  .menuzord #groupsMenu .groupsText {
    margin-top:0;
  }
  .menuzord #toursMenu .megamenu-row:last-child .col6:last-child h3 {
    margin-bottom:0;
  }
  .menuzord #aboutMenu .megamenu-row .col6:last-child,
  .menuzord #bookingMenu .megamenu-row .col6:last-child {
    margin-top:10px;
  }
  .megamenu img {
    max-width:320px;
  }
  .megamenu h3 {
    font-size:1.0625rem; /* 17px */
    line-height:1.2;
    letter-spacing:-.015em;
    margin:15px 0 10px;
  }
  .megamenu h4 {
    font-size:.96875rem; /* 15.5px */
    line-height:1.25;
    letter-spacing:-.01em;
    margin:10px 0;
  }
}

/* PHOTO REEL & TITLE BAR; latter on tour pages only */
@media (max-width:1000px) {
  div#photoPageTitle {
    display:none;
  }
  div#pageTitle {
    display:block;
  }
}

/* STICKY NAV BAR */
@media (max-width:1100px) {
  body.stickyNavStuck div#stickyPageTitle {
    z-index:1; /* over nav drop shadow */
  }
  div#stickyPageTitle ul.tourSelector {
    display:none;
  }
  div#stickyNavBar nav {
    height:2.5em;
    position:relative;
    box-sizing:content-box; /* so border is not counted towards height */
  }
  /* remove background & drop shadow, which would stretch to include dropdowns, and instead use a pseudoelement to create the same effect */
  /*
  body.stickyNavStuck div#stickyNavBar nav {
    background:none;
    box-shadow:none;
  }
  body.stickyNavStuck div#stickyNavBar nav::before {
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    z-index:-1;
    background:#fff;
    box-shadow:0 2px 6px rgba(0,0,0,.3);
  }
  */
  div#stickyNavBar nav .pageWidth {
    padding:0;
  }
  div#stickyNavBar.sticky nav .pageWidth {
    position:absolute; /* this takes the nav out of the flow */
  }
  div#stickyNavBar nav .pageWidth > span {
    border-left:thin solid #ddd;
  }
  div#stickyNavBar nav .pageWidth > span:first-child {
    border:none;
  }
  body.stickyNavStuck div#stickyNavBar.sticky nav .pageWidth > span.tourSelector {
    display:block;
  }
  div#stickyNavBar nav label {
    display:block;
    position:relative;
    padding:.5em 3em .5em 25px; /* match .pageWidth side padding and allow room for arrow */
    line-height:inherit;
    cursor:pointer;
    font-weight:600;
  }
  div#stickyNavBar nav label::before {
    content:'\e809';
    position:absolute;
    right:25px; /* match .pageWidth side padding */
    width:1em;
    top:.7em;
    font-family:'friendlyplanet';
    font-size:.8em;
    line-height:inherit;
    font-weight:normal;
    speak:none;
    margin:0;
    color:#999;
  }
  div#stickyNavBar nav span.open label::before {
    content:'\e80a';
  }
  div#stickyNavBar nav span:hover label::before {
    color:inherit;
  }
  body.stickyNavStuck div#stickyNavBar.sticky nav label::before {
    right:1em; /* make right position more modest once backToTop link appears */
  }
  div#stickyNavBar.sticky nav a.backToTop {
    display:none;
  }
  body.stickyNavStuck div#stickyNavBar.sticky nav .backToTop {
    display:block;
    padding:.75em 25px .25em; /* match .pageWidth side padding */
    border-left:thin solid #ddd;
  }
  div#stickyNavBar nav ul {
    /* margin:0 -1px; /* compensate for border */
    max-height:0;
    overflow:hidden;
    transition:max-height .25s ease-out;
    box-shadow:0 2px 6px rgba(0,0,0,.3);
  }
  div#stickyNavBar nav span.open ul {
    max-height:480px;
  }
  div#stickyNavBar nav ul li {
    display:block;
    margin:0;
    border-top:1px solid #ddd;
  }
  div#stickyNavBar nav ul li span,
  div#stickyNavBar nav ul li a {
    display:block;
    padding:.5em 25px; /* match .pageWidth side padding */
    color:inherit;
  }
}
@media (max-width:625px) {
  /* match .pageWidth padding */
  div#stickyNavBar nav label {
    padding-left:15px;
    padding-right:2em;
  }
  body.stickyNavStuck div#stickyNavBar.sticky nav a.backToTop {
    padding-left:15px;
    padding-right:15px;
  }
}
@media (max-width:500px) {
  body.stickyNavStuck div#stickyNavBar.sticky nav .pageWidth > span.tourSelector {
    display:none;
  }
}

/* FOOTER */
@media only screen and (max-width:1025px) {
  nav#footerMenu {
    /*
    margin-right:0;
    margin-bottom:30px;
    padding-bottom:6px;
    */
  }
  footer#siteFooter hr {
    /* display:none; */
  }
  p#footerDisclaimer {
    clear:both;
    margin-right:0;
    margin-top:2.5em;
    /* padding-top:2em; */
  }
}
@media only screen and (max-width:767px) {
  div#footerConnect {
    margin-top:0;
  }
  ul#footerSocial {
    max-width:500px;
    margin-left:auto !important;
    margin-right:auto  !important;
    /*justify-content:space-between;*/
  }
  nav#footerMenu ul ul li {
    margin-top:.65em;
  }
}
@media only screen and (max-width:600px) {
  div#footerCatalog img {
    display:none;
  }
  ul#footerSocial {
    /*
    position:relative;
    top:auto;
    right:auto;
    float:none;
    text-align:left;
    vertical-align:top;
  */
  }
  nav#footerMenu ul {
    display:none;
  }
  #footerMobileMenu {
    display:block;
    width:100%;
  }
  #footerMobileMenu select {
    border:1px solid #aaa;
    box-shadow:0 1px 0 1px rgba(0,0,0,.04);
    /*background:linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);*/
  } 
  .jsActive #footerMobileMenu input {
    display:none;
  } 
  .jsActive #footerMobileMenu select {
    width:100%;
  }
  div#footerCatalog,
  div#footerConnect {
    /* margin: 0; */
  }
  div#footerTrust li {
    list-style:none;
    margin:0;
    padding:20px 10px;
    width: 50%;
  }
  div#footerCatalog, div#footerConnect {
    text-align:center;
  }
  ul#footerSocial a {
    font-size:50px;
  }
}

/* TOUR PAGE */

/* TOUR PAGE CONSOLES */
@media (max-width:1000px) {
  #tourConsoles {
    display:none;
  }
  #tourConsoleBtns {
    display:block;
  }
  #bookingConsole,
  #notifyConsole {
    display:none !important;
  }
}

/* DATES & FESS TABLES */
@media (max-width:700px) {
  #tourOptionsFees {
    display:none;
  }
}

/* TOUR FAQS */
@media (max-width:500px) {
  ul.tourFAQs li {
    padding-left:54px;
  }
  ul.tourFAQs li img {
    margin-left:-54px;
    max-width:42px;
  }
  ul.tourFAQs a {
    font-size:1.1em;
  }
}
@media (max-width:800px) {
  #tourCommonFAQs #FAQsBlock {
    margin-left:0;
  }
}

/* TOUR PAGE HEADINGS & PRICES */
@media (max-width:950px) {
  div.tourPriceBar big {
    font-size:2.25rem; /* 36px */
    line-height:2.25rem;
  }
  div.tourPriceBar .rating .stars-outer,
  div.tourPriceBar .rating .stars-inner {
    font-size:1.75rem; /* 28px */
  }
}
@media (max-width:800px) {
  div.tourPriceBar > span {
    margin-right:1.0625rem;
    padding-right:1.28125rem;
  }
  div.tourPriceBar big {
    font-size:2.125rem; /* 34px */
    line-height:2.125rem;
    letter-spacing:-.035em;
  }
  div.tourPriceBar .rating .stars-outer,
  div.tourPriceBar .rating .stars-inner {
    font-size:1.625rem; /* 26px */
  }
}
@media (max-width:600px) {
  div.tourPriceBar {
    font-size:.8125rem; /* 13px */
  }
  div.tourPriceBar big {
    font-size:calc(4vw + 10px);
    line-height:calc(4vw + 10px);
  }
  div.tourPriceBar .rating .stars-outer,
  div.tourPriceBar .rating .stars-inner {
    font-size:1.5rem; /* 24px */
  }
}
@media (max-width:400px) {
  div.tourPriceBar {
    font-size:.78125rem; /* 12.5px */
  }
  div.tourPriceBar > span {
    margin-right:.9375rem;
    padding-right:1.125rem;
  }
  div.tourPriceBar big {
    font-size:1.625rem; /* 26px */
    line-height:1.625rem;
    letter-spacing:-.03em;
  }
  div.tourPriceBar .rating .stars-outer,
  div.tourPriceBar .rating .stars-inner {
    font-size:1.375rem; /* 22px */
  }
}

/* TOUR OVERVIEW */
@media (max-width:525px) {
  table.tourOverview,
  table.tourOverview td {
    display:block;
  }
  table.tourOverview td:nth-child(odd) {
    width:auto;
    border:none;
    padding:1em 0 .25em;
  }  
  table.tourOverview td:nth-child(even) {
    padding:.25em 0 1em;
  }  
}
/* TOUR INTRO, FEATURES & HIGHLIGHT */
@media (max-width:600px) {
  div.tourIntro {
    font-size:1.09375rem; /* 17.5px */
  }
}
@media (max-width:500px) {
  div.tourIntro {
    font-size:1.03125rem; /* 16.5px */
  }
}
@media (max-width:400px) {
  div.tourIntro {
    font-size:.96875rem; /* 15.5px */
  }
}

/* TOUR ITINERARY & MAP */
@media (max-width:750px) {
  figure.itinMap {
    float:none;
    width:100%;
    max-width:480px;
    margin:1em 0 3em;
    padding:0;
  }
}

/* DETAILED ITINERARIES & COLLAPSIBLE SECTIONS */
@media (max-width:800px) {
  .expandoBlock > h3.title {
    font-size:1.375rem; /* 22px */
  }
}
@media (max-width:625px) {
  .expandoBlock {
    padding-left:15px;
    padding-right:15px;
  }
  .expandoBlock > .title {
    margin-left:-15px;
    margin-right:-15px;
    padding-left:15px;
  }
}
@media (max-width:600px) {
  .expandoBlock {
    margin-top:20px;
    margin-bottom:20px;
  }
  .expandoBlock > div.title {
    font-size:1.25em;
  }
  .expandoBlock > h3.title {
    font-size:calc(1.5vw + 13px);
  }
}
@media (max-width:500px) {
  .expandoBlock > div.title {
    font-size:1.2em;
		font-weight:600;
  }
}
@media (max-width:400px) {
  .expandoBlock > div.title {
    font-size:1.15em;
  }
  .expandoBlock > h3.title {
    font-size:1.1875rem; /* 19px */
    padding-top:12px;
    padding-bottom:12px;
  }
  .expandoBlock > .title > .expandBtn {
    top:10px;
  }
}
@media (max-width:625px) {
  .expandoList .item .title {
    padding-left:15px;
  }
  .expandoList .item .detail {
    padding-left:15px;
    padding-right:15px;
  }
}
@media (max-width:500px) {
  .expandoList > p.instructions,
  .expandoList .expandAll {
    display:none;
  }
  .expandoList > p.instructions + div.day {
    /* get rid of border & extra space when hiding instructions */
    border-top:none;
    padding-top:0;
  }
}
@media (max-width:700px) {
  .expandoList.itinerary div.day {
    padding-left:1.75em;
  }
  .expandoList.itinerary div.day span.itinDay {
    margin:0 1em 0 -1.75em;
    width:auto;
    height:auto;
    padding:.25em .75em;
    border-radius:1em;
    line-height:inherit;
    text-align:left;
  }
  .expandoList.itinerary > .item {
    margin-left:1.75em;
  }
}
@media (max-width:600px) {
  .expandoList.itinerary div.day span.itinPlace {
    font-size:1.25em;
  }
}
@media (max-width:500px) {
  .expandoList.itinerary div.day {
    padding-left:0;
  }
  .expandoList.itinerary div.day span.itinDay {
    float:none;
    margin:0 .4em 0 0;
    padding:0;
    border:none;
    background:none;
  }
  .expandoList.itinerary div.day span.itinDay:after {
    content:':';
  }
  .expandoList.itinerary div.day span.itinPlace {
    font-size:1.2em;
  }
  .expandoList.itinerary > .item {
    margin-left:0;
  }
}

/* TOUR & COUNTRY SELECTORS (BYG, terms, visas page, etc.) */
@media screen and (max-width:500px) {
  form.selectorForm {
    flex-flow:row wrap;
    font-size:1em;
  }
}

/* MODALS/FRAMED PAGES */
@media (max-width:600px), screen and (max-height: 600px) {
  /* frameset bar is not really useful on mobile devices and takes up room, so hide it */
  #framesetBar {
    display:none;
  }
}