The top margin was specified as -35px; the new code uses css transforms and this technique to ensure the buttons are exactly inline.
.home-page .actions {
background: #323f48;
max-width: 1000px;
margin: -35px auto 0 auto;
position: relative;
padding: 1%;
z-index: 3;
}
.home-page .actions{
background: #323f48;
max-width: 1000px;
margin: 0 auto;
position: relative;
padding: 1%;
z-index: 3;
top:50%;
transform:translateY(-50%);
}
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."
<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?">
<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?">
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.
.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;
}
}
.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;
}
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.
@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;
}
}
@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;
}
}
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.
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.
<div class="content" style="bottom: -423px;">
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.
.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';
}
.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)
});
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:.
@media(max-width: 1300px){
#Navigation ul.primary{
margin: 6px 0 0 8%
}
}
@media(max-width: 1300px){
#Navigation ul.primary{
margin: 9px 0 0 8%
}
}
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.
.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;
}
.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;
}
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.
@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;
}
}
@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;
}
}
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.
div class="video-wrap" style="background: url(//img.youtube.com/vi/yoRIb64aXZI/maxresdefault.jpg) center center no-repeat; background-size: cover;"
style="background: url(//img.youtube.com/vi/yoRIb64aXZI/maxresdefault.jpg)
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.
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?
@media screen and (max-width: 767px){
.grid-section .row{
width:100%;
}
}
@media (max-width: 768px){
#LatestNews{
margin: -105px 0 40px 0;
}
}
@media screen and (max-width: 767px){
.grid-section .row{
padding: 0 20px;
}
}
@media (max-width: 768px){
#LatestNews{
margin: -40px 0 40px 0;
}
}
The text has padding left and right which isn't required because the text is centralised.
.map-scroll .ra-card .button{
width: 49%;
min-width: 0;
padding: 17px 6px;
}
.map-scroll .ra-card .button{
width: 49%;
min-width: 0;
padding: 17px 0;
}
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.
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.
.multi-dropdown dd ul.active {
max-height: 2000px;
}
.multi-dropdown dd ul.active {
max-height: 2000px;
z-index: 100;
}
.load-more {
margin-bottom: 30px;
}
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.
#Navigation .primary .sub-menu.active ul.level-2 {
opacity: 1;
visibility: visible;
}
#Navigation .primary .sub-menu.active ul.level-2 {
opacity: 1;
visibility: visible;
overflow-y: scroll;
}
onclick="window.scrollTo(0, 0);"
.map-scroll .ra-card .button
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?
Adding a top border to match the footer colour is a simple way to create space and contrast.
@media(max-width: 768){
#Newsletter{
text-align: center;
padding: 30px 0;
}
}
@media(max-width: 768){
#Newsletter{
text-align: center;
padding: 30px 0;
border-top: 60px solid #323f48;
}
}
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?
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>
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>
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.
@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;
}
}
@media (max-width: 767px){
.ta-top{
display: none;
}
button.wishlist{
margin: 10px 0 0 25px;
}
.accommodation-page .at-a-glance{
margin-bottom: 0;
}
}