/* ==========================================================================
* File Name: Variable
* Description: List of all variables used in Beet
* Editing Details: Change any variable to override to the values
you choose
Ensure to recompile this SASS file after modification
* Attn: Variables are organized according to sections/type for ease of reference
============================================================================ */
//GENERAL GLOBAL VARIABLES: Breakpoints, columns
$breakpoints: (
sm: 550px, //phones
md: 750px, //tablet
lg: 990px //desktop
//Your custom breakpoints
);
//Grid Columns
$grid-col: 6;
/* ==========================================================================
*
* COLOURS
* The palette is inspired of British artist Melanie Johnson's print work
* To change any colours, simply swap out the current color values for your desired ones
*
============================================================================= */
//Back ground and font colour:
//Accent colours
$accent: (
beet: #580C2D,
acai: #B43D76,
rose: #F098A4,
kale: #617C2D,
avocado: #89924F,
lettuce: #c8dcb7,
tomatoe: #EC5B2C,
orange: #EF993A,
lemon: #f9e753,
deepwater: #2a5277,
hydrangea: #6CB0DA,
wave: #C1CFD9,
//Your own accent colours
);
//Basic colours
$basic: (
mute: #F9F7EF,
dark: #1E1C1B,
peach: #F8E9D9,
//Your own basic or gradient colours
);
//Gradient of gray
$main-gray: #b4b4b3;
$light-gray: ligten($main-gray, 18%);
$dark-gray: darken($main-gray, 18%);
$extra-dark-gray: darken($main-gray, 36%);
/* ==========================================================================
*
* FONT SCALES, TYPES & WEIGHTS
* Beet has incorporated 3 types of Adobe fonts: Giulia, Forma DJP Micro, Realist
* To change any font, rename the font name into the variables below and incorporate
the corresponding font code.
*
============================================================================= */
// Fonts
$primary-font: "Giulia", san-serif;
$secondary-font: "Forma DJR Micro", serif;
$terciary-font: "Realist", serif;
$base-font-size: 16px;
$mobile-base-font-size: 14px;
$font-light: 300;
$font-regular: 400;
$font-bold: 500;
// Typographic scales
$multipliers: (
minor-third: 1.200,
major-second: 1.125,
augmented-fourth: 1.414,
// Your custom name: ratio pair
);
/* ==========================================================================
*
* HEIGHTS, PADDING & MARGIN
* Default height, padding and margin values
*
*
============================================================================= */
/* Padding */
// Size Map
$sizes: (
xs: 0.25rem,
s: 0.5rem,
m: 1rem,
l: 1.5rem,
xl: 2rem
);
$padding-xs: map-get($sizes, xs);
$padding-s: map-get($sizes, s);
$padding-m: map-get($sizes, m);
$padding-l: map-get($sizes, l);
$padding-xl: map-get($sizes, xl);
/* Margins */
$margin-xs: $padding-xs;
$margin-s: $padding-s;
$margin-m: $padding-m;
$margin-l: $padding-l;
$margin-xl: $padding-xl;
/* Line Height */
$base-line-height: 1.5em;
$large-line-height: calc(#{$base-line-height} + 1.5em);
/* Container Heights */
$height-s: 1.5rem;
$height-m: 2.5rem;
$height-l: 4.5rem;
$height-xl: 6.5rem;
$height-xxl: 8.5rem;
/* ==========================================================================
*
* BUTTONS
* Button size, background & text color
*
*
============================================================================= */
$button-s: 1rem;
$button-m: 1.1rem;
$button-l: 1.2rem;
$button-bkgd-beet: map-get($accent,beet);
$button-bkgd-kale: map-get($accent,kale);
$button-bkgd-tomatoe: map-get($accent,tomatoe);
$button-bkgd-deepwater: map-get($accent,deepwater);
$button-bkgd-dark: map-get($basic,dark);
$button-bkgd-mute: map-get($basic,mute);
$button-bkgd-gray: map-get($basic,main-gray);
$button-bkgd-peach: map-get($basic,peach);
$button-text-light:map-get($basic,mute);
$button-text-dark: map-get($basic,dark);
/* ==========================================================================
*
* CARDS
* Card colours, padding, box-shadow, and backgrounds
*
*
============================================================================= */
//General cards
$card-box-shadow: 1px 3px 9px rgba(0, 0, 0, 0.1);
$card-box-shadow-hover: 0 3px 9px rgba(0, 0, 0, 0.3);
$card-padding-l: 0rem 1.5rem;
$card-padding-m: 0rem 1rem;
$card-padding-s: 0rem 0.5rem;
$card-margin: 0 0 1rem 0;
$card-bkgd-mute: $button-bkgd-mute;
$card-bkgd-dark: $button-bkgd-dark;
$card-bkgd-rose: map-get($accent,rose);
$card-bkgd-lettuce: map-get($accent,lettuce);
$card-bkgd-wave: map-get($accent,wave);
/* ==========================================================================
*
* File Name: Grid & Layout & visibility
* Description: Flexbox Responsive Grid
* Editing Details: Do NOT modify variables or code in this file as that may
* cause Berry's responsive framework to malfunction
*
============================================================================ */
/* Border Box Model */
html {
box-sizing: border-box;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
//Layout and Visibility
.max-width-center {
width: 100%;
justify-content: center;
}
.hide {
display: none;
}
.show {
display: block;
}
//Container Spacing & Widths
.container-s, .container-m, .container-l {
height: auto;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
flex-wrap: wrap;
}
.container-s {
padding: $padding-s;
margin: 0;
}
.container-m {
padding: $padding-m;
margin: 0;
}
.container-l {
padding: $padding-l;
margin: 0;
}
//For Smartphone dimension
.container, ul {
margin: 0 auto;
display: flex;
flex-flow: row wrap;
justify-content: space-between;
--columns: 6;
}
header, main, aside, li {
/* flex-basis declaration
flex-basis: calc( calc(6/6) * 100%);
*/
--width: 6;
--initialbasis: calc(var(--width) / var(--columns) * 100%);
--gap: calc((var(--columns) - var(--width)) * 0.05%);
flex-basis: calc(var(--initialbasis) - var(--gap));
}
// For Tablet dimension
@media (min-width: 551px) {
aside, main, li {
--width: 3;
}
}
// For Desktop dimension
@media (min-width: 751px) {
main {
--width: 4;
}
aside {
--width: 2;
}
li {
--width: 3;
}
}
.container > *, li {
background-color: map-get($basic, mute);
border: 2px solid white;
border-radius: 0.5rem;
padding: $padding-m;
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
}
//Section Spacing & Widths
section {
display: block;
height: min-content;
position: relative;
}
/* General Element Widths */
h1, h2, h3, h4, h5, div{
width: 100%;
}
p, h6, img {
width: 90%;
}
/* ==========================================================================
* File Name: Font
* Description: List of all scaled font sizes and relevant spacing
*
* Fonts are set using a responsive typescale that sets font sizes along a
specified ratio. You can change the size of your fonts by changing the
multiplier map in variables.scss, by setting your own ratio as a new map key,
or by changing the base-font CSS variable below.
*
* For information about type scaling, read the link below:
https://medium.com/sketch-app-sources/exploring-responsive-type-scales-cf1da541be54
*
============================================================================= */
//General Font Style - Fonts and Weights
h1, h2, h3 {
font-family: $primary-font;
font-weight: $font-regular;
text-align: left;
}
h4, h5, h6 {
font-family: $secondary-font;
font-weight: $font-light;
text-align: left;
}
p {
font-family: $terciary-font;
font-weight: $font-light;
text-align: left;
}
a {
font-family: $primary-font;
font-weight: $font-light;
color: map-get($accent, kale);
}
.Italic-heading-font {
font-family: $primary-font;
font-style: italic;
font-weight: $font-regular;
}
.Italic-subtitle-font{
font-family: $secondary-font;
font-style: italic;
font-weight: $font-light;
}
.Italic-body-font{
font-family: $terciary-font;
font-style: italic;
font-weight: $font-light;
}
.strong {
font-weight: $font-bold;
color: map-get($accent, beet);
}
/* ============================================================================
Font Sizing
* ============================================================================ */
// Font sizing for laptop: (Breakpoint: 990px, base font size: 16px, typography scale: 1.200 minor third)
h6 {
font-size: $base-font-size;
}
h5 {
font-size: calc($base-font-size * map-get($multipliers, minor-third));
}
h4 {
font-size: calc($base-font-size * map-get($multipliers, minor-third) * map-get($multipliers, minor-third));
}
h3 {
font-size: calc($base-font-size * map-get($multipliers, minor-third) * map-get($multipliers, minor-third) * map-get($multipliers, minor-third));
}
h2 {
font-size: calc($base-font-size * map-get($multipliers, minor-third) * map-get($multipliers, minor-third) * map-get($multipliers, minor-third) * map-get($multipliers, minor-third));
}
h1 {
font-size: calc($base-font-size * map-get($multipliers, minor-third) * map-get($multipliers, minor-third) * map-get($multipliers, minor-third) * map-get($multipliers, minor-third) * map-get($multipliers, minor-third));
}
p {
font-size: calc($base-font-size / map-get($multipliers, minor-third));
}
a {
font-size: calc($base-font-size / map-get($multipliers, minor-third));
}
// Media Query Font Size: Change multiplier (typography scale) and base font size values accordinly for tablet and phone breakpoint.
// Font sizing for tablet: (Breakpoint: 750px, base font size: 16px, typography scale: 1.125 major second)
@media (max-width: map-get($breakpoints, md)) {
h6 {
font-size: $base-font-size;
}
h5 {
font-size: calc($base-font-size * map-get($multipliers, major-second));
}
h4 {
font-size: calc($base-font-size * map-get($multipliers, major-second) * map-get($multipliers, major-second));
}
h3 {
font-size: calc($base-font-size * map-get($multipliers, major-second) * map-get($multipliers, major-second) * map-get($multipliers, major-second));
}
h2 {
font-size: calc($base-font-size * map-get($multipliers, major-second) * map-get($multipliers, major-second) * map-get($multipliers, major-second) * map-get($multipliers, major-second));
}
h1 {
font-size: calc($base-font-size * map-get($multipliers, major-second) * map-get($multipliers, major-second) * map-get($multipliers, major-second) * map-get($multipliers, major-second) * map-get($multipliers, major-second));
}
p {
font-size: calc($base-font-size / map-get($multipliers, major-second));
}
a {
font-size: calc($base-font-size / map-get($multipliers, major-second));
}
};
// Font sizing for phone: (Breakpoint: 550px, base font size: 14px, typography scale: 1.125 major second)
@media (max-width: map-get($breakpoints, sm)) {
h6 {
font-size: $mobile-base-font-size;
}
h5 {
font-size: calc($mobile-base-font-size * map-get($multipliers, major-second));
}
h4 {
font-size: calc($mobile-base-font-size * map-get($multipliers, major-second) * map-get($multipliers, major-second));
}
h3 {
font-size: calc($mobile-base-font-size * map-get($multipliers, major-second) * map-get($multipliers, major-second) * map-get($multipliers, major-second));
}
h2 {
font-size: calc($mobile-base-font-size * map-get($multipliers, major-second) * map-get($multipliers, major-second) * map-get($multipliers, major-second) * map-get($multipliers, major-second));
}
h1 {
font-size: calc($mobile-base-font-size * map-get($multipliers, major-second) * map-get($multipliers, major-second) * map-get($multipliers, major-second) * map-get($multipliers, major-second) * map-get($multipliers, major-second));
}
p {
font-size: calc($mobile-base-font-size / map-get($multipliers, major-second));
}
a {
font-size: calc($mobile-base-font-size / map-get($multipliers, major-second));
}
};
/* ============================================================================
Font Spacing
* ============================================================================ */
/* Line Height */
body * {
line-height: $base-line-height;
}
/* Font Bottom Margins
*/
p {
margin: 0 0 $margin-m 0;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: $padding-m 0;
}
.large-line-height {line-height: $large-line-height;}
.small-line-height {line-height: calc($general-line-height - 0.2rem) !important;}
/* ==========================================================================
*
* FONT COLOURS
* Default font colours for general HTML text elements
*
*
============================================================================= */
$h1-font-color: map-get($accent, beet);
$body-font-color: map-get($basic, dark);
$link-font-color: map-get($accent, kale);
$hero-font-color: map-get ($basic, mute);
h1 {color: $h1-font-color}
body, h2, h3, h4, h5, h6 {color: $body-font-color}
/* ==========================================================================
*
* File Name: Navbar
* Description: Responsive Navigation Grid
* Editing Details: Change any variable you want to override to the values
you choose and recompile this SASS file
*
============================================================================ */
//General navbar
.navbar {
display: flex;
flex-wrap: wrap;
flex-direction: row;
width: 100%;
align-items: center;
justify-content: center;
}
// If there is no navbar logo, comment out .navbar-logo and change
// the flex-basis of .nav-item to 100%;
.navbar-logo, .nav-item {
display: flex;
flex-basis: 10%;
height: $height-xl;
align-items: center;
justify-content: center;
padding: $padding-xs;
.nav-img {
width: auto;
max-height: 70%;
}
}
.nav-item {
flex-basis: 90%;
padding: 0 $padding-m;
justify-content: flex-start;
align-items: center;
ul {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
list-style: none;
margin: 0.5rem 0;
padding: 0;
li {
display: inline-flex;
a {
text-decoration: none;
color: map-get($accent, acai);
font-family: $primary-font;
font-size: 1.2rem;
letter-spacing: 1.3px;
margin: 0 $margin-s;
font-weight: $font-regular;
}
a:hover {
color: map-get($accent,kale);
text-transform: capitalize;
letter-spacing: 1.5px;
}
}
}
}
.nav-left {
justify-content: flex-start;
text-align: left;
}
.nav-center {
justify-content: center;
text-align: center;
}
.nav-right {
justify-content: flex-end;
text-align: right;
}
// Navbar for smart phone
@media (max-width: map-get($breakpoints, sm)) {
.navbar {
align-items: center;
justify-content: center;
.nav-item, .navbar-logo {
height: auto;
flex-basis: 100%;
text-align: center;
align-items: flex-start;
justify-content: center;
}
ul {
align-items: center;
justify-content: center;
margin: 0.8rem 0;
}
.navbar-logo {
height: $height-l;
align-items: center;
.nav-img {
width: auto;
max-height: 70%;
}
}
}
}
//navbar color styling:
@mixin navbar-text-colour ($colour) {
color: $colour;
&:hover {
color: darken($colour, 5%);
}
&:active {
color: darken($colour, 25%);
}
}
.navbar-beet {
@include navbar-text-colour (map-get($accent,acai));
background-color: map-get($accent,beet);
}
.navbar-kale {
@include navbar-text-colour (map-get($accent,lettuce));
background-color: map-get($accent,kale);
}
.navbar-water {
@include navbar-text-colour (map-get($accent,wave));
background-color: map-get($accent,deepwater);
}
.navbar-mute {
@include navbar-text-colour (map-get($basic,dark));
background-color: map-get($basic,main-gray);
}
/* ==========================================================================
*
* File Name: Dropdown Menu
* Description: Dropdown menu option for navbar
* Editing Details: Change any variable you want to override to the values
you choose and recompile this SASS file
* Source: https://www.w3schools.com/css/tryit.asp?filename=trycss_dropdown_navbar
============================================================================ */
li.dropdown {
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: get-map($accent,lettuce);
min-width: 160px;
box-shadow: $card-box-shadow;
z-index: 1;
}
.dropdown-content a {
color: get-map($accent,kale);
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}
.dropdown-content a:hover {color: map-get($accent, tomatoe);}
.dropdown:hover .dropdown-content {
display: block;
}
/* ==========================================================================
*
* File Name: List
* Description: Unordered and ordered listed styles
* Editing Details: Do NOT modify variables or code in this file as that may
* cause Berry's responsive framework to malfunction
*
============================================================================ */
ul.a {
list-style-type: circle;
}
ul.b {
list-style-type: square;
}
ol.c {
list-style-type: upper-roman;
}
ol.d {
list-style-type: lower-alpha;
}
ul.img {
list-style-image: url('');
}
/* ==========================================================================
*
* File Name: Align
* Description: Classes to align items left or right
* Editing Details: Do not change key-value pairs or variables in this file
as that may alter the functionality of Berry
* Use: Add the appropriate align class to any html element whose
alignment you want to change
*
============================================================================ */
.align-left {
text-align: left;
}
.align-right {
text-align: right;
}
.align-center {
text-align: center;
}
.align-justify {
text-align: justify;
}
@each $breakpoint, $size in $breakpoints {
@media (min-width: #{$size}) {
.align-left-#{$breakpoint} {
text-align: left;
}
.align-right-#{$breakpoint} {
text-align: right;
}
.align-center-#{$breakpoint} {
text-align: center;
}
.align-justify-#{$breakpoint} {
text-align: justify;
}
}
}
/* Default alignment */
h1, h2, h3, h4, h5, h6, p {
text-align: left;
}
/* ==========================================================================
*
* File Name: Responsive Column layout
* Description: Varieties of column display for website
* Editing Details: Do NOT modify variables or code in this file as that may
* cause Berry's responsive framework to malfunction
* Source: https://www.w3schools.com/css/css_website_layout.asp
============================================================================ */
/* Create three unequal columns that floats next to each other */
.column {
float: left;
padding: 10px;
}
/* Left and right column */
.column.side {
width: 25%;
}
/* Middle column */
.column.middle {
width: 50%;
}
/* Wide column */
.column.wide {
width: 65%;
}
/* Even column */
.column.even {
width: 30%;
}
/* Clear floats after the columns */
.row:after {
content: "";
display: table;
clear: both;
}
/* Responsive layout - makes the three columns stack on top of each other instead of next to each other */
@media screen and (max-width: map-get($breakpoints,sm)) {
.column.side, .column.middle, .column.wide, .column.even {
width: 100%;
}
}
/* ==========================================================================
*
* File Name: Button
* Description: Button styles with some cool animations
* Editing Details: Change button colours in the variable.scss file
* Use: Add the appropriate button class to any tag that you
want to style as a button
*
============================================================================ */
//General button
%general-button {
text-decoration: none;
border: none;
padding: 0.5rem 1rem;
margin: 0.5rem 0.3rem;
line-height: auto;
background: beet;
text-align: center;
font-family: "Giulia";
font-size: 16px;
}
/*
* Media Query Font Size: Changing typescale across breakpoints
*
*/
@media only screen and (min-width: 0px) and (max-width: map-get($breakpoints,sm)) {
button {
font-size: $button-s;
}
}
@media only screen and (min-width: map-get($breakpoints, sm)) and (max-width: map-get($breakpoints, md)) {
button {
font-size: $button-m;
}
}
@media only screen and (min-width: map-get($breakpoints, md)) and (max-width: none) {
button {
font-size: $button-l;
}
}
//button width
.button-width-s {
padding: 0.5rem 0.5rem;
}
.button-width-m {
padding: 0.5rem 1rem;
}
.button-width-l {
padding: 0.5rem 2rem;
}
.button-width-xl {
padding: 0.5rem 3rem;
}
//button corner style
.button-sq {
border-radius: 0px;
}
.button-semisquare {
border-radius: 7px;
}
.button-semipill {
border-radius: 13px;
}
.button-pill {
border-radius: 20px;
}
//button style: filled
/* @mixin button-color($button-bkgd) {
background-color: $button-bkgd;
color: $button-text-light;
&:hover {
background-color: lighten($button-bkgd,10%);
}
&:active {
background-color: darken($button-bkgd,10%);
}
}
.button-filled-beet {
@include button-color($button-bkgd-beet);
}
.button-filled-kale {
@include button-color($button-bkgd-kale);
}
.button-filled-tomatoe {
@include button-color($button-bkgd-tomatoe);
}
.button-filled-deepwater {
@include button-color($button-bkgd-deepwater);
}
.button-filled-dark {
@include button-color($button-bkgd-dark);
}
.button-filled-mute {
@include button-color($button-bkgd-mute);
color: $button-text-dark;
}
.button-filled-gray {
@include button-color($button-bkgd-gray);
color: $button-text-dark;
}
.button-filled-peach {
@include button-color($button-bkgd-peach);
color: $button-text-dark;
} */
//button style: outlined
/* @mixin button-outlined($color) {
border: solid $color 1px;
background: none;
color: $color;
&:hover {
background: darken($color, 5%);
color: $color;
}
&:active {
background: darken($color, 25%);
color: $color;
}
}
.button-outlined-beet {
@include button-outlined (map-get($accent,beet));
}
.button-outlined-kale {
@include button-outlined (map-get($accent,kale));
}
.button-outlined-tomatoe {
@include button-outlined (map-get($accent,tomatoe));
}
.button-outlined-deepwater {
@include button-outlined (map-get($accent,deepwater));
}
.button-outlined-dark {
@include button-outlined (map-get($basic,dark));
}
.button-outlined-gray {
@include button-outlined (map-get($basic,$extra-dark-gray));
}
*/
/* ==========================================================================
*
* File Name: Cards
* Description: Visual cards that help to segment information
* Editing Details: Feel free to edit padding, margins, colours, and shadow.
* Do not edit class display properties or change/eliminate classes.
*
============================================================================ */
//Card Spacing & Widths
.card-container {
display: flex;
flex: row wrap unset;
width: 75%;
margin: 0 auto;
justify-content: center;
align-items: center;
}
.card {
margin: $card-margin;
padding: $card-padding-s;
position: relative;
}
.card-body-1 {
padding: 1.25rem 0.5rem;
box-shadow: $card-box-shadow;
* {
margin: 0 auto;
}
&:hover {box-shadow: $card-box-shadow-hover;}
}
.card-body-2 {
padding: 1.25rem 0.5rem;
border-radius: 15px;
box-shadow: $card-box-shadow;
* {
margin: 0 auto;
}
&:hover {box-shadow: $card-box-shadow-hover;}
}
//Card Color:
.card-beet {
background-color: $card-bkgd-rose;
color: map-get($accent,beet);
}
.card-kale {
background-color: $card-bkgd-lettuce;
color: map-get($accent,kale);
}
.card-deepwater {
background-color: $card-bkgd-wave;
color: map-get($accent,deepwater);
}
.card-mute {
background-color: $card-bkgd-mute;
color: map-get($basic,dark);
}
.card-dark {
background-color: $card-bkgd-dark;
color: map-get($basic,mute);
}
//Media Queries and responsiveness
@media (min-width: map-get($breakpoints, md)) and (max-width: map-get($breakpoints, lg)){
.card-container {
width: 70%;
}
}
@media (min-width: map-get($breakpoints, sm)) and (max-width: map-get($breakpoints, md)){
.card-container {
width: 100%;
}
}
@media (max-width: map-get($breakpoints, sm)) {
.card-container {
width: 100%;
}
}
/* ==========================================================================
*
* File Name: Form
* Description: Stylished form for your webpage
* Editing Details: Change font, box styleline properties as needed
* Use: Use and affiliates to display form on
your website
* Affiliates: Works with the align list of classes to set text direction
of the form text
* Source: For more information of the code source, please visit:
https://www.w3schools.com/css/css_form.asp
============================================================================ */
//bottom line focused Inputs form
.bottom-line-focused-input-form {
input[type=text] {
width: 100%;
padding: 12px 20px;
margin: 8px 0;
box-sizing: border-box;
border: none;
border-bottom: 2px solid map-get($accent, beet );
}
input[type=text]:focus {
background-color: $light-gray;
}
}
//animated search form
.animated-search-form {
input[type=text] {
width: 130px;
box-sizing: border-box;
border: 2px solid #ccc;
border-radius: 4px;
font-size: 16px;
background-color: white;
background-image: url('searchicon.png');
background-position: 10px 10px;
background-repeat: no-repeat;
padding: 12px 20px 12px 40px;
transition: width 0.4s ease-in-out;
}
input[type=text]:focus {
width: 100%;
}
}
//textarea
.textarea {
width: 100%;
height: 150px;
padding: 12px 20px;
box-sizing: border-box;
border: 2px solid map-get($accent, beet);
border-radius: 4px;
background-color: map-get($basic, mute);
font-size: 16px;
resize: none;
}
//select menu
.select {
width: 100%;
padding: 16px 20px;
border: none;
border-radius: 4px;
background-color: map-get($basic, mute);
}
//form width
.form-width-full {
width:100%;
}
.form-width-half {
display: flex;
flex-flow: column;
width:50%;
}
/* ==========================================================================
*
* File Name: Tooltip
* Description: Simple, visual toolstip for your webpage
* Editing Details: Change font, color, background properties as needed
* Use: Add the 'tooltip' class and its affiliates to the section or div
you want to display as the tooltip
* Affiliates: Works with the align list of classes to set text direction
of the hero text
* Source: For more information of code source please visit:
https://www.w3schools.com/css/css_tooltip.asp
============================================================================ */
//General tooltip
.tooltip {
position: relative;
display: inline-block;
border-bottom: 2px dotted map-get($accent, beet);
}
//Default tooltip
.tooltip .tooltiptext {
visibility: hidden;
width: 120px;
background-color: rgba(90, 12, 46, 0.5);
font-family: $terciary-font;
color: map-get($basic, mute);
text-align: center;
border-radius: 7px;
padding: 3px 0;
/* Position the tooltip */
position: absolute;
z-index: 1;
}
.tooltip:hover .tooltiptext {
visibility: visible;
}
//Toolstip position
.tooltiptext-right {
top: -5px;
left: 105%;
}
.tooltiptext-left {
top: -5px;
right: 105%;
}
.tooltiptext-top {
bottom: 100%;
left: 50%;
margin-left: -60px;
}
.tooltiptext-bottom {
width: 120px;
top: 100%;
left: 50%;
margin-left: -60px; /* Use half of the width (120/2 = 60), to center the tooltip */
}
//Tooltip style:
.tooltip-fadein {
/* Fade in tooltip - takes 1 second to go from 0% to 100% opac: */
opacity: 0;
transition: opacity 1s;
}
//Toolstip Arrow:
%general-tooltip-arrow {
.tooltip .tooltiptext {
visibility: hidden;
width: 120px;
background-color: rgba(99, 12, 50, 0.5);
font-family: $terciary-font;
color: map-get($basic, mute);
text-align: center;
border-radius: 6px;
padding: 5px 0;
position: absolute;
z-index: 1;
top: -5px;
left: 110%;
}
.tooltip .tooltiptext::after {
content: "";
position: absolute;
top: 50%;
right: 100%; /* To the left of the tooltip */
margin-top: -5px;
border-width: 5px;
border-style: solid;
border-color: transparent rgba(95, 12, 48, 0.5) transparent transparent;
}
.tooltip:hover .tooltiptext {
visibility: visible;
}
}
.tooltip .tooltip-arrow-right {
@extend %general-tooltip-arrow;
}
.tooltip .tooltip-arrow-left {
@extend %general-tooltip-arrow;
.tooltip .tooltiptext::after {
left: 100%; /* To the right of the tooltip */
}
}
.tooltip .tooltip-arrow-top {
@extend %general-tooltip-arrow;
.tooltip .tooltiptext::after {
content: " ";
position: absolute;
top: 100%; /* At the bottom of the tooltip */
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: rgba(90, 12, 46, 0.5) transparent transparent transparent;
}
}
.tooltip .tooltip-arrow-bottom {
@extend %general-tooltip-arrow;
.tooltip .tooltiptext::after {
content: " ";
position: absolute;
bottom: 100%; /* At the top of the tooltip */
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: transparent transparent rgba(97, 12, 49, 0.5) transparent;
}
}