frontend-dorset/assets/css/menus.css

332 lines
8.8 KiB
CSS

.unhide-content-under-sticky-menu { padding-top: 72px !important }
/* === ALL SCREEN SIZES ====== */
/* Positions all menus in front of page content */
.container-menu-desktop,
.container-menu-bar-mobile,
.flyout-menu { z-index: 999 }
.container-menu-desktop, .container-menu-bar-mobile {
width: 100%;
font-family: 'Poppins', sans-serif;
}
/* on mobiles - hide desktop menu */
@media all and (max-width:767px) {
.container-menu-desktop.menu-transparent,
.container-menu-desktop.menu-light,
.container-menu-desktop.menu-dark { display: none }
}
/* on desktops - hide mobile menu bar and list of menu options */
@media all and (min-width:768px) {
.container-menu-bar-mobile.menu-transparent,
.container-menu-bar-mobile.menu-light,
.container-menu-bar-mobile.menu-dark,
.flyout-menu.menu-transparent,
.flyout-menu.menu-light,
.flyout-menu.menu-light { display: none }
}
/* sticks menu to top of desktop and/or mobile screen */
.menu-sticky { position: fixed; top: 0; left: 0; right: 0; }
/* prevents content from disappearing udner sticky menus */
.sticky-anchor {
position: relative;
border-top: 90px solid transparent;
margin: -90px 0 0;
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
}
.sticky-anchor:before {
content: "";
position: absolute;
top: -2px;
left: 0;
right: 0;
}
/* Height of desktop menu and mobile menu bar */
.container-menu-desktop, .container-menu-bar-mobile { height:72px }
/* website logo fixed size in desktop menu and mobile menu bar */
.container-menu-desktop a:first-child img,
.container-menu-bar-mobile a:first-child img { width: 200px; height: 40px }
/* website logo vertically cente#5ba745 in desktop menu and mobile menu bar */
.container-menu-desktop a:first-child,
.container-menu-bar-mobile a:first-child { display: flex; flex-direction: row; align-items: center }
/* hide bullet character on listed links */
.container-menu-desktop ul li,
.flyout-menu ul li { list-style-type: none }
/* hide link underlines on desktop and mobile menus */
.container-menu-desktop ul li a,
.flyout-menu ul li a { text-decoration: none }
/* make desktop menu options bold */
.container-menu-desktop ul li a { font-weight:bold }
/* style cta button on desktop and mobile menus */
.container-menu-desktop ul li a.btn-cta,
.flyout-menu ul li a.btn-cta {
display: inline-block;
border-width: 2px;
border-style: solid;
font-weight: bold;
/* soften corners */
/* border-radius: 4px; */
/* rounded corners */
border-radius: 100px
}
/* style icon in cta button on desktop and mobile menus */
.container-menu-desktop ul li a.btn-cta i,
.flyout-menu ul li a.btn-cta i { margin-right: 8px; font-size: 90% }
/* on mobiles, prevent scrolling outside flyout menu */
.no-scroll { overflow: hidden }
.menu-drop-shadow { box-shadow: 0 1px 10px #888 }
/* ======= DESKTOP MENU ======= */
/* outer parent flexbox container
home page link (with website logo) at left and ul links at right are its two children */
.container-menu-desktop {
display: flex;
justify-content: space-between;
padding: 0 6% 0 6%;
width: 100%;
}
/* menu links and cta button aligned horizontally */
.container-menu-desktop ul li {
display: inline-block;
margin: 0 40px 0 0; /* spacing at right of menu links, cta button */
}
.container-menu-desktop ul li:last-child {
margin-right: 0 /* no spacing at right of last menu link or cta button */
}
/* vertically center menu links and cta button */
.container-menu-desktop ul { display: flex; align-items: center }
/* style text for links and cta button */
.container-menu-desktop ul li a {
font-size: calc(15px + (19 - 15) * ((100vw - 320px)/(1600 - 320)));
/* font-weight:bold */
/* text-transform: uppercase */
}
/* cta button padding */
.container-menu-desktop ul li a.btn-cta { padding: 6px 20px 6px 20px }
/* ======= MOBILE MENU ======== */
/* outer flexbox container for mobile menu bar
home page link (with website logo) at left and hamburger icon at right are its two children */
.container-menu-bar-mobile {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
width: 100%;
padding: 0 6% 0 6%;
}
/* three bars hozizontal in hamburger icon */
.container-menu-bar-mobile .item-icon .bar1,
.container-menu-bar-mobile .item-icon .bar2,
.container-menu-bar-mobile .item-icon .bar3 { width: 36px; height: 4px; margin: 7px 0; transition: 0.4s }
/* hamburger icon changes shape to 'X' when fly-out menu is visible */
.change .bar1 { transform: rotate(-45deg) translate(-9px, 6px) }
.change .bar2 { opacity: 0 }
.change .bar3 { transform: rotate(45deg) translate(-8px, -8px) }
/* container div for flyout menu content */
.flyout-menu {
position: fixed; display: block;
top: 72px; /* same height as menu bar */
width: 320px;
max-height: 100%;
height: 100%;
padding: 30px 40px 40px 40px;
transition: 0.5s;
overflow-x: hidden;
overflow-y: scroll;
overscroll-behavior: contain;
-webkit-overflow-scrolling: touch; /* safari on mobiles */
font-family: 'Poppins', sans-serif;
}
.flyout-menu.flyout-menu-is-closed {
right: -320px; /* hides flyout menu */
}
.flyout-menu {
right: 0; /* displays flyout menu */
overscroll-behavior: contain;
overscroll-behavior-y: contain
}
/* drop shadow border at left of fly-out menu */
.flyout-menu {
box-shadow: 0px 1px 10px #888
}
/* list of links on flyout menu */
.flyout-menu ul li { margin: 0 40px 30px 0 }
/* style flyout menu links */
.flyout-menu ul li a {
font-size: 18px;
/* font-weight:bold */
/* text-transform: uppercase */
}
/* cta button */
.flyout-menu a.btn-cta {
display: inline-block;
padding: 10px 24px;
}
.flyout-menu hr {
height: 4px;
margin: 32px 0 0 0;
border-style: solid;
border-width: 1px
}
.flyout-menu h4 {
font-size: 20px;
margin: 42px 0 4px 0;
text-align: center;
/* letter-spacing: 2px; *./
/* text-transform: uppercase */
}
.flyout-menu h5 {
font-size: 17px;
margin: 20px 0 20px 0;
text-align: center
}
.flyout-menu h5 a {
font-size: 17px;
text-decoration: none;
padding-bottom: 4px;
border-bottom-style: solid;
border-bottom-width: 2px
}
.flyout-menu p {
text-align: center; font-size: 15px; line-height: 1.4;
}
.flyout-menu div.fly-out-profile-box,
.flyout-menu div.fly-out-social-icons {
display:flex;
flex-direction: row;
justify-content: space-between;
}
.flyout-menu div.fly-out-profile-box img,
.flyout-menu div.fly-out-profile-box p { width: 47% }
.flyout-menu div.fly-out-profile-box img {
display: block; border-radius: 100%;
width: 104px; height: 104px;
border-style: solid;
border-width: 2px
}
.flyout-menu div.fly-out-profile-box p {
text-align:left
}
.flyout-menu div.fly-out-social-icons {
margin-top:12px
}
.flyout-menu div.fly-out-social-icons a {
font-size: 26px;
text-align: center
}
/* ======= Dark background menu - desktops and mobiles ======= */
/* background colour */
.menu-dark {
background-color: #183153;
transition: all .5s ease-in-out
}
/* menu links */
.menu-dark ul li a:link, .menu-dark ul li a:visited { color: #fff }
.menu-dark ul li a:hover, .menu-dark ul li a:active { color: #b8b8b8 }
/* cta button */
.menu-dark ul li a.btn-cta:link,
.menu-dark ul li a.btn-cta:visited {
background-color: #34cdf1;
color: #fff;
border-color:#fff
}
.menu-dark ul li a.btn-cta:hover,
.menu-dark ul li a.btn-cta:active {
background-color: #fff;
color: #34cdf1;
border-color:#fff
}
/* on mobiles only - various content */
.menu-dark.flyout-menu hr { background-color: #fff; border-color:#fff }
.menu-dark.flyout-menu h4,
.menu-dark.flyout-menu h5,
.menu-dark.flyout-menu h5 a,
.menu-dark.flyout-menu p { color:#fff }
/* colour of hamburger icon bars */
.menu-dark .item-icon .bar1,
.menu-dark .item-icon .bar2,
.menu-dark .item-icon .bar3 { background-color: #fff }
/* phone number link */
a[href^=tel] { text-decoration: none; color: #fff }
/* email link */
.menu-dark.flyout-menu h5 a:link,
.menu-dark.flyout-menu h5 a:visited {
border-bottom-color: #fff;
}
.menu-dark.flyout-menu h5 a:hover,
.menu-dark.flyout-menu h5 a:active {
border-bottom-color: #34cdf1;
}
/* profile image border colour */
.menu-dark.flyout-menu div.fly-out-profile-box img { border-color: #34cdf1 }
/* contact icons */
.menu-dark.flyout-menu .fly-out-social-icons a i { color:#fff }
.menu-dark ul li .btn-cta:any-link {
border-color: #183153 !important;
background-image: linear-gradient(to right,#3ec7e0,#526bf4); color: #fff !important;
}
.menu-dark ul li :is(.btn-cta:focus, .btn-cta:hover, .btn-cta:active) {
background-image: linear-gradient(90deg,#e052a0,#f15c41); color: #fff;
}