Top ⇧

Flexiski Updates

Contents

  1. FLEXI-2: Homepage buttons slightly too low
  2. FLEXI-11: Homepage "discover something new" pop-up site fade
  3. FLEXI-85: Quote me mobile brings up keyboard
  4. FLEXI-88: Mobile accommodation page resort guide profile not centered
  5. FLEXI-98: Mobile maps - too much info?
  6. FLEXI-99: Mobile - adding resort to wish list
  7. FLEXI-104: Meet the team - no info showing
  8. FLEXI-109: Bucket list - filters
  9. FLEXI-128: Top Nav
  10. FLEXI-137: Mobile header image text
  11. FLEXI-138: Mobile menu scroll
  12. FLEXI-140: Video grey holding image
  13. FLEXI-141: Footer
  14. FLEXI-143: Resort guide - staff member background
  15. FLEXI-146: Blog - mobile text wrapping
  16. FLEXI-147: "Accommodation" CTA in list view
  17. FLEXI-149: Mobile accommodation page - trip advisor
  18. FLEXI-156: Bucket List - buggy
  19. FLEXI-157: All destination - can't click & other issues
  20. FLEXI-158: Mobile menu - no wishlist
  21. FLEXI-159: Newsletter sign up
  22. FLEXI-160: Resort map - cards drop down
  23. FLEXI-161: Accommodation page - top info spacing

FLEXI-2: Homepage buttons slightly too low

Solution

The top margin was specified as -35px; the new code uses css transforms and this technique to ensure the buttons are exactly inline.

Old code:

.home-page .actions { background: #323f48; max-width: 1000px; margin: -35px auto 0 auto; position: relative; padding: 1%; z-index: 3; }

New code:

.home-page .actions{ background: #323f48; max-width: 1000px; margin: 0 auto; position: relative; padding: 1%; z-index: 3; top:50%; transform:translateY(-50%); }

FLEXI-11: Homepage "discover something new" pop-up site fade

Solved by Mike Burgess


FLEXI-85: Quote me mobile brings up keyboard

Solution

From Stack Overflow, "By setting the input field to readonly="true" you should prevent anyone typing anything in it, but still be able to launch a click event on it."

Old code

<input type="text" name="0bcd2966-cb97-47ec-dfd5-6801ef1dc4df" id="0bcd2966-cb97-47ec-dfd5-6801ef1dc4df" class="daterangepickerfield" value="" data-val="true" data-val-required="Please provide a value for What dates would you like to go?">

New code

<input type="text" name="0bcd2966-cb97-47ec-dfd5-6801ef1dc4df" id="0bcd2966-cb97-47ec-dfd5-6801ef1dc4df" class="daterangepickerfield" value="" data-val="true" readonly="true" data-val-required="Please provide a value for What dates would you like to go?">

FLEXI-88: Mobile accommodation page resort guide profile not centered

Issue appears to have already been fixed.


FLEXI-98: Mobile maps - too much info?

Partial Solution

Reducing padding and margin on elements avoids having to tackle the tricky search box z-index issue but it needs testing. Would be better to clear the search box instead.

Old code:

.gm-style-iw .title { margin: 15px 0; display: block; } .gm-style-iw .content p { font-size: 10px; font-size: 1em; line-height: 1.5em; margin: 0 0 20px 0; .gm-style .gm-style-iw>div{ overflow: visible !important; padding: 7px 0; } }

New code:

.gm-style-iw .title { margin: 0; display: block; } .gm-style-iw .content p { font-size: 10px; font-size: 1em; line-height: 1.5em; margin: 0; padding: 10px 0; } .gm-style .gm-style-iw>div{ overflow: visible !important; padding: 0; }

FLEXI-99: Mobile - adding resort to wish list

Solution

The modal lightbox fills the entire screen; it needs to begin below the double header bar and the height adjusted accordingly to prevent unnecessary scroll.

Old code:

@media(max-width:767px){ .lightbox.active{ -webkit-transform: scale(1) translate(-50%,-50%); -moz-transform: scale(1) translate(-50%,-50%); -ms-transform: scale(1) translate(-50%,-50%); -o-transform: scale(1) translate(-50%,-50%); transform: scale(1) translate(-50%,-50%); top: 0; overflow: auto; } .lightbox{ top: 100%; width: 100%; -webkit-transform: scale(1) translate(0); -moz-transform: scale(1) translate(0); -ms-transform: scale(1) translate(0); -o-transform: scale(1) translate(0); transform: scale(1) translate(0); animation: cubic-bezier(0.55,0,0.1,1)FLEXI-156; height: 100%; left: 0; } }

New code:

@media(max-width:767px){ .lightbox.active{ -webkit-transform: scale(1) translate(-50%,-50%); -moz-transform: scale(1) translate(-50%,-50%); -ms-transform: scale(1) translate(-50%,-50%); -o-transform: scale(1) translate(-50%,-50%); transform: scale(1) translate(0%); top: 10em; } .lightbox{ top: 100%; width: 100%; -webkit-transform: scale(1) translate(0); -moz-transform: scale(1) translate(0); -ms-transform: scale(1) translate(0); -o-transform: scale(1) translate(0); transform: scale(1) translate(0); animation: cubic-bezier(0.55,0,0.1,1); height: calc(100% - 10em); left: 0; } }

FLEXI-104: Meet the team - no info showing

Solution

Very clunky experience - the member panels don't always line up correctly and sometimes opening a panel messes the layout up. This causes the accordian windows to open in different sections of the screen, jumping the user around. I recommend changing it to the simple modal window used when clicking the quote me" button, with a scroll to allow for the additional content.

Having said that, it looks to be a "last-child" issue, it seems the javascript only works when the members are part of an odd and even pair. The staff are split over two pages - 9 on the first, 7 on the second. Putting 8 on each should prevent this issue.


FLEXI-109: Bucket list - filters

Solution for missing content panel

The information overlay is in a div hidden below the image with a class of "content". This has an inline style of style="bottom: -###px;" which is then removed when a filter is applied. This either needs adding into the main stylesheet, or a separate class creating which can be applied to the element.

Code:

<div class="content" style="bottom: -423px;">

Solution for filters

When a filter is selected its tag appears in the select box. Using css, a close icon can be applied to each filter tag, and by adding an event listener to the click it can be directed to the existing function to remove the filter.

The issue here is that the filters appear in the select box; which means tryig to click there will only open select box. It would be better if the chosen filter tags appeared below the select box where they csan be interacted with.

Old code:

.multiSel span{ cursor: pointer; display: inline-block; padding: 0 3px; background: #ffa400; color: #fff; border-radius: 4px; margin: 0 2px; font-family: 'Helvetica Neue LT W01_35 Thin'; }

New code:

.multiSel span::after { content: " \00D7"; }

Call the function on line 31391 of this javascript file :

$("main").on("click", "button[data-wish-list-remove]", function(t) { t.preventDefault(); var i = $(this).data("wish-list-remove"); n("remove", i) });

FLEXI-128: Top Nav

Solution

The gap at the bottom of the navbar causes the mouse to exit the menu unless it's exactly lined up with the css upwards-pointing arrow. Simply remove the gap to prevent this from happening by moving the menu down a couple of pixels:.

Old code:

@media(max-width: 1300px){ #Navigation ul.primary{ margin: 6px 0 0 8% } }

New code:

@media(max-width: 1300px){ #Navigation ul.primary{ margin: 9px 0 0 8% } }

FLEXI-137: Mobile header image text

Solution

The font size is simply too big for mobiles; I have found this to be a common problem with iPhones that typically display text bigger than their android counterparts. This needs to be applied for the mobile phone breakpoint css only.

Old code:

.banner-content h1{ font-size: 43px; font-size: 4.3em; line-height: 1em; font-family: 'Helvetica Neue LT W01_77 Bd Cn'; letter-spacing: 0.15em; text-transform: uppercase; letter-spacing: 0.2em; }

New code:

.banner-content h1{ font-size: 43px; font-size: 3em; line-height: 1em; font-family: 'Helvetica Neue LT W01_77 Bd Cn'; letter-spacing: 0.15em; text-transform: uppercase; letter-spacing: 0.2em; }

FLEXI-138: Mobile menu scroll

Solution

Simply add scroll ability to the menu divs. Initially considered reducing element count and spacing, but this would affect usability and there's no way to account for all phone screens. Set the background declaration for the second level menu to be the Flexiski blue-grey.

Old code:

@media(max-width:1100){ #Navigation.nav-active ul.primary{ right: 5%; } #Navigation li ul.level-2{ position: absolute; left: 100%; height: 100%; min-height: 100%; top: 0; padding: 30px; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; z-index: 2; width: 100%; background: #3c3c3b; } }

New code:

@media(max-width:1100){ #Navigation.nav-active ul.primary{ right: 5%; overflow-y: scroll; } #Navigation li ul.level-2{ position: absolute; left: 100%; height: 100%; min-height: 100%; top: 0; padding: 30px; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -ms-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; z-index: 2; width: 100%; background: #323f48; } }

FLEXI-140: Video grey holding image

Solution

I suggest this is down to missing images; it defaults to youtube's default placeholder image, but on other pages there is the correct Flexiski background image in place. The style is inline on the video-wrap div containing the video.

Code:

div class="video-wrap" style="background: url(//img.youtube.com/vi/yoRIb64aXZI/maxresdefault.jpg) center center no-repeat; background-size: cover;"

Key component:

style="background: url(//img.youtube.com/vi/yoRIb64aXZI/maxresdefault.jpg)

FLEXI-141: Footer

Solution

I would suggest only at the biggest breakpoint does the footer look slightly wrong; it works fine on mobile and tablet. When it breaks into four columns it is compromised.


FLEXI-143: Resort guide - staff member background

Cannot replicate - please can you provide a screenshot?


FLEXI-146: Blog - mobile text wrapping

Solution

The latest news div has a huge negative top margin which pushes it right up against the base of the blog. The text has a set width of 100%; removing this and replacing it with a padding value will match it up with the text at the start of the blog which is in a different div container. "films leave the holding image behind" - I have been through all blogs and can't find any videos in relation to this issue?

Old code:

@media screen and (max-width: 767px){ .grid-section .row{ width:100%; } } @media (max-width: 768px){ #LatestNews{ margin: -105px 0 40px 0; } }

New code:

@media screen and (max-width: 767px){ .grid-section .row{ padding: 0 20px; } } @media (max-width: 768px){ #LatestNews{ margin: -40px 0 40px 0; } }

FLEXI-147: "Accommodation" CTA in list view

Solution

The text has padding left and right which isn't required because the text is centralised.

Old code:

.map-scroll .ra-card .button{ width: 49%; min-width: 0; padding: 17px 6px; }

New code:

.map-scroll .ra-card .button{ width: 49%; min-width: 0; padding: 17px 0; }

FLEXI-149: Mobile accommodation page - trip advisor

Solved - duplicate of bug 150


FLEXI-156: Bucket List - buggy

Suggestion

I think there is too much interactivity on this page; too much animation, too much reveal and hide. There is not enough content on each result to warrant it. I think it would be better to have the content for each post right there on the page under the image, perhaps crop the images to a widescreen ratio to reduce the vertical height, or a square ratio at least. I would also remove the double drop down filter boxes and replace with static filter toggle buttons.

Solution

Remove country names and locations from "tags" list and place all in the second drop-down "countries" but rename it "locations".

Add gap below load more button.

Old code:

.multi-dropdown dd ul.active { max-height: 2000px; }

New code:

.multi-dropdown dd ul.active { max-height: 2000px; z-index: 100; } .load-more { margin-bottom: 30px; }

FLEXI-157: All destination - can't click & other issues

Solution

See FLEXI-138 for how to fix the mobile menu scroll.

After clicking "See all Destinations" and then choosing "VIEW RESORTS" the new content is dynamically loaded in, so scrolling down the menu also scrolls the page which the new content is loaded into at the top. Javascript is needed to move to the top of the page after clicking the link.

Regarding " OR shows you a resort view where the CTA text doesn't fit in the box and there's suddenly a scroller and everythings squeezed over to the left" - I have not replicated this yet.

Old code:

#Navigation .primary .sub-menu.active ul.level-2 { opacity: 1; visibility: visible; }

New code:

#Navigation .primary .sub-menu.active ul.level-2 { opacity: 1; visibility: visible; overflow-y: scroll; }

add this javascript

onclick="window.scrollTo(0, 0);"

to this element:

.map-scroll .ra-card .button

FLEXI-158: Mobile menu - no wishlist

Solution

Wishlist link exists but has no heart icon - has secondary text instead. has the client missed this or do they want the icon showing as per the desktop menu?


FLEXI-159: Newsletter sign up

Solution

Adding a top border to match the footer colour is a simple way to create space and contrast.

Old code:

@media(max-width: 768){ #Newsletter{ text-align: center; padding: 30px 0; } }

New code:

@media(max-width: 768){ #Newsletter{ text-align: center; padding: 30px 0; border-top: 60px solid #323f48; } }

FLEXI-160: Resort map - cards drop down

Solution

This select box doesn't actually work; I suggest replacing it with the design element used one level higher on the site on the destination page. Is there a reason this wasn't done in the first place?

Old code:

As found on flexiski.com/destinations/austria/st-anton/

<div class="mobile-switch">
	<span class="intro">View</span>
		<span id="" class="selectboxit-container selectboxit-container" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" aria-owns="">
			<span id="" class="selectboxit text-dd selectboxit-enabled selectboxit-btn selectboxit-hover" name="" tabindex="-1" unselectable="on" style="width: 503px;">
				<span class="selectboxit-option-icon-container">
					<i id="" class="selectboxit-option-icon  selectboxit-container selectboxit-default-icon" unselectable="on"></i>
				</span>
			<span id="" class="selectboxit-text" unselectable="on" data-val="Cards" aria-live="polite" style="max-width: 245px;">Cards</span>
		<span id="" class="selectboxit-arrow-container" unselectable="on">
			<i id="" class="selectboxit-arrow selectboxit-default-arrow" unselectable="on"></i>
		</span>
	</span>
	<ul class="selectboxit-options selectboxit-list" tabindex="-1" style="min-width: 373px;" role="listbox" aria-hidden="true">
		<li data-id="#Accommodation_Listing" data-val="Cards" data-disabled="false" class="selectboxit-option  selectboxit-option-first selectboxit-selected" role="option">
			<a class="selectboxit-option-anchor">
				<span class="selectboxit-option-icon-container">
					<i class="selectboxit-option-icon  selectboxit-container"></i>
				</span>Cards
			</a>
		</li>
		<li data-id="#ResortMap" data-val="Map" data-disabled="false" class="selectboxit-option  selectboxit-option-last" role="option">
			<a class="selectboxit-option-anchor">
				<span class="selectboxit-option-icon-container">
					<i class="selectboxit-option-icon  selectboxit-container"></i>
				</span>Map
			</a>
		</li>
	</ul>
	<select class="text-dd has-value" style="display: block; visibility: visible; width: 375px; height: 50px; opacity: 0; position: absolute; top: 0px; left: 0px; cursor: pointer; z-index: 999999; margin: 0px; padding: 0px; -webkit-appearance: menulist-button;">
            <option data-id="#Accommodation_Listing" value="Cards">Cards</option>
            <option data-id="#ResortMap" value="Map">Map</option>
        </select>
    </span>
</div>

New code:

As found on flexiski.com/destinations/austria/

<div class="maplist-switch cf"> <span data-switch="map" class="active">Map</span> <span data-switch="list" class="">List</span> </div>

FLEXI-161: Accommodation page - top info spacing

https://www.flexiski.com/destinations/canada/banff/sunshine-mountain-lodge/

Solution

Spacing reduced between elements and Trip Advisor image hidden.

Regarding "Overview features should be displayed in one line without the need to scroll" - this will require a rewrite of the code to remove javascript functionality. A simple list will meet the client's request; however I would recommend it is a vertical list rather than a horizontal one, which then makes the page even longer. Perhaps they will be satisfied with just the reduction of space from the other areas as detailed below.

Old code:

@media (max-width: 767px){ .ta-top{ margin: 0 0 30px 0; } button.wishlist{ margin: 30px 0 0 25px; } .accommodation-page .at-a-glance{ margin-bottom: 25px; } }

New code:

@media (max-width: 767px){ .ta-top{ display: none; } button.wishlist{ margin: 10px 0 0 25px; } .accommodation-page .at-a-glance{ margin-bottom: 0; } }