N°2847 - WIP: Sync. commit

This commit is contained in:
Molkobain
2020-06-25 19:09:35 +02:00
parent 7d4455baf4
commit f8af900c73
137 changed files with 10870 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
@import "base";
@import "typography";

View File

@@ -0,0 +1,27 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
*,
*::before,
*::after{
box-sizing: border-box;
}
html{
font-size: 12px;
}

View File

@@ -0,0 +1,163 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/* This is an overload of the default lib. stylesheet to use local fonts instead of the CDN */
@font-face {
font-family: Monorale;
font-weight: 100;
font-style: normal;
src: local('Raleway-v4020 Thin'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-Thin.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-Thin.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 100;
font-style: italic;
src: local('Raleway-v4020 Thin'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-ThinItalic.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-ThinItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 200;
font-style: normal;
src: local('Raleway-v4020 ExtraLight'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-ExtraLight.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-ExtraLight.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 200;
font-style: italic;
src: local('Raleway-v4020 ExtraLight'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-ExtraLightItalic.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-ExtraLightItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 300;
font-style: normal;
src: local('Raleway-v4020 Light'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-Light.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-Light.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 300;
font-style: italic;
src: local('Raleway-v4020 Light'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-LightItalic.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-LightItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 400;
font-style: normal;
src: local('Raleway-v4020'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-Regular.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-Regular.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 400;
font-style: italic;
src: local('Raleway-v4020'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-Italic.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-Italic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 500;
font-style: normal;
src: local('Raleway-v4020 Medium'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-Medium.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-Medium.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 500;
font-style: italic;
src: local('Raleway-v4020 Medium'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-MediumItalic.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-MediumItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 600;
font-style: normal;
src: local('Raleway-v4020 SemiBold'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-SemiBold.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-SemiBold.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 600;
font-style: italic;
src: local('Raleway-v4020 SemiBold'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-SemiBoldItalic.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-SemiBoldItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 700;
font-style: normal;
src: local('Raleway-v4020'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-Bold.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-Bold.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 700;
font-style: italic;
src: local('Raleway-v4020'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-BoldItalic.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-BoldItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 800;
font-style: normal;
src: local('Raleway-v4020 ExtraBold'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-ExtraBold.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-ExtraBold.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 800;
font-style: italic;
src: local('Raleway-v4020 ExtraBold'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-ExtraBoldItalic.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-ExtraBoldItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 900;
font-style: normal;
src: local('Raleway-v4020 Black'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-Black.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-Black.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 900;
font-style: italic;
src: local('Raleway-v4020 Black'),
url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-BlackItalic.otf') format('otf'),
url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-BlackItalic.woff') format('woff');
}

View File

@@ -0,0 +1,18 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/

View File

@@ -0,0 +1,20 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
@import "nav-menu";
@import "top-bar";

View File

@@ -0,0 +1,59 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/* SCSS variables (can be overloaded) */
$ibo-nav-menu-height: 100% !default;
$ibo-nav-menu-padding-x: 16px !default;
$ibo-nav-menu-padding-y: 16px !default;
$ibo-nav-menu-width-collapsed: 60px !default;
$ibo-nav-menu-width-expanded: 310px !default;
$ibo-nav-menu--head-background-color: $ibo-color-blue-grey-900 !default;
$ibo-nav-menu--head-text-color: $ibo-color-grey-300 !default;
$ibo-nav-menu--top-group-spacing: 20px !default;
$ibo-nav-menu--middle-group-spacing: 28px !default;
/* CSS variables (can be changed directly from the browser) */
:root {
--ibo-nav-menu-height: $ibo-nav-menu-height;
--ibo-nav-menu-padding-x: $ibo-nav-menu-padding-x;
--ibo-nav-menu-padding-y: $ibo-nav-menu-padding-y;
--ibo-nav-menu-width-collapsed: $ibo-nav-menu-width-collapsed;
--ibo-nav-menu-width-expanded: $ibo-nav-menu-width-expanded;
--ibo-nav-menu--head-background-color: $ibo-nav-menu--head-background-color;
--ibo-nav-menu--head-text-color: $ibo-nav-menu--head-text-color;
--ibo-nav-menu-top-group-spacing: $ibo-nav-menu--top-group-spacing;
--ibo-nav-menu-middle-group-spacing: $ibo-nav-menu--middle-group-spacing;
}
.ibo-nav-menu{
position: relative;
overflow-y: auto;
.ibo-nav-menu--head,
.ibo-nav-menu--body{
height: var(--ibo-nav-menu-height);
}
.ibo-nav-menu--head{
background-color: var(--ibo-nav-menu--head-background-color);
}
}

View File

@@ -0,0 +1,37 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/* SCSS variables (can be overloaded) */
$ibo-top-bar-padding-left: 16px !default; /* Should be align with the page content padding-left */
$ibo-top-bar-padding-right: 16px !default;
$ibo-top-bar-padding-y: 16px !default;
$ibo-top-bar-background-color: $ibo-color-white-100 !default;
/* CSS variables (can be changed directly from the browser) */
:root{
--ibo-top-bar-padding-left: $ibo-top-bar-padding-left;
--ibo-top-bar-padding-right: $ibo-top-bar-padding-right;
--ibo-top-bar-padding-y: $ibo-top-bar-padding-y;
--ibo-top-bar-background-color: $ibo-top-bar-background-color;
}
.ibo-top-bar{
display: flex;
align-items: center;
padding: var(--ibo-top-bar-padding-y) var(--ibo-top-bar-padding-right) var(--ibo-top-bar-padding-y) var(--ibo-top-bar-padding-left);
background-color: var(--ibo-top-bar-background-color);
}

471
css/backoffice/main.css Normal file
View File

@@ -0,0 +1,471 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/* Color styles */
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/* Base size: html font-size 12px */
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/* Fonts
Value Common weight name (https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight)
100 Thin (Hairline)
200 Extra Light (Ultra Light)
300 Light
400 Normal (Regular)
500 Medium
600 Semi Bold (Demi Bold)
700 Bold
800 Extra Bold (Ultra Bold)
900 Black (Heavy)
950 Extra Black (Ultra Black)
*/
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
*, *::before, *::after {
box-sizing: border-box;
}
html {
font-size: 12px;
}
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/* This is an overload of the default lib. stylesheet to use local fonts instead of the CDN */
@font-face {
font-family: Monorale;
font-weight: 100;
font-style: normal;
src: local('Raleway-v4020 Thin'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-Thin.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-Thin.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 100;
font-style: italic;
src: local('Raleway-v4020 Thin'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-ThinItalic.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-ThinItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 200;
font-style: normal;
src: local('Raleway-v4020 ExtraLight'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-ExtraLight.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-ExtraLight.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 200;
font-style: italic;
src: local('Raleway-v4020 ExtraLight'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-ExtraLightItalic.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-ExtraLightItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 300;
font-style: normal;
src: local('Raleway-v4020 Light'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-Light.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-Light.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 300;
font-style: italic;
src: local('Raleway-v4020 Light'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-LightItalic.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-LightItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 400;
font-style: normal;
src: local('Raleway-v4020'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-Regular.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-Regular.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 400;
font-style: italic;
src: local('Raleway-v4020'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-Italic.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-Italic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 500;
font-style: normal;
src: local('Raleway-v4020 Medium'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-Medium.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-Medium.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 500;
font-style: italic;
src: local('Raleway-v4020 Medium'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-MediumItalic.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-MediumItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 600;
font-style: normal;
src: local('Raleway-v4020 SemiBold'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-SemiBold.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-SemiBold.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 600;
font-style: italic;
src: local('Raleway-v4020 SemiBold'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-SemiBoldItalic.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-SemiBoldItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 700;
font-style: normal;
src: local('Raleway-v4020'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-Bold.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-Bold.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 700;
font-style: italic;
src: local('Raleway-v4020'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-BoldItalic.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-BoldItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 800;
font-style: normal;
src: local('Raleway-v4020 ExtraBold'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-ExtraBold.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-ExtraBold.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 800;
font-style: italic;
src: local('Raleway-v4020 ExtraBold'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-ExtraBoldItalic.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-ExtraBoldItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 900;
font-style: normal;
src: local('Raleway-v4020 Black'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-Black.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-Black.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 900;
font-style: italic;
src: local('Raleway-v4020 Black'), url('../../lib/samvk/monorale-raleway-sober/otf/Monorale-BlackItalic.otf') format('otf'), url('../../lib/samvk/monorale-raleway-sober/woff/Monorale-BlackItalic.woff') format('woff');
}
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/* SCSS variables (can be overloaded) */
/* CSS variables (can be changed directly from the browser) */
:root {
--ibo-nav-menu-height: 100%;
--ibo-nav-menu-padding-x: 16px;
--ibo-nav-menu-padding-y: 16px;
--ibo-nav-menu-width-collapsed: 60px;
--ibo-nav-menu-width-expanded: 310px;
--ibo-nav-menu--head-background-color: #263238;
--ibo-nav-menu--head-text-color: #d5dde5;
--ibo-nav-menu-top-group-spacing: 20px;
--ibo-nav-menu-middle-group-spacing: 28px;
}
.ibo-nav-menu {
position: relative;
overflow-y: auto;
}
.ibo-nav-menu .ibo-nav-menu--head, .ibo-nav-menu .ibo-nav-menu--body {
height: var(--ibo-nav-menu-height);
}
.ibo-nav-menu .ibo-nav-menu--head {
background-color: var(--ibo-nav-menu--head-background-color);
}
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/* SCSS variables (can be overloaded) */
/* Should be align with the page content padding-left */
/* CSS variables (can be changed directly from the browser) */
:root {
--ibo-top-bar-padding-left: 16px;
--ibo-top-bar-padding-right: 16px;
--ibo-top-bar-padding-y: 16px;
--ibo-top-bar-background-color: white;
}
.ibo-top-bar {
display: flex;
align-items: center;
padding: var(--ibo-top-bar-padding-y) var(--ibo-top-bar-padding-right) var(--ibo-top-bar-padding-y) var(--ibo-top-bar-padding-left);
background-color: var(--ibo-top-bar-background-color);
}
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/* SCSS variables (can be overloaded) */
/* CSS variables (can be changed directly from the browser) */
:root {
--ibo-body-text-color: #212934;
--ibo-body-background-color: #f2f2f2;
}
/* Layout */
html {
height: 100%;
}
body {
display: flex;
height: 100%;
color: var(--ibo-body-text-color);
background-color: var(--ibo-body-background-color);
font-size: 1rem;
font-family: "Monorale";
font-weight: 400;
}
#ibo-page-container {
position: relative;
height: 100%;
overflow: auto;
flex-grow: 1;
}
#ibo-top-bar {
position: sticky;
top: 0;
left: 0;
right: 0;
}
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/

25
css/backoffice/main.scss Normal file
View File

@@ -0,0 +1,25 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
@import "utils/all";
@import "vendors/all";
@import "base/all";
@import "components/all";
@import "layout/all";
@import "pages/all";
@import "themes/all";

View File

@@ -0,0 +1,19 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
@import "base";

View File

@@ -0,0 +1,53 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/* SCSS variables (can be overloaded) */
$ibo-body-text-color: $ibo-color-grey-900 !default;
$ibo-body-background-color: $ibo-color-white-200 !default;
/* CSS variables (can be changed directly from the browser) */
:root{
--ibo-body-text-color: $ibo-body-text-color;
--ibo-body-background-color: $ibo-body-background-color;
}
/* Layout */
html{
height: 100%;
}
body{
display: flex;
height: 100%;
color: var(--ibo-body-text-color);
background-color: var(--ibo-body-background-color);
@include ibo-font-ral-nor-100;
}
#ibo-page-container{
position: relative;
height: 100%;
overflow: auto;
flex-grow: 1;
}
#ibo-top-bar{
position: sticky;
top: 0;
left: 0;
right: 0;
}
#ibo-page-content{
}

View File

@@ -0,0 +1,18 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/

View File

@@ -0,0 +1,21 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
@import "variables/color";
@import "variables/typography";
@import "mixins/typography";

View File

@@ -0,0 +1,262 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/* Fonts
Value Common weight name (https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight)
100 Thin (Hairline)
200 Extra Light (Ultra Light)
300 Light
400 Normal (Regular)
500 Medium
600 Semi Bold (Demi Bold)
700 Bold
800 Extra Bold (Ultra Bold)
900 Black (Heavy)
950 Extra Black (Ultra Black)
*/
@mixin ibo-font-ral-nor-50 {
font-size: $ibo-font-size-50;
font-family: "Monorale";
font-weight: 400;
}
@mixin ibo-font-ral-nor-100 {
font-size: $ibo-font-size-100;
font-family: "Monorale";
font-weight: 400;
}
@mixin ibo-font-ral-nor-150 {
font-size: $ibo-font-size-150;
font-family: "Monorale";
font-weight: 400;
}
@mixin ibo-font-ral-nor-200 {
font-size: $ibo-font-size-200;
font-family: "Monorale";
font-weight: 400;
}
@mixin ibo-font-ral-nor-250 {
font-size: $ibo-font-size-250;
font-family: "Monorale";
font-weight: 400;
}
@mixin ibo-font-ral-nor-300 {
font-size: $ibo-font-size-300;
font-family:" Raleway";
font-weight: 400;
}
@mixin ibo-font-ral-nor-350 {
font-size: $ibo-font-size-350;
font-family: "Monorale";
font-weight: 400;
}
@mixin ibo-font-ral-nor-400 {
font-size: $ibo-font-size-400;
font-family: "Monorale";
font-weight: 400;
}
@mixin ibo-font-ral-nor-450 {
font-size: $ibo-font-size-450;
font-family: "Monorale";
font-weight: 400;
}
@mixin ibo-font-ral-nor-500 {
font-size: $ibo-font-size-500;
font-family: "Monorale";
font-weight: 400;
}
@mixin ibo-font-ral-nor-550 {
font-size: $ibo-font-size-550;
font-family: "Monorale";
font-weight: 400;
}
@mixin ibo-font-ral-med-50 {
font-size: $ibo-font-size-50;
font-family: "Monorale";
font-weight: 500;
}
@mixin ibo-font-ral-med-100 {
font-size: $ibo-font-size-100;
font-family: "Monorale";
font-weight: 500;
}
@mixin ibo-font-ral-med-150 {
font-size: $ibo-font-size-150;
font-family: "Monorale";
font-weight: 500;
}
@mixin ibo-font-ral-med-200 {
font-size: $ibo-font-size-200;
font-family: "Monorale";
font-weight: 500;
}
@mixin ibo-font-ral-med-250 {
font-size: $ibo-font-size-250;
font-family: "Monorale";
font-weight: 500;
}
@mixin ibo-font-ral-med-300 {
font-size: $ibo-font-size-300;
font-family:" Raleway";
font-weight: 500;
}
@mixin ibo-font-ral-med-350 {
font-size: $ibo-font-size-350;
font-family: "Monorale";
font-weight: 500;
}
@mixin ibo-font-ral-med-400 {
font-size: $ibo-font-size-400;
font-family: "Monorale";
font-weight: 500;
}
@mixin ibo-font-ral-med-450 {
font-size: $ibo-font-size-450;
font-family: "Monorale";
font-weight: 500;
}
@mixin ibo-font-ral-med-500 {
font-size: $ibo-font-size-500;
font-family: "Monorale";
font-weight: 500;
}
@mixin ibo-font-ral-med-550 {
font-size: $ibo-font-size-550;
font-family: "Monorale";
font-weight: 500;
}
@mixin ibo-font-ral-bol-50 {
font-size: $ibo-font-size-50;
font-family: "Monorale";
font-weight: 700;
}
@mixin ibo-font-ral-bol-100 {
font-size: $ibo-font-size-100;
font-family: "Monorale";
font-weight: 700;
}
@mixin ibo-font-ral-bol-150 {
font-size: $ibo-font-size-150;
font-family: "Monorale";
font-weight: 700;
}
@mixin ibo-font-ral-bol-200 {
font-size: $ibo-font-size-200;
font-family: "Monorale";
font-weight: 700;
}
@mixin ibo-font-ral-bol-250 {
font-size: $ibo-font-size-250;
font-family: "Monorale";
font-weight: 700;
}
@mixin ibo-font-ral-bol-300 {
font-size: $ibo-font-size-300;
font-family: "Monorale";
font-weight: 700;
}
@mixin ibo-font-ral-bol-350 {
font-size: $ibo-font-size-350;
font-family: "Monorale";
font-weight: 700;
}
@mixin ibo-font-ral-bol-400 {
font-size: $ibo-font-size-400;
font-family: "Monorale";
font-weight: 700;
}
@mixin ibo-font-ral-bol-450 {
font-size: $ibo-font-size-450;
font-family: "Monorale";
font-weight: 700;
}
@mixin ibo-font-ral-bol-500 {
font-size: $ibo-font-size-500;
font-family: "Monorale";
font-weight: 700;
}
@mixin ibo-font-ral-bol-550 {
font-size: $ibo-font-size-550;
font-family: "Monorale";
font-weight: 700;
}
@mixin ibo-font-ral-ita-50 {
font-size: $ibo-font-size-50;
font-family: "Monorale";
font-weight: 400;
font-style: italic;
}
@mixin ibo-font-ral-ita-100 {
font-size: $ibo-font-size-100;
font-family: "Monorale";
font-weight: 400;
font-style: italic;
}
@mixin ibo-font-ral-ita-150 {
font-size: $ibo-font-size-150;
font-family: "Monorale";
font-weight: 400;
font-style: italic;
}
@mixin ibo-font-ral-ita-200 {
font-size: $ibo-font-size-200;
font-family: "Monorale";
font-weight: 400;
font-style: italic;
}
@mixin ibo-font-ral-ita-250 {
font-size: $ibo-font-size-250;
font-family: "Monorale";
font-weight: 400;
font-style: italic;
}
@mixin ibo-font-ral-ita-300 {
font-size: $ibo-font-size-300;
font-family: "Monorale";
font-weight: 400;
font-style: italic;
}
@mixin ibo-font-ral-ita-350 {
font-size: $ibo-font-size-350;
font-family: "Monorale";
font-weight: 400;
font-style: italic;
}
@mixin ibo-font-ral-ita-400 {
font-size: $ibo-font-size-400;
font-family: "Monorale";
font-weight: 400;
font-style: italic;
}
@mixin ibo-font-ral-ita-450 {
font-size: $ibo-font-size-450;
font-family: "Monorale";
font-weight: 400;
font-style: italic;
}
@mixin ibo-font-ral-ita-500 {
font-size: $ibo-font-size-500;
font-family: "Monorale";
font-weight: 400;
font-style: italic;
}
@mixin ibo-font-ral-ita-550 {
font-size: $ibo-font-size-550;
font-family: "Monorale";
font-weight: 400;
font-style: italic;
}

View File

@@ -0,0 +1,103 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/* Color styles */
$ibo-color-white-100: hsla(0, 0%, 100%, 1) !default;
$ibo-color-white-200: hsla(0, 0%, 94.9%, 1) !default;
$ibo-color-transparent: hsla(0, 0%, 100%, 0) !default;
$ibo-color-grey-50: hsla(240, 20%, 99%, 1) !default;
$ibo-color-grey-100: hsla(210, 16.7%, 97.6%, 1) !default;
$ibo-color-grey-200: hsla(207, 22.4%, 90.4%, 1) !default;
$ibo-color-grey-300: hsla(210, 23.5%, 86.7%, 1) !default;
$ibo-color-grey-400: hsla(208, 17.2%, 82.9%, 1) !default;
$ibo-color-grey-500: hsla(209, 23.7%, 74.3%, 1) !default;
$ibo-color-grey-600: hsla(215, 16.6%, 63.3%, 1) !default;
$ibo-color-grey-700: hsla(214, 11.3%, 48.6%, 1) !default;
$ibo-color-grey-800: hsla(215, 16.9%, 30.2%, 1) !default;
$ibo-color-grey-900: hsla(215, 22.4%, 16.7%, 1) !default;
$ibo-color-red-100: hsla(0, 76.9%, 94.9%, 1) !default;
$ibo-color-red-200: hsla(0, 95.1%, 92%, 1) !default;
$ibo-color-red-300: hsla(0, 97.4%, 84.7%, 1) !default;
$ibo-color-red-400: hsla(0, 95.3%, 74.7%, 1) !default;
$ibo-color-red-500: hsla(0, 87.8%, 67.8%, 1) !default;
$ibo-color-red-600: hsla(0, 76.3%, 57.1%, 1) !default;
$ibo-color-red-700: hsla(0, 60.8%, 48%, 1) !default;
$ibo-color-red-800: hsla(0, 55.8%, 39%, 1) !default;
$ibo-color-red-900: hsla(0, 46.8%, 31%, 1) !default;
$ibo-color-orange-100: hsla(40, 100%, 97.1%, 1) !default;
$ibo-color-orange-200: hsla(39, 96.4%, 89%, 1) !default;
$ibo-color-orange-300: hsla(38, 93.2%, 76.9%, 1) !default;
$ibo-color-orange-400: hsla(33, 89.9%, 64.9%, 1) !default;
$ibo-color-orange-500: hsla(28, 82.9%, 51.8%, 1) !default;
$ibo-color-orange-600: hsla(24, 74.7%, 49.6%, 1) !default;
$ibo-color-orange-700: hsla(20, 70.7%, 44.1%, 1) !default;
$ibo-color-orange-800: hsla(16, 65.1%, 37.1%, 1) !default;
$ibo-color-orange-900: hsla(14, 60.8%, 30%, 1) !default;
$ibo-color-green-100: hsla(88, 50.7%, 85.7%, 1) !default;
$ibo-color-green-200: hsla(88, 50%, 76.5%, 1) !default;
$ibo-color-green-300: hsla(88, 50%, 67.1%, 1) !default;
$ibo-color-green-400: hsla(88, 50.2%, 59.8%, 1) !default;
$ibo-color-green-500: hsla(88, 50.2%, 52.7%, 1) !default;
$ibo-color-green-600: hsla(89, 46.1%, 48%, 1) !default;
$ibo-color-green-700: hsla(92, 47.9%, 42.2%, 1) !default;
$ibo-color-green-800: hsla(95, 49.5%, 36.5%, 1) !default;
$ibo-color-green-900: hsla(103, 55.6%, 26.5%, 1) !default;
$ibo-color-primary-100: hsla(40, 100%, 97.1%, 1) !default;
$ibo-color-primary-200: hsla(39, 96.4%, 89%, 1) !default;
$ibo-color-primary-300: hsla(38, 93.2%, 76.9%, 1) !default;
$ibo-color-primary-400: hsla(33, 89.9%, 64.9%, 1) !default;
$ibo-color-primary-500: hsla(28, 82.9%, 51.8%, 1) !default;
$ibo-color-primary-600: hsla(24, 74.7%, 49.6%, 1) !default;
$ibo-color-primary-700: hsla(20, 70.7%, 44.1%, 1) !default;
$ibo-color-primary-800: hsla(16, 65.1%, 37.1%, 1) !default;
$ibo-color-primary-900: hsla(14, 60.8%, 30%, 1) !default;
$ibo-color-blue-grey-100: hsla(198, 15.7%, 83.7%, 1) !default;
$ibo-color-blue-grey-200: hsla(200, 15.3%, 73.1%, 1) !default;
$ibo-color-blue-grey-300: hsla(200, 15.6%, 62.4%, 1) !default;
$ibo-color-blue-grey-400: hsla(200, 15.4%, 54.1%, 1) !default;
$ibo-color-blue-grey-500: hsla(200, 18.3%, 46.1%, 1) !default;
$ibo-color-blue-grey-600: hsla(199, 18.4%, 40.4%, 1) !default;
$ibo-color-blue-grey-700: hsla(199, 18.3%, 33.1%, 1) !default;
$ibo-color-blue-grey-800: hsla(200, 17.9%, 26.3%, 1) !default;
$ibo-color-blue-grey-900: hsla(200, 19.1%, 18.4%, 1) !default;
$ibo-color-blue-100: hsla(201, 100%, 96.1%, 1) !default;
$ibo-color-blue-200: hsla(202, 80.6%, 85.9%, 1) !default;
$ibo-color-blue-300: hsla(203, 82%, 76.1%, 1) !default;
$ibo-color-blue-400: hsla(205, 79.3%, 65.9%, 1) !default;
$ibo-color-blue-500: hsla(207, 72.6%, 57.1%, 1) !default;
$ibo-color-blue-600: hsla(209, 61.6%, 50%, 1) !default;
$ibo-color-blue-700: hsla(211, 60.7%, 42.9%, 1) !default;
$ibo-color-blue-800: hsla(213, 49.4%, 34.1%, 1) !default;
$ibo-color-blue-900: hsla(215, 41.3%, 28%, 1) !default;
$ibo-color-cyan-100: hsla(186, 61.2%, 86.9%, 1) !default;
$ibo-color-cyan-200: hsla(187, 71.6%, 71%, 1) !default;
$ibo-color-cyan-300: hsla(187, 71.2%, 59.2%, 1) !default;
$ibo-color-cyan-400: hsla(187, 70.9%, 50.2%, 1) !default;
$ibo-color-cyan-500: hsla(187, 100%, 41.6%, 1) !default;
$ibo-color-cyan-600: hsla(187, 100%, 37.8%, 1) !default;
$ibo-color-cyan-700: hsla(186, 100%, 32.7%, 1) !default;
$ibo-color-cyan-800: hsla(185, 100%, 28%, 1) !default;
$ibo-color-cyan-900: hsla(182, 100%, 19.6%, 1) !default;

View File

@@ -0,0 +1,30 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/* Base size: html font-size 12px */
$ibo-font-size-50: 0.83rem !default;
$ibo-font-size-100: 1rem !default;
$ibo-font-size-150: 1.17rem !default;
$ibo-font-size-200: 1.33rem !default;
$ibo-font-size-250: 1.5rem !default;
$ibo-font-size-300: 1.67rem !default;
$ibo-font-size-350: 1.83rem !default;
$ibo-font-size-400: 2rem !default;
$ibo-font-size-450: 2.5rem !default;
$ibo-font-size-500: 3rem !default;
$ibo-font-size-550: 4rem !default;

18
css/backoffice/vendors/_all.scss vendored Normal file
View File

@@ -0,0 +1,18 @@
/*!
* Copyright (C) 2013-2020 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/

22
lib/bulma-scss/LICENSE Normal file
View File

@@ -0,0 +1,22 @@
The MIT License (MIT)
Copyright (c) 2020 Jeremy Thomas
Copyright (c) 2020 Jim Campbell
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

35
lib/bulma-scss/README.md Normal file
View File

@@ -0,0 +1,35 @@
# bulma-scss
This is a port of the [Bulma](https://bulma.io/) project SASS files to the
SCSS syntax.
Currently, these files are based on Bulma version 0.9.0, and will be updated
with later releases. The files are converted to SCSS with
[this script](https://gist.github.com/j1mc/ff1ff83e277b1e221761fc0c0ee3b164).
## Installation
Install with Yarn
```
yarn add bulma-scss
```
Install with npm
```
npm install bulma-scss
```
## Contributions
You can contribute to the [Bulma source code](https://github.com/jgthms/bulma).
## Support
If you are having issues with this repository, please let us know.
We use this project's [Github issue tracker](https://github.com/j1mc/bulma-scss/issues).
## License
The project is licensed under the MIT license.

View File

@@ -0,0 +1,2 @@
@import "minireset";
@import "generic";

View File

@@ -0,0 +1,170 @@
$body-background-color: $scheme-main !default;
$body-size: 16px !default;
$body-min-width: 300px !default;
$body-rendering: optimizeLegibility !default;
$body-family: $family-primary !default;
$body-overflow-x: hidden !default;
$body-overflow-y: scroll !default;
$body-color: $text !default;
$body-font-size: 1em !default;
$body-weight: $weight-normal !default;
$body-line-height: 1.5 !default;
$code-family: $family-code !default;
$code-padding: 0.25em 0.5em 0.25em !default;
$code-weight: normal !default;
$code-size: 0.875em !default;
$small-font-size: 0.875em !default;
$hr-background-color: $background !default;
$hr-height: 2px !default;
$hr-margin: 1.5rem 0 !default;
$strong-color: $text-strong !default;
$strong-weight: $weight-bold !default;
$pre-font-size: 0.875em !default;
$pre-padding: 1.25rem 1.5rem !default;
$pre-code-font-size: 1em !default;
html {
background-color: $body-background-color;
font-size: $body-size;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
min-width: $body-min-width;
overflow-x: $body-overflow-x;
overflow-y: $body-overflow-y;
text-rendering: $body-rendering;
text-size-adjust: 100%;
}
article,
aside,
figure,
footer,
header,
hgroup,
section {
display: block;
}
body,
button,
input,
select,
textarea {
font-family: $body-family;
}
code,
pre {
-moz-osx-font-smoothing: auto;
-webkit-font-smoothing: auto;
font-family: $code-family;
}
body {
color: $body-color;
font-size: $body-font-size;
font-weight: $body-weight;
line-height: $body-line-height;
}
// Inline
a {
color: $link;
cursor: pointer;
text-decoration: none;
strong {
color: currentColor;
}
&:hover {
color: $link-hover;
}
}
code {
background-color: $code-background;
color: $code;
font-size: $code-size;
font-weight: $code-weight;
padding: $code-padding;
}
hr {
background-color: $hr-background-color;
border: none;
display: block;
height: $hr-height;
margin: $hr-margin;
}
img {
height: auto;
max-width: 100%;
}
input[type="checkbox"],
input[type="radio"] {
vertical-align: baseline;
}
small {
font-size: $small-font-size;
}
span {
font-style: inherit;
font-weight: inherit;
}
strong {
color: $strong-color;
font-weight: $strong-weight;
}
// Block
fieldset {
border: none;
}
pre {
@include overflow-touch;
background-color: $pre-background;
color: $pre;
font-size: $pre-font-size;
overflow-x: auto;
padding: $pre-padding;
white-space: pre;
word-wrap: normal;
code {
background-color: transparent;
color: currentColor;
font-size: $pre-code-font-size;
padding: 0;
}
}
table {
td,
th {
vertical-align: top;
&:not([align]) {
text-align: inherit;
}
}
th {
color: $text-strong;
}
}

View File

@@ -0,0 +1 @@
@warn "The helpers.sass file is DEPRECATED. It has moved into its own /helpers folder. Please import sass/helpers/_all instead.";

View File

@@ -0,0 +1,92 @@
/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */
// Blocks
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 0;
padding: 0;
}
// Headings
h1,
h2,
h3,
h4,
h5,
h6 {
font-size: 100%;
font-weight: normal;
}
// List
ul {
list-style: none;
}
// Form
button,
input,
select,
textarea {
margin: 0;
}
// Box sizing
html {
box-sizing: border-box;
}
* {
&,
&::before,
&::after {
box-sizing: inherit;
}
}
// Media
img,
video {
height: auto;
max-width: 100%;
}
// Iframe
iframe {
border: 0;
}
// Table
table {
border-collapse: collapse;
border-spacing: 0;
}
td,
th {
padding: 0;
&:not([align]) {
text-align: inherit;
}
}

9
lib/bulma-scss/bulma.scss vendored Normal file
View File

@@ -0,0 +1,9 @@
/*! bulma.io v0.9.0 | MIT License | github.com/jgthms/bulma */
@import "utilities/_all";
@import "base/_all";
@import "elements/_all";
@import "form/_all";
@import "components/_all";
@import "grid/_all";
@import "helpers/_all";
@import "layout/_all";

View File

@@ -0,0 +1,12 @@
@import "breadcrumb";
@import "card";
@import "dropdown";
@import "level";
@import "media";
@import "menu";
@import "message";
@import "modal";
@import "navbar";
@import "pagination";
@import "panel";
@import "tabs";

View File

@@ -0,0 +1,122 @@
$breadcrumb-item-color: $link !default;
$breadcrumb-item-hover-color: $link-hover !default;
$breadcrumb-item-active-color: $text-strong !default;
$breadcrumb-item-padding-vertical: 0 !default;
$breadcrumb-item-padding-horizontal: 0.75em !default;
$breadcrumb-item-separator-color: $border-hover !default;
.breadcrumb {
@extend %block;
@extend %unselectable;
font-size: $size-normal;
white-space: nowrap;
a {
align-items: center;
color: $breadcrumb-item-color;
display: flex;
justify-content: center;
padding: $breadcrumb-item-padding-vertical $breadcrumb-item-padding-horizontal;
&:hover {
color: $breadcrumb-item-hover-color;
}
}
li {
align-items: center;
display: flex;
&:first-child a {
@include ltr-property("padding", 0, false);
}
&.is-active {
a {
color: $breadcrumb-item-active-color;
cursor: default;
pointer-events: none;
}
}
& + li::before {
color: $breadcrumb-item-separator-color;
content: "/";
}
}
ul,
ol {
align-items: flex-start;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
.icon {
&:first-child {
@include ltr-property("margin", 0.5em);
}
&:last-child {
@include ltr-property("margin", 0.5em, false);
}
}
// Alignment
&.is-centered {
ol,
ul {
justify-content: center;
}
}
&.is-right {
ol,
ul {
justify-content: flex-end;
}
}
// Sizes
&.is-small {
font-size: $size-small;
}
&.is-medium {
font-size: $size-medium;
}
&.is-large {
font-size: $size-large;
}
// Styles
&.has-arrow-separator {
li + li::before {
content: "";
}
}
&.has-bullet-separator {
li + li::before {
content: "";
}
}
&.has-dot-separator {
li + li::before {
content: "·";
}
}
&.has-succeeds-separator {
li + li::before {
content: "";
}
}
}

View File

@@ -0,0 +1,93 @@
$card-color: $text !default;
$card-background-color: $scheme-main !default;
$card-shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0px 0 1px rgba($scheme-invert, 0.02) !default;
$card-header-background-color: transparent !default;
$card-header-color: $text-strong !default;
$card-header-padding: 0.75rem 1rem !default;
$card-header-shadow: 0 0.125em 0.25em rgba($scheme-invert, 0.1) !default;
$card-header-weight: $weight-bold !default;
$card-content-background-color: transparent !default;
$card-content-padding: 1.5rem !default;
$card-footer-background-color: transparent !default;
$card-footer-border-top: 1px solid $border-light !default;
$card-footer-padding: 0.75rem !default;
$card-media-margin: $block-spacing !default;
.card {
background-color: $card-background-color;
box-shadow: $card-shadow;
color: $card-color;
max-width: 100%;
position: relative;
}
.card-header {
background-color: $card-header-background-color;
align-items: stretch;
box-shadow: $card-header-shadow;
display: flex;
}
.card-header-title {
align-items: center;
color: $card-header-color;
display: flex;
flex-grow: 1;
font-weight: $card-header-weight;
padding: $card-header-padding;
&.is-centered {
justify-content: center;
}
}
.card-header-icon {
align-items: center;
cursor: pointer;
display: flex;
justify-content: center;
padding: $card-header-padding;
}
.card-image {
display: block;
position: relative;
}
.card-content {
background-color: $card-content-background-color;
padding: $card-content-padding;
}
.card-footer {
background-color: $card-footer-background-color;
border-top: $card-footer-border-top;
align-items: stretch;
display: flex;
}
.card-footer-item {
align-items: center;
display: flex;
flex-basis: 0;
flex-grow: 1;
flex-shrink: 0;
justify-content: center;
padding: $card-footer-padding;
&:not(:last-child) {
@include ltr-property("border", $card-footer-border-top);
}
}
// Combinations
.card {
.media:not(:last-child) {
margin-bottom: $card-media-margin;
}
}

View File

@@ -0,0 +1,103 @@
$dropdown-menu-min-width: 12rem !default;
$dropdown-content-background-color: $scheme-main !default;
$dropdown-content-arrow: $link !default;
$dropdown-content-offset: 4px !default;
$dropdown-content-padding-bottom: 0.5rem !default;
$dropdown-content-padding-top: 0.5rem !default;
$dropdown-content-radius: $radius !default;
$dropdown-content-shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0px 0 1px rgba($scheme-invert, 0.02) !default;
$dropdown-content-z: 20 !default;
$dropdown-item-color: $text !default;
$dropdown-item-hover-color: $scheme-invert !default;
$dropdown-item-hover-background-color: $background !default;
$dropdown-item-active-color: $link-invert !default;
$dropdown-item-active-background-color: $link !default;
$dropdown-divider-background-color: $border-light !default;
.dropdown {
display: inline-flex;
position: relative;
vertical-align: top;
&.is-active,
&.is-hoverable:hover {
.dropdown-menu {
display: block;
}
}
&.is-right {
.dropdown-menu {
left: auto;
right: 0;
}
}
&.is-up {
.dropdown-menu {
bottom: 100%;
padding-bottom: $dropdown-content-offset;
padding-top: initial;
top: auto;
}
}
}
.dropdown-menu {
display: none;
@include ltr-position(0, false);
min-width: $dropdown-menu-min-width;
padding-top: $dropdown-content-offset;
position: absolute;
top: 100%;
z-index: $dropdown-content-z;
}
.dropdown-content {
background-color: $dropdown-content-background-color;
border-radius: $dropdown-content-radius;
box-shadow: $dropdown-content-shadow;
padding-bottom: $dropdown-content-padding-bottom;
padding-top: $dropdown-content-padding-top;
}
.dropdown-item {
color: $dropdown-item-color;
display: block;
font-size: 0.875rem;
line-height: 1.5;
padding: 0.375rem 1rem;
position: relative;
}
a.dropdown-item,
button.dropdown-item {
@include ltr-property("padding", 3rem);
text-align: inherit;
white-space: nowrap;
width: 100%;
&:hover {
background-color: $dropdown-item-hover-background-color;
color: $dropdown-item-hover-color;
}
&.is-active {
background-color: $dropdown-item-active-background-color;
color: $dropdown-item-active-color;
}
}
.dropdown-divider {
background-color: $dropdown-divider-background-color;
border: none;
display: block;
height: 1px;
margin: 0.5rem 0;
}

View File

@@ -0,0 +1,123 @@
$level-item-spacing: $block-spacing / 2 !default;
.level {
@extend %block;
align-items: center;
justify-content: space-between;
code {
border-radius: $radius;
}
img {
display: inline-block;
vertical-align: top;
}
// Modifiers
&.is-mobile {
display: flex;
.level-left,
.level-right {
display: flex;
}
.level-left + .level-right {
margin-top: 0;
}
.level-item {
&:not(:last-child) {
margin-bottom: 0;
@include ltr-property("margin", $level-item-spacing);
}
&:not(.is-narrow) {
flex-grow: 1;
}
}
}
// Responsiveness
@include tablet {
display: flex;
& > .level-item {
&:not(.is-narrow) {
flex-grow: 1;
}
}
}
}
.level-item {
align-items: center;
display: flex;
flex-basis: auto;
flex-grow: 0;
flex-shrink: 0;
justify-content: center;
.title,
.subtitle {
margin-bottom: 0;
}
// Responsiveness
@include mobile {
&:not(:last-child) {
margin-bottom: $level-item-spacing;
}
}
}
.level-left,
.level-right {
flex-basis: auto;
flex-grow: 0;
flex-shrink: 0;
.level-item {
// Modifiers
&.is-flexible {
flex-grow: 1;
}
// Responsiveness
@include tablet {
&:not(:last-child) {
@include ltr-property("margin", $level-item-spacing);
}
}
}
}
.level-left {
align-items: center;
justify-content: flex-start;
// Responsiveness
@include mobile {
& + .level-right {
margin-top: 1.5rem;
}
}
@include tablet {
display: flex;
}
}
.level-right {
align-items: center;
justify-content: flex-end;
// Responsiveness
@include tablet {
display: flex;
}
}

View File

@@ -0,0 +1,54 @@
$list-background-color: $scheme-main !default;
$list-shadow: 0 2px 3px rgba($scheme-invert, 0.1), 0 0 0 1px rgba($scheme-invert, 0.1) !default;
$list-radius: $radius !default;
$list-item-border: 1px solid $border !default;
$list-item-color: $text !default;
$list-item-active-background-color: $link !default;
$list-item-active-color: $link-invert !default;
$list-item-hover-background-color: $background !default;
.list {
@extend %block;
background-color: $list-background-color;
border-radius: $list-radius;
box-shadow: $list-shadow;
// &.is-hoverable > .list-item:hover:not(.is-active)
// background-color: $list-item-hover-background-color
// cursor: pointer
}
.list-item {
display: block;
padding: 0.5em 1em;
&:not(a) {
color: $list-item-color;
}
&:first-child {
border-top-left-radius: $list-radius;
border-top-right-radius: $list-radius;
}
&:last-child {
border-bottom-left-radius: $list-radius;
border-bottom-right-radius: $list-radius;
}
&:not(:last-child) {
border-bottom: $list-item-border;
}
&.is-active {
background-color: $list-item-active-background-color;
color: $list-item-active-color;
}
}
a.list-item {
background-color: $list-item-hover-background-color;
cursor: pointer;
}

View File

@@ -0,0 +1,74 @@
$media-border-color: bulmaRgba($border, 0.5) !default;
$media-spacing: 1rem;
$media-spacing-large: 1.5rem;
.media {
align-items: flex-start;
display: flex;
text-align: inherit;
.content:not(:last-child) {
margin-bottom: 0.75rem;
}
.media {
border-top: 1px solid $media-border-color;
display: flex;
padding-top: 0.75rem;
.content:not(:last-child),
.control:not(:last-child) {
margin-bottom: 0.5rem;
}
.media {
padding-top: 0.5rem;
& + .media {
margin-top: 0.5rem;
}
}
}
& + .media {
border-top: 1px solid $media-border-color;
margin-top: $media-spacing;
padding-top: $media-spacing;
}
// Sizes
&.is-large {
& + .media {
margin-top: $media-spacing-large;
padding-top: $media-spacing-large;
}
}
}
.media-left,
.media-right {
flex-basis: auto;
flex-grow: 0;
flex-shrink: 0;
}
.media-left {
@include ltr-property("margin", $media-spacing);
}
.media-right {
@include ltr-property("margin", $media-spacing, false);
}
.media-content {
flex-basis: auto;
flex-grow: 1;
flex-shrink: 1;
text-align: inherit;
}
@include mobile {
.media-content {
overflow-x: auto;
}
}

View File

@@ -0,0 +1,81 @@
$menu-item-color: $text !default;
$menu-item-radius: $radius-small !default;
$menu-item-hover-color: $text-strong !default;
$menu-item-hover-background-color: $background !default;
$menu-item-active-color: $link-invert !default;
$menu-item-active-background-color: $link !default;
$menu-list-border-left: 1px solid $border !default;
$menu-list-line-height: 1.25 !default;
$menu-list-link-padding: 0.5em 0.75em !default;
$menu-nested-list-margin: 0.75em !default;
$menu-nested-list-padding-left: 0.75em !default;
$menu-label-color: $text-light !default;
$menu-label-font-size: 0.75em !default;
$menu-label-letter-spacing: 0.1em !default;
$menu-label-spacing: 1em !default;
.menu {
font-size: $size-normal;
// Sizes
&.is-small {
font-size: $size-small;
}
&.is-medium {
font-size: $size-medium;
}
&.is-large {
font-size: $size-large;
}
}
.menu-list {
line-height: $menu-list-line-height;
a {
border-radius: $menu-item-radius;
color: $menu-item-color;
display: block;
padding: $menu-list-link-padding;
&:hover {
background-color: $menu-item-hover-background-color;
color: $menu-item-hover-color;
}
// Modifiers
&.is-active {
background-color: $menu-item-active-background-color;
color: $menu-item-active-color;
}
}
li {
ul {
@include ltr-property("border", $menu-list-border-left, false);
margin: $menu-nested-list-margin;
@include ltr-property("padding", $menu-nested-list-padding-left, false);
}
}
}
.menu-label {
color: $menu-label-color;
font-size: $menu-label-font-size;
letter-spacing: $menu-label-letter-spacing;
text-transform: uppercase;
&:not(:first-child) {
margin-top: $menu-label-spacing;
}
&:not(:last-child) {
margin-bottom: $menu-label-spacing;
}
}

View File

@@ -0,0 +1,134 @@
$message-background-color: $background !default;
$message-radius: $radius !default;
$message-header-background-color: $text !default;
$message-header-color: $text-invert !default;
$message-header-weight: $weight-bold !default;
$message-header-padding: 0.75em 1em !default;
$message-header-radius: $radius !default;
$message-body-border-color: $border !default;
$message-body-border-width: 0 0 0 4px !default;
$message-body-color: $text !default;
$message-body-padding: 1.25em 1.5em !default;
$message-body-radius: $radius !default;
$message-body-pre-background-color: $scheme-main !default;
$message-body-pre-code-background-color: transparent !default;
$message-header-body-border-width: 0 !default;
$message-colors: $colors !default;
.message {
@extend %block;
background-color: $message-background-color;
border-radius: $message-radius;
font-size: $size-normal;
strong {
color: currentColor;
}
a:not(.button):not(.tag):not(.dropdown-item) {
color: currentColor;
text-decoration: underline;
}
// Sizes
&.is-small {
font-size: $size-small;
}
&.is-medium {
font-size: $size-medium;
}
&.is-large {
font-size: $size-large;
}
// Colors
@each $name, $components in $message-colors {
$color: nth($components, 1);
$color-invert: nth($components, 2);
$color-light: null;
$color-dark: null;
@if length($components) >= 3 {
$color-light: nth($components, 3);
@if length($components) >= 4 {
$color-dark: nth($components, 4);
}
@else {
$color-luminance: colorLuminance($color);
$darken-percentage: $color-luminance * 70%;
$desaturate-percentage: $color-luminance * 30%;
$color-dark: desaturate(darken($color, $darken-percentage), $desaturate-percentage);
}
}
@else {
$color-lightning: max(100% - lightness($color) - 2%, 0%);
$color-light: lighten($color, $color-lightning);
}
&.is-#{$name} {
background-color: $color-light;
.message-header {
background-color: $color;
color: $color-invert;
}
.message-body {
border-color: $color;
color: $color-dark;
}
}
}
}
.message-header {
align-items: center;
background-color: $message-header-background-color;
border-radius: $message-header-radius $message-header-radius 0 0;
color: $message-header-color;
display: flex;
font-weight: $message-header-weight;
justify-content: space-between;
line-height: 1.25;
padding: $message-header-padding;
position: relative;
.delete {
flex-grow: 0;
flex-shrink: 0;
@include ltr-property("margin", 0.75em, false);
}
& + .message-body {
border-width: $message-header-body-border-width;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
}
.message-body {
border-color: $message-body-border-color;
border-radius: $message-body-radius;
border-style: solid;
border-width: $message-body-border-width;
color: $message-body-color;
padding: $message-body-padding;
code,
pre {
background-color: $message-body-pre-background-color;
}
pre code {
background-color: $message-body-pre-code-background-color;
}
}

View File

@@ -0,0 +1,136 @@
$modal-z: 40 !default;
$modal-background-background-color: bulmaRgba($scheme-invert, 0.86) !default;
$modal-content-width: 640px !default;
$modal-content-margin-mobile: 20px !default;
$modal-content-spacing-mobile: 160px !default;
$modal-content-spacing-tablet: 40px !default;
$modal-close-dimensions: 40px !default;
$modal-close-right: 20px !default;
$modal-close-top: 20px !default;
$modal-card-spacing: 40px !default;
$modal-card-head-background-color: $background !default;
$modal-card-head-border-bottom: 1px solid $border !default;
$modal-card-head-padding: 20px !default;
$modal-card-head-radius: $radius-large !default;
$modal-card-title-color: $text-strong !default;
$modal-card-title-line-height: 1 !default;
$modal-card-title-size: $size-4 !default;
$modal-card-foot-radius: $radius-large !default;
$modal-card-foot-border-top: 1px solid $border !default;
$modal-card-body-background-color: $scheme-main !default;
$modal-card-body-padding: 20px !default;
.modal {
@extend %overlay;
align-items: center;
display: none;
flex-direction: column;
justify-content: center;
overflow: hidden;
position: fixed;
z-index: $modal-z;
// Modifiers
&.is-active {
display: flex;
}
}
.modal-background {
@extend %overlay;
background-color: $modal-background-background-color;
}
.modal-content,
.modal-card {
margin: 0 $modal-content-margin-mobile;
max-height: calc(100vh - #{$modal-content-spacing-mobile});
overflow: auto;
position: relative;
width: 100%;
// Responsiveness
@include tablet {
margin: 0 auto;
max-height: calc(100vh - #{$modal-content-spacing-tablet});
width: $modal-content-width;
}
}
.modal-close {
@extend %delete;
background: none;
height: $modal-close-dimensions;
position: fixed;
@include ltr-position($modal-close-right);
top: $modal-close-top;
width: $modal-close-dimensions;
}
.modal-card {
display: flex;
flex-direction: column;
max-height: calc(100vh - #{$modal-card-spacing});
overflow: hidden;
-ms-overflow-y: visible;
}
.modal-card-head,
.modal-card-foot {
align-items: center;
background-color: $modal-card-head-background-color;
display: flex;
flex-shrink: 0;
justify-content: flex-start;
padding: $modal-card-head-padding;
position: relative;
}
.modal-card-head {
border-bottom: $modal-card-head-border-bottom;
border-top-left-radius: $modal-card-head-radius;
border-top-right-radius: $modal-card-head-radius;
}
.modal-card-title {
color: $modal-card-title-color;
flex-grow: 1;
flex-shrink: 0;
font-size: $modal-card-title-size;
line-height: $modal-card-title-line-height;
}
.modal-card-foot {
border-bottom-left-radius: $modal-card-foot-radius;
border-bottom-right-radius: $modal-card-foot-radius;
border-top: $modal-card-foot-border-top;
.button {
&:not(:last-child) {
@include ltr-property("margin", 0.5em);
}
}
}
.modal-card-body {
@include overflow-touch;
background-color: $modal-card-body-background-color;
flex-grow: 1;
flex-shrink: 1;
overflow: auto;
padding: $modal-card-body-padding;
}

View File

@@ -0,0 +1,662 @@
$navbar-background-color: $scheme-main !default;
$navbar-box-shadow-size: 0 2px 0 0 !default;
$navbar-box-shadow-color: $background !default;
$navbar-height: 3.25rem !default;
$navbar-padding-vertical: 1rem !default;
$navbar-padding-horizontal: 2rem !default;
$navbar-z: 30 !default;
$navbar-fixed-z: 30 !default;
$navbar-item-color: $text !default;
$navbar-item-hover-color: $link !default;
$navbar-item-hover-background-color: $scheme-main-bis !default;
$navbar-item-active-color: $scheme-invert !default;
$navbar-item-active-background-color: transparent !default;
$navbar-item-img-max-height: 1.75rem !default;
$navbar-burger-color: $navbar-item-color !default;
$navbar-tab-hover-background-color: transparent !default;
$navbar-tab-hover-border-bottom-color: $link !default;
$navbar-tab-active-color: $link !default;
$navbar-tab-active-background-color: transparent !default;
$navbar-tab-active-border-bottom-color: $link !default;
$navbar-tab-active-border-bottom-style: solid !default;
$navbar-tab-active-border-bottom-width: 3px !default;
$navbar-dropdown-background-color: $scheme-main !default;
$navbar-dropdown-border-top: 2px solid $border !default;
$navbar-dropdown-offset: -4px !default;
$navbar-dropdown-arrow: $link !default;
$navbar-dropdown-radius: $radius-large !default;
$navbar-dropdown-z: 20 !default;
$navbar-dropdown-boxed-radius: $radius-large !default;
$navbar-dropdown-boxed-shadow: 0 8px 8px bulmaRgba($scheme-invert, 0.1), 0 0 0 1px bulmaRgba($scheme-invert, 0.1) !default;
$navbar-dropdown-item-hover-color: $scheme-invert !default;
$navbar-dropdown-item-hover-background-color: $background !default;
$navbar-dropdown-item-active-color: $link !default;
$navbar-dropdown-item-active-background-color: $background !default;
$navbar-divider-background-color: $background !default;
$navbar-divider-height: 2px !default;
$navbar-bottom-box-shadow-size: 0 -2px 0 0 !default;
$navbar-breakpoint: $desktop !default;
@mixin navbar-fixed {
left: 0;
position: fixed;
right: 0;
z-index: $navbar-fixed-z;
}
.navbar {
background-color: $navbar-background-color;
min-height: $navbar-height;
position: relative;
z-index: $navbar-z;
@each $name, $pair in $colors {
$color: nth($pair, 1);
$color-invert: nth($pair, 2);
&.is-#{$name} {
background-color: $color;
color: $color-invert;
.navbar-brand {
& > .navbar-item,
.navbar-link {
color: $color-invert;
}
& > a.navbar-item,
.navbar-link {
&:focus,
&:hover,
&.is-active {
background-color: bulmaDarken($color, 5%);
color: $color-invert;
}
}
.navbar-link {
&::after {
border-color: $color-invert;
}
}
}
.navbar-burger {
color: $color-invert;
}
@include from($navbar-breakpoint) {
.navbar-start,
.navbar-end {
& > .navbar-item,
.navbar-link {
color: $color-invert;
}
& > a.navbar-item,
.navbar-link {
&:focus,
&:hover,
&.is-active {
background-color: bulmaDarken($color, 5%);
color: $color-invert;
}
}
.navbar-link {
&::after {
border-color: $color-invert;
}
}
}
.navbar-item.has-dropdown:focus .navbar-link,
.navbar-item.has-dropdown:hover .navbar-link,
.navbar-item.has-dropdown.is-active .navbar-link {
background-color: bulmaDarken($color, 5%);
color: $color-invert;
}
.navbar-dropdown {
a.navbar-item {
&.is-active {
background-color: $color;
color: $color-invert;
}
}
}
}
}
}
& > .container {
align-items: stretch;
display: flex;
min-height: $navbar-height;
width: 100%;
}
&.has-shadow {
box-shadow: $navbar-box-shadow-size $navbar-box-shadow-color;
}
&.is-fixed-bottom,
&.is-fixed-top {
@include navbar-fixed;
}
&.is-fixed-bottom {
bottom: 0;
&.has-shadow {
box-shadow: $navbar-bottom-box-shadow-size $navbar-box-shadow-color;
}
}
&.is-fixed-top {
top: 0;
}
}
html,
body {
&.has-navbar-fixed-top {
padding-top: $navbar-height;
}
&.has-navbar-fixed-bottom {
padding-bottom: $navbar-height;
}
}
.navbar-brand,
.navbar-tabs {
align-items: stretch;
display: flex;
flex-shrink: 0;
min-height: $navbar-height;
}
.navbar-brand {
a.navbar-item {
&:focus,
&:hover {
background-color: transparent;
}
}
}
.navbar-tabs {
@include overflow-touch;
max-width: 100vw;
overflow-x: auto;
overflow-y: hidden;
}
.navbar-burger {
color: $navbar-burger-color;
@include hamburger($navbar-height);
@include ltr-property("margin", auto, false);
}
.navbar-menu {
display: none;
}
.navbar-item,
.navbar-link {
color: $navbar-item-color;
display: block;
line-height: 1.5;
padding: 0.5rem 0.75rem;
position: relative;
.icon {
&:only-child {
margin-left: -0.25rem;
margin-right: -0.25rem;
}
}
}
a.navbar-item,
.navbar-link {
cursor: pointer;
&:focus,
&:focus-within,
&:hover,
&.is-active {
background-color: $navbar-item-hover-background-color;
color: $navbar-item-hover-color;
}
}
.navbar-item {
flex-grow: 0;
flex-shrink: 0;
img {
max-height: $navbar-item-img-max-height;
}
&.has-dropdown {
padding: 0;
}
&.is-expanded {
flex-grow: 1;
flex-shrink: 1;
}
&.is-tab {
border-bottom: 1px solid transparent;
min-height: $navbar-height;
padding-bottom: calc(0.5rem - 1px);
&:focus,
&:hover {
background-color: $navbar-tab-hover-background-color;
border-bottom-color: $navbar-tab-hover-border-bottom-color;
}
&.is-active {
background-color: $navbar-tab-active-background-color;
border-bottom-color: $navbar-tab-active-border-bottom-color;
border-bottom-style: $navbar-tab-active-border-bottom-style;
border-bottom-width: $navbar-tab-active-border-bottom-width;
color: $navbar-tab-active-color;
padding-bottom: calc(0.5rem - #{$navbar-tab-active-border-bottom-width});
}
}
}
.navbar-content {
flex-grow: 1;
flex-shrink: 1;
}
.navbar-link:not(.is-arrowless) {
@include ltr-property("padding", 2.5em);
&::after {
@extend %arrow;
border-color: $navbar-dropdown-arrow;
margin-top: -0.375em;
@include ltr-position(1.125em);
}
}
.navbar-dropdown {
font-size: 0.875rem;
padding-bottom: 0.5rem;
padding-top: 0.5rem;
.navbar-item {
padding-left: 1.5rem;
padding-right: 1.5rem;
}
}
.navbar-divider {
background-color: $navbar-divider-background-color;
border: none;
display: none;
height: $navbar-divider-height;
margin: 0.5rem 0;
}
@include until($navbar-breakpoint) {
.navbar > .container {
display: block;
}
.navbar-brand,
.navbar-tabs {
.navbar-item {
align-items: center;
display: flex;
}
}
.navbar-link {
&::after {
display: none;
}
}
.navbar-menu {
background-color: $navbar-background-color;
box-shadow: 0 8px 16px bulmaRgba($scheme-invert, 0.1);
padding: 0.5rem 0;
&.is-active {
display: block;
}
}
// Fixed navbar
.navbar {
&.is-fixed-bottom-touch,
&.is-fixed-top-touch {
@include navbar-fixed;
}
&.is-fixed-bottom-touch {
bottom: 0;
&.has-shadow {
box-shadow: 0 -2px 3px bulmaRgba($scheme-invert, 0.1);
}
}
&.is-fixed-top-touch {
top: 0;
}
&.is-fixed-top,
&.is-fixed-top-touch {
.navbar-menu {
@include overflow-touch;
max-height: calc(100vh - #{$navbar-height});
overflow: auto;
}
}
}
html,
body {
&.has-navbar-fixed-top-touch {
padding-top: $navbar-height;
}
&.has-navbar-fixed-bottom-touch {
padding-bottom: $navbar-height;
}
}
}
@include from($navbar-breakpoint) {
.navbar,
.navbar-menu,
.navbar-start,
.navbar-end {
align-items: stretch;
display: flex;
}
.navbar {
min-height: $navbar-height;
&.is-spaced {
padding: $navbar-padding-vertical $navbar-padding-horizontal;
.navbar-start,
.navbar-end {
align-items: center;
}
a.navbar-item,
.navbar-link {
border-radius: $radius;
}
}
&.is-transparent {
a.navbar-item,
.navbar-link {
&:focus,
&:hover,
&.is-active {
background-color: transparent !important;
}
}
.navbar-item.has-dropdown {
&.is-active,
&.is-hoverable:focus,
&.is-hoverable:focus-within,
&.is-hoverable:hover {
.navbar-link {
background-color: transparent !important;
}
}
}
.navbar-dropdown {
a.navbar-item {
&:focus,
&:hover {
background-color: $navbar-dropdown-item-hover-background-color;
color: $navbar-dropdown-item-hover-color;
}
&.is-active {
background-color: $navbar-dropdown-item-active-background-color;
color: $navbar-dropdown-item-active-color;
}
}
}
}
}
.navbar-burger {
display: none;
}
.navbar-item,
.navbar-link {
align-items: center;
display: flex;
}
.navbar-item {
&.has-dropdown {
align-items: stretch;
}
&.has-dropdown-up {
.navbar-link::after {
transform: rotate(135deg) translate(0.25em, -0.25em);
}
.navbar-dropdown {
border-bottom: $navbar-dropdown-border-top;
border-radius: $navbar-dropdown-radius $navbar-dropdown-radius 0 0;
border-top: none;
bottom: 100%;
box-shadow: 0 -8px 8px bulmaRgba($scheme-invert, 0.1);
top: auto;
}
}
&.is-active,
&.is-hoverable:focus,
&.is-hoverable:focus-within,
&.is-hoverable:hover {
.navbar-dropdown {
display: block;
.navbar.is-spaced &,
&.is-boxed {
opacity: 1;
pointer-events: auto;
transform: translateY(0);
}
}
}
}
.navbar-menu {
flex-grow: 1;
flex-shrink: 0;
}
.navbar-start {
justify-content: flex-start;
@include ltr-property("margin", auto);
}
.navbar-end {
justify-content: flex-end;
@include ltr-property("margin", auto, false);
}
.navbar-dropdown {
background-color: $navbar-dropdown-background-color;
border-bottom-left-radius: $navbar-dropdown-radius;
border-bottom-right-radius: $navbar-dropdown-radius;
border-top: $navbar-dropdown-border-top;
box-shadow: 0 8px 8px bulmaRgba($scheme-invert, 0.1);
display: none;
font-size: 0.875rem;
@include ltr-position(0, false);
min-width: 100%;
position: absolute;
top: 100%;
z-index: $navbar-dropdown-z;
.navbar-item {
padding: 0.375rem 1rem;
white-space: nowrap;
}
a.navbar-item {
@include ltr-property("padding", 3rem);
&:focus,
&:hover {
background-color: $navbar-dropdown-item-hover-background-color;
color: $navbar-dropdown-item-hover-color;
}
&.is-active {
background-color: $navbar-dropdown-item-active-background-color;
color: $navbar-dropdown-item-active-color;
}
}
.navbar.is-spaced &,
&.is-boxed {
border-radius: $navbar-dropdown-boxed-radius;
border-top: none;
box-shadow: $navbar-dropdown-boxed-shadow;
display: block;
opacity: 0;
pointer-events: none;
top: calc(100% + (#{$navbar-dropdown-offset}));
transform: translateY(-5px);
transition-duration: $speed;
transition-property: opacity, transform;
}
&.is-right {
left: auto;
right: 0;
}
}
.navbar-divider {
display: block;
}
.navbar > .container,
.container > .navbar {
.navbar-brand {
@include ltr-property("margin", -0.75rem, false);
}
.navbar-menu {
@include ltr-property("margin", -0.75rem);
}
}
// Fixed navbar
.navbar {
&.is-fixed-bottom-desktop,
&.is-fixed-top-desktop {
@include navbar-fixed;
}
&.is-fixed-bottom-desktop {
bottom: 0;
&.has-shadow {
box-shadow: 0 -2px 3px bulmaRgba($scheme-invert, 0.1);
}
}
&.is-fixed-top-desktop {
top: 0;
}
}
html,
body {
&.has-navbar-fixed-top-desktop {
padding-top: $navbar-height;
}
&.has-navbar-fixed-bottom-desktop {
padding-bottom: $navbar-height;
}
&.has-spaced-navbar-fixed-top {
padding-top: $navbar-height + $navbar-padding-vertical * 2;
}
&.has-spaced-navbar-fixed-bottom {
padding-bottom: $navbar-height + $navbar-padding-vertical * 2;
}
}
// Hover/Active states
a.navbar-item,
.navbar-link {
&.is-active {
color: $navbar-item-active-color;
}
&.is-active:not(:focus):not(:hover) {
background-color: $navbar-item-active-background-color;
}
}
.navbar-item.has-dropdown {
&:focus,
&:hover,
&.is-active {
.navbar-link {
background-color: $navbar-item-hover-background-color;
}
}
}
}
// Combination
.hero {
&.is-fullheight-with-navbar {
min-height: calc(100vh - #{$navbar-height});
}
}

View File

@@ -0,0 +1,211 @@
$pagination-color: $text-strong !default;
$pagination-border-color: $border !default;
$pagination-margin: -0.25rem !default;
$pagination-min-width: $control-height !default;
$pagination-item-font-size: 1em !default;
$pagination-item-margin: 0.25rem !default;
$pagination-item-padding-left: 0.5em !default;
$pagination-item-padding-right: 0.5em !default;
$pagination-hover-color: $link-hover !default;
$pagination-hover-border-color: $link-hover-border !default;
$pagination-focus-color: $link-focus !default;
$pagination-focus-border-color: $link-focus-border !default;
$pagination-active-color: $link-active !default;
$pagination-active-border-color: $link-active-border !default;
$pagination-disabled-color: $text-light !default;
$pagination-disabled-background-color: $border !default;
$pagination-disabled-border-color: $border !default;
$pagination-current-color: $link-invert !default;
$pagination-current-background-color: $link !default;
$pagination-current-border-color: $link !default;
$pagination-ellipsis-color: $grey-light !default;
$pagination-shadow-inset: inset 0 1px 2px rgba($scheme-invert, 0.2);
.pagination {
@extend %block;
font-size: $size-normal;
margin: $pagination-margin;
// Sizes
&.is-small {
font-size: $size-small;
}
&.is-medium {
font-size: $size-medium;
}
&.is-large {
font-size: $size-large;
}
&.is-rounded {
.pagination-previous,
.pagination-next {
padding-left: 1em;
padding-right: 1em;
border-radius: $radius-rounded;
}
.pagination-link {
border-radius: $radius-rounded;
}
}
}
.pagination,
.pagination-list {
align-items: center;
display: flex;
justify-content: center;
text-align: center;
}
.pagination-previous,
.pagination-next,
.pagination-link,
.pagination-ellipsis {
@extend %control;
@extend %unselectable;
font-size: $pagination-item-font-size;
justify-content: center;
margin: $pagination-item-margin;
padding-left: $pagination-item-padding-left;
padding-right: $pagination-item-padding-right;
text-align: center;
}
.pagination-previous,
.pagination-next,
.pagination-link {
border-color: $pagination-border-color;
color: $pagination-color;
min-width: $pagination-min-width;
&:hover {
border-color: $pagination-hover-border-color;
color: $pagination-hover-color;
}
&:focus {
border-color: $pagination-focus-border-color;
}
&:active {
box-shadow: $pagination-shadow-inset;
}
&[disabled] {
background-color: $pagination-disabled-background-color;
border-color: $pagination-disabled-border-color;
box-shadow: none;
color: $pagination-disabled-color;
opacity: 0.5;
}
}
.pagination-previous,
.pagination-next {
padding-left: 0.75em;
padding-right: 0.75em;
white-space: nowrap;
}
.pagination-link {
&.is-current {
background-color: $pagination-current-background-color;
border-color: $pagination-current-border-color;
color: $pagination-current-color;
}
}
.pagination-ellipsis {
color: $pagination-ellipsis-color;
pointer-events: none;
}
.pagination-list {
flex-wrap: wrap;
}
@include mobile {
.pagination {
flex-wrap: wrap;
}
.pagination-previous,
.pagination-next {
flex-grow: 1;
flex-shrink: 1;
}
.pagination-list {
li {
flex-grow: 1;
flex-shrink: 1;
}
}
}
@include tablet {
.pagination-list {
flex-grow: 1;
flex-shrink: 1;
justify-content: flex-start;
order: 1;
}
.pagination-previous {
order: 2;
}
.pagination-next {
order: 3;
}
.pagination {
justify-content: space-between;
&.is-centered {
.pagination-previous {
order: 1;
}
.pagination-list {
justify-content: center;
order: 2;
}
.pagination-next {
order: 3;
}
}
&.is-right {
.pagination-previous {
order: 1;
}
.pagination-next {
order: 2;
}
.pagination-list {
justify-content: flex-end;
order: 3;
}
}
}
}

View File

@@ -0,0 +1,164 @@
$panel-margin: $block-spacing !default;
$panel-item-border: 1px solid $border-light !default;
$panel-radius: $radius-large !default;
$panel-shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0px 0 1px rgba($scheme-invert, 0.02) !default;
$panel-heading-background-color: $border-light !default;
$panel-heading-color: $text-strong !default;
$panel-heading-line-height: 1.25 !default;
$panel-heading-padding: 0.75em 1em !default;
$panel-heading-radius: $radius !default;
$panel-heading-size: 1.25em !default;
$panel-heading-weight: $weight-bold !default;
$panel-tabs-font-size: 0.875em !default;
$panel-tab-border-bottom: 1px solid $border !default;
$panel-tab-active-border-bottom-color: $link-active-border !default;
$panel-tab-active-color: $link-active !default;
$panel-list-item-color: $text !default;
$panel-list-item-hover-color: $link !default;
$panel-block-color: $text-strong !default;
$panel-block-hover-background-color: $background !default;
$panel-block-active-border-left-color: $link !default;
$panel-block-active-color: $link-active !default;
$panel-block-active-icon-color: $link !default;
$panel-icon-color: $text-light !default;
$panel-colors: $colors !default;
.panel {
border-radius: $panel-radius;
box-shadow: $panel-shadow;
font-size: $size-normal;
&:not(:last-child) {
margin-bottom: $panel-margin;
}
// Colors
@each $name, $components in $panel-colors {
$color: nth($components, 1);
$color-invert: nth($components, 2);
&.is-#{$name} {
.panel-heading {
background-color: $color;
color: $color-invert;
}
.panel-tabs a.is-active {
border-bottom-color: $color;
}
.panel-block.is-active .panel-icon {
color: $color;
}
}
}
}
.panel-tabs,
.panel-block {
&:not(:last-child) {
border-bottom: $panel-item-border;
}
}
.panel-heading {
background-color: $panel-heading-background-color;
border-radius: $panel-radius $panel-radius 0 0;
color: $panel-heading-color;
font-size: $panel-heading-size;
font-weight: $panel-heading-weight;
line-height: $panel-heading-line-height;
padding: $panel-heading-padding;
}
.panel-tabs {
align-items: flex-end;
display: flex;
font-size: $panel-tabs-font-size;
justify-content: center;
a {
border-bottom: $panel-tab-border-bottom;
margin-bottom: -1px;
padding: 0.5em;
// Modifiers
&.is-active {
border-bottom-color: $panel-tab-active-border-bottom-color;
color: $panel-tab-active-color;
}
}
}
.panel-list {
a {
color: $panel-list-item-color;
&:hover {
color: $panel-list-item-hover-color;
}
}
}
.panel-block {
align-items: center;
color: $panel-block-color;
display: flex;
justify-content: flex-start;
padding: 0.5em 0.75em;
input[type="checkbox"] {
@include ltr-property("margin", 0.75em);
}
& > .control {
flex-grow: 1;
flex-shrink: 1;
width: 100%;
}
&.is-wrapped {
flex-wrap: wrap;
}
&.is-active {
border-left-color: $panel-block-active-border-left-color;
color: $panel-block-active-color;
.panel-icon {
color: $panel-block-active-icon-color;
}
}
&:last-child {
border-bottom-left-radius: $panel-radius;
border-bottom-right-radius: $panel-radius;
}
}
a.panel-block,
label.panel-block {
cursor: pointer;
&:hover {
background-color: $panel-block-hover-background-color;
}
}
.panel-icon {
@include fa(14px, 1em);
color: $panel-icon-color;
@include ltr-property("margin", 0.75em);
.fa {
font-size: inherit;
line-height: inherit;
}
}

View File

@@ -0,0 +1,269 @@
$tabs-border-bottom-color: $border !default;
$tabs-border-bottom-style: solid !default;
$tabs-border-bottom-width: 1px !default;
$tabs-link-color: $text !default;
$tabs-link-hover-border-bottom-color: $text-strong !default;
$tabs-link-hover-color: $text-strong !default;
$tabs-link-active-border-bottom-color: $link !default;
$tabs-link-active-color: $link !default;
$tabs-link-padding: 0.5em 1em !default;
$tabs-boxed-link-radius: $radius !default;
$tabs-boxed-link-hover-background-color: $background !default;
$tabs-boxed-link-hover-border-bottom-color: $border !default;
$tabs-boxed-link-active-background-color: $scheme-main !default;
$tabs-boxed-link-active-border-color: $border !default;
$tabs-boxed-link-active-border-bottom-color: transparent !default;
$tabs-toggle-link-border-color: $border !default;
$tabs-toggle-link-border-style: solid !default;
$tabs-toggle-link-border-width: 1px !default;
$tabs-toggle-link-hover-background-color: $background !default;
$tabs-toggle-link-hover-border-color: $border-hover !default;
$tabs-toggle-link-radius: $radius !default;
$tabs-toggle-link-active-background-color: $link !default;
$tabs-toggle-link-active-border-color: $link !default;
$tabs-toggle-link-active-color: $link-invert !default;
.tabs {
@extend %block;
@include overflow-touch;
@extend %unselectable;
align-items: stretch;
display: flex;
font-size: $size-normal;
justify-content: space-between;
overflow: hidden;
overflow-x: auto;
white-space: nowrap;
a {
align-items: center;
border-bottom-color: $tabs-border-bottom-color;
border-bottom-style: $tabs-border-bottom-style;
border-bottom-width: $tabs-border-bottom-width;
color: $tabs-link-color;
display: flex;
justify-content: center;
margin-bottom: -#{$tabs-border-bottom-width};
padding: $tabs-link-padding;
vertical-align: top;
&:hover {
border-bottom-color: $tabs-link-hover-border-bottom-color;
color: $tabs-link-hover-color;
}
}
li {
display: block;
&.is-active {
a {
border-bottom-color: $tabs-link-active-border-bottom-color;
color: $tabs-link-active-color;
}
}
}
ul {
align-items: center;
border-bottom-color: $tabs-border-bottom-color;
border-bottom-style: $tabs-border-bottom-style;
border-bottom-width: $tabs-border-bottom-width;
display: flex;
flex-grow: 1;
flex-shrink: 0;
justify-content: flex-start;
&.is-left {
padding-right: 0.75em;
}
&.is-center {
flex: none;
justify-content: center;
padding-left: 0.75em;
padding-right: 0.75em;
}
&.is-right {
justify-content: flex-end;
padding-left: 0.75em;
}
}
.icon {
&:first-child {
@include ltr-property("margin", 0.5em);
}
&:last-child {
@include ltr-property("margin", 0.5em, false);
}
}
// Alignment
&.is-centered {
ul {
justify-content: center;
}
}
&.is-right {
ul {
justify-content: flex-end;
}
}
// Styles
&.is-boxed {
a {
border: 1px solid transparent;
@include ltr {
border-radius: $tabs-boxed-link-radius $tabs-boxed-link-radius 0 0;
}
@include rtl {
border-radius: 0 0 $tabs-boxed-link-radius $tabs-boxed-link-radius;
}
&:hover {
background-color: $tabs-boxed-link-hover-background-color;
border-bottom-color: $tabs-boxed-link-hover-border-bottom-color;
}
}
li {
&.is-active {
a {
background-color: $tabs-boxed-link-active-background-color;
border-color: $tabs-boxed-link-active-border-color;
border-bottom-color: $tabs-boxed-link-active-border-bottom-color !important;
}
}
}
}
&.is-fullwidth {
li {
flex-grow: 1;
flex-shrink: 0;
}
}
&.is-toggle {
a {
border-color: $tabs-toggle-link-border-color;
border-style: $tabs-toggle-link-border-style;
border-width: $tabs-toggle-link-border-width;
margin-bottom: 0;
position: relative;
&:hover {
background-color: $tabs-toggle-link-hover-background-color;
border-color: $tabs-toggle-link-hover-border-color;
z-index: 2;
}
}
li {
& + li {
@include ltr-property("margin", -#{$tabs-toggle-link-border-width}, false);
}
&:first-child a {
@include ltr {
border-top-left-radius: $tabs-toggle-link-radius;
border-bottom-left-radius: $tabs-toggle-link-radius;
}
@include rtl {
border-top-right-radius: $tabs-toggle-link-radius;
border-bottom-right-radius: $tabs-toggle-link-radius;
}
}
&:last-child a {
@include ltr {
border-top-right-radius: $tabs-toggle-link-radius;
border-bottom-right-radius: $tabs-toggle-link-radius;
}
@include rtl {
border-top-left-radius: $tabs-toggle-link-radius;
border-bottom-left-radius: $tabs-toggle-link-radius;
}
}
&.is-active {
a {
background-color: $tabs-toggle-link-active-background-color;
border-color: $tabs-toggle-link-active-border-color;
color: $tabs-toggle-link-active-color;
z-index: 1;
}
}
}
ul {
border-bottom: none;
}
&.is-toggle-rounded {
li {
&:first-child a {
@include ltr {
border-bottom-left-radius: $radius-rounded;
border-top-left-radius: $radius-rounded;
padding-left: 1.25em;
}
@include rtl {
border-bottom-right-radius: $radius-rounded;
border-top-right-radius: $radius-rounded;
padding-right: 1.25em;
}
}
&:last-child a {
@include ltr {
border-bottom-right-radius: $radius-rounded;
border-top-right-radius: $radius-rounded;
padding-right: 1.25em;
}
@include rtl {
border-bottom-left-radius: $radius-rounded;
border-top-left-radius: $radius-rounded;
padding-left: 1.25em;
}
}
}
}
}
// Sizes
&.is-small {
font-size: $size-small;
}
&.is-medium {
font-size: $size-medium;
}
&.is-large {
font-size: $size-large;
}
}

View File

@@ -0,0 +1,12 @@
@import "box";
@import "button";
@import "container";
@import "content";
@import "icon";
@import "image";
@import "notification";
@import "progress";
@import "table";
@import "tag";
@import "title";
@import "other";

View File

@@ -0,0 +1,30 @@
$box-color: $text !default;
$box-background-color: $scheme-main !default;
$box-radius: $radius-large !default;
$box-shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0px 0 1px rgba($scheme-invert, 0.02) !default;
$box-padding: 1.25rem !default;
$box-link-hover-shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0 0 1px $link !default;
$box-link-active-shadow: inset 0 1px 2px rgba($scheme-invert, 0.2), 0 0 0 1px $link !default;
.box {
@extend %block;
background-color: $box-background-color;
border-radius: $box-radius;
box-shadow: $box-shadow;
color: $box-color;
display: block;
padding: $box-padding;
}
a.box {
&:hover,
&:focus {
box-shadow: $box-link-hover-shadow;
}
&:active {
box-shadow: $box-link-active-shadow;
}
}

View File

@@ -0,0 +1,483 @@
$button-color: $text-strong !default;
$button-background-color: $scheme-main !default;
$button-family: false !default;
$button-border-color: $border !default;
$button-border-width: $control-border-width !default;
$button-padding-vertical: calc(0.5em - #{$button-border-width}) !default;
$button-padding-horizontal: 1em !default;
$button-hover-color: $link-hover !default;
$button-hover-border-color: $link-hover-border !default;
$button-focus-color: $link-focus !default;
$button-focus-border-color: $link-focus-border !default;
$button-focus-box-shadow-size: 0 0 0 0.125em !default;
$button-focus-box-shadow-color: bulmaRgba($link, 0.25) !default;
$button-active-color: $link-active !default;
$button-active-border-color: $link-active-border !default;
$button-text-color: $text !default;
$button-text-decoration: underline !default;
$button-text-hover-background-color: $background !default;
$button-text-hover-color: $text-strong !default;
$button-disabled-background-color: $scheme-main !default;
$button-disabled-border-color: $border !default;
$button-disabled-shadow: none !default;
$button-disabled-opacity: 0.5 !default;
$button-static-color: $text-light !default;
$button-static-background-color: $scheme-main-ter !default;
$button-static-border-color: $border !default;
// The button sizes use mixins so they can be used at different breakpoints
@mixin button-small {
border-radius: $radius-small;
font-size: $size-small;
}
@mixin button-normal {
font-size: $size-normal;
}
@mixin button-medium {
font-size: $size-medium;
}
@mixin button-large {
font-size: $size-large;
}
.button {
@extend %control;
@extend %unselectable;
background-color: $button-background-color;
border-color: $button-border-color;
border-width: $button-border-width;
color: $button-color;
cursor: pointer;
@if $button-family {
font-family: $button-family;
}
justify-content: center;
padding-bottom: $button-padding-vertical;
padding-left: $button-padding-horizontal;
padding-right: $button-padding-horizontal;
padding-top: $button-padding-vertical;
text-align: center;
white-space: nowrap;
strong {
color: inherit;
}
.icon {
&,
&.is-small,
&.is-medium,
&.is-large {
height: 1.5em;
width: 1.5em;
}
&:first-child:not(:last-child) {
@include ltr-property("margin", calc(#{-1 / 2 * $button-padding-horizontal} - #{$button-border-width}), false);
@include ltr-property("margin", $button-padding-horizontal / 4);
}
&:last-child:not(:first-child) {
@include ltr-property("margin", $button-padding-horizontal / 4, false);
@include ltr-property("margin", calc(#{-1 / 2 * $button-padding-horizontal} - #{$button-border-width}));
}
&:first-child:last-child {
margin-left: calc(#{-1 / 2 * $button-padding-horizontal} - #{$button-border-width});
margin-right: calc(#{-1 / 2 * $button-padding-horizontal} - #{$button-border-width});
}
}
// States
&:hover,
&.is-hovered {
border-color: $button-hover-border-color;
color: $button-hover-color;
}
&:focus,
&.is-focused {
border-color: $button-focus-border-color;
color: $button-focus-color;
&:not(:active) {
box-shadow: $button-focus-box-shadow-size $button-focus-box-shadow-color;
}
}
&:active,
&.is-active {
border-color: $button-active-border-color;
color: $button-active-color;
}
// Colors
&.is-text {
background-color: transparent;
border-color: transparent;
color: $button-text-color;
text-decoration: $button-text-decoration;
&:hover,
&.is-hovered,
&:focus,
&.is-focused {
background-color: $button-text-hover-background-color;
color: $button-text-hover-color;
}
&:active,
&.is-active {
background-color: bulmaDarken($button-text-hover-background-color, 5%);
color: $button-text-hover-color;
}
&[disabled],
fieldset[disabled] & {
background-color: transparent;
border-color: transparent;
box-shadow: none;
}
}
@each $name, $pair in $colors {
$color: nth($pair, 1);
$color-invert: nth($pair, 2);
&.is-#{$name} {
background-color: $color;
border-color: transparent;
color: $color-invert;
&:hover,
&.is-hovered {
background-color: bulmaDarken($color, 2.5%);
border-color: transparent;
color: $color-invert;
}
&:focus,
&.is-focused {
border-color: transparent;
color: $color-invert;
&:not(:active) {
box-shadow: $button-focus-box-shadow-size bulmaRgba($color, 0.25);
}
}
&:active,
&.is-active {
background-color: bulmaDarken($color, 5%);
border-color: transparent;
color: $color-invert;
}
&[disabled],
fieldset[disabled] & {
background-color: $color;
border-color: transparent;
box-shadow: none;
}
&.is-inverted {
background-color: $color-invert;
color: $color;
&:hover,
&.is-hovered {
background-color: bulmaDarken($color-invert, 5%);
}
&[disabled],
fieldset[disabled] & {
background-color: $color-invert;
border-color: transparent;
box-shadow: none;
color: $color;
}
}
&.is-loading {
&::after {
border-color: transparent transparent $color-invert $color-invert !important;
}
}
&.is-outlined {
background-color: transparent;
border-color: $color;
color: $color;
&:hover,
&.is-hovered,
&:focus,
&.is-focused {
background-color: $color;
border-color: $color;
color: $color-invert;
}
&.is-loading {
&::after {
border-color: transparent transparent $color $color !important;
}
&:hover,
&.is-hovered,
&:focus,
&.is-focused {
&::after {
border-color: transparent transparent $color-invert $color-invert !important;
}
}
}
&[disabled],
fieldset[disabled] & {
background-color: transparent;
border-color: $color;
box-shadow: none;
color: $color;
}
}
&.is-inverted.is-outlined {
background-color: transparent;
border-color: $color-invert;
color: $color-invert;
&:hover,
&.is-hovered,
&:focus,
&.is-focused {
background-color: $color-invert;
color: $color;
}
&.is-loading {
&:hover,
&.is-hovered,
&:focus,
&.is-focused {
&::after {
border-color: transparent transparent $color $color !important;
}
}
}
&[disabled],
fieldset[disabled] & {
background-color: transparent;
border-color: $color-invert;
box-shadow: none;
color: $color-invert;
}
}
// If light and dark colors are provided
@if length($pair) >= 4 {
$color-light: nth($pair, 3);
$color-dark: nth($pair, 4);
&.is-light {
background-color: $color-light;
color: $color-dark;
&:hover,
&.is-hovered {
background-color: bulmaDarken($color-light, 2.5%);
border-color: transparent;
color: $color-dark;
}
&:active,
&.is-active {
background-color: bulmaDarken($color-light, 5%);
border-color: transparent;
color: $color-dark;
}
}
}
}
}
// Sizes
&.is-small {
@include button-small;
}
&.is-normal {
@include button-normal;
}
&.is-medium {
@include button-medium;
}
&.is-large {
@include button-large;
}
// Modifiers
&[disabled],
fieldset[disabled] & {
background-color: $button-disabled-background-color;
border-color: $button-disabled-border-color;
box-shadow: $button-disabled-shadow;
opacity: $button-disabled-opacity;
}
&.is-fullwidth {
display: flex;
width: 100%;
}
&.is-loading {
color: transparent !important;
pointer-events: none;
&::after {
@extend %loader;
@include center(1em);
position: absolute !important;
}
}
&.is-static {
background-color: $button-static-background-color;
border-color: $button-static-border-color;
color: $button-static-color;
box-shadow: none;
pointer-events: none;
}
&.is-rounded {
border-radius: $radius-rounded;
padding-left: calc(#{$button-padding-horizontal} + 0.25em);
padding-right: calc(#{$button-padding-horizontal} + 0.25em);
}
}
.buttons {
align-items: center;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
.button {
margin-bottom: 0.5rem;
&:not(:last-child):not(.is-fullwidth) {
@include ltr-property("margin", 0.5rem);
}
}
&:last-child {
margin-bottom: -0.5rem;
}
&:not(:last-child) {
margin-bottom: 1rem;
}
// Sizes
&.are-small {
.button:not(.is-normal):not(.is-medium):not(.is-large) {
@include button-small;
}
}
&.are-medium {
.button:not(.is-small):not(.is-normal):not(.is-large) {
@include button-medium;
}
}
&.are-large {
.button:not(.is-small):not(.is-normal):not(.is-medium) {
@include button-large;
}
}
&.has-addons {
.button {
&:not(:first-child) {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
&:not(:last-child) {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
@include ltr-property("margin", -1px);
}
&:last-child {
@include ltr-property("margin", 0);
}
&:hover,
&.is-hovered {
z-index: 2;
}
&:focus,
&.is-focused,
&:active,
&.is-active,
&.is-selected {
z-index: 3;
&:hover {
z-index: 4;
}
}
&.is-expanded {
flex-grow: 1;
flex-shrink: 1;
}
}
}
&.is-centered {
justify-content: center;
&:not(.has-addons) {
.button:not(.is-fullwidth) {
margin-left: 0.25rem;
margin-right: 0.25rem;
}
}
}
&.is-right {
justify-content: flex-end;
&:not(.has-addons) {
.button:not(.is-fullwidth) {
margin-left: 0.25rem;
margin-right: 0.25rem;
}
}
}
}

View File

@@ -0,0 +1,43 @@
$container-offset: 2 * $gap !default;
.container {
flex-grow: 1;
margin: 0 auto;
position: relative;
width: auto;
&.is-fluid {
max-width: none;
padding-left: $gap;
padding-right: $gap;
width: 100%;
}
@include desktop {
max-width: $desktop - $container-offset;
}
@include until-widescreen {
&.is-widescreen {
max-width: $widescreen - $container-offset;
}
}
@include until-fullhd {
&.is-fullhd {
max-width: $fullhd - $container-offset;
}
}
@include widescreen {
max-width: $widescreen - $container-offset;
}
@include fullhd {
max-width: $fullhd - $container-offset;
}
}

View File

@@ -0,0 +1,252 @@
$content-heading-color: $text-strong !default;
$content-heading-weight: $weight-semibold !default;
$content-heading-line-height: 1.125 !default;
$content-blockquote-background-color: $background !default;
$content-blockquote-border-left: 5px solid $border !default;
$content-blockquote-padding: 1.25em 1.5em !default;
$content-pre-padding: 1.25em 1.5em !default;
$content-table-cell-border: 1px solid $border !default;
$content-table-cell-border-width: 0 0 1px !default;
$content-table-cell-padding: 0.5em 0.75em !default;
$content-table-cell-heading-color: $text-strong !default;
$content-table-head-cell-border-width: 0 0 2px !default;
$content-table-head-cell-color: $text-strong !default;
$content-table-foot-cell-border-width: 2px 0 0 !default;
$content-table-foot-cell-color: $text-strong !default;
.content {
@extend %block;
// Inline
li + li {
margin-top: 0.25em;
}
// Block
p,
dl,
ol,
ul,
blockquote,
pre,
table {
&:not(:last-child) {
margin-bottom: 1em;
}
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: $content-heading-color;
font-weight: $content-heading-weight;
line-height: $content-heading-line-height;
}
h1 {
font-size: 2em;
margin-bottom: 0.5em;
&:not(:first-child) {
margin-top: 1em;
}
}
h2 {
font-size: 1.75em;
margin-bottom: 0.5714em;
&:not(:first-child) {
margin-top: 1.1428em;
}
}
h3 {
font-size: 1.5em;
margin-bottom: 0.6666em;
&:not(:first-child) {
margin-top: 1.3333em;
}
}
h4 {
font-size: 1.25em;
margin-bottom: 0.8em;
}
h5 {
font-size: 1.125em;
margin-bottom: 0.8888em;
}
h6 {
font-size: 1em;
margin-bottom: 1em;
}
blockquote {
background-color: $content-blockquote-background-color;
@include ltr-property("border", $content-blockquote-border-left, false);
padding: $content-blockquote-padding;
}
ol {
list-style-position: outside;
@include ltr-property("margin", 2em, false);
margin-top: 1em;
&:not([type]) {
list-style-type: decimal;
&.is-lower-alpha {
list-style-type: lower-alpha;
}
&.is-lower-roman {
list-style-type: lower-roman;
}
&.is-upper-alpha {
list-style-type: upper-alpha;
}
&.is-upper-roman {
list-style-type: upper-roman;
}
}
}
ul {
list-style: disc outside;
@include ltr-property("margin", 2em, false);
margin-top: 1em;
ul {
list-style-type: circle;
margin-top: 0.5em;
ul {
list-style-type: square;
}
}
}
dd {
@include ltr-property("margin", 2em, false);
}
figure {
margin-left: 2em;
margin-right: 2em;
text-align: center;
&:not(:first-child) {
margin-top: 2em;
}
&:not(:last-child) {
margin-bottom: 2em;
}
img {
display: inline-block;
}
figcaption {
font-style: italic;
}
}
pre {
@include overflow-touch;
overflow-x: auto;
padding: $content-pre-padding;
white-space: pre;
word-wrap: normal;
}
sup,
sub {
font-size: 75%;
}
table {
width: 100%;
td,
th {
border: $content-table-cell-border;
border-width: $content-table-cell-border-width;
padding: $content-table-cell-padding;
vertical-align: top;
}
th {
color: $content-table-cell-heading-color;
&:not([align]) {
text-align: inherit;
}
}
thead {
td,
th {
border-width: $content-table-head-cell-border-width;
color: $content-table-head-cell-color;
}
}
tfoot {
td,
th {
border-width: $content-table-foot-cell-border-width;
color: $content-table-foot-cell-color;
}
}
tbody {
tr {
&:last-child {
td,
th {
border-bottom-width: 0;
}
}
}
}
}
.tabs {
li + li {
margin-top: 0;
}
}
// Sizes
&.is-small {
font-size: $size-small;
}
&.is-medium {
font-size: $size-medium;
}
&.is-large {
font-size: $size-large;
}
}

View File

@@ -0,0 +1 @@
@warn "The form.sass file is DEPRECATED. It has moved into its own /form folder. Please import sass/form/_all instead.";

View File

@@ -0,0 +1,28 @@
$icon-dimensions: 1.5rem !default;
$icon-dimensions-small: 1rem !default;
$icon-dimensions-medium: 2rem !default;
$icon-dimensions-large: 3rem !default;
.icon {
align-items: center;
display: inline-flex;
justify-content: center;
height: $icon-dimensions;
width: $icon-dimensions;
// Sizes
&.is-small {
height: $icon-dimensions-small;
width: $icon-dimensions-small;
}
&.is-medium {
height: $icon-dimensions-medium;
width: $icon-dimensions-medium;
}
&.is-large {
height: $icon-dimensions-large;
width: $icon-dimensions-large;
}
}

View File

@@ -0,0 +1,115 @@
$dimensions: 16 24 32 48 64 96 128 !default;
.image {
display: block;
position: relative;
img {
display: block;
height: auto;
width: 100%;
&.is-rounded {
border-radius: $radius-rounded;
}
}
&.is-fullwidth {
width: 100%;
}
// Ratio
&.is-square,
&.is-1by1,
&.is-5by4,
&.is-4by3,
&.is-3by2,
&.is-5by3,
&.is-16by9,
&.is-2by1,
&.is-3by1,
&.is-4by5,
&.is-3by4,
&.is-2by3,
&.is-3by5,
&.is-9by16,
&.is-1by2,
&.is-1by3 {
img,
.has-ratio {
@extend %overlay;
height: 100%;
width: 100%;
}
}
&.is-square,
&.is-1by1 {
padding-top: 100%;
}
&.is-5by4 {
padding-top: 80%;
}
&.is-4by3 {
padding-top: 75%;
}
&.is-3by2 {
padding-top: 66.6666%;
}
&.is-5by3 {
padding-top: 60%;
}
&.is-16by9 {
padding-top: 56.25%;
}
&.is-2by1 {
padding-top: 50%;
}
&.is-3by1 {
padding-top: 33.3333%;
}
&.is-4by5 {
padding-top: 125%;
}
&.is-3by4 {
padding-top: 133.3333%;
}
&.is-2by3 {
padding-top: 150%;
}
&.is-3by5 {
padding-top: 166.6666%;
}
&.is-9by16 {
padding-top: 177.7777%;
}
&.is-1by2 {
padding-top: 200%;
}
&.is-1by3 {
padding-top: 300%;
}
// Sizes
@each $dimension in $dimensions {
&.is-#{$dimension}x#{$dimension} {
height: $dimension * 1px;
width: $dimension * 1px;
}
}
}

View File

@@ -0,0 +1,77 @@
$notification-background-color: $background !default;
$notification-code-background-color: $scheme-main !default;
$notification-radius: $radius !default;
$notification-padding: 1.25rem 2.5rem 1.25rem 1.5rem !default;
$notification-padding-ltr: 1.25rem 2.5rem 1.25rem 1.5rem !default;
$notification-padding-rtl: 1.25rem 1.5rem 1.25rem 2.5rem !default;
.notification {
@extend %block;
background-color: $notification-background-color;
border-radius: $notification-radius;
position: relative;
@include ltr {
padding: $notification-padding-ltr;
}
@include rtl {
padding: $notification-padding-rtl;
}
a:not(.button):not(.dropdown-item) {
color: currentColor;
text-decoration: underline;
}
strong {
color: currentColor;
}
code,
pre {
background: $notification-code-background-color;
}
pre code {
background: transparent;
}
& > .delete {
@include ltr-position(0.5rem);
position: absolute;
top: 0.5rem;
}
.title,
.subtitle,
.content {
color: currentColor;
}
// Colors
@each $name, $pair in $colors {
$color: nth($pair, 1);
$color-invert: nth($pair, 2);
&.is-#{$name} {
background-color: $color;
color: $color-invert;
// If light and dark colors are provided
@if length($pair) >= 4 {
$color-light: nth($pair, 3);
$color-dark: nth($pair, 4);
&.is-light {
background-color: $color-light;
color: $color-dark;
}
}
}
}
}

View File

@@ -0,0 +1,48 @@
.block {
@extend %block;
}
.delete {
@extend %delete;
}
.heading {
display: block;
font-size: 11px;
letter-spacing: 1px;
margin-bottom: 5px;
text-transform: uppercase;
}
.highlight {
@extend %block;
font-weight: $weight-normal;
max-width: 100%;
overflow: hidden;
padding: 0;
pre {
overflow: auto;
max-width: 100%;
}
}
.loader {
@extend %loader;
}
.number {
align-items: center;
background-color: $background;
border-radius: $radius-rounded;
display: inline-flex;
font-size: $size-medium;
height: 2em;
justify-content: center;
margin-right: 1.5rem;
min-width: 2.5em;
padding: 0.25rem 0.5rem;
text-align: center;
vertical-align: top;
}

View File

@@ -0,0 +1,102 @@
$progress-bar-background-color: $border-light !default;
$progress-value-background-color: $text !default;
$progress-border-radius: $radius-rounded !default;
$progress-indeterminate-duration: 1.5s !default;
.progress {
@extend %block;
-moz-appearance: none;
-webkit-appearance: none;
border: none;
border-radius: $progress-border-radius;
display: block;
height: $size-normal;
overflow: hidden;
padding: 0;
width: 100%;
&::-webkit-progress-bar {
background-color: $progress-bar-background-color;
}
&::-webkit-progress-value {
background-color: $progress-value-background-color;
}
&::-moz-progress-bar {
background-color: $progress-value-background-color;
}
&::-ms-fill {
background-color: $progress-value-background-color;
border: none;
}
// Colors
@each $name, $pair in $colors {
$color: nth($pair, 1);
&.is-#{$name} {
&::-webkit-progress-value {
background-color: $color;
}
&::-moz-progress-bar {
background-color: $color;
}
&::-ms-fill {
background-color: $color;
}
&:indeterminate {
background-image: linear-gradient(to right, $color 30%, $progress-bar-background-color 30%);
}
}
}
&:indeterminate {
animation-duration: $progress-indeterminate-duration;
animation-iteration-count: infinite;
animation-name: moveIndeterminate;
animation-timing-function: linear;
background-color: $progress-bar-background-color;
background-image: linear-gradient(to right, $text 30%, $progress-bar-background-color 30%);
background-position: top left;
background-repeat: no-repeat;
background-size: 150% 150%;
&::-webkit-progress-bar {
background-color: transparent;
}
&::-moz-progress-bar {
background-color: transparent;
}
}
// Sizes
&.is-small {
height: $size-small;
}
&.is-medium {
height: $size-medium;
}
&.is-large {
height: $size-large;
}
}
@keyframes moveIndeterminate {
from {
background-position: 200% 0;
}
to {
background-position: (-200%) 0;
}
}

View File

@@ -0,0 +1,202 @@
$table-color: $text-strong !default;
$table-background-color: $scheme-main !default;
$table-cell-border: 1px solid $border !default;
$table-cell-border-width: 0 0 1px !default;
$table-cell-padding: 0.5em 0.75em !default;
$table-cell-heading-color: $text-strong !default;
$table-head-cell-border-width: 0 0 2px !default;
$table-head-cell-color: $text-strong !default;
$table-foot-cell-border-width: 2px 0 0 !default;
$table-foot-cell-color: $text-strong !default;
$table-head-background-color: transparent !default;
$table-body-background-color: transparent !default;
$table-foot-background-color: transparent !default;
$table-row-hover-background-color: $scheme-main-bis !default;
$table-row-active-background-color: $primary !default;
$table-row-active-color: $primary-invert !default;
$table-striped-row-even-background-color: $scheme-main-bis !default;
$table-striped-row-even-hover-background-color: $scheme-main-ter !default;
.table {
@extend %block;
background-color: $table-background-color;
color: $table-color;
td,
th {
border: $table-cell-border;
border-width: $table-cell-border-width;
padding: $table-cell-padding;
vertical-align: top;
// Colors
@each $name, $pair in $colors {
$color: nth($pair, 1);
$color-invert: nth($pair, 2);
&.is-#{$name} {
background-color: $color;
border-color: $color;
color: $color-invert;
}
}
// Modifiers
&.is-narrow {
white-space: nowrap;
width: 1%;
}
&.is-selected {
background-color: $table-row-active-background-color;
color: $table-row-active-color;
a,
strong {
color: currentColor;
}
}
&.is-vcentered {
vertical-align: middle;
}
}
th {
color: $table-cell-heading-color;
&:not([align]) {
text-align: inherit;
}
}
tr {
&.is-selected {
background-color: $table-row-active-background-color;
color: $table-row-active-color;
a,
strong {
color: currentColor;
}
td,
th {
border-color: $table-row-active-color;
color: currentColor;
}
}
}
thead {
background-color: $table-head-background-color;
td,
th {
border-width: $table-head-cell-border-width;
color: $table-head-cell-color;
}
}
tfoot {
background-color: $table-foot-background-color;
td,
th {
border-width: $table-foot-cell-border-width;
color: $table-foot-cell-color;
}
}
tbody {
background-color: $table-body-background-color;
tr {
&:last-child {
td,
th {
border-bottom-width: 0;
}
}
}
}
// Modifiers
&.is-bordered {
td,
th {
border-width: 1px;
}
tr {
&:last-child {
td,
th {
border-bottom-width: 1px;
}
}
}
}
&.is-fullwidth {
width: 100%;
}
&.is-hoverable {
tbody {
tr:not(.is-selected) {
&:hover {
background-color: $table-row-hover-background-color;
}
}
}
&.is-striped {
tbody {
tr:not(.is-selected) {
&:hover {
background-color: $table-row-hover-background-color;
&:nth-child(even) {
background-color: $table-striped-row-even-hover-background-color;
}
}
}
}
}
}
&.is-narrow {
td,
th {
padding: 0.25em 0.5em;
}
}
&.is-striped {
tbody {
tr:not(.is-selected) {
&:nth-child(even) {
background-color: $table-striped-row-even-background-color;
}
}
}
}
}
.table-container {
@extend %block;
@include overflow-touch;
overflow: auto;
overflow-y: hidden;
max-width: 100%;
}

View File

@@ -0,0 +1,218 @@
$tag-background-color: $background !default;
$tag-color: $text !default;
$tag-radius: $radius !default;
$tag-delete-margin: 1px !default;
.tags {
align-items: center;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
.tag {
margin-bottom: 0.5rem;
&:not(:last-child) {
@include ltr-property("margin", 0.5rem);
}
}
&:last-child {
margin-bottom: -0.5rem;
}
&:not(:last-child) {
margin-bottom: 1rem;
}
// Sizes
&.are-medium {
.tag:not(.is-normal):not(.is-large) {
font-size: $size-normal;
}
}
&.are-large {
.tag:not(.is-normal):not(.is-medium) {
font-size: $size-medium;
}
}
&.is-centered {
justify-content: center;
.tag {
margin-right: 0.25rem;
margin-left: 0.25rem;
}
}
&.is-right {
justify-content: flex-end;
.tag {
&:not(:first-child) {
margin-left: 0.5rem;
}
&:not(:last-child) {
margin-right: 0;
}
}
}
&.has-addons {
.tag {
@include ltr-property("margin", 0);
&:not(:first-child) {
@include ltr-property("margin", 0, false);
@include ltr {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
@include rtl {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
&:not(:last-child) {
@include ltr {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
@include rtl {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
}
}
}
}
.tag:not(body) {
align-items: center;
background-color: $tag-background-color;
border-radius: $tag-radius;
color: $tag-color;
display: inline-flex;
font-size: $size-small;
height: 2em;
justify-content: center;
line-height: 1.5;
padding-left: 0.75em;
padding-right: 0.75em;
white-space: nowrap;
.delete {
@include ltr-property("margin", 0.25rem, false);
@include ltr-property("margin", -0.375rem);
}
// Colors
@each $name, $pair in $colors {
$color: nth($pair, 1);
$color-invert: nth($pair, 2);
&.is-#{$name} {
background-color: $color;
color: $color-invert;
// If a light and dark colors are provided
@if length($pair) > 3 {
$color-light: nth($pair, 3);
$color-dark: nth($pair, 4);
&.is-light {
background-color: $color-light;
color: $color-dark;
}
}
}
}
// Sizes
&.is-normal {
font-size: $size-small;
}
&.is-medium {
font-size: $size-normal;
}
&.is-large {
font-size: $size-medium;
}
.icon {
&:first-child:not(:last-child) {
@include ltr-property("margin", -0.375em, false);
@include ltr-property("margin", 0.1875em);
}
&:last-child:not(:first-child) {
@include ltr-property("margin", 0.1875em, false);
@include ltr-property("margin", -0.375em);
}
&:first-child:last-child {
@include ltr-property("margin", -0.375em, false);
@include ltr-property("margin", -0.375em);
}
}
// Modifiers
&.is-delete {
@include ltr-property("margin", $tag-delete-margin, false);
padding: 0;
position: relative;
width: 2em;
&::before,
&::after {
background-color: currentColor;
content: "";
display: block;
left: 50%;
position: absolute;
top: 50%;
transform: translateX(-50%) translateY(-50%) rotate(45deg);
transform-origin: center center;
}
&::before {
height: 1px;
width: 50%;
}
&::after {
height: 50%;
width: 1px;
}
&:hover,
&:focus {
background-color: darken($tag-background-color, 5%);
}
&:active {
background-color: darken($tag-background-color, 10%);
}
}
&.is-rounded {
border-radius: $radius-rounded;
}
}
a.tag {
&:hover {
text-decoration: underline;
}
}

View File

@@ -0,0 +1,106 @@
$title-color: $text-strong !default;
$title-family: false !default;
$title-size: $size-3 !default;
$title-weight: $weight-semibold !default;
$title-line-height: 1.125 !default;
$title-strong-color: inherit !default;
$title-strong-weight: inherit !default;
$title-sub-size: 0.75em !default;
$title-sup-size: 0.75em !default;
$subtitle-color: $text !default;
$subtitle-family: false !default;
$subtitle-size: $size-5 !default;
$subtitle-weight: $weight-normal !default;
$subtitle-line-height: 1.25 !default;
$subtitle-strong-color: $text-strong !default;
$subtitle-strong-weight: $weight-semibold !default;
$subtitle-negative-margin: -1.25rem !default;
.title,
.subtitle {
@extend %block;
word-break: break-word;
em,
span {
font-weight: inherit;
}
sub {
font-size: $title-sub-size;
}
sup {
font-size: $title-sup-size;
}
.tag {
vertical-align: middle;
}
}
.title {
color: $title-color;
@if $title-family {
font-family: $title-family;
}
font-size: $title-size;
font-weight: $title-weight;
line-height: $title-line-height;
strong {
color: $title-strong-color;
font-weight: $title-strong-weight;
}
& + .highlight {
margin-top: -0.75rem;
}
&:not(.is-spaced) + .subtitle {
margin-top: $subtitle-negative-margin;
}
// Sizes
@each $size in $sizes {
$i: index($sizes, $size);
&.is-#{$i} {
font-size: $size;
}
}
}
.subtitle {
color: $subtitle-color;
@if $subtitle-family {
font-family: $subtitle-family;
}
font-size: $subtitle-size;
font-weight: $subtitle-weight;
line-height: $subtitle-line-height;
strong {
color: $subtitle-strong-color;
font-weight: $subtitle-strong-weight;
}
&:not(.is-spaced) + .title {
margin-top: $subtitle-negative-margin;
}
// Sizes
@each $size in $sizes {
$i: index($sizes, $size);
&.is-#{$i} {
font-size: $size;
}
}
}

View File

@@ -0,0 +1,6 @@
@import "shared";
@import "input-textarea";
@import "checkbox-radio";
@import "select";
@import "file";
@import "tools";

View File

@@ -0,0 +1,32 @@
%checkbox-radio {
cursor: pointer;
display: inline-block;
line-height: 1.25;
position: relative;
input {
cursor: pointer;
}
&:hover {
color: $input-hover-color;
}
&[disabled],
fieldset[disabled] & {
color: $input-disabled-color;
cursor: not-allowed;
}
}
.checkbox {
@extend %checkbox-radio;
}
.radio {
@extend %checkbox-radio;
& + .radio {
@include ltr-property("margin", 0.5em, false);
}
}

View File

@@ -0,0 +1,277 @@
$file-border-color: $border !default;
$file-radius: $radius !default;
$file-cta-background-color: $scheme-main-ter !default;
$file-cta-color: $text !default;
$file-cta-hover-color: $text-strong !default;
$file-cta-active-color: $text-strong !default;
$file-name-border-color: $border !default;
$file-name-border-style: solid !default;
$file-name-border-width: 1px 1px 1px 0 !default;
$file-name-max-width: 16em !default;
.file {
@extend %unselectable;
align-items: stretch;
display: flex;
justify-content: flex-start;
position: relative;
// Colors
@each $name, $pair in $colors {
$color: nth($pair, 1);
$color-invert: nth($pair, 2);
&.is-#{$name} {
.file-cta {
background-color: $color;
border-color: transparent;
color: $color-invert;
}
&:hover,
&.is-hovered {
.file-cta {
background-color: bulmaDarken($color, 2.5%);
border-color: transparent;
color: $color-invert;
}
}
&:focus,
&.is-focused {
.file-cta {
border-color: transparent;
box-shadow: 0 0 0.5em bulmaRgba($color, 0.25);
color: $color-invert;
}
}
&:active,
&.is-active {
.file-cta {
background-color: bulmaDarken($color, 5%);
border-color: transparent;
color: $color-invert;
}
}
}
}
// Sizes
&.is-small {
font-size: $size-small;
}
&.is-medium {
font-size: $size-medium;
.file-icon {
.fa {
font-size: 21px;
}
}
}
&.is-large {
font-size: $size-large;
.file-icon {
.fa {
font-size: 28px;
}
}
}
// Modifiers
&.has-name {
.file-cta {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
.file-name {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
&.is-empty {
.file-cta {
border-radius: $file-radius;
}
.file-name {
display: none;
}
}
}
&.is-boxed {
.file-label {
flex-direction: column;
}
.file-cta {
flex-direction: column;
height: auto;
padding: 1em 3em;
}
.file-name {
border-width: 0 1px 1px;
}
.file-icon {
height: 1.5em;
width: 1.5em;
.fa {
font-size: 21px;
}
}
&.is-small {
.file-icon .fa {
font-size: 14px;
}
}
&.is-medium {
.file-icon .fa {
font-size: 28px;
}
}
&.is-large {
.file-icon .fa {
font-size: 35px;
}
}
&.has-name {
.file-cta {
border-radius: $file-radius $file-radius 0 0;
}
.file-name {
border-radius: 0 0 $file-radius $file-radius;
border-width: 0 1px 1px;
}
}
}
&.is-centered {
justify-content: center;
}
&.is-fullwidth {
.file-label {
width: 100%;
}
.file-name {
flex-grow: 1;
max-width: none;
}
}
&.is-right {
justify-content: flex-end;
.file-cta {
border-radius: 0 $file-radius $file-radius 0;
}
.file-name {
border-radius: $file-radius 0 0 $file-radius;
border-width: 1px 0 1px 1px;
order: -1;
}
}
}
.file-label {
align-items: stretch;
display: flex;
cursor: pointer;
justify-content: flex-start;
overflow: hidden;
position: relative;
&:hover {
.file-cta {
background-color: bulmaDarken($file-cta-background-color, 2.5%);
color: $file-cta-hover-color;
}
.file-name {
border-color: bulmaDarken($file-name-border-color, 2.5%);
}
}
&:active {
.file-cta {
background-color: bulmaDarken($file-cta-background-color, 5%);
color: $file-cta-active-color;
}
.file-name {
border-color: bulmaDarken($file-name-border-color, 5%);
}
}
}
.file-input {
height: 100%;
left: 0;
opacity: 0;
outline: none;
position: absolute;
top: 0;
width: 100%;
}
.file-cta,
.file-name {
@extend %control;
border-color: $file-border-color;
border-radius: $file-radius;
font-size: 1em;
padding-left: 1em;
padding-right: 1em;
white-space: nowrap;
}
.file-cta {
background-color: $file-cta-background-color;
color: $file-cta-color;
}
.file-name {
border-color: $file-name-border-color;
border-style: $file-name-border-style;
border-width: $file-name-border-width;
display: block;
max-width: $file-name-max-width;
overflow: hidden;
text-align: inherit;
text-overflow: ellipsis;
}
.file-icon {
align-items: center;
display: flex;
height: 1em;
justify-content: center;
@include ltr-property("margin", 0.5em);
width: 1em;
.fa {
font-size: 14px;
}
}

View File

@@ -0,0 +1,97 @@
$textarea-padding: $control-padding-horizontal !default;
$textarea-max-height: 40em !default;
$textarea-min-height: 8em !default;
%input-textarea {
@extend %input;
box-shadow: $input-shadow;
max-width: 100%;
width: 100%;
&[readonly] {
box-shadow: none;
}
// Colors
@each $name, $pair in $colors {
$color: nth($pair, 1);
&.is-#{$name} {
border-color: $color;
&:focus,
&.is-focused,
&:active,
&.is-active {
box-shadow: $input-focus-box-shadow-size bulmaRgba($color, 0.25);
}
}
}
// Sizes
&.is-small {
@include control-small;
}
&.is-medium {
@include control-medium;
}
&.is-large {
@include control-large;
}
// Modifiers
&.is-fullwidth {
display: block;
width: 100%;
}
&.is-inline {
display: inline;
width: auto;
}
}
.input {
@extend %input-textarea;
&.is-rounded {
border-radius: $radius-rounded;
padding-left: calc(#{$control-padding-horizontal} + 0.375em);
padding-right: calc(#{$control-padding-horizontal} + 0.375em);
}
&.is-static {
background-color: transparent;
border-color: transparent;
box-shadow: none;
padding-left: 0;
padding-right: 0;
}
}
.textarea {
@extend %input-textarea;
display: block;
max-width: 100%;
min-width: 100%;
padding: $textarea-padding;
resize: vertical;
&:not([rows]) {
max-height: $textarea-max-height;
min-height: $textarea-min-height;
}
&[rows] {
height: initial;
}
// Modifiers
&.has-fixed-size {
resize: none;
}
}

View File

@@ -0,0 +1,150 @@
.select {
display: inline-block;
max-width: 100%;
position: relative;
vertical-align: top;
&:not(.is-multiple) {
height: $input-height;
}
&:not(.is-multiple):not(.is-loading) {
&::after {
@extend %arrow;
border-color: $input-arrow;
@include ltr-position(1.125em);
z-index: 4;
}
}
&.is-rounded {
select {
border-radius: $radius-rounded;
@include ltr-property("padding", 1em, false);
}
}
select {
@extend %input;
cursor: pointer;
display: block;
font-size: 1em;
max-width: 100%;
outline: none;
&::-ms-expand {
display: none;
}
&[disabled]:hover,
fieldset[disabled] &:hover {
border-color: $input-disabled-border-color;
}
&:not([multiple]) {
@include ltr-property("padding", 2.5em);
}
&[multiple] {
height: auto;
padding: 0;
option {
padding: 0.5em 1em;
}
}
}
// States
&:not(.is-multiple):not(.is-loading):hover {
&::after {
border-color: $input-hover-color;
}
}
// Colors
@each $name, $pair in $colors {
$color: nth($pair, 1);
&.is-#{$name} {
&:not(:hover)::after {
border-color: $color;
}
select {
border-color: $color;
&:hover,
&.is-hovered {
border-color: bulmaDarken($color, 5%);
}
&:focus,
&.is-focused,
&:active,
&.is-active {
box-shadow: $input-focus-box-shadow-size bulmaRgba($color, 0.25);
}
}
}
}
// Sizes
&.is-small {
@include control-small;
}
&.is-medium {
@include control-medium;
}
&.is-large {
@include control-large;
}
// Modifiers
&.is-disabled {
&::after {
border-color: $input-disabled-color;
}
}
&.is-fullwidth {
width: 100%;
select {
width: 100%;
}
}
&.is-loading {
&::after {
@extend %loader;
margin-top: 0;
position: absolute;
@include ltr-position(0.625em);
top: 0.625em;
transform: none;
}
&.is-small:after {
font-size: $size-small;
}
&.is-medium:after {
font-size: $size-medium;
}
&.is-large:after {
font-size: $size-large;
}
}
}

View File

@@ -0,0 +1,69 @@
$input-color: $text-strong !default;
$input-background-color: $scheme-main !default;
$input-border-color: $border !default;
$input-height: $control-height !default;
$input-shadow: inset 0 0.0625em 0.125em rgba($scheme-invert, 0.05) !default;
$input-placeholder-color: bulmaRgba($input-color, 0.3) !default;
$input-hover-color: $text-strong !default;
$input-hover-border-color: $border-hover !default;
$input-focus-color: $text-strong !default;
$input-focus-border-color: $link !default;
$input-focus-box-shadow-size: 0 0 0 0.125em !default;
$input-focus-box-shadow-color: bulmaRgba($link, 0.25) !default;
$input-disabled-color: $text-light !default;
$input-disabled-background-color: $background !default;
$input-disabled-border-color: $background !default;
$input-disabled-placeholder-color: bulmaRgba($input-disabled-color, 0.3) !default;
$input-arrow: $link !default;
$input-icon-color: $border !default;
$input-icon-active-color: $text !default;
$input-radius: $radius !default;
@mixin input {
@extend %control;
background-color: $input-background-color;
border-color: $input-border-color;
border-radius: $input-radius;
color: $input-color;
@include placeholder {
color: $input-placeholder-color;
}
&:hover,
&.is-hovered {
border-color: $input-hover-border-color;
}
&:focus,
&.is-focused,
&:active,
&.is-active {
border-color: $input-focus-border-color;
box-shadow: $input-focus-box-shadow-size $input-focus-box-shadow-color;
}
&[disabled],
fieldset[disabled] & {
background-color: $input-disabled-background-color;
border-color: $input-disabled-border-color;
box-shadow: none;
color: $input-disabled-color;
@include placeholder {
color: $input-disabled-placeholder-color;
}
}
}
%input {
@include input;
}

View File

@@ -0,0 +1,358 @@
$label-color: $text-strong !default;
$label-weight: $weight-bold !default;
$help-size: $size-small !default;
.label {
color: $label-color;
display: block;
font-size: $size-normal;
font-weight: $label-weight;
&:not(:last-child) {
margin-bottom: 0.5em;
}
// Sizes
&.is-small {
font-size: $size-small;
}
&.is-medium {
font-size: $size-medium;
}
&.is-large {
font-size: $size-large;
}
}
.help {
display: block;
font-size: $help-size;
margin-top: 0.25rem;
@each $name, $pair in $colors {
$color: nth($pair, 1);
&.is-#{$name} {
color: $color;
}
}
}
// Containers
.field {
&:not(:last-child) {
margin-bottom: 0.75rem;
}
// Modifiers
&.has-addons {
display: flex;
justify-content: flex-start;
.control {
&:not(:last-child) {
@include ltr-property("margin", -1px);
}
&:not(:first-child):not(:last-child) {
.button,
.input,
.select select {
border-radius: 0;
}
}
&:first-child:not(:only-child) {
.button,
.input,
.select select {
@include ltr {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
@include rtl {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
}
}
&:last-child:not(:only-child) {
.button,
.input,
.select select {
@include ltr {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
@include rtl {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}
}
}
.button,
.input,
.select select {
&:not([disabled]) {
&:hover,
&.is-hovered {
z-index: 2;
}
&:focus,
&.is-focused,
&:active,
&.is-active {
z-index: 3;
&:hover {
z-index: 4;
}
}
}
}
&.is-expanded {
flex-grow: 1;
flex-shrink: 1;
}
}
&.has-addons-centered {
justify-content: center;
}
&.has-addons-right {
justify-content: flex-end;
}
&.has-addons-fullwidth {
.control {
flex-grow: 1;
flex-shrink: 0;
}
}
}
&.is-grouped {
display: flex;
justify-content: flex-start;
& > .control {
flex-shrink: 0;
&:not(:last-child) {
margin-bottom: 0;
@include ltr-property("margin", 0.75rem);
}
&.is-expanded {
flex-grow: 1;
flex-shrink: 1;
}
}
&.is-grouped-centered {
justify-content: center;
}
&.is-grouped-right {
justify-content: flex-end;
}
&.is-grouped-multiline {
flex-wrap: wrap;
& > .control {
&:last-child,
&:not(:last-child) {
margin-bottom: 0.75rem;
}
}
&:last-child {
margin-bottom: -0.75rem;
}
&:not(:last-child) {
margin-bottom: 0;
}
}
}
&.is-horizontal {
@include tablet {
display: flex;
}
}
}
.field-label {
.label {
font-size: inherit;
}
@include mobile {
margin-bottom: 0.5rem;
}
@include tablet {
flex-basis: 0;
flex-grow: 1;
flex-shrink: 0;
@include ltr-property("margin", 1.5rem);
text-align: right;
&.is-small {
font-size: $size-small;
padding-top: 0.375em;
}
&.is-normal {
padding-top: 0.375em;
}
&.is-medium {
font-size: $size-medium;
padding-top: 0.375em;
}
&.is-large {
font-size: $size-large;
padding-top: 0.375em;
}
}
}
.field-body {
.field .field {
margin-bottom: 0;
}
@include tablet {
display: flex;
flex-basis: 0;
flex-grow: 5;
flex-shrink: 1;
.field {
margin-bottom: 0;
}
& > .field {
flex-shrink: 1;
&:not(.is-narrow) {
flex-grow: 1;
}
&:not(:last-child) {
@include ltr-property("margin", 0.75rem);
}
}
}
}
.control {
box-sizing: border-box;
clear: both;
font-size: $size-normal;
position: relative;
text-align: inherit;
// Modifiers
&.has-icons-left,
&.has-icons-right {
.input,
.select {
&:focus {
& ~ .icon {
color: $input-icon-active-color;
}
}
&.is-small ~ .icon {
font-size: $size-small;
}
&.is-medium ~ .icon {
font-size: $size-medium;
}
&.is-large ~ .icon {
font-size: $size-large;
}
}
.icon {
color: $input-icon-color;
height: $input-height;
pointer-events: none;
position: absolute;
top: 0;
width: $input-height;
z-index: 4;
}
}
&.has-icons-left {
.input,
.select select {
padding-left: $input-height;
}
.icon.is-left {
left: 0;
}
}
&.has-icons-right {
.input,
.select select {
padding-right: $input-height;
}
.icon.is-right {
right: 0;
}
}
&.is-loading {
&::after {
@extend %loader;
position: absolute !important;
@include ltr-position(0.625em);
top: 0.625em;
z-index: 4;
}
&.is-small:after {
font-size: $size-small;
}
&.is-medium:after {
font-size: $size-medium;
}
&.is-large:after {
font-size: $size-large;
}
}
}

View File

@@ -0,0 +1,2 @@
@import "columns";
@import "tiles";

View File

@@ -0,0 +1,901 @@
$column-gap: 0.75rem !default;
.column {
display: block;
flex-basis: 0;
flex-grow: 1;
flex-shrink: 1;
padding: $column-gap;
.columns.is-mobile > &.is-narrow {
flex: none;
}
.columns.is-mobile > &.is-full {
flex: none;
width: 100%;
}
.columns.is-mobile > &.is-three-quarters {
flex: none;
width: 75%;
}
.columns.is-mobile > &.is-two-thirds {
flex: none;
width: 66.6666%;
}
.columns.is-mobile > &.is-half {
flex: none;
width: 50%;
}
.columns.is-mobile > &.is-one-third {
flex: none;
width: 33.3333%;
}
.columns.is-mobile > &.is-one-quarter {
flex: none;
width: 25%;
}
.columns.is-mobile > &.is-one-fifth {
flex: none;
width: 20%;
}
.columns.is-mobile > &.is-two-fifths {
flex: none;
width: 40%;
}
.columns.is-mobile > &.is-three-fifths {
flex: none;
width: 60%;
}
.columns.is-mobile > &.is-four-fifths {
flex: none;
width: 80%;
}
.columns.is-mobile > &.is-offset-three-quarters {
margin-left: 75%;
}
.columns.is-mobile > &.is-offset-two-thirds {
margin-left: 66.6666%;
}
.columns.is-mobile > &.is-offset-half {
margin-left: 50%;
}
.columns.is-mobile > &.is-offset-one-third {
margin-left: 33.3333%;
}
.columns.is-mobile > &.is-offset-one-quarter {
margin-left: 25%;
}
.columns.is-mobile > &.is-offset-one-fifth {
margin-left: 20%;
}
.columns.is-mobile > &.is-offset-two-fifths {
margin-left: 40%;
}
.columns.is-mobile > &.is-offset-three-fifths {
margin-left: 60%;
}
.columns.is-mobile > &.is-offset-four-fifths {
margin-left: 80%;
}
@for $i from 0 through 12 {
.columns.is-mobile > &.is-#{$i} {
flex: none;
width: percentage($i / 12);
}
.columns.is-mobile > &.is-offset-#{$i} {
margin-left: percentage($i / 12);
}
}
@include mobile {
&.is-narrow-mobile {
flex: none;
}
&.is-full-mobile {
flex: none;
width: 100%;
}
&.is-three-quarters-mobile {
flex: none;
width: 75%;
}
&.is-two-thirds-mobile {
flex: none;
width: 66.6666%;
}
&.is-half-mobile {
flex: none;
width: 50%;
}
&.is-one-third-mobile {
flex: none;
width: 33.3333%;
}
&.is-one-quarter-mobile {
flex: none;
width: 25%;
}
&.is-one-fifth-mobile {
flex: none;
width: 20%;
}
&.is-two-fifths-mobile {
flex: none;
width: 40%;
}
&.is-three-fifths-mobile {
flex: none;
width: 60%;
}
&.is-four-fifths-mobile {
flex: none;
width: 80%;
}
&.is-offset-three-quarters-mobile {
margin-left: 75%;
}
&.is-offset-two-thirds-mobile {
margin-left: 66.6666%;
}
&.is-offset-half-mobile {
margin-left: 50%;
}
&.is-offset-one-third-mobile {
margin-left: 33.3333%;
}
&.is-offset-one-quarter-mobile {
margin-left: 25%;
}
&.is-offset-one-fifth-mobile {
margin-left: 20%;
}
&.is-offset-two-fifths-mobile {
margin-left: 40%;
}
&.is-offset-three-fifths-mobile {
margin-left: 60%;
}
&.is-offset-four-fifths-mobile {
margin-left: 80%;
}
@for $i from 0 through 12 {
&.is-#{$i}-mobile {
flex: none;
width: percentage($i / 12);
}
&.is-offset-#{$i}-mobile {
margin-left: percentage($i / 12);
}
}
}
@include tablet {
&.is-narrow,
&.is-narrow-tablet {
flex: none;
}
&.is-full,
&.is-full-tablet {
flex: none;
width: 100%;
}
&.is-three-quarters,
&.is-three-quarters-tablet {
flex: none;
width: 75%;
}
&.is-two-thirds,
&.is-two-thirds-tablet {
flex: none;
width: 66.6666%;
}
&.is-half,
&.is-half-tablet {
flex: none;
width: 50%;
}
&.is-one-third,
&.is-one-third-tablet {
flex: none;
width: 33.3333%;
}
&.is-one-quarter,
&.is-one-quarter-tablet {
flex: none;
width: 25%;
}
&.is-one-fifth,
&.is-one-fifth-tablet {
flex: none;
width: 20%;
}
&.is-two-fifths,
&.is-two-fifths-tablet {
flex: none;
width: 40%;
}
&.is-three-fifths,
&.is-three-fifths-tablet {
flex: none;
width: 60%;
}
&.is-four-fifths,
&.is-four-fifths-tablet {
flex: none;
width: 80%;
}
&.is-offset-three-quarters,
&.is-offset-three-quarters-tablet {
margin-left: 75%;
}
&.is-offset-two-thirds,
&.is-offset-two-thirds-tablet {
margin-left: 66.6666%;
}
&.is-offset-half,
&.is-offset-half-tablet {
margin-left: 50%;
}
&.is-offset-one-third,
&.is-offset-one-third-tablet {
margin-left: 33.3333%;
}
&.is-offset-one-quarter,
&.is-offset-one-quarter-tablet {
margin-left: 25%;
}
&.is-offset-one-fifth,
&.is-offset-one-fifth-tablet {
margin-left: 20%;
}
&.is-offset-two-fifths,
&.is-offset-two-fifths-tablet {
margin-left: 40%;
}
&.is-offset-three-fifths,
&.is-offset-three-fifths-tablet {
margin-left: 60%;
}
&.is-offset-four-fifths,
&.is-offset-four-fifths-tablet {
margin-left: 80%;
}
@for $i from 0 through 12 {
&.is-#{$i},
&.is-#{$i}-tablet {
flex: none;
width: percentage($i / 12);
}
&.is-offset-#{$i},
&.is-offset-#{$i}-tablet {
margin-left: percentage($i / 12);
}
}
}
@include touch {
&.is-narrow-touch {
flex: none;
}
&.is-full-touch {
flex: none;
width: 100%;
}
&.is-three-quarters-touch {
flex: none;
width: 75%;
}
&.is-two-thirds-touch {
flex: none;
width: 66.6666%;
}
&.is-half-touch {
flex: none;
width: 50%;
}
&.is-one-third-touch {
flex: none;
width: 33.3333%;
}
&.is-one-quarter-touch {
flex: none;
width: 25%;
}
&.is-one-fifth-touch {
flex: none;
width: 20%;
}
&.is-two-fifths-touch {
flex: none;
width: 40%;
}
&.is-three-fifths-touch {
flex: none;
width: 60%;
}
&.is-four-fifths-touch {
flex: none;
width: 80%;
}
&.is-offset-three-quarters-touch {
margin-left: 75%;
}
&.is-offset-two-thirds-touch {
margin-left: 66.6666%;
}
&.is-offset-half-touch {
margin-left: 50%;
}
&.is-offset-one-third-touch {
margin-left: 33.3333%;
}
&.is-offset-one-quarter-touch {
margin-left: 25%;
}
&.is-offset-one-fifth-touch {
margin-left: 20%;
}
&.is-offset-two-fifths-touch {
margin-left: 40%;
}
&.is-offset-three-fifths-touch {
margin-left: 60%;
}
&.is-offset-four-fifths-touch {
margin-left: 80%;
}
@for $i from 0 through 12 {
&.is-#{$i}-touch {
flex: none;
width: percentage($i / 12);
}
&.is-offset-#{$i}-touch {
margin-left: percentage($i / 12);
}
}
}
@include desktop {
&.is-narrow-desktop {
flex: none;
}
&.is-full-desktop {
flex: none;
width: 100%;
}
&.is-three-quarters-desktop {
flex: none;
width: 75%;
}
&.is-two-thirds-desktop {
flex: none;
width: 66.6666%;
}
&.is-half-desktop {
flex: none;
width: 50%;
}
&.is-one-third-desktop {
flex: none;
width: 33.3333%;
}
&.is-one-quarter-desktop {
flex: none;
width: 25%;
}
&.is-one-fifth-desktop {
flex: none;
width: 20%;
}
&.is-two-fifths-desktop {
flex: none;
width: 40%;
}
&.is-three-fifths-desktop {
flex: none;
width: 60%;
}
&.is-four-fifths-desktop {
flex: none;
width: 80%;
}
&.is-offset-three-quarters-desktop {
margin-left: 75%;
}
&.is-offset-two-thirds-desktop {
margin-left: 66.6666%;
}
&.is-offset-half-desktop {
margin-left: 50%;
}
&.is-offset-one-third-desktop {
margin-left: 33.3333%;
}
&.is-offset-one-quarter-desktop {
margin-left: 25%;
}
&.is-offset-one-fifth-desktop {
margin-left: 20%;
}
&.is-offset-two-fifths-desktop {
margin-left: 40%;
}
&.is-offset-three-fifths-desktop {
margin-left: 60%;
}
&.is-offset-four-fifths-desktop {
margin-left: 80%;
}
@for $i from 0 through 12 {
&.is-#{$i}-desktop {
flex: none;
width: percentage($i / 12);
}
&.is-offset-#{$i}-desktop {
margin-left: percentage($i / 12);
}
}
}
@include widescreen {
&.is-narrow-widescreen {
flex: none;
}
&.is-full-widescreen {
flex: none;
width: 100%;
}
&.is-three-quarters-widescreen {
flex: none;
width: 75%;
}
&.is-two-thirds-widescreen {
flex: none;
width: 66.6666%;
}
&.is-half-widescreen {
flex: none;
width: 50%;
}
&.is-one-third-widescreen {
flex: none;
width: 33.3333%;
}
&.is-one-quarter-widescreen {
flex: none;
width: 25%;
}
&.is-one-fifth-widescreen {
flex: none;
width: 20%;
}
&.is-two-fifths-widescreen {
flex: none;
width: 40%;
}
&.is-three-fifths-widescreen {
flex: none;
width: 60%;
}
&.is-four-fifths-widescreen {
flex: none;
width: 80%;
}
&.is-offset-three-quarters-widescreen {
margin-left: 75%;
}
&.is-offset-two-thirds-widescreen {
margin-left: 66.6666%;
}
&.is-offset-half-widescreen {
margin-left: 50%;
}
&.is-offset-one-third-widescreen {
margin-left: 33.3333%;
}
&.is-offset-one-quarter-widescreen {
margin-left: 25%;
}
&.is-offset-one-fifth-widescreen {
margin-left: 20%;
}
&.is-offset-two-fifths-widescreen {
margin-left: 40%;
}
&.is-offset-three-fifths-widescreen {
margin-left: 60%;
}
&.is-offset-four-fifths-widescreen {
margin-left: 80%;
}
@for $i from 0 through 12 {
&.is-#{$i}-widescreen {
flex: none;
width: percentage($i / 12);
}
&.is-offset-#{$i}-widescreen {
margin-left: percentage($i / 12);
}
}
}
@include fullhd {
&.is-narrow-fullhd {
flex: none;
}
&.is-full-fullhd {
flex: none;
width: 100%;
}
&.is-three-quarters-fullhd {
flex: none;
width: 75%;
}
&.is-two-thirds-fullhd {
flex: none;
width: 66.6666%;
}
&.is-half-fullhd {
flex: none;
width: 50%;
}
&.is-one-third-fullhd {
flex: none;
width: 33.3333%;
}
&.is-one-quarter-fullhd {
flex: none;
width: 25%;
}
&.is-one-fifth-fullhd {
flex: none;
width: 20%;
}
&.is-two-fifths-fullhd {
flex: none;
width: 40%;
}
&.is-three-fifths-fullhd {
flex: none;
width: 60%;
}
&.is-four-fifths-fullhd {
flex: none;
width: 80%;
}
&.is-offset-three-quarters-fullhd {
margin-left: 75%;
}
&.is-offset-two-thirds-fullhd {
margin-left: 66.6666%;
}
&.is-offset-half-fullhd {
margin-left: 50%;
}
&.is-offset-one-third-fullhd {
margin-left: 33.3333%;
}
&.is-offset-one-quarter-fullhd {
margin-left: 25%;
}
&.is-offset-one-fifth-fullhd {
margin-left: 20%;
}
&.is-offset-two-fifths-fullhd {
margin-left: 40%;
}
&.is-offset-three-fifths-fullhd {
margin-left: 60%;
}
&.is-offset-four-fifths-fullhd {
margin-left: 80%;
}
@for $i from 0 through 12 {
&.is-#{$i}-fullhd {
flex: none;
width: percentage($i / 12);
}
&.is-offset-#{$i}-fullhd {
margin-left: percentage($i / 12);
}
}
}
}
.columns {
margin-left: -$column-gap;
margin-right: -$column-gap;
margin-top: -$column-gap;
&:last-child {
margin-bottom: -$column-gap;
}
&:not(:last-child) {
margin-bottom: calc(1.5rem - #{$column-gap});
}
// Modifiers
&.is-centered {
justify-content: center;
}
&.is-gapless {
margin-left: 0;
margin-right: 0;
margin-top: 0;
& > .column {
margin: 0;
padding: 0 !important;
}
&:not(:last-child) {
margin-bottom: 1.5rem;
}
&:last-child {
margin-bottom: 0;
}
}
&.is-mobile {
display: flex;
}
&.is-multiline {
flex-wrap: wrap;
}
&.is-vcentered {
align-items: center;
}
// Responsiveness
@include tablet {
&:not(.is-desktop) {
display: flex;
}
}
@include desktop {
// Modifiers
&.is-desktop {
display: flex;
}
}
}
@if $variable-columns {
.columns.is-variable {
--columnGap: 0.75rem;
margin-left: calc(-1 * var(--columnGap));
margin-right: calc(-1 * var(--columnGap));
.column {
padding-left: var(--columnGap);
padding-right: var(--columnGap);
}
@for $i from 0 through 8 {
&.is-#{$i} {
--columnGap: #{$i * 0.25rem};
}
@include mobile {
&.is-#{$i}-mobile {
--columnGap: #{$i * 0.25rem};
}
}
@include tablet {
&.is-#{$i}-tablet {
--columnGap: #{$i * 0.25rem};
}
}
@include tablet-only {
&.is-#{$i}-tablet-only {
--columnGap: #{$i * 0.25rem};
}
}
@include touch {
&.is-#{$i}-touch {
--columnGap: #{$i * 0.25rem};
}
}
@include desktop {
&.is-#{$i}-desktop {
--columnGap: #{$i * 0.25rem};
}
}
@include desktop-only {
&.is-#{$i}-desktop-only {
--columnGap: #{$i * 0.25rem};
}
}
@include widescreen {
&.is-#{$i}-widescreen {
--columnGap: #{$i * 0.25rem};
}
}
@include widescreen-only {
&.is-#{$i}-widescreen-only {
--columnGap: #{$i * 0.25rem};
}
}
@include fullhd {
&.is-#{$i}-fullhd {
--columnGap: #{$i * 0.25rem};
}
}
}
}
}

View File

@@ -0,0 +1,55 @@
$tile-spacing: 0.75rem !default;
.tile {
align-items: stretch;
display: block;
flex-basis: 0;
flex-grow: 1;
flex-shrink: 1;
min-height: min-content;
// Modifiers
&.is-ancestor {
margin-left: $tile-spacing * -1;
margin-right: $tile-spacing * -1;
margin-top: $tile-spacing * -1;
&:last-child {
margin-bottom: $tile-spacing * -1;
}
&:not(:last-child) {
margin-bottom: $tile-spacing;
}
}
&.is-child {
margin: 0 !important;
}
&.is-parent {
padding: $tile-spacing;
}
&.is-vertical {
flex-direction: column;
& > .tile.is-child:not(:last-child) {
margin-bottom: 1.5rem !important;
}
}
// Responsiveness
@include tablet {
&:not(.is-child) {
display: flex;
}
@for $i from 1 through 12 {
&.is-#{$i} {
flex: none;
width: $i / 12 * 100%;
}
}
}
}

View File

@@ -0,0 +1,8 @@
@import "color";
@import "float";
@import "other";
@import "overflow";
@import "position";
@import "spacing";
@import "typography";
@import "visibility";

View File

@@ -0,0 +1,65 @@
@each $name, $pair in $colors {
$color: nth($pair, 1);
.has-text-#{$name} {
color: $color !important;
}
a.has-text-#{$name} {
&:hover,
&:focus {
color: bulmaDarken($color, 10%) !important;
}
}
.has-background-#{$name} {
background-color: $color !important;
}
@if length($pair) >= 4 {
$color-light: nth($pair, 3);
$color-dark: nth($pair, 4);
// Light
.has-text-#{$name}-light {
color: $color-light !important;
}
a.has-text-#{$name}-light {
&:hover,
&:focus {
color: bulmaDarken($color-light, 10%) !important;
}
}
.has-background-#{$name}-light {
background-color: $color-light !important;
}
// Dark
.has-text-#{$name}-dark {
color: $color-dark !important;
}
a.has-text-#{$name}-dark {
&:hover,
&:focus {
color: bulmaLighten($color-dark, 10%) !important;
}
}
.has-background-#{$name}-dark {
background-color: $color-dark !important;
}
}
}
@each $name, $shade in $shades {
.has-text-#{$name} {
color: $shade !important;
}
.has-background-#{$name} {
background-color: $shade !important;
}
}

View File

@@ -0,0 +1,11 @@
.is-clearfix {
@include clearfix;
}
.is-pulled-left {
float: left !important;
}
.is-pulled-right {
float: right !important;
}

View File

@@ -0,0 +1,11 @@
.is-radiusless {
border-radius: 0 !important;
}
.is-shadowless {
box-shadow: none !important;
}
.is-unselectable {
@extend %unselectable;
}

View File

@@ -0,0 +1,3 @@
.is-clipped {
overflow: hidden !important;
}

View File

@@ -0,0 +1,7 @@
.is-overlay {
@extend %overlay;
}
.is-relative {
position: relative !important;
}

View File

@@ -0,0 +1,40 @@
.is-marginless {
margin: 0 !important;
}
.is-paddingless {
padding: 0 !important;
}
$spacing-shortcuts: ("margin": "m", "padding": "p") !default;
$spacing-directions: ("top": "t", "right": "r", "bottom": "b", "left": "l") !default;
$spacing-horizontal: "x" !default;
$spacing-vertical: "y" !default;
$spacing-values: ("0": 0, "1": 0.25rem, "2": 0.5rem, "3": 0.75rem, "4": 1rem, "5": 1.5rem, "6": 3rem) !default;
@each $property, $shortcut in $spacing-shortcuts {
@each $name, $value in $spacing-values {
// Cardinal directions
@each $direction, $suffix in $spacing-directions {
.#{$shortcut}#{$suffix}-#{$name} {
#{$property}-#{$direction}: $value !important;
}
}
// Horizontal axis
@if $spacing-horizontal != null {
.#{$shortcut}#{$spacing-horizontal}-#{$name} {
#{$property}-left: $value !important;
#{$property}-right: $value !important;
}
}
// Vertical axis
@if $spacing-vertical != null {
.#{$shortcut}#{$spacing-vertical}-#{$name} {
#{$property}-top: $value !important;
#{$property}-bottom: $value !important;
}
}
}
}

View File

@@ -0,0 +1,169 @@
@mixin typography-size($target: "") {
@each $size in $sizes {
$i: index($sizes, $size);
.is-size-#{$i}#{if($target == "", "", "-" + $target)} {
font-size: $size !important;
}
}
}
@include typography-size;
@include mobile {
@include typography-size("mobile");
}
@include tablet {
@include typography-size("tablet");
}
@include touch {
@include typography-size("touch");
}
@include desktop {
@include typography-size("desktop");
}
@include widescreen {
@include typography-size("widescreen");
}
@include fullhd {
@include typography-size("fullhd");
}
$alignments: ("centered": "center", "justified": "justify", "left": "left", "right": "right");
@each $alignment, $text-align in $alignments {
.has-text-#{$alignment} {
text-align: #{$text-align} !important;
}
}
@each $alignment, $text-align in $alignments {
@include mobile {
.has-text-#{$alignment}-mobile {
text-align: #{$text-align} !important;
}
}
@include tablet {
.has-text-#{$alignment}-tablet {
text-align: #{$text-align} !important;
}
}
@include tablet-only {
.has-text-#{$alignment}-tablet-only {
text-align: #{$text-align} !important;
}
}
@include touch {
.has-text-#{$alignment}-touch {
text-align: #{$text-align} !important;
}
}
@include desktop {
.has-text-#{$alignment}-desktop {
text-align: #{$text-align} !important;
}
}
@include desktop-only {
.has-text-#{$alignment}-desktop-only {
text-align: #{$text-align} !important;
}
}
@include widescreen {
.has-text-#{$alignment}-widescreen {
text-align: #{$text-align} !important;
}
}
@include widescreen-only {
.has-text-#{$alignment}-widescreen-only {
text-align: #{$text-align} !important;
}
}
@include fullhd {
.has-text-#{$alignment}-fullhd {
text-align: #{$text-align} !important;
}
}
}
.is-capitalized {
text-transform: capitalize !important;
}
.is-lowercase {
text-transform: lowercase !important;
}
.is-uppercase {
text-transform: uppercase !important;
}
.is-italic {
font-style: italic !important;
}
.has-text-weight-light {
font-weight: $weight-light !important;
}
.has-text-weight-normal {
font-weight: $weight-normal !important;
}
.has-text-weight-medium {
font-weight: $weight-medium !important;
}
.has-text-weight-semibold {
font-weight: $weight-semibold !important;
}
.has-text-weight-bold {
font-weight: $weight-bold !important;
}
.is-family-primary {
font-family: $family-primary !important;
}
.is-family-secondary {
font-family: $family-secondary !important;
}
.is-family-sans-serif {
font-family: $family-sans-serif !important;
}
.is-family-monospace {
font-family: $family-monospace !important;
}
.is-family-code {
font-family: $family-code !important;
}

View File

@@ -0,0 +1,213 @@
$displays: "block" "flex" "inline" "inline-block" "inline-flex";
@each $display in $displays {
.is-#{$display} {
display: #{$display} !important;
}
@include mobile {
.is-#{$display}-mobile {
display: #{$display} !important;
}
}
@include tablet {
.is-#{$display}-tablet {
display: #{$display} !important;
}
}
@include tablet-only {
.is-#{$display}-tablet-only {
display: #{$display} !important;
}
}
@include touch {
.is-#{$display}-touch {
display: #{$display} !important;
}
}
@include desktop {
.is-#{$display}-desktop {
display: #{$display} !important;
}
}
@include desktop-only {
.is-#{$display}-desktop-only {
display: #{$display} !important;
}
}
@include widescreen {
.is-#{$display}-widescreen {
display: #{$display} !important;
}
}
@include widescreen-only {
.is-#{$display}-widescreen-only {
display: #{$display} !important;
}
}
@include fullhd {
.is-#{$display}-fullhd {
display: #{$display} !important;
}
}
}
.is-hidden {
display: none !important;
}
.is-sr-only {
border: none !important;
clip: rect(0, 0, 0, 0) !important;
height: 0.01em !important;
overflow: hidden !important;
padding: 0 !important;
position: absolute !important;
white-space: nowrap !important;
width: 0.01em !important;
}
@include mobile {
.is-hidden-mobile {
display: none !important;
}
}
@include tablet {
.is-hidden-tablet {
display: none !important;
}
}
@include tablet-only {
.is-hidden-tablet-only {
display: none !important;
}
}
@include touch {
.is-hidden-touch {
display: none !important;
}
}
@include desktop {
.is-hidden-desktop {
display: none !important;
}
}
@include desktop-only {
.is-hidden-desktop-only {
display: none !important;
}
}
@include widescreen {
.is-hidden-widescreen {
display: none !important;
}
}
@include widescreen-only {
.is-hidden-widescreen-only {
display: none !important;
}
}
@include fullhd {
.is-hidden-fullhd {
display: none !important;
}
}
.is-invisible {
visibility: hidden !important;
}
@include mobile {
.is-invisible-mobile {
visibility: hidden !important;
}
}
@include tablet {
.is-invisible-tablet {
visibility: hidden !important;
}
}
@include tablet-only {
.is-invisible-tablet-only {
visibility: hidden !important;
}
}
@include touch {
.is-invisible-touch {
visibility: hidden !important;
}
}
@include desktop {
.is-invisible-desktop {
visibility: hidden !important;
}
}
@include desktop-only {
.is-invisible-desktop-only {
visibility: hidden !important;
}
}
@include widescreen {
.is-invisible-widescreen {
visibility: hidden !important;
}
}
@include widescreen-only {
.is-invisible-widescreen-only {
visibility: hidden !important;
}
}
@include fullhd {
.is-invisible-fullhd {
visibility: hidden !important;
}
}

View File

@@ -0,0 +1,3 @@
@import "hero";
@import "section";
@import "footer";

View File

@@ -0,0 +1,12 @@
$footer-background-color: $scheme-main-bis !default;
$footer-color: false !default;
$footer-padding: 3rem 1.5rem 6rem !default;
.footer {
background-color: $footer-background-color;
padding: $footer-padding;
@if $footer-color {
color: $footer-color;
}
}

View File

@@ -0,0 +1,235 @@
$hero-body-padding: 3rem 1.5rem !default;
$hero-body-padding-small: 1.5rem !default;
$hero-body-padding-medium: 9rem 1.5rem !default;
$hero-body-padding-large: 18rem 1.5rem !default;
// Main container
.hero {
align-items: stretch;
display: flex;
flex-direction: column;
justify-content: space-between;
.navbar {
background: none;
}
.tabs {
ul {
border-bottom: none;
}
}
// Colors
@each $name, $pair in $colors {
$color: nth($pair, 1);
$color-invert: nth($pair, 2);
&.is-#{$name} {
background-color: $color;
color: $color-invert;
a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
strong {
color: inherit;
}
.title {
color: $color-invert;
}
.subtitle {
color: bulmaRgba($color-invert, 0.9);
a:not(.button),
strong {
color: $color-invert;
}
}
.navbar-menu {
@include touch {
background-color: $color;
}
}
.navbar-item,
.navbar-link {
color: bulmaRgba($color-invert, 0.7);
}
a.navbar-item,
.navbar-link {
&:hover,
&.is-active {
background-color: bulmaDarken($color, 5%);
color: $color-invert;
}
}
.tabs {
a {
color: $color-invert;
opacity: 0.9;
&:hover {
opacity: 1;
}
}
li {
&.is-active a {
opacity: 1;
}
}
&.is-boxed,
&.is-toggle {
a {
color: $color-invert;
&:hover {
background-color: bulmaRgba($scheme-invert, 0.1);
}
}
li.is-active a {
&,
&:hover {
background-color: $color-invert;
border-color: $color-invert;
color: $color;
}
}
}
}
// Modifiers
@if type-of($color) == "color" {
&.is-bold {
$gradient-top-left: darken(saturate(adjust-hue($color, -10deg), 10%), 10%);
$gradient-bottom-right: lighten(saturate(adjust-hue($color, 10deg), 5%), 5%);
background-image: linear-gradient(141deg, $gradient-top-left 0%, $color 71%, $gradient-bottom-right 100%);
@include mobile {
.navbar-menu {
background-image: linear-gradient(141deg, $gradient-top-left 0%, $color 71%, $gradient-bottom-right 100%);
}
}
}
}
}
}
// Sizes
&.is-small {
.hero-body {
padding: $hero-body-padding-small;
}
}
&.is-medium {
@include tablet {
.hero-body {
padding: $hero-body-padding-medium;
}
}
}
&.is-large {
@include tablet {
.hero-body {
padding: $hero-body-padding-large;
}
}
}
&.is-halfheight,
&.is-fullheight,
&.is-fullheight-with-navbar {
.hero-body {
align-items: center;
display: flex;
& > .container {
flex-grow: 1;
flex-shrink: 1;
}
}
}
&.is-halfheight {
min-height: 50vh;
}
&.is-fullheight {
min-height: 100vh;
}
}
// Components
.hero-video {
@extend %overlay;
overflow: hidden;
video {
left: 50%;
min-height: 100%;
min-width: 100%;
position: absolute;
top: 50%;
transform: translate3d(-50%, -50%, 0);
}
// Modifiers
&.is-transparent {
opacity: 0.3;
}
// Responsiveness
@include mobile {
display: none;
}
}
.hero-buttons {
margin-top: 1.5rem;
// Responsiveness
@include mobile {
.button {
display: flex;
&:not(:last-child) {
margin-bottom: 0.75rem;
}
}
}
@include tablet {
display: flex;
justify-content: center;
.button:not(:last-child) {
@include ltr-property("margin", 1.5rem);
}
}
}
// Containers
.hero-head,
.hero-foot {
flex-grow: 0;
flex-shrink: 0;
}
.hero-body {
flex-grow: 1;
flex-shrink: 0;
padding: $hero-body-padding;
}

View File

@@ -0,0 +1,19 @@
$section-padding: 3rem 1.5rem !default;
$section-padding-medium: 9rem 1.5rem !default;
$section-padding-large: 18rem 1.5rem !default;
.section {
padding: $section-padding;
// Responsiveness
@include desktop {
// Sizes
&.is-medium {
padding: $section-padding-medium;
}
&.is-large {
padding: $section-padding-large;
}
}
}

View File

@@ -0,0 +1,25 @@
{
"name": "bulma-scss",
"version": "0.9.0-1",
"description": "The Bulma CSS Framework files converted to SCSS syntax",
"main": "bulma.scss",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/j1mc/bulma-scss.git"
},
"keywords": [
"bulma",
"css",
"scss",
"flexbox"
],
"author": "Jim Campbell",
"license": "MIT",
"bugs": {
"url": "https://github.com/j1mc/bulma-scss/issues"
},
"homepage": "https://github.com/j1mc/bulma-scss#readme"
}

View File

@@ -0,0 +1,6 @@
@import "initial-variables";
@import "functions";
@import "derived-variables.scss";
@import "animations";
@import "mixins";
@import "controls";

View File

@@ -0,0 +1,9 @@
@keyframes spinAround {
from {
transform: rotate(0deg);
}
to {
transform: rotate(359deg);
}
}

View File

@@ -0,0 +1,61 @@
$control-radius: $radius !default;
$control-radius-small: $radius-small !default;
$control-border-width: 1px !default;
$control-height: 2.5em !default;
$control-line-height: 1.5 !default;
$control-padding-vertical: calc(0.5em - #{$control-border-width}) !default;
$control-padding-horizontal: calc(0.75em - #{$control-border-width}) !default;
@mixin control {
-moz-appearance: none;
-webkit-appearance: none;
align-items: center;
border: $control-border-width solid transparent;
border-radius: $control-radius;
box-shadow: none;
display: inline-flex;
font-size: $size-normal;
height: $control-height;
justify-content: flex-start;
line-height: $control-line-height;
padding-bottom: $control-padding-vertical;
padding-left: $control-padding-horizontal;
padding-right: $control-padding-horizontal;
padding-top: $control-padding-vertical;
position: relative;
vertical-align: top;
// States
&:focus,
&.is-focused,
&:active,
&.is-active {
outline: none;
}
&[disabled],
fieldset[disabled] & {
cursor: not-allowed;
}
}
%control {
@include control;
}
// The controls sizes use mixins so they can be used at different breakpoints
@mixin control-small {
border-radius: $control-radius-small;
font-size: $size-small;
}
@mixin control-medium {
font-size: $size-medium;
}
@mixin control-large {
font-size: $size-large;
}

View File

@@ -0,0 +1,132 @@
$primary: $turquoise !default;
$info : $cyan !default;
$success: $green !default;
$warning: $yellow !default;
$danger : $red !default;
$light : $white-ter !default;
$dark : $grey-darker !default;
// Invert colors
$orange-invert : findColorInvert($orange) !default;
$yellow-invert : findColorInvert($yellow) !default;
$green-invert : findColorInvert($green) !default;
$turquoise-invert: findColorInvert($turquoise) !default;
$cyan-invert : findColorInvert($cyan) !default;
$blue-invert : findColorInvert($blue) !default;
$purple-invert : findColorInvert($purple) !default;
$red-invert : findColorInvert($red) !default;
$primary-invert : findColorInvert($primary) !default;
$primary-light : findLightColor($primary) !default;
$primary-dark : findDarkColor($primary) !default;
$info-invert : findColorInvert($info) !default;
$info-light : findLightColor($info) !default;
$info-dark : findDarkColor($info) !default;
$success-invert : findColorInvert($success) !default;
$success-light : findLightColor($success) !default;
$success-dark : findDarkColor($success) !default;
$warning-invert : findColorInvert($warning) !default;
$warning-light : findLightColor($warning) !default;
$warning-dark : findDarkColor($warning) !default;
$danger-invert : findColorInvert($danger) !default;
$danger-light : findLightColor($danger) !default;
$danger-dark : findDarkColor($danger) !default;
$light-invert : findColorInvert($light) !default;
$dark-invert : findColorInvert($dark) !default;
// General colors
$scheme-main : $white !default;
$scheme-main-bis : $white-bis !default;
$scheme-main-ter : $white-ter !default;
$scheme-invert : $black !default;
$scheme-invert-bis : $black-bis !default;
$scheme-invert-ter : $black-ter !default;
$background : $white-ter !default;
$border : $grey-lighter !default;
$border-hover : $grey-light !default;
$border-light : $grey-lightest !default;
$border-light-hover: $grey-light !default;
// Text colors
$text : $grey-dark !default;
$text-invert: findColorInvert($text) !default;
$text-light : $grey !default;
$text-strong: $grey-darker !default;
// Code colors
$code : $red !default;
$code-background: $background !default;
$pre : $text !default;
$pre-background : $background !default;
// Link colors
$link : $blue !default;
$link-invert : findColorInvert($link) !default;
$link-light : findLightColor($link) !default;
$link-dark : findDarkColor($link) !default;
$link-visited : $purple !default;
$link-hover : $grey-darker !default;
$link-hover-border : $grey-light !default;
$link-focus : $grey-darker !default;
$link-focus-border : $blue !default;
$link-active : $grey-darker !default;
$link-active-border: $grey-dark !default;
// Typography
$family-primary : $family-sans-serif !default;
$family-secondary: $family-sans-serif !default;
$family-code : $family-monospace !default;
$size-small : $size-7 !default;
$size-normal: $size-6 !default;
$size-medium: $size-5 !default;
$size-large : $size-4 !default;
// Lists and maps
$custom-colors: null !default;
$custom-shades: null !default;
$colors: mergeColorMaps(
(
"white" : ($white, $black),
"black" : ($black, $white),
"light" : ($light, $light-invert),
"dark" : ($dark, $dark-invert),
"primary": ($primary, $primary-invert, $primary-light, $primary-dark),
"link" : ($link, $link-invert, $link-light, $link-dark),
"info" : ($info, $info-invert, $info-light, $info-dark),
"success": ($success, $success-invert, $success-light, $success-dark),
"warning": ($warning, $warning-invert, $warning-light, $warning-dark),
"danger" : ($danger, $danger-invert, $danger-light, $danger-dark)),
$custom-colors
) !default;
$shades: mergeColorMaps(
(
"black-bis" : $black-bis,
"black-ter" : $black-ter,
"grey-darker" : $grey-darker,
"grey-dark" : $grey-dark,
"grey" : $grey,
"grey-light" : $grey-light,
"grey-lighter": $grey-lighter,
"white-ter" : $white-ter,
"white-bis" : $white-bis),
$custom-shades
) !default;
$sizes: $size-1 $size-2 $size-3 $size-4 $size-5 $size-6 $size-7 !default;

View File

@@ -0,0 +1,167 @@
@function mergeColorMaps($bulma-colors, $custom-colors) {
// We return at least Bulma's hard-coded colors
$merged-colors: $bulma-colors;
// We want a map as input
@if type-of($custom-colors) == "map" {
@each $name, $components in $custom-colors {
// The color name should be a string
// and the components either a single color
// or a colors list with at least one element
@if type-of($name) == "string" and (type-of($components) == "list" or type-of($components) == "color") and length($components) >= 1 {
$color-base: null;
$color-invert: null;
$color-light: null;
$color-dark: null;
$value: null;
// The param can either be a single color
// or a list of 2 colors
@if type-of($components) == "color" {
$color-base: $components;
$color-invert: findColorInvert($color-base);
$color-light: findLightColor($color-base);
$color-dark: findDarkColor($color-base);
}
@else if type-of($components) == "list" {
$color-base: nth($components, 1);
// If Invert, Light and Dark are provided
@if length($components) > 3 {
$color-invert: nth($components, 2);
$color-light: nth($components, 3);
$color-dark: nth($components, 4);
// If only Invert and Light are provided
}
@else if length($components) > 2 {
$color-invert: nth($components, 2);
$color-light: nth($components, 3);
$color-dark: findDarkColor($color-base);
// If only Invert is provided
}
@else {
$color-invert: nth($components, 2);
$color-light: findLightColor($color-base);
$color-dark: findDarkColor($color-base);
}
}
$value: $color-base, $color-invert, $color-light, $color-dark;
// We only want to merge the map if the color base is an actual color
@if type-of($color-base) == "color" {
// We merge this colors elements as map with Bulma's colors map
// (we can override them this way, no multiple definition for the same name)
// $merged-colors: map_merge($merged-colors, ($name: ($color-base, $color-invert, $color-light, $color-dark)))
$merged-colors: map_merge($merged-colors, ($name: $value));
}
}
}
}
@return $merged-colors;
}
@function powerNumber($number, $exp) {
$value: 1;
@if $exp > 0 {
@for $i from 1 through $exp {
$value: $value * $number;
}
}
@else if $exp < 0 {
@for $i from 1 through -$exp {
$value: $value / $number;
}
}
@return $value;
}
@function colorLuminance($color) {
@if type-of($color) != "color" {
@return 0.55;
}
$color-rgb: ("red": red($color), "green": green($color), "blue": blue($color));
@each $name, $value in $color-rgb {
$adjusted: 0;
$value: $value / 255;
@if $value < 0.03928 {
$value: $value / 12.92;
}
@else {
$value: ($value + 0.055) / 1.055;
$value: powerNumber($value, 2);
}
$color-rgb: map-merge($color-rgb, ($name: $value));
}
@return map-get($color-rgb, "red") * 0.2126 + map-get($color-rgb, "green") * 0.7152 + map-get($color-rgb, "blue") * 0.0722;
}
@function findColorInvert($color) {
@if colorLuminance($color) > 0.55 {
@return rgba(#000, 0.7);
}
@else {
@return #fff;
}
}
@function findLightColor($color) {
@if type-of($color) == "color" {
$l: 96%;
@if lightness($color) > 96% {
$l: lightness($color);
}
@return change-color($color, $lightness: $l);
}
@return $background;
}
@function findDarkColor($color) {
@if type-of($color) == "color" {
$base-l: 29%;
$luminance: colorLuminance($color);
$luminance-delta: 0.53 - $luminance;
$target-l: round($base-l + $luminance-delta * 53);
@return change-color($color, $lightness: max($base-l, $target-l));
}
@return $text-strong;
}
@function bulmaRgba($color, $alpha) {
@if type-of($color) != "color" {
@return $color;
}
@return rgba($color, $alpha);
}
@function bulmaDarken($color, $amount) {
@if type-of($color) != "color" {
@return $color;
}
@return darken($color, $amount);
}
@function bulmaLighten($color, $amount) {
@if type-of($color) != "color" {
@return $color;
}
@return lighten($color, $amount);
}

View File

@@ -0,0 +1,82 @@
// Colors
$black: hsl(0, 0%, 4%) !default;
$black-bis: hsl(0, 0%, 7%) !default;
$black-ter: hsl(0, 0%, 14%) !default;
$grey-darker: hsl(0, 0%, 21%) !default;
$grey-dark: hsl(0, 0%, 29%) !default;
$grey: hsl(0, 0%, 48%) !default;
$grey-light: hsl(0, 0%, 71%) !default;
$grey-lighter: hsl(0, 0%, 86%) !default;
$grey-lightest: hsl(0, 0%, 93%) !default;
$white-ter: hsl(0, 0%, 96%) !default;
$white-bis: hsl(0, 0%, 98%) !default;
$white: hsl(0, 0%, 100%) !default;
$orange: hsl(14, 100%, 53%) !default;
$yellow: hsl(48, 100%, 67%) !default;
$green: hsl(141, 53%, 53%) !default;
$turquoise: hsl(171, 100%, 41%) !default;
$cyan: hsl(204, 71%, 53%) !default;
$blue: hsl(217, 71%, 53%) !default;
$purple: hsl(271, 100%, 71%) !default;
$red: hsl(348, 86%, 61%) !default;
// Typography
$family-sans-serif: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !default;
$family-monospace: monospace !default;
$render-mode: optimizeLegibility !default;
$size-1: 3rem !default;
$size-2: 2.5rem !default;
$size-3: 2rem !default;
$size-4: 1.5rem !default;
$size-5: 1.25rem !default;
$size-6: 1rem !default;
$size-7: 0.75rem !default;
$weight-light: 300 !default;
$weight-normal: 400 !default;
$weight-medium: 500 !default;
$weight-semibold: 600 !default;
$weight-bold: 700 !default;
// Spacing
$block-spacing: 1.5rem !default;
// Responsiveness
// The container horizontal gap, which acts as the offset for breakpoints
$gap: 32px !default;
// 960, 1152, and 1344 have been chosen because they are divisible by both 12 and 16
$tablet: 769px !default;
// 960px container + 4rem
$desktop: 960px + 2 * $gap !default;
// 1152px container + 4rem
$widescreen: 1152px + 2 * $gap !default;
$widescreen-enabled: true !default;
// 1344px container + 4rem
$fullhd: 1344px + 2 * $gap !default;
$fullhd-enabled: true !default;
// Miscellaneous
$easing: ease-out !default;
$radius-small: 2px !default;
$radius: 4px !default;
$radius-large: 6px !default;
$radius-rounded: 290486px !default;
$speed: 86ms !default;
// Flags
$variable-columns: true !default;
$rtl: false !default;

View File

@@ -0,0 +1,390 @@
@import "initial-variables";
@mixin clearfix {
&::after {
clear: both;
content: " ";
display: table;
}
}
@mixin center($width, $height: 0) {
position: absolute;
@if $height != 0 {
left: calc(50% - (#{$width} / 2));
top: calc(50% - (#{$height} / 2));
}
@else {
left: calc(50% - (#{$width} / 2));
top: calc(50% - (#{$width} / 2));
}
}
@mixin fa($size, $dimensions) {
display: inline-block;
font-size: $size;
height: $dimensions;
line-height: $dimensions;
text-align: center;
vertical-align: top;
width: $dimensions;
}
@mixin hamburger($dimensions) {
cursor: pointer;
display: block;
height: $dimensions;
position: relative;
width: $dimensions;
span {
background-color: currentColor;
display: block;
height: 1px;
left: calc(50% - 8px);
position: absolute;
transform-origin: center;
transition-duration: $speed;
transition-property: background-color, opacity, transform;
transition-timing-function: $easing;
width: 16px;
&:nth-child(1) {
top: calc(50% - 6px);
}
&:nth-child(2) {
top: calc(50% - 1px);
}
&:nth-child(3) {
top: calc(50% + 4px);
}
}
&:hover {
background-color: bulmaRgba(black, 0.05);
}
// Modifers
&.is-active {
span {
&:nth-child(1) {
transform: translateY(5px) rotate(45deg);
}
&:nth-child(2) {
opacity: 0;
}
&:nth-child(3) {
transform: translateY(-5px) rotate(-45deg);
}
}
}
}
@mixin overflow-touch {
-webkit-overflow-scrolling: touch;
}
@mixin placeholder {
$placeholders: ":-moz" ":-webkit-input" "-moz" "-ms-input";
@each $placeholder in $placeholders {
&:#{$placeholder}-placeholder {
@content;
}
}
}
// Responsiveness
@mixin from($device) {
@media screen and (min-width: $device) {
@content;
}
}
@mixin until($device) {
@media screen and (max-width: $device - 1px) {
@content;
}
}
@mixin mobile {
@media screen and (max-width: $tablet - 1px) {
@content;
}
}
@mixin tablet {
@media screen and (min-width: $tablet), print {
@content;
}
}
@mixin tablet-only {
@media screen and (min-width: $tablet) and (max-width: $desktop - 1px) {
@content;
}
}
@mixin touch {
@media screen and (max-width: $desktop - 1px) {
@content;
}
}
@mixin desktop {
@media screen and (min-width: $desktop) {
@content;
}
}
@mixin desktop-only {
@if $widescreen-enabled {
@media screen and (min-width: $desktop) and (max-width: $widescreen - 1px) {
@content;
}
}
}
@mixin until-widescreen {
@if $widescreen-enabled {
@media screen and (max-width: $widescreen - 1px) {
@content;
}
}
}
@mixin widescreen {
@if $widescreen-enabled {
@media screen and (min-width: $widescreen) {
@content;
}
}
}
@mixin widescreen-only {
@if $widescreen-enabled and $fullhd-enabled {
@media screen and (min-width: $widescreen) and (max-width: $fullhd - 1px) {
@content;
}
}
}
@mixin until-fullhd {
@if $fullhd-enabled {
@media screen and (max-width: $fullhd - 1px) {
@content;
}
}
}
@mixin fullhd {
@if $fullhd-enabled {
@media screen and (min-width: $fullhd) {
@content;
}
}
}
@mixin ltr {
@if not $rtl {
@content;
}
}
@mixin rtl {
@if $rtl {
@content;
}
}
@mixin ltr-property($property, $spacing, $right: true) {
$normal: if($right, "right", "left");
$opposite: if($right, "left", "right");
@if $rtl {
#{$property}-#{$opposite}: $spacing;
}
@else {
#{$property}-#{$normal}: $spacing;
}
}
@mixin ltr-position($spacing, $right: true) {
$normal: if($right, "right", "left");
$opposite: if($right, "left", "right");
@if $rtl {
#{$opposite}: $spacing;
}
@else {
#{$normal}: $spacing;
}
}
// Placeholders
@mixin unselectable {
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
%unselectable {
@include unselectable;
}
@mixin arrow($color: transparent) {
border: 3px solid $color;
border-radius: 2px;
border-right: 0;
border-top: 0;
content: " ";
display: block;
height: 0.625em;
margin-top: -0.4375em;
pointer-events: none;
position: absolute;
top: 50%;
transform: rotate(-45deg);
transform-origin: center;
width: 0.625em;
}
%arrow {
@include arrow;
}
@mixin block($spacing: $block-spacing) {
&:not(:last-child) {
margin-bottom: $spacing;
}
}
%block {
@include block;
}
@mixin delete {
@extend %unselectable;
-moz-appearance: none;
-webkit-appearance: none;
background-color: bulmaRgba($scheme-invert, 0.2);
border: none;
border-radius: $radius-rounded;
cursor: pointer;
pointer-events: auto;
display: inline-block;
flex-grow: 0;
flex-shrink: 0;
font-size: 0;
height: 20px;
max-height: 20px;
max-width: 20px;
min-height: 20px;
min-width: 20px;
outline: none;
position: relative;
vertical-align: top;
width: 20px;
&::before,
&::after {
background-color: $scheme-main;
content: "";
display: block;
left: 50%;
position: absolute;
top: 50%;
transform: translateX(-50%) translateY(-50%) rotate(45deg);
transform-origin: center center;
}
&::before {
height: 2px;
width: 50%;
}
&::after {
height: 50%;
width: 2px;
}
&:hover,
&:focus {
background-color: bulmaRgba($scheme-invert, 0.3);
}
&:active {
background-color: bulmaRgba($scheme-invert, 0.4);
}
// Sizes
&.is-small {
height: 16px;
max-height: 16px;
max-width: 16px;
min-height: 16px;
min-width: 16px;
width: 16px;
}
&.is-medium {
height: 24px;
max-height: 24px;
max-width: 24px;
min-height: 24px;
min-width: 24px;
width: 24px;
}
&.is-large {
height: 32px;
max-height: 32px;
max-width: 32px;
min-height: 32px;
min-width: 32px;
width: 32px;
}
}
%delete {
@include delete;
}
@mixin loader {
animation: spinAround 500ms infinite linear;
border: 2px solid $grey-lighter;
border-radius: $radius-rounded;
border-right-color: transparent;
border-top-color: transparent;
content: "";
display: block;
height: 1em;
position: relative;
width: 1em;
}
%loader {
@include loader;
}
@mixin overlay($offset: 0) {
bottom: $offset;
left: $offset;
position: absolute;
right: $offset;
top: $offset;
}
%overlay {
@include overlay;
}

View File

@@ -0,0 +1,12 @@
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false

View File

@@ -0,0 +1,2 @@
normalize.css linguist-vendored=false
test.html linguist-vendored

1
lib/necolas/normalize.css/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
node_modules

View File

@@ -0,0 +1,3 @@
language: node_js
node_js:
- stable

View File

@@ -0,0 +1,175 @@
# Changes to normalize.css
### 8.0.1 (November 4, 2018)
* Fix regression in IE rendering of `main` element.
### 8.0.0 (February 2, 2018)
* Remove support for older browsers Android 4, lte IE 9, lte Safari 7.
* Don't remove search input cancel button in Chrome/Safari.
* Form inputs inherit `font-family`.
* Fix text decoration in Safari 8+.
### 7.0.0 (May 2, 2017)
* Revert changes in `body` and form elements styles introduced by v6
### 6.0.0 (March 26, 2017)
* Remove all opinionated rules
* Correct document heading comment
* Update `abbr[title]` support
### 5.0.0 (October 3, 2016)
* Add normalized sections not already present from
https://html.spec.whatwg.org/multipage/.
* Move unsorted rules into their respective sections.
* Update the `summary` style in all browsers.
* Remove `::placeholder` styles due to a bug in Edge.
* More explicitly define font resets on form controls.
* Remove the `optgroup` normalization needed by the previous font reset.
* Update text-size-adjust documentation for IE on Windows Phone
* Update OS X reference to macOS
* Update the semver strategy.
### 4.2.0 (June 30, 2016)
* Correct the `line-height` in all browsers.
* Restore `optgroup` font inheritance.
* Update normalize.css heading.
### 4.1.1 (April 12, 2016)
* Update normalize.css heading.
### 4.1.0 (April 11, 2016)
* Normalize placeholders in Chrome, Edge, and Safari.
* Normalize `text-decoration-skip` property in Safari.
* Normalize file select buttons.
* Normalize search input outlines in Safari.
* Limit Firefox focus normalizations to buttons.
* Restore `main` to package.json.
* Restore proper overflow to certain `select` elements.
* Remove opinionated cursor styles on buttons.
* Update stylelint configuration.
* Update tests.
### 4.0.0 (March 19, 2016)
* Add the correct font weight for `b` and `strong` in Chrome, Edge, and Safari.
* Correct inconsistent `overflow` for `hr` in Edge and IE.
* Correct inconsistent `box-sizing` for `hr` in Firefox.
* Correct inconsistent `text-decoration` and `border-bottom` for `abbr[title]`
in Chrome, Edge, Firefox IE, Opera, and Safari.
* Correct inheritance and scaling of `font-size` for preformatted text.
* Correct `legend` text wrapping not present in Edge and IE.
* Remove unnecessary normalization of `line-height` for `input`.
* Remove unnecessary normalization of `color` for form controls.
* Remove unnecessary `box-sizing` for `input[type="search"]` in Chrome, Edge,
Firefox, IE, and Safari.
* Remove opinionated table resets.
* Remove opinionated `pre` overflow.
* Remove selector weight from some input selectors.
* Update normalization of `border-style` for `img`.
* Update normalization of `color` inheritance for `legend`.
* Update normalization of `background-color` for `mark`.
* Update normalization of `outline` for `:-moz-focusring` removed by a previous
normalization in Firefox.
* Update opinionated style of `outline-width` for `a:active` and `a:hover`.
* Update comments to identify opinionated styles.
* Update comments to specify browser/versions affected by all changes.
* Update comments to use one voice.
---
### 3.0.3 (March 30, 2015)
* Remove unnecessary vendor prefixes.
* Add `main` property.
### 3.0.2 (October 4, 2014)
* Only alter `background-color` of links in IE 10.
* Add `menu` element to HTML5 display definitions.
### 3.0.1 (March 27, 2014)
* Add package.json for npm support.
### 3.0.0 (January 28, 2014)
### 3.0.0-rc.1 (January 26, 2014)
* Explicit tests for each normalization.
* Fix i18n for `q` element.
* Fix `pre` text formatting and overflow.
* Fix vertical alignment of `progress`.
* Address `button` overflow in IE 8/9/10.
* Revert `textarea` alignment modification.
* Fix number input button cursor in Chrome on OS X.
* Remove `a:focus` outline normalization.
* Fix `figure` margin normalization.
* Normalize `optgroup`.
* Remove default table cell padding.
* Set correct display for `progress` in IE 8/9.
* Fix `font` and `color` inheritance for forms.
---
### 2.1.3 (August 26, 2013)
* Fix component.json.
* Remove the gray background color from active links in IE 10.
### 2.1.2 (May 11, 2013)
* Revert root `color` and `background` normalizations.
### 2.1.1 (April 8, 2013)
* Normalize root `color` and `background` to counter the effects of system
color schemes.
### 2.1.0 (January 21, 2013)
* Normalize `text-transform` for `button` and `select`.
* Normalize `h1` margin when within HTML5 sectioning elements.
* Normalize `hr` element.
* Remove unnecessary `pre` styles.
* Add `main` element to HTML5 display definitions.
* Fix cursor style for disabled button `input`.
### 2.0.1 (August 20, 2012)
* Remove stray IE 6/7 `inline-block` hack from HTML5 display settings.
### 2.0.0 (August 19, 2012)
* Remove legacy browser form normalizations.
* Remove all list normalizations.
* Add `quotes` normalizations.
* Remove all heading normalizations except `h1` font size.
* Form elements automatically inherit `font-family` from ancestor.
* Drop support for IE 6/7, Firefox < 4, and Safari < 5.
---
### 1.0.1 (August 19, 2012)
* Adjust `small` font size normalization.
### 1.0.0 (August 14, 2012)
(Only the notable changes since public release)
* Add MIT License.
* Hide `audio` elements without controls in iOS 5.
* Normalize heading margins and font size.
* Move font-family normalization from `body` to `html`.
* Remove scrollbar normalization.
* Remove excess padding from checkbox and radio inputs in IE 7.
* Add IE9 correction for SVG overflow.
* Add fix for legend not inheriting color in IE 6/7/8/9.

View File

@@ -0,0 +1,197 @@
# Contributing to normalize.css
Please take a moment to review this document in order to make the contribution
process easy and effective for everyone involved.
Following these guidelines helps to communicate that you respect the time of
the developers managing and developing this open source project. In return,
they should reciprocate that respect in addressing your issue or assessing
patches and features.
## Using the issue tracker
The issue tracker is the preferred channel for [bug reports](#bugs),
[features requests](#features) and [submitting pull
requests](#pull-requests), but please respect the following restrictions:
* Please **do not** use the issue tracker for personal support requests.
* Please **do not** derail or troll issues. Keep the discussion on topic and
respect the opinions of others.
## Bug reports
A bug is a _demonstrable problem_ that is caused by the code in the repository.
Good bug reports are extremely helpful - thank you!
Guidelines for bug reports:
1. **Use the GitHub issue search** check if the issue has already been
reported.
2. **Check if the issue has been fixed** try to reproduce it using the
latest `master` branch in the repository.
3. **Isolate the problem** create a live example (e.g., on
[Codepen](http://codepen.io)) of a [reduced test
case](http://css-tricks.com/6263-reduced-test-cases/).
A good bug report shouldn't leave others needing to chase you up for more
information. Please try to be as detailed as possible in your report. What is
your environment? What steps will reproduce the issue? What browser(s) and OS
experience the problem? What would you expect to be the outcome? All these
details will help people to fix any potential bugs.
Example:
> Short and descriptive example bug report title
>
> A summary of the issue and the browser/OS environment in which it occurs. If
> suitable, include the steps required to reproduce the bug.
>
> 1. This is the first step
> 2. This is the second step
> 3. Further steps, etc.
>
> `<url>` - a link to the reduced test case
>
> Any other information you want to share that is relevant to the issue being
> reported. This might include the lines of code that you have identified as
> causing the bug, and potential solutions (and your opinions on their
> merits).
## Feature requests
Feature requests are welcome. But take a moment to find out whether your idea
fits with the scope and aims of the project. It's up to *you* to make a strong
case to convince the project's developers of the merits of this feature. Please
provide as much detail and context as possible.
## Pull requests
Good pull requests - patches, improvements, new features - are a fantastic
help. They should remain focused in scope and avoid containing unrelated
commits.
**Please ask first** before embarking on any significant work, otherwise you
risk spending a lot of time working on something that the project's developers
might not want to merge into the project.
Please adhere to the coding conventions used throughout a project (whitespace,
accurate comments, etc.) and any other requirements (such as test coverage).
Follow this process if you'd like your work considered for inclusion in the
project:
1. [Fork](https://help.github.com/articles/fork-a-repo/) the project, clone your
fork, and configure the remotes:
```bash
# Clone your fork of the repo into the current directory
git clone https://github.com/<your-username>/normalize.css
# Navigate to the newly cloned directory
cd normalize.css
# Assign the original repo to a remote called "upstream"
git remote add upstream https://github.com/necolas/normalize.css
```
2. If you cloned a while ago, get the latest changes from upstream:
```bash
git checkout master
git pull upstream master
```
3. Never work directly on `master`. Create a new topic branch (off the latest
version of `master`) to contain your feature, change, or fix:
```bash
git checkout -b <topic-branch-name>
```
4. Commit your changes in logical chunks. Please adhere to these [git commit
message conventions](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
or your code is unlikely be merged into the main project. Use Git's
[interactive rebase](https://help.github.com/articles/interactive-rebase)
feature to tidy up your commits before making them public.
Be sure to add a test to the `test.html` file if appropriate, and test
your change in all supported browsers.
5. Locally rebase the upstream development branch into your topic branch:
```bash
git pull --rebase upstream master
```
6. Push your topic branch up to your fork:
```bash
git push origin <topic-branch-name>
```
10. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/)
with a clear title and description.
**IMPORTANT**: By submitting a patch, you agree to allow the project owner to
license your work under the same license as that used by the project.
### CSS Conventions
Keep the CSS file as readable as possible by following these guidelines:
- Comments are short and to the point.
- Comments without a number reference the entire rule.
- Comments describe the selector when the selector does not make the
normalization obvious.
- Comments begin with “Correct the...” when they deal with less obvious side
effects.
- Rules are sorted by cascade, specificity, and then alphabetic order.
- Selectors are sorted by specificity and then alphabetic order.
- `in browser` applies to all versions.
- `in browser v-` applies to all versions up to and including the version.
- `in browser v+` applies to all versions after and including the version.
- `in browser v-v` applies to all versions including and between the versions.
## Maintainers
If you have commit access, please follow this process for merging patches and
cutting new releases.
### Accepting patches
1. Check that a patch is within the scope and philosophy of the project.
2. Check that a patch has any necessary tests and a proper, descriptive commit
message.
3. Test the patch locally.
4. Do not use GitHub's merge button. Apply the patch to `master` locally
(either via `git am` or by checking the whole branch out). Amend minor
problems with the author's original commit if necessary. Then push to GitHub.
### Releasing a new version
1. Include all new functional changes in the CHANGELOG.
2. Use a dedicated commit to increment the version. The version needs to be
added to the CHANGELOG (inc. date), the `package.json`, and `normalize.css`
files.
3. The commit message must be of `v0.0.0` format.
4. Create an annotated tag for the version: `git tag -m "v0.0.0" 0.0.0`.
5. Push the changes and tags to GitHub: `git push --tags origin master`
6. Checkout the `gh-pages` branch and follow the instructions in the README.
### Semver strategy
[Semver](http://semver.org/) is a widely accepted method for deciding how
version numbers are incremented in a project. Versions are written as
MAJOR.MINOR.PATCH.
Any change to CSS rules whatsoever is considered backwards-breaking and will
result in a new **major** release. No changes to CSS rules can add
functionality in a backwards-compatible manner, therefore no changes are
considered **minor**. Others changes with no impact on rendering are considered
backwards-compatible and will result in a new **patch** release.

View File

@@ -0,0 +1,21 @@
# The MIT License (MIT)
Copyright © Nicolas Gallagher and Jonathan Neal
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,102 @@
# normalize.css
<a href="https://github.com/necolas/normalize.css"><img
src="https://necolas.github.io/normalize.css/logo.svg" alt="Normalize Logo"
width="80" height="80" align="right"></a>
> A modern alternative to CSS resets
[![npm][npm-image]][npm-url] [![license][license-image]][license-url]
[![changelog][changelog-image]][changelog-url]
[![gitter][gitter-image]][gitter-url]
**NPM**
```sh
npm install --save normalize.css
```
**CDN**
See https://yarnpkg.com/en/package/normalize.css
**Download**
See https://necolas.github.io/normalize.css/latest/normalize.css
## What does it do?
* Preserves useful defaults, unlike many CSS resets.
* Normalizes styles for a wide range of elements.
* Corrects bugs and common browser inconsistencies.
* Improves usability with subtle modifications.
* Explains what code does using detailed comments.
## Browser support
* Chrome
* Edge
* Firefox ESR+
* Internet Explorer 10+
* Safari 8+
* Opera
## Extended details and known issues
Additional detail and explanation of the esoteric parts of normalize.css.
#### `pre, code, kbd, samp`
The `font-family: monospace, monospace` hack fixes the inheritance and scaling
of font-size for preformatted text. The duplication of `monospace` is
intentional. [Source](https://en.wikipedia.org/wiki/User:Davidgothberg/Test59).
#### `sub, sup`
Normally, using `sub` or `sup` affects the line-box height of text in all
browsers. [Source](https://gist.github.com/413930).
#### `select`
By default, Chrome on OS X and Safari on OS X allow very limited styling of
`select`, unless a border property is set. The default font weight on `optgroup`
elements cannot safely be changed in Chrome on OSX and Safari on OS X.
#### `[type="checkbox"]`
It is recommended that you do not style checkbox and radio inputs as Firefox's
implementation does not respect box-sizing, padding, or width.
#### `[type="number"]`
Certain font size values applied to number inputs cause the cursor style of the
decrement button to change from `default` to `text`.
#### `[type="search"]`
The search input is not fully stylable by default. In Chrome and Safari on
OSX/iOS you can't control `font`, `padding`, `border`, or `background`. In
Chrome and Safari on Windows you can't control `border` properly. It will apply
`border-width` but will only show a border color (which cannot be controlled)
for the outer 1px of that border. Applying `-webkit-appearance: textfield`
addresses these issues without removing the benefits of search inputs (e.g.
showing past searches).
## Contributing
Please read the [contribution guidelines](CONTRIBUTING.md) in order to make the
contribution process easy and effective for everyone involved.
[changelog-image]: https://img.shields.io/badge/changelog-md-blue.svg?style=flat-square
[changelog-url]: CHANGELOG.md
[license-image]: https://img.shields.io/npm/l/normalize.css.svg?style=flat-square
[license-url]: LICENSE.md
[npm-image]: https://img.shields.io/npm/v/normalize.css.svg?style=flat-square
[npm-url]: https://www.npmjs.com/package/normalize.css
[gitter-image]: https://img.shields.io/badge/chat-gitter-blue.svg?style=flat-square
[gitter-url]: https://gitter.im/necolas/normalize.css

View File

@@ -0,0 +1,349 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

View File

@@ -0,0 +1,5 @@
{
"name": "normalize.css",
"version": "8.0.1",
"lockfileVersion": 1
}

View File

@@ -0,0 +1,15 @@
{
"name": "normalize.css",
"version": "8.0.1",
"description": "A modern alternative to CSS resets",
"main": "normalize.css",
"style": "normalize.css",
"files": [
"LICENSE.md",
"normalize.css"
],
"repository": "necolas/normalize.css",
"license": "MIT",
"bugs": "https://github.com/necolas/normalize.css/issues",
"homepage": "https://necolas.github.io/normalize.css"
}

441
lib/necolas/normalize.css/test.html vendored Normal file
View File

@@ -0,0 +1,441 @@
<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Normalize CSS: UI tests</title>
<script src="https://rawgit.com/aFarkas/html5shiv/gh-pages/dist/html5shiv.min.js"></script>
<link rel="stylesheet" href="normalize.css">
<style>
/*! suit-test v0.1.0 | MIT License | github.com/suitcss */
.Test {
background: #fff;
counter-reset: test-describe;
}
.Test-describe:before {
content: counter(test-describe);
counter-increment: test-describe;
}
.Test-describe {
counter-reset: test-it;
}
.Test-it:before {
content: counter(test-describe) "." counter(test-it);
counter-increment: test-it;
}
.Test-title {
font-size: 2em;
font-family: sans-serif;
padding: 20px;
margin: 20px 0;
background: #eee;
color: #999;
}
.Test-describe,
.Test-it {
background: #eee;
border-left: 5px solid #666;
color: #666;
font-family: sans-serif;
font-weight: bold;
margin: 20px 0;
padding: 0.75em 20px;
}
.Test-describe {
font-size: 1.5em;
margin: 60px 0 20px;
}
.Test-describe:before,
.Test-it:before {
color: #999;
display: inline-block;
margin-right: 10px;
min-width: 30px;
text-transform: uppercase;
}
/* Custom helpers */
/**
* Test whether the body's margin has been removed
*/
body {
background: red;
}
/**
* Highlight the bounds of direct children of a test block
*/
.Test-run--highlightEl > * {
outline: 1px solid #ADD8E6;
}
</style>
<div class="Test">
.
<h1 class="Test-title"><a href="https://github.com/necolas/normalize.css">Normalize.css</a>: UI tests</h1>
<h2 class="Test-describe"><code>html</code></h2>
<h3 class="Test-it">should have a line height of 1.15</h3>
<div class="Test-run">
abcdefghijklmnopqrstuvwxyz
</div>
<h2 class="Test-describe"><code>body</code></h2>
<h3 class="Test-it">should have no margin (opinionated)</h3>
<div class="Test-run">
(there should be no red background visible on this page)
</div>
<h2 class="Test-describe">
<code>article</code>, <code>aside</code>, <code>details</code>,
<code>figure</code>, <code>figcaption</code>, <code>footer</code>,
<code>header</code>, <code>main</code>,
<code>menu</code>, <code>nav</code>, <code>section</code>,
<code>summary</code>
</h2>
<h3 class="Test-it">should render as block</h3>
<div class="Test-run Test-run--highlightEl">
<article>article</article>
<aside>aside</aside>
<details>
<summary>summary</summary>
details
</details>
<figure>
figure
<figcaption>figcaption</figcaption>
</figure>
<footer>footer</footer>
<header>header</header>
<main>main</main>
<menu><li>menu</li></menu>
<nav>nav</nav>
<section>section</section>
</div>
<h2 class="Test-describe"><code>audio</code>, <code>canvas</code>, <code>progress</code>, <code>video</code></h2>
<h3 class="Test-it">should render as inline-block and baseline-aligned</h3>
<div class="Test-run Test-run--highlightEl">
<audio controls>audio</audio>
<canvas>canvas</canvas>
<progress>progress</progress>
<video controls>video</video>
</div>
<h2 class="Test-describe"><code>audio:not([controls])</code>, <code>template</code>, <code>[hidden]</code></h2>
<h3 class="Test-it">should not display</h3>
<div class="Test-run Test-run--highlightEl">
<audio>audio</audio>
<template>
<h1>{{title}}</h1>
<content></content>
</template>
<p hidden>This should be hidden</p>
</div>
<h2 class="Test-describe"><code>a</code></h2>
<h3 class="Test-it">should have a transparent background when active</h3>
<div class="Test-run">
<a href="#non">dummy anchor</a>
</div>
<h3 class="Test-it">should not skip underlines</h3>
<div class="Test-run">
<a href="#non">quip and jig</a>
</div>
<h3 class="Test-it">should not have a focus outline when both focused and hovered (opinionated)</h3>
<div class="Test-run">
<a href="#non">dummy anchor</a>
</div>
<h2 class="Test-describe"><code>abbr[title]</code></h2>
<h3 class="Test-it">should have a dotted underline with a solid underline as a fallback</h3>
<div class="Test-run">
<abbr title="abbreviation">abbr</abbr>
</div>
<h2 class="Test-describe"><code>b</code>, <code>strong</code></h2>
<h3 class="Test-it">should have bolder font-weight</h3>
<div class="Test-run">
<b>b</b>
<strong>strong</strong>
</div>
<h2 class="Test-describe"><code>dfn</code></h2>
<h3 class="Test-it">should have italic font-style</h3>
<div class="Test-run">
<dfn>dfn</dfn>
</div>
<h2 class="Test-describe"><code>h1</code></h2>
<h3 class="Test-it">should not change size within an <code>article</code></h3>
<div class="Test-run">
<h1>Heading (control)</h1>
<article>
<h1>Heading (in article)</h1>
</article>
</div>
<h3 class="Test-it">should not change size within a <code>section</code></h3>
<div class="Test-run">
<h1>Heading (control)</h1>
<section>
<h1>Heading (in section)</h1>
</section>
</div>
<h2 class="Test-describe"><code>mark</code></h2>
<h3 class="Test-it">should have a yellow background</h3>
<div class="Test-run">
<mark>mark</mark>
</div>
<h2 class="Test-describe"><code>small</code></h2>
<h3 class="Test-it">should render equally small in all browsers</h3>
<div class="Test-run">
control. <small>small.</small>
</div>
<h2 class="Test-describe"><code>sub</code> and <code>sup</code></h2>
<h3 class="Test-it">should not affect a line's visual line-height</h3>
<div class="Test-run Test-run--highlightEl">
<p>control.</p>
<p>control. <sub>sub.</sub></p>
<p>control. <sup>sup.</sup></p>
</div>
<h2 class="Test-describe"><code>img</code></h2>
<h3 class="Test-it">should not have a border when wrapped in an anchor</h3>
<div class="Test-run">
<a href="#non">
<!-- scaled-up 1px image -->
<img style="background-color:#ADD8E6" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" width="100" height="100">
</a>
</div>
<h2 class="Test-describe"><code>svg</code></h2>
<h3 class="Test-it">should not overflow</h3>
<div class="Test-run Test-run--highlightEl">
<svg width="100px" height="100px">
<circle cx="100" cy="100" r="100" fill="#ADD8E6" />
</svg>
</div>
<h2 class="Test-describe"><code>code</code>, <code>kbd</code>, <code>pre</code>, <code>samp</code></h2>
<h3 class="Test-it">should render text at the same absolute size as normal text</h3>
<div class="Test-run">
<span>span: abcdefghijklmnopqrstuvwxyz.</span><br>
<code>code: abcdefghijklmnopqrstuvwxyz.</code><br>
<kbd>kbd: abcdefghijklmnopqrstuvwxyz.</kbd><br>
<samp>samp: abcdefghijklmnopqrstuvwxyz.</samp>
<pre>pre: abcdefghijklmnopqrstuvwxyz.</pre>
</div>
<h2 class="Test-describe"><code>figure</code></h2>
<h3 class="Test-it">should have margins</h3>
<div class="Test-run" style="outline:1px solid #ADD8E6; overflow:hidden;">
<figure>
<img style="background-color:#ADD8E6" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" width="400" height="200">
</figure>
</div>
<h2 class="Test-describe"><code>hr</code></h2>
<h3 class="Test-it">should have a <code>content-box</code> box model</h3>
<div class="Test-run" style="">
<hr style="height:2px; border:solid #ADD8E6; border-width:2px 0;">
</div>
<h2 class="Test-describe"><code>button</code>, <code>input</code>, <code>optgroup</code>, <code>select</code>, <code>textarea</code></h2>
<h3 class="Test-it">should inherit <code>font-size</code> from ancestor</h3>
<div class="Test-run" style="font-size: 20px;">
<button>button</button><br>
<input value="input"><br>
<select style="border:1px solid #999;">
<optgroup label="optgroup">
<option>option</option>
</optgroup>
<option>option</option>
</select><br>
<textarea>textarea</textarea>
</div>
<h3 class="Test-it">should not have margins</h3>
<div class="Test-run" id="form-collection-margins">
<style>
#form-collection-margins {
outline: 1px solid #ADD8E6;
overflow: hidden;
}
#form-collection-margins button,
#form-collection-margins input,
#form-collection-margins select,
#form-collection-margins textarea {
display: block;
}
</style>
<button>button</button>
<input value="input">
<select style="border:1px solid #999;">
<optgroup label="optgroup">
<option>option</option>
</optgroup>
<option>option</option>
</select>
<textarea>textarea</textarea>
</div>
<h2 class="Test-describe"><code>button</code></h2>
<h3 class="Test-it">should have visible overflow</h3>
<div class="Test-run" id="button-overflow">
<style>
#button-overflow button:after {
content: "";
background: #ADD8E6;
display: inline-block;
height: 10px;
position:relative;
right: -20px;
width: 10px;
}
</style>
<button>abcdefghijklmnopqrstuvwxyz</button>
</div>
<h2 class="Test-describe"><code>button</code>, <code>select</code></h2>
<h3 class="Test-it">should not inherit <code>text-transform</code></h3>
<div class="Test-run" style="text-transform:uppercase">
<button>button</button>
<select><option>option</option></select>
</div>
<h2 class="Test-describe"><code>button</code> and button-style <code>input</code></h2>
<h3 class="Test-it">should be styleable</h3>
<div class="Test-run" id="button-like-style">
<style>
#button-like-style button,
#button-like-style input {
background: #ADD8E6;
border: 2px solid black;
border-radius: 2px;
padding: 5px;
}
</style>
<p><button>button</button></p>
<p><input type="image" src="//placehold.it/90x24" alt="input (image)"></p>
<p><input type="button" value="input (button)"></p>
<p><input type="file" value="input (file)"></p>
<p><input type="reset" value="input (reset)"></p>
<p><input type="submit" value="input (submit)"></p>
</div>
<h2 class="Test-describe">disabled <code>button</code> and <code>input</code></h2>
<h3 class="Test-it">should have <code>default</code> cursor style</h3>
<div class="Test-run">
<p><button disabled>button</button></p>
<p><input disabled type="button" value="input (button)"></p>
<p><input disabled type="reset" value="input (reset)"></p>
<p><input disabled type="submit" value="input (submit)"></p>
</div>
<h2 class="Test-describe"><code>button</code>, <code>input</code></h2>
<h3 class="Test-it">should not have extra inner padding in Firefox</h3>
<div class="Test-run" id="button-input-padding">
<style>
#button-input-padding button,
#button-input-padding input {
border: 0;
padding: 0;
outline: 1px solid #ADD8E6;
}
</style>
<p><button>button</button></p>
<p><input type="button" value="input (button)"></p>
<p><input type="reset" value="input (reset)"></p>
<p><input type="submit" value="input (submit)"></p>
</div>
<h2 class="Test-describe"><code>fieldset</code></h2>
<h3 class="Test-it">should have consistent border, padding, and margin</h3>
<div class="Test-run">
<fieldset>
<div style="width:100%; height:100px; background:#ADD8E6;"></div>
</fieldset>
</div>
<h2 class="Test-describe"><code>legend</code></h2>
<h3 class="Test-it">should inherit color</h3>
<div class="Test-run" style="color:#ADD8E6;">
<fieldset>
<legend>legend</legend>
</fieldset>
</div>
<h3 class="Test-it">should not have padding</h3>
<div class="Test-run">
<fieldset>
<legend>legend</legend>
</fieldset>
</div>
<h3 class="Test-it">should wrap text</h3>
<div class="Test-run">
<fieldset>
<legend>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et me.</legend>
</fieldset>
</div>
<h2 class="Test-describe"><code>textarea</code></h2>
<h3 class="Test-it">should not have a scrollbar unless overflowing</h3>
<div class="Test-run">
<textarea>textarea</textarea>
</div>
<h2 class="Test-describe"><code>[type="checkbox"]</code>, <code>[type="radio"]</code></h2>
<h3 class="Test-it">should have a <code>border-box</code> box model</h3>
<div class="Test-run Test-run--highlightEl" id="radio-box-model">
<style>
#radio-box-model {
width: 200px;
border: 1px solid red;
}
#radio-box-model input {
width: 100%;
border: 5px solid #ADD8E6;
display: block;
position: relative;
}
</style>
<input type="checkbox">
<input type="radio" name="rad">
</div>
<h3 class="Test-it">should not have padding</h3>
<div class="Test-run Test-run--highlightEl">
<input type="checkbox">
<input type="radio" name="rad">
</div>
<h2 class="Test-describe"><code>[type="number"]</code></h2>
<h3 class="Test-it">should display a default cursor for the decrement button's click target in Chrome</h3>
<div class="Test-run">
<input style="height:50px; font-size:15px;" type="number" id="in" min="0" max="10" value="5">
</div>
<h2 class="Test-describe"><code>[type="search"]</code></h2>
<h3 class="Test-it">should be styleable</h3>
<div class="Test-run">
<input type="search" style="border:1px solid #ADD8E6; padding:10px; width:200px;">
</div>
<h3 class="Test-it">should reference inherited color</h3>
<div class="Test-run">
<input type="text" placeholder="Text goes here" style="background-color: black; color: orange;">
</div>
</div>

View File

@@ -0,0 +1,97 @@
Copyright (c) 2010, Matt McInerney (matt@pixelspread.com),
Copyright (c) 2011, Pablo Impallari (www.impallari.com|impallari@gmail.com),
Copyright (c) 2011, Rodrigo Fuenzalida (www.rfuenzalida.com|hello@rfuenzalida.com), with Reserved Font Name Raleway
Copyright (c) 2017, Sam Kauffman (hello@samvk.com), with Reserved Font Name Monorale
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@@ -0,0 +1,23 @@
# Monorale: Raleway Sober
###### The elegant _Raleway_ with numbers aligned and a non-crossing "w".
![monorale-raleway](https://user-images.githubusercontent.com/12996081/32284539-f112f3da-befd-11e7-9c48-07789df31b78.png)
_Monorale_ is built off [v4020](https://github.com/impallari/Raleway/tree/master/fonts/v4020) of Raleway.
Currently available as `otf` and `woff` files.
---
#### Why can't I just use _Raleway_ with its alternate glyphs?
You absolutely can! _Monorale_ is just an easy way — especially for web apps — to host a `woff` file with Raleway's aligned numbers and alternate "w" as the default.
#### How is this different from _Rawline_?
[Rawline: Raleway With "Fixed" Numerals](https://github.com/h-ibaldo/Raleway_Fixed_Numerals/) still uses Raleway's criss-crossing "w". I also noticed all text was being shifted-down, especially SVGs.
---
Special thanks to [@EmmaSimon](https://github.com/EmmaSimon) for the name.

View File

@@ -0,0 +1 @@
theme: jekyll-theme-cayman

View File

@@ -0,0 +1,125 @@
@font-face {
font-family: Monorale;
font-weight: 100;
font-style: normal;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-Thin.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 100;
font-style: italic;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-ThinItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 200;
font-style: normal;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-ExtraLight.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 200;
font-style: italic;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-ExtraLightItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 300;
font-style: normal;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-Light.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 300;
font-style: italic;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-LightItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 400;
font-style: normal;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-Regular.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 400;
font-style: italic;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-Italic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 500;
font-style: normal;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-Medium.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 500;
font-style: italic;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-MediumItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 600;
font-style: normal;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-SemiBold.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 600;
font-style: italic;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-SemiBoldItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 700;
font-style: normal;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-Bold.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 700;
font-style: italic;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-BoldItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 800;
font-style: normal;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-ExtraBold.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 800;
font-style: italic;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-ExtraBoldItalic.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 900;
font-style: normal;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-Black.woff') format('woff');
}
@font-face {
font-family: Monorale;
font-weight: 900;
font-style: italic;
src: url('https://cdn.rawgit.com/samvk/monorale-raleway-sober/master/woff/Monorale-BlackItalic.woff') format('woff');
}

Some files were not shown because too many files have changed in this diff Show More