Refresh OPA front page

These changes update the front page of the openpolicyagent.org site. Specifically:

- Replace empty-calorie content with example use cases
- Eliminate gulp and sccs
- Add scroll-to and -back functionality
- Rocking boat

Overall these changes make the site easier to build and provide a more interesting overview of what users can do with OPA today.

Signed-off-by: Mikol Graves <mikol@thinbox.org>
This commit is contained in:
Mikol Graves
2018-11-26 10:15:22 -08:00
committed by Torin Sandall
parent a2a0140ef9
commit bb33db8890
287 changed files with 1201 additions and 8154 deletions
-32
View File
@@ -1,32 +0,0 @@
/**
* Copyright 2015 IBM Corp. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict';
var gulp = require('gulp');
var wrench = require('wrench');
/**
* This will load all js or coffee files in the gulp directory
* in order to load all gulp tasks
*/
wrench.readdirSyncRecursive('./gulp').filter(function gulFile(file) {
return (/\.(js|coffee)$/i).test(file);
}).map(function requireGulp(file) {
require('./gulp/' + file);
});
gulp.task('default', ['serve']);
-30
View File
@@ -1,30 +0,0 @@
.use-case-section--use-case-section-title {
font-size: ms(1); }
.use-case-section--use-case-section-para {
font-size: ms(-1); }
.use-case-section--use-case-container {
margin-top: 4rem; }
.use-case-section--use-case-title {
font-size: 18px; }
.use-case-section--use-case-para {
font-size: ms(-1); }
.use-case-section--btn {
border-radius: 2rem;
padding: 0.8rem 2rem;
font-size: ms(-1); }
.use-case-section--use-cases {
padding-bottom: 4rem; }
.use-case-section--village-container {
position: absolute;
right: 5%;
top: 0%;
width: 150px;
height: 150px;
z-index: 100; }
-626
View File
@@ -1,626 +0,0 @@
/*!
* Hamburgers
* @description Tasty CSS-animated hamburgers
* @author Jonathan Suh @jonsuh
* @site https://jonsuh.com/hamburgers
* @link https://github.com/jonsuh/hamburgers
*/
.hamburger {
padding: 15px 15px;
display: inline-block;
cursor: pointer;
transition-property: opacity, filter;
transition-duration: 0.15s;
transition-timing-function: linear;
font: inherit;
color: inherit;
text-transform: none;
background-color: transparent;
border: 0;
margin: 0;
overflow: visible; }
.hamburger:hover {
opacity: 0.7; }
.hamburger-box {
width: 40px;
height: 24px;
display: inline-block;
position: relative; }
.hamburger-inner {
display: block;
top: 50%;
margin-top: -2px; }
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
width: 29px;
height: 3px;
background-color: #000;
border-radius: 4px;
position: absolute;
transition-property: transform;
transition-duration: 0.15s;
transition-timing-function: ease; }
.hamburger-inner::before, .hamburger-inner::after {
content: "";
display: block; }
.hamburger-inner::before {
top: -10px; }
.hamburger-inner::after {
bottom: -10px; }
/*
* 3DX
*/
.hamburger--3dx .hamburger-box {
perspective: 80px; }
.hamburger--3dx .hamburger-inner {
transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
.hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
.hamburger--3dx.is-active .hamburger-inner {
background-color: transparent;
transform: rotateY(180deg); }
.hamburger--3dx.is-active .hamburger-inner::before {
transform: translate3d(0, 10px, 0) rotate(45deg); }
.hamburger--3dx.is-active .hamburger-inner::after {
transform: translate3d(0, -10px, 0) rotate(-45deg); }
/*
* 3DX Reverse
*/
.hamburger--3dx-r .hamburger-box {
perspective: 80px; }
.hamburger--3dx-r .hamburger-inner {
transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
.hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after {
transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
.hamburger--3dx-r.is-active .hamburger-inner {
background-color: transparent;
transform: rotateY(-180deg); }
.hamburger--3dx-r.is-active .hamburger-inner::before {
transform: translate3d(0, 10px, 0) rotate(45deg); }
.hamburger--3dx-r.is-active .hamburger-inner::after {
transform: translate3d(0, -10px, 0) rotate(-45deg); }
/*
* 3DY
*/
.hamburger--3dy .hamburger-box {
perspective: 80px; }
.hamburger--3dy .hamburger-inner {
transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
.hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after {
transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
.hamburger--3dy.is-active .hamburger-inner {
background-color: transparent;
transform: rotateX(-180deg); }
.hamburger--3dy.is-active .hamburger-inner::before {
transform: translate3d(0, 10px, 0) rotate(45deg); }
.hamburger--3dy.is-active .hamburger-inner::after {
transform: translate3d(0, -10px, 0) rotate(-45deg); }
/*
* 3DY Reverse
*/
.hamburger--3dy-r .hamburger-box {
perspective: 80px; }
.hamburger--3dy-r .hamburger-inner {
transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
.hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after {
transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
.hamburger--3dy-r.is-active .hamburger-inner {
background-color: transparent;
transform: rotateX(180deg); }
.hamburger--3dy-r.is-active .hamburger-inner::before {
transform: translate3d(0, 10px, 0) rotate(45deg); }
.hamburger--3dy-r.is-active .hamburger-inner::after {
transform: translate3d(0, -10px, 0) rotate(-45deg); }
/*
* Arrow
*/
.hamburger--arrow.is-active .hamburger-inner::before {
transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); }
.hamburger--arrow.is-active .hamburger-inner::after {
transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); }
/*
* Arrow Right
*/
.hamburger--arrow-r.is-active .hamburger-inner::before {
transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); }
.hamburger--arrow-r.is-active .hamburger-inner::after {
transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); }
/*
* Arrow Alt
*/
.hamburger--arrowalt .hamburger-inner::before {
transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }
.hamburger--arrowalt .hamburger-inner::after {
transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }
.hamburger--arrowalt.is-active .hamburger-inner::before {
top: 0;
transform: translate3d(-8px, -10px, 0) rotate(-45deg) scale(0.7, 1);
transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }
.hamburger--arrowalt.is-active .hamburger-inner::after {
bottom: 0;
transform: translate3d(-8px, 10px, 0) rotate(45deg) scale(0.7, 1);
transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }
/*
* Arrow Alt Right
*/
.hamburger--arrowalt-r .hamburger-inner::before {
transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }
.hamburger--arrowalt-r .hamburger-inner::after {
transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }
.hamburger--arrowalt-r.is-active .hamburger-inner::before {
top: 0;
transform: translate3d(8px, -10px, 0) rotate(45deg) scale(0.7, 1);
transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }
.hamburger--arrowalt-r.is-active .hamburger-inner::after {
bottom: 0;
transform: translate3d(8px, 10px, 0) rotate(-45deg) scale(0.7, 1);
transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }
/*
* Boring
*/
.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
transition-property: none; }
.hamburger--boring.is-active .hamburger-inner {
transform: rotate(45deg); }
.hamburger--boring.is-active .hamburger-inner::before {
top: 0;
opacity: 0; }
.hamburger--boring.is-active .hamburger-inner::after {
bottom: 0;
transform: rotate(-90deg); }
/*
* Collapse
*/
.hamburger--collapse .hamburger-inner {
top: auto;
bottom: 0;
transition-duration: 0.13s;
transition-delay: 0.13s;
transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--collapse .hamburger-inner::after {
top: -20px;
transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
.hamburger--collapse .hamburger-inner::before {
transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--collapse.is-active .hamburger-inner {
transform: translate3d(0, -10px, 0) rotate(-45deg);
transition-delay: 0.22s;
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
.hamburger--collapse.is-active .hamburger-inner::after {
top: 0;
opacity: 0;
transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
.hamburger--collapse.is-active .hamburger-inner::before {
top: 0;
transform: rotate(-90deg);
transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }
/*
* Collapse Reverse
*/
.hamburger--collapse-r .hamburger-inner {
top: auto;
bottom: 0;
transition-duration: 0.13s;
transition-delay: 0.13s;
transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--collapse-r .hamburger-inner::after {
top: -20px;
transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
.hamburger--collapse-r .hamburger-inner::before {
transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--collapse-r.is-active .hamburger-inner {
transform: translate3d(0, -10px, 0) rotate(45deg);
transition-delay: 0.22s;
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
.hamburger--collapse-r.is-active .hamburger-inner::after {
top: 0;
opacity: 0;
transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
.hamburger--collapse-r.is-active .hamburger-inner::before {
top: 0;
transform: rotate(90deg);
transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }
/*
* Elastic
*/
.hamburger--elastic .hamburger-inner {
top: 2px;
transition-duration: 0.275s;
transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.hamburger--elastic .hamburger-inner::before {
top: 10px;
transition: opacity 0.125s 0.275s ease; }
.hamburger--elastic .hamburger-inner::after {
top: 20px;
transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.hamburger--elastic.is-active .hamburger-inner {
transform: translate3d(0, 10px, 0) rotate(135deg);
transition-delay: 0.075s; }
.hamburger--elastic.is-active .hamburger-inner::before {
transition-delay: 0s;
opacity: 0; }
.hamburger--elastic.is-active .hamburger-inner::after {
transform: translate3d(0, -20px, 0) rotate(-270deg);
transition-delay: 0.075s; }
/*
* Elastic Reverse
*/
.hamburger--elastic-r .hamburger-inner {
top: 2px;
transition-duration: 0.275s;
transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.hamburger--elastic-r .hamburger-inner::before {
top: 10px;
transition: opacity 0.125s 0.275s ease; }
.hamburger--elastic-r .hamburger-inner::after {
top: 20px;
transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.hamburger--elastic-r.is-active .hamburger-inner {
transform: translate3d(0, 10px, 0) rotate(-135deg);
transition-delay: 0.075s; }
.hamburger--elastic-r.is-active .hamburger-inner::before {
transition-delay: 0s;
opacity: 0; }
.hamburger--elastic-r.is-active .hamburger-inner::after {
transform: translate3d(0, -20px, 0) rotate(270deg);
transition-delay: 0.075s; }
/*
* Emphatic
*/
.hamburger--emphatic {
overflow: hidden; }
.hamburger--emphatic .hamburger-inner {
transition: background-color 0.125s 0.175s ease-in; }
.hamburger--emphatic .hamburger-inner::before {
left: 0;
transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }
.hamburger--emphatic .hamburger-inner::after {
top: 10px;
right: 0;
transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }
.hamburger--emphatic.is-active .hamburger-inner {
transition-delay: 0s;
transition-timing-function: ease-out;
background-color: transparent; }
.hamburger--emphatic.is-active .hamburger-inner::before {
left: -80px;
top: -80px;
transform: translate3d(80px, 80px, 0) rotate(45deg);
transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
.hamburger--emphatic.is-active .hamburger-inner::after {
right: -80px;
top: -80px;
transform: translate3d(-80px, 80px, 0) rotate(-45deg);
transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
/*
* Emphatic Reverse
*/
.hamburger--emphatic-r {
overflow: hidden; }
.hamburger--emphatic-r .hamburger-inner {
transition: background-color 0.125s 0.175s ease-in; }
.hamburger--emphatic-r .hamburger-inner::before {
left: 0;
transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }
.hamburger--emphatic-r .hamburger-inner::after {
top: 10px;
right: 0;
transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }
.hamburger--emphatic-r.is-active .hamburger-inner {
transition-delay: 0s;
transition-timing-function: ease-out;
background-color: transparent; }
.hamburger--emphatic-r.is-active .hamburger-inner::before {
left: -80px;
top: 80px;
transform: translate3d(80px, -80px, 0) rotate(-45deg);
transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
.hamburger--emphatic-r.is-active .hamburger-inner::after {
right: -80px;
top: 80px;
transform: translate3d(-80px, -80px, 0) rotate(45deg);
transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
/*
* Slider
*/
.hamburger--slider .hamburger-inner {
top: 2px; }
.hamburger--slider .hamburger-inner::before {
top: 10px;
transition-property: transform, opacity;
transition-timing-function: ease;
transition-duration: 0.15s; }
.hamburger--slider .hamburger-inner::after {
top: 20px; }
.hamburger--slider.is-active .hamburger-inner {
transform: translate3d(0, 10px, 0) rotate(45deg); }
.hamburger--slider.is-active .hamburger-inner::before {
transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
opacity: 0; }
.hamburger--slider.is-active .hamburger-inner::after {
transform: translate3d(0, -20px, 0) rotate(-90deg); }
/*
* Slider Reverse
*/
.hamburger--slider-r .hamburger-inner {
top: 2px; }
.hamburger--slider-r .hamburger-inner::before {
top: 10px;
transition-property: transform, opacity;
transition-timing-function: ease;
transition-duration: 0.15s; }
.hamburger--slider-r .hamburger-inner::after {
top: 20px; }
.hamburger--slider-r.is-active .hamburger-inner {
transform: translate3d(0, 10px, 0) rotate(-45deg); }
.hamburger--slider-r.is-active .hamburger-inner::before {
transform: rotate(45deg) translate3d(5.71429px, -6px, 0);
opacity: 0; }
.hamburger--slider-r.is-active .hamburger-inner::after {
transform: translate3d(0, -20px, 0) rotate(90deg); }
/*
* Spring
*/
.hamburger--spring .hamburger-inner {
top: 2px;
transition: background-color 0s 0.13s linear; }
.hamburger--spring .hamburger-inner::before {
top: 10px;
transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--spring .hamburger-inner::after {
top: 20px;
transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--spring.is-active .hamburger-inner {
transition-delay: 0.22s;
background-color: transparent; }
.hamburger--spring.is-active .hamburger-inner::before {
top: 0;
transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
transform: translate3d(0, 10px, 0) rotate(45deg); }
.hamburger--spring.is-active .hamburger-inner::after {
top: 0;
transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
transform: translate3d(0, 10px, 0) rotate(-45deg); }
/*
* Spring Reverse
*/
.hamburger--spring-r .hamburger-inner {
top: auto;
bottom: 0;
transition-duration: 0.13s;
transition-delay: 0s;
transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--spring-r .hamburger-inner::after {
top: -20px;
transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; }
.hamburger--spring-r .hamburger-inner::before {
transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--spring-r.is-active .hamburger-inner {
transform: translate3d(0, -10px, 0) rotate(-45deg);
transition-delay: 0.22s;
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
.hamburger--spring-r.is-active .hamburger-inner::after {
top: 0;
opacity: 0;
transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear; }
.hamburger--spring-r.is-active .hamburger-inner::before {
top: 0;
transform: rotate(90deg);
transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); }
/*
* Stand
*/
.hamburger--stand .hamburger-inner {
transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }
.hamburger--stand .hamburger-inner::before {
transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--stand .hamburger-inner::after {
transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--stand.is-active .hamburger-inner {
transform: rotate(90deg);
background-color: transparent;
transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }
.hamburger--stand.is-active .hamburger-inner::before {
top: 0;
transform: rotate(-45deg);
transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
.hamburger--stand.is-active .hamburger-inner::after {
bottom: 0;
transform: rotate(45deg);
transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
/*
* Stand Reverse
*/
.hamburger--stand-r .hamburger-inner {
transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }
.hamburger--stand-r .hamburger-inner::before {
transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--stand-r .hamburger-inner::after {
transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--stand-r.is-active .hamburger-inner {
transform: rotate(-90deg);
background-color: transparent;
transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }
.hamburger--stand-r.is-active .hamburger-inner::before {
top: 0;
transform: rotate(-45deg);
transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
.hamburger--stand-r.is-active .hamburger-inner::after {
bottom: 0;
transform: rotate(45deg);
transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
/*
* Spin
*/
.hamburger--spin .hamburger-inner {
transition-duration: 0.22s;
transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--spin .hamburger-inner::before {
transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
.hamburger--spin .hamburger-inner::after {
transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--spin.is-active .hamburger-inner {
transform: rotate(225deg);
transition-delay: 0.12s;
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
.hamburger--spin.is-active .hamburger-inner::before {
top: 0;
opacity: 0;
transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
.hamburger--spin.is-active .hamburger-inner::after {
bottom: 0;
transform: rotate(-90deg);
transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }
/*
* Spin Reverse
*/
.hamburger--spin-r .hamburger-inner {
transition-duration: 0.22s;
transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--spin-r .hamburger-inner::before {
transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
.hamburger--spin-r .hamburger-inner::after {
transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--spin-r.is-active .hamburger-inner {
transform: rotate(-225deg);
transition-delay: 0.12s;
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
.hamburger--spin-r.is-active .hamburger-inner::before {
top: 0;
opacity: 0;
transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
.hamburger--spin-r.is-active .hamburger-inner::after {
bottom: 0;
transform: rotate(90deg);
transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }
/*
* Squeeze
*/
.hamburger--squeeze .hamburger-inner {
transition-duration: 0.075s;
transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--squeeze .hamburger-inner::before {
transition: top 0.075s 0.12s ease, opacity 0.075s ease; }
.hamburger--squeeze .hamburger-inner::after {
transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--squeeze.is-active .hamburger-inner {
transform: rotate(45deg);
transition-delay: 0.12s;
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
.hamburger--squeeze.is-active .hamburger-inner::before {
top: 0;
opacity: 0;
transition: top 0.075s ease, opacity 0.075s 0.12s ease; }
.hamburger--squeeze.is-active .hamburger-inner::after {
bottom: 0;
transform: rotate(-90deg);
transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }
/*
* Vortex
*/
.hamburger--vortex .hamburger-inner {
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
.hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
transition-duration: 0s;
transition-delay: 0.1s;
transition-timing-function: linear; }
.hamburger--vortex .hamburger-inner::before {
transition-property: top, opacity; }
.hamburger--vortex .hamburger-inner::after {
transition-property: bottom, transform; }
.hamburger--vortex.is-active .hamburger-inner {
transform: rotate(765deg);
transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
.hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
transition-delay: 0s; }
.hamburger--vortex.is-active .hamburger-inner::before {
top: 0;
opacity: 0; }
.hamburger--vortex.is-active .hamburger-inner::after {
bottom: 0;
transform: rotate(90deg); }
/*
* Vortex Reverse
*/
.hamburger--vortex-r .hamburger-inner {
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
.hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
transition-duration: 0s;
transition-delay: 0.1s;
transition-timing-function: linear; }
.hamburger--vortex-r .hamburger-inner::before {
transition-property: top, opacity; }
.hamburger--vortex-r .hamburger-inner::after {
transition-property: bottom, transform; }
.hamburger--vortex-r.is-active .hamburger-inner {
transform: rotate(-765deg);
transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
.hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
transition-delay: 0s; }
.hamburger--vortex-r.is-active .hamburger-inner::before {
top: 0;
opacity: 0; }
.hamburger--vortex-r.is-active .hamburger-inner::after {
bottom: 0;
transform: rotate(-90deg); }
-1173
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
-18
View File
@@ -1,18 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<defs>
<font id="icons" horiz-adv-x="32">
<font-face font-family="icons"
units-per-em="32" ascent="32"
descent="0" />
<missing-glyph horiz-adv-x="0" />
<glyph glyph-name="link"
unicode="&#xE001;"
horiz-adv-x="32" d=" M29.8 29.8C28.4 31.2 26.4 32 24.2 32C22 32 20.2 31.2 18.6 29.8L15.4 26.4C14 25 13 23 13 20.8C13 20 13.2 19.2 13.4 18.4C12.8 18.8 12 19 11.2 19C9 19 7.2 18.2 5.6 16.8L2.2 13.2C0.8 11.8 0 10 0 7.8C0 5.6 0.8 3.6 2.2 2.2C3.6 0.8 5.6 0 7.8 0C10 0 11.8 0.8 13.4 2.2L16.8 5.6C18.2 7 19 9 19 11.2C19 12 18.8 12.8 18.6 13.6C19.4 13.4 20.2 13.2 21 13.2C23.2 13.2 25 14 26.6 15.4L30 18.8C31.2 20.2 32 22 32 24.2C32 26.4 31.2 28.4 29.8 29.8zM14.6 7.6L11.2 4.2C10.2 3.2 9 2.8 7.8 2.8C6.4 2.8 5.2 3.4 4.2 4.2C3.4 5 2.8 6.4 2.8 7.8C2.8 9.2 3.4 10.4 4.2 11.2L7.6 14.6C8.6 15.4 9.8 16 11.2 16C12 16 12.6 15.8 13.4 15.4L9.2 11.2L11.2 9.2L15.4 13.4C15.8 12.6 16 12 16 11.2C16 9.8 15.4 8.6 14.6 7.6zM27.6 20.8L24.2 17.4C23.4 16.6 22.2 16 20.8 16C20 16 19.2 16.2 18.6 16.6L22.8 20.8L20.8 22.8L16.6 18.6C16.2 19.2 16 20 16 20.8C16 22.2 16.6 23.4 17.4 24.2L20.8 27.6C21.8 28.6 23 29 24.2 29C25.6 29 26.8 28.4 27.6 27.6S29 25.4 29 24.2C29 23 28.6 21.6 27.6 20.8z" />
<glyph glyph-name="reset"
unicode="&#xE002;"
horiz-adv-x="32" d=" M19 27C12.4 27 7 21.6 7 15V8.4L2.7 12.7L1.3 11.3L8 4.6L14.7 11.3L13.3 12.7L9 8.4V15C9 20.5 13.5 25 19 25S29 20.5 29 15C29 12.3 28 9.8 26.1 7.9L27.5 6.5C29.8 8.8 31 11.8 31 15C31 21.6 25.6 27 19 27z" />
</font>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.
Binary file not shown.
@@ -1,29 +0,0 @@
@font-face {
font-family: "icons";
src: url('../../fonts/icon-fonts/icons.eot');
src: url('../../fonts/icon-fonts/icons.eot?#iefix') format('eot'),
url('../../fonts/icon-fonts/icons.woff') format('woff'),
url('../../fonts/icon-fonts/icons.ttf') format('truetype'),
url('../../fonts/icon-fonts/icons.svg#icons') format('svg');
}
.icon:before {
font-family: "icons";
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-style: normal;
font-variant: normal;
font-weight: normal;
/* speak: none; only necessary if not using the private unicode range (firstGlyph option) */
text-decoration: none;
text-transform: none;
}
.icon-link:before {
content: "\E001";
}
.icon-reset:before {
content: "\E002";
}
-24
View File
@@ -1,24 +0,0 @@
/**
* Browser Sync setup and tasks
**/
'use strict';
var gulp = require('gulp');
var browserSync = require('browser-sync');
var config = require('./config.js');
var baseDir = config.paths.dest;
gulp.task('browser-sync', function() {
browserSync.init({
'notify': true,
'server': {
'baseDir': baseDir
}
});
});
gulp.task('browser-sync-reload', function() {
browserSync.reload();
});
-78
View File
@@ -1,78 +0,0 @@
/**
* Build site
**/
'use strict';
var gulp = require('gulp');
var build = require('gulp-build');
gulp.task('build', function() {
gulp.src('js/*')
.pipe(gulp.dest('_site/js'));
gulp.src('css/*.css')
.pipe(gulp.dest('_site/css'));
gulp.src('images/*')
.pipe(gulp.dest('_site/images'));
gulp.src('fonts/*')
.pipe(gulp.dest('_site/fonts'));
gulp.src('*.html')
.pipe(gulp.dest('_site'));
gulp.src('book/_book/*.html')
.pipe(gulp.dest('_site/docs'));
gulp.src('book/_book/*.json')
.pipe(gulp.dest('_site/docs'));
gulp.src('book/_book/gitbook/*/**')
.pipe(gulp.dest('_site/docs/gitbook'));
gulp.src('book/_book/gitbook/*')
.pipe(gulp.dest('_site/docs/gitbook'));
gulp.src('book/_book/images/*')
.pipe(gulp.dest('_site/docs/images'));
gulp.src('book/_book/js/*')
.pipe(gulp.dest('_site/docs/js'));
gulp.src('book/_book/styles/*/**')
.pipe(gulp.dest('_site/docs/styles'));
gulp.src('book/_book/styles/*')
.pipe(gulp.dest('_site/docs/styles'));
});
gulp.task('copy-book', function() {
gulp.src('book/_book/*.html')
.pipe(gulp.dest('docs/'));
gulp.src('book/_book/*.json')
.pipe(gulp.dest('docs/'));
gulp.src('book/_book/gitbook/*/**')
.pipe(gulp.dest('docs/gitbook'));
gulp.src('book/_book/gitbook/*')
.pipe(gulp.dest('docs/gitbook'));
gulp.src('book/_book/images/*')
.pipe(gulp.dest('docs/images'));
gulp.src('book/_book/js/*')
.pipe(gulp.dest('docs/js'));
gulp.src('book/_book/styles/*/**')
.pipe(gulp.dest('docs/styles'));
gulp.src('book/_book/styles/*')
.pipe(gulp.dest('docs/styles'));
});
-35
View File
@@ -1,35 +0,0 @@
/**
* Copyright 2015 IBM Corp. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict';
var src = './src';
var dest = './';
module.exports = {
paths: {
src: src,
src_styles: src + '/scss',
src_icons: src + '/icons',
src_scripts: src + '/js',
dest: dest,
dest_styles: dest + '/css',
dest_fonts: dest + '/fonts',
dest_iconFonts: dest + '/fonts/icon-fonts',
dest_icons: dest + '/images/icons',
dest_scripts: dest + '/js'
}
};
-56
View File
@@ -1,56 +0,0 @@
/**
* Compiles JS to dist
**/
'use strict';
var paths = require('./config.js').paths;
var gulp = require('gulp');
var runSequence = require('run-sequence');
var iconfont = require('gulp-iconfont');
var iconfontCSS = require('gulp-iconfont-css');
var plumber = require('gulp-plumber');
var onError = require('./on-error.js');
// Paths
var watchPath = paths.src_icons + '/**/*.svg';
// relative to 'fonts/icon-fonts' path
var targetPath = '../../src/scss/components/icon/_icon-fonts.scss';
// relative to icon-fonts.scss
var fontPath = '../../fonts/icon-fonts/';
var destPath = paths.dest_iconFonts;
var imagesDestPath = paths.dest_icons;
gulp.task('icon-fonts', ['icon-fonts:copy-to-images'], function() {
return gulp.src([watchPath])
.pipe(plumber({
errorHandler: onError
}))
.pipe(iconfontCSS({
fontName: 'icons',
targetPath: targetPath,
fontPath: fontPath
}))
.pipe(iconfont({
fontName: 'icons', // required
appendCodepoints: true, // recommended option
normalize: true,
formats: ['svg', 'ttf', 'eot', 'woff']
}))
.on('codepoints', function(codepoints, options) {
// CSS templating, e.g.
console.log(codepoints, options);
})
.pipe(gulp.dest(destPath));
});
gulp.task('icon-fonts:copy-to-images', function() {
return gulp.src([watchPath])
.pipe(gulp.dest(imagesDestPath));
});
gulp.task('icon-fonts:watch', ['icon-fonts'], function() {
return gulp.watch(watchPath).on('change', function() {
runSequence('icon-fonts', 'styles', 'browser-sync-reload');
});
});
-23
View File
@@ -1,23 +0,0 @@
/**
* Copyright 2015 IBM Corp. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict';
// error catching to prevent gulp from crashing
module.exports = function(error) {
// details of the error in console
console.log(error);
this.emit('end');
};
-31
View File
@@ -1,31 +0,0 @@
/**
* Compiles src/js to public/js
**/
'use strict';
var paths = require('./config.js').paths;
var gulp = require('gulp');
var concat = require('gulp-concat');
var runSequence = require('run-sequence');
var plumber = require('gulp-plumber');
var onError = require('./on-error.js');
// Paths
var watchPath = 'js/script.js';
var destPath = paths.dest_scripts;
gulp.task('scripts', function() {
return gulp.src(watchPath)
.pipe(plumber({
errorHandler: onError
}))
.pipe(concat('script.js'))
.pipe(gulp.dest(destPath));
});
gulp.task('scripts:watch', ['scripts'], function() {
return gulp.watch(watchPath).on('change', function() {
runSequence('scripts', 'browser-sync-reload');
});
});
-15
View File
@@ -1,15 +0,0 @@
/**
* Serve site
**/
'use strict';
var gulp = require('gulp');
var runSequence = require('run-sequence');
gulp.task('serve', function(cb) {
return runSequence(
['compile', 'browser-sync', 'watch'],
cb
);
});
-35
View File
@@ -1,35 +0,0 @@
/**
* Compiles SCSS to CSS
**/
'use strict';
var paths = require('./config.js').paths;
var gulp = require('gulp');
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
var runSequence = require('run-sequence');
var plumber = require('gulp-plumber');
var onError = require('./on-error.js');
// Paths
var watchPath = paths.src_styles + '/**/*.scss';
var destPath = paths.dest_styles;
gulp.task('styles', function() {
return gulp.src([watchPath])
.pipe(plumber({
errorHandler: onError
}))
.pipe(sass({
errLogToConsole: true
}))
.pipe(autoprefixer())
.pipe(gulp.dest(destPath));
});
gulp.task('styles:watch', ['styles'], function() {
return gulp.watch(watchPath).on('change', function() {
runSequence('styles', 'browser-sync-reload');
});
});
-26
View File
@@ -1,26 +0,0 @@
/**
* Compiles SCSS to CSS
**/
'use strict';
var paths = require('./config.js').paths;
var gulp = require('gulp');
var autoprefixer = require('gulp-autoprefixer');
var runSequence = require('run-sequence');
var plumber = require('gulp-plumber');
var onError = require('./on-error.js');
// Paths
var watchPath = 'index.html';
var destPath = 'index.html';
gulp.task('views', function() {
return gulp.src([watchPath]);
});
gulp.task('views:watch', ['views'], function() {
return gulp.watch(watchPath).on('change', function() {
runSequence('views', 'browser-sync-reload');
});
});
-21
View File
@@ -1,21 +0,0 @@
/**
* Watches all the files for changes
**/
'use strict';
var gulp = require('gulp');
var tasks = [
'styles',
'scripts',
'icon-fonts',
'views'
];
var watches = tasks.map(function(element) {
return element + ':watch';
});
gulp.task('compile', tasks);
gulp.task('watch', watches);
-30
View File
@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 55.1 53.7" style="enable-background:new 0 0 55.1 53.7;" xml:space="preserve">
<style type="text/css">
.st0{fill:#777677;}
</style>
<g id="XMLID_1_">
<path id="XMLID_3_" class="st0" d="M27.5,0C12.3,0,0,12.3,0,27.5C0,39.7,7.9,50,18.8,53.6c1.4,0.3,1.9-0.6,1.9-1.3
c0-0.7,0-2.8,0-5.1C13,48.9,11.4,44,11.4,44c-1.3-3.2-3.1-4-3.1-4c-2.5-1.7,0.2-1.7,0.2-1.7c2.8,0.2,4.2,2.8,4.2,2.8
c2.5,4.2,6.4,3,8,2.3c0.2-1.8,1-3,1.7-3.7C16.3,39,9.9,36.6,9.9,26.1c0-3,1.1-5.5,2.8-7.4c-0.3-0.7-1.2-3.5,0.3-7.3
c0,0,2.3-0.7,7.6,2.8c2.2-0.6,4.5-0.9,6.9-0.9c2.3,0,4.7,0.3,6.9,0.9c5.2-3.6,7.6-2.8,7.6-2.8c1.5,3.8,0.6,6.6,0.3,7.3
c1.8,1.9,2.8,4.4,2.8,7.4c0,10.6-6.4,12.9-12.6,13.6c1,0.9,1.9,2.5,1.9,5.1c0,3.7,0,6.6,0,7.5c0,0.7,0.5,1.6,1.9,1.3
C47.2,50,55.1,39.7,55.1,27.5C55,12.3,42.7,0,27.5,0z"/>
<path id="XMLID_4_" class="st0" d="M10.4,39.5c-0.1,0.1-0.3,0.2-0.5,0.1c-0.2-0.1-0.3-0.3-0.2-0.4c0.1-0.1,0.3-0.2,0.5-0.1
C10.4,39.1,10.5,39.3,10.4,39.5z"/>
<path id="XMLID_5_" class="st0" d="M11.5,40.7c-0.1,0.1-0.4,0.1-0.6-0.1c-0.2-0.2-0.2-0.4-0.1-0.6c0.1-0.1,0.4-0.1,0.6,0.1
C11.6,40.3,11.7,40.6,11.5,40.7z"/>
<path id="XMLID_6_" class="st0" d="M12.6,42.3c-0.2,0.1-0.4,0-0.6-0.2c-0.2-0.2-0.2-0.5,0-0.7c0.2-0.1,0.4,0,0.6,0.2
C12.8,41.9,12.8,42.2,12.6,42.3z"/>
<path id="XMLID_7_" class="st0" d="M14.1,43.8c-0.2,0.2-0.5,0.1-0.7-0.1s-0.3-0.5-0.2-0.7c0.2-0.2,0.5-0.1,0.7,0.1
C14.2,43.3,14.3,43.7,14.1,43.8z"/>
<path id="XMLID_8_" class="st0" d="M16.1,44.7c-0.1,0.2-0.4,0.3-0.7,0.2c-0.3-0.1-0.5-0.3-0.5-0.6c0.1-0.2,0.4-0.3,0.7-0.2
C16,44.2,16.2,44.5,16.1,44.7z"/>
<path id="XMLID_9_" class="st0" d="M18.4,44.9c0,0.2-0.3,0.4-0.6,0.4s-0.6-0.2-0.6-0.4c0-0.2,0.3-0.4,0.6-0.4
C18.1,44.5,18.4,44.6,18.4,44.9z"/>
<path id="XMLID_10_" class="st0" d="M20.5,44.5c0,0.2-0.2,0.4-0.5,0.5s-0.6-0.1-0.7-0.3c0-0.2,0.2-0.5,0.5-0.5
C20.2,44.2,20.5,44.3,20.5,44.5z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

-13
View File
@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 55 55" style="enable-background:new 0 0 55 55;" xml:space="preserve">
<style type="text/css">
.st0{fill:#777677;}
</style>
<g id="XMLID_1_">
<path id="XMLID_8_" class="st0" d="M27.5,0C12.3,0,0,12.3,0,27.5S12.3,55,27.5,55S55,42.7,55,27.5S42.7,0,27.5,0z M21.3,40.6
L21.3,40.6L21.3,40.6l-9.6-4.7c-0.1-0.1-0.3-0.3-0.3-0.5V13.6l9.8,4.9v22.1H21.3z M22.5,30.2v-9.9l8.8,14.3L22.5,30.2z M26.4,24.4
l6.8-10.9l9.9,5L32.9,35L26.4,24.4z M43.4,40.6L43.4,40.6L43.4,40.6l-9.6-4.7l9.6-15.6V40.6z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 775 B

-18
View File
@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 55 55" style="enable-background:new 0 0 55 55;" xml:space="preserve">
<style type="text/css">
.st0{fill:#777677;}
</style>
<g id="XMLID_1_">
<rect id="XMLID_3_" x="24.3" y="24.2" transform="matrix(0.9478 -0.319 0.319 0.9478 -7.3016 10.1971)" class="st0" width="6.4" height="6.3"/>
<path id="XMLID_6_" class="st0" d="M27.5,0C12.3,0,0,12.3,0,27.5S12.3,55,27.5,55S55,42.7,55,27.5S42.7,0,27.5,0z M41.5,31.9
l-2.9,1l1,3c0.5,1.5-0.3,3-1.7,3.5c-1.5,0.5-3-0.3-3.5-1.7l-1-3l-6.1,2l1,3c0.5,1.5-0.3,3-1.7,3.5c-1.5,0.5-3-0.3-3.5-1.7l-1-3
l-2.8,0.9c-1.5,0.5-3-0.3-3.5-1.7c-0.5-1.5,0.3-3,1.7-3.5l2.8-0.9l-2-5.9l-2.9,1c-1.5,0.5-3-0.3-3.5-1.7c-0.5-1.5,0.3-3,1.7-3.5
l2.9-1l-1-2.8c-0.5-1.5,0.3-3,1.7-3.5c1.5-0.5,3,0.3,3.5,1.7l1,2.8l6.1-2l-1-2.9c-0.5-1.5,0.3-3,1.7-3.5c1.5-0.5,3,0.3,3.5,1.7
l1,2.9l2.9-1c1.5-0.5,3,0.3,3.5,1.7c0.5,1.5-0.3,3-1.7,3.5l-2.9,1l2,5.9l2.9-1c1.5-0.5,3,0.3,3.5,1.7
C43.7,29.8,42.9,31.4,41.5,31.9z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

-181
View File
@@ -1,181 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1330.1 512.3" style="enable-background:new 0 0 1330.1 512.3;" xml:space="preserve">
<style type="text/css">
.st0{fill:#90A4AE;}
.st1{fill:#BFBFBF;}
.st2{fill:#69432F;}
.st3{fill:#F8E6CE;}
.st4{fill:#A97E3A;}
.st5{fill:#765221;}
.st6{fill:#8D6E63;}
.st7{fill:#FAECD9;}
.st8{fill:#F2F2F2;}
.st9{fill:#999999;}
.st10{fill:#7D9199;}
.st11{fill:#566366;}
.st12{fill:#936239;}
.st13{fill:#FFFFFF;}
</style>
<g>
<path class="st0" d="M1260.2,38.1l64.3,67.5h-128.6C1195.9,105.5,1260.2,38.1,1260.2,38.1z"/>
<path class="st0" d="M79.2,303.9c0,60.4,52.9,113.7,130.3,131.4l53.8-131.4H79.2L79.2,303.9z"/>
<path class="st1" d="M228.6,75.4c0,0-24-5.8-31.1-5.4c-5,0.3-11.5,7.9-11.5,7.9s-6-4.1-9.4-5.7c-3.5-1.6-11.5-4.2-11.5-4.2
s17.9-12.5,26.6-11.4C202.4,57.8,228.6,75.4,228.6,75.4L228.6,75.4z"/>
<path class="st1" d="M228.6,132c0,0-24,5.8-31.1,5.4c-5-0.3-11.5-7.9-11.5-7.9s-6,4.1-9.4,5.7c-3.5,1.6-11.5,4.2-11.5,4.2
s17.9,12.5,26.6,11.4C202.4,149.7,228.6,132,228.6,132L228.6,132z"/>
<rect x="79.6" y="39.8" class="st0" width="105.2" height="266.7"/>
<path class="st0" d="M1261.1,303.5c0,60.4-52.9,113.7-130.3,131.4L1077,303.5H1261.1z"/>
<rect x="1155.2" y="37.9" class="st0" width="105.2" height="266.7"/>
<path class="st0" d="M210.8,303.8v131.4h462V303.8L210.8,303.8L210.8,303.8z"/>
<path class="st0" d="M1131.7,434.7V303.4H669.8v131.4H1131.7z"/>
<path class="st2" d="M681.2,3.4c0-1.9-1.5-3.4-3.4-3.4h-6.7c-1.9,0-3.4,1.5-3.4,3.4v305.2c0,1.9,1.5,3.4,3.4,3.4h6.7
c1.9,0,3.4-1.5,3.4-3.4C681.2,308.6,681.2,3.4,681.2,3.4z"/>
<g id="paddle">
<path class="st2" d="M394.6,352.9c-1.1-0.7-2.7-0.7-3.7-0.1l-3.5,2.1c-1,0.6-0.9,1.6,0.2,2.3l252.4,154.6c1.1,0.7,2.7,0.7,3.7,0.1
l3.5-2.1c1-0.6,0.9-1.6-0.2-2.2L394.6,352.9L394.6,352.9z"/>
<path class="st2" d="M563.6,352.9c-1.1-0.7-2.7-0.7-3.7-0.1l-3.5,2.1c-1,0.6-0.9,1.6,0.2,2.3l252.4,154.6c1.1,0.7,2.7,0.7,3.7,0.1
l3.5-2.1c1-0.6,0.9-1.6-0.2-2.2L563.6,352.9L563.6,352.9z"/>
<path class="st2" d="M735.9,352.9c-1.1-0.7-2.7-0.7-3.7-0.1l-3.5,2.1c-1,0.6-0.9,1.6,0.2,2.3l252.4,154.6c1.1,0.7,2.7,0.7,3.7,0.1
l3.5-2.1c1-0.6,0.9-1.6-0.2-2.2L735.9,352.9L735.9,352.9z"/>
<path class="st2" d="M905,352.9c-1.1-0.7-2.7-0.7-3.7-0.1l-3.5,2.1c-1,0.6-0.9,1.6,0.2,2.3l252.4,154.6c1.1,0.7,2.7,0.7,3.7,0.1
l3.5-2.1c1-0.6,0.9-1.6-0.2-2.2L905,352.9L905,352.9z"/>
<path class="st2" d="M1076.9,352.9c-1.1-0.7-2.7-0.7-3.7-0.1l-3.5,2.1c-1,0.6-0.9,1.6,0.2,2.3l252.4,154.6
c1.1,0.7,2.7,0.7,3.7,0.1l3.5-2.1c1-0.6,0.9-1.6-0.2-2.2L1076.9,352.9L1076.9,352.9z"/>
<path class="st2" d="M252.5,362.1c-1.1-0.7-2.7-0.7-3.7-0.1l-3.5,2.1c-1,0.6-0.9,1.6,0.2,2.2l237.5,145.5c1.1,0.7,2.7,0.7,3.7,0.1
l3.5-2.1c1-0.6,0.9-1.6-0.2-2.2L252.5,362.1L252.5,362.1z"/>
</g>
<g id="viking">
<path class="st3" d="M310.2,204.7c0,11.7,9.5,21.2,21.2,21.2v-21.2H310.2z"/>
<path class="st3" d="M331.4,225.9c11.7,0,21.2-9.5,21.2-21.2h-21.2V225.9z"/>
<path class="st4" d="M332,319.6l-0.3-95.3h-20.9c-11.5,0-20.9,9.4-20.9,20.9v53.5c0,11.5,9.4,20.9,20.9,20.9H332L332,319.6z"/>
<path class="st5" d="M331.1,319.7l0.3-95.3h21.1c11.7,0,21.1,9.4,21.1,20.9v53.5c0,11.5-9.5,20.9-21.1,20.9H331.1z"/>
<path class="st6" d="M302.8,238.8c0-1.6-1.3-2.9-3-2.9h-5.9c-1.6,0-3,1.3-3,2.9v55.6c0,1.6,1.3,3,3,3h5.9c1.6,0,3-1.3,3-3V238.8z"
/>
<path class="st6" d="M372.6,238.8c0-1.6-1.3-2.9-3-2.9h-5.9c-1.6,0-3,1.3-3,2.9v55.6c0,1.6,1.3,2.9,3,2.9h5.9c1.6,0,3-1.3,3-2.9
V238.8z"/>
<circle class="st3" cx="298.1" cy="291.6" r="7.9"/>
<circle class="st7" cx="365.4" cy="290.7" r="7.9"/>
<circle class="st8" cx="291.7" cy="291.4" r="0.1"/>
<path class="st9" d="M352.7,203.2c0-0.3-0.2-0.5-0.5-0.5h-41.6c-0.3,0-0.5,0.2-0.5,0.5v1c0,0.3,0.2,0.5,0.5,0.5h41.6
c0.3,0,0.5-0.2,0.5-0.5V203.2z"/>
<path class="st1" d="M315.3,166.9c0,0-3.3,11.1-3.1,14.4c0.2,2.3,4.5,5.3,4.5,5.3s-2.3,2.8-3.2,4.3c-0.9,1.6-2.4,5.3-2.4,5.3
s-7-8.3-6.5-12.3C305.3,179,315.3,166.9,315.3,166.9L315.3,166.9z"/>
<path class="st1" d="M347.2,166.9c0,0,3.3,11.1,3.1,14.4c-0.2,2.3-4.5,5.3-4.5,5.3s2.3,2.8,3.2,4.3c0.9,1.6,2.4,5.3,2.4,5.3
s7-8.3,6.5-12.3C357.2,179,347.2,166.9,347.2,166.9z"/>
<path class="st10" d="M331.4,179.9c-11.7,0-21.2,10.3-21.2,23h21.2V179.9z"/>
<path class="st11" d="M331.4,179.8c11.7,0,21.2,10.3,21.2,23h-21.2V179.8z"/>
</g>
<g id="shield">
<path class="st12" d="M331.3,382.5c36.4,0,66-29.5,66-65.9h-66V382.5z"/>
<path class="st2" d="M265.3,316.6c0,36.4,29.6,65.9,66,65.9v-65.9H265.3z"/>
<path class="st12" d="M331.3,250.6c-36.5,0-66,29.5-66,65.9h66V250.6L331.3,250.6z"/>
<path class="st2" d="M397.3,316.6c0-36.4-29.6-65.9-66-65.9v65.9H397.3z"/>
<ellipse class="st1" cx="331.3" cy="316.6" rx="17.9" ry="17.9"/>
</g>
<g id="viking1">
<path class="st3" d="M479.8,204.7c0,11.7,9.5,21.2,21.2,21.2v-21.2H479.8z"/>
<path class="st3" d="M501,225.9c11.7,0,21.2-9.5,21.2-21.2H501V225.9z"/>
<path class="st4" d="M501.6,319.6l-0.3-95.3h-20.9c-11.5,0-20.9,9.4-20.9,20.9v53.5c0,11.5,9.4,20.9,20.9,20.9H501.6z"/>
<path class="st5" d="M500.8,319.7l0.3-95.3h21.1c11.7,0,21.1,9.4,21.1,20.9v53.5c0,11.5-9.5,20.9-21.1,20.9H500.8z"/>
<path class="st6" d="M472.4,238.8c0-1.6-1.3-2.9-3-2.9h-5.9c-1.6,0-2.9,1.3-2.9,2.9v55.6c0,1.6,1.3,3,2.9,3h5.9c1.6,0,3-1.3,3-3
V238.8z"/>
<path class="st6" d="M542.3,238.8c0-1.6-1.3-2.9-3-2.9h-5.9c-1.6,0-2.9,1.3-2.9,2.9v55.6c0,1.6,1.3,2.9,2.9,2.9h5.9
c1.6,0,3-1.3,3-2.9V238.8z"/>
<circle class="st3" cx="467.8" cy="291.6" r="7.9"/>
<circle class="st7" cx="535.1" cy="290.7" r="7.9"/>
<circle class="st8" cx="461.3" cy="291.4" r="0.1"/>
<path class="st9" d="M522.4,203.2c0-0.3-0.2-0.5-0.5-0.5h-41.6c-0.3,0-0.5,0.2-0.5,0.5v1c0,0.3,0.2,0.5,0.5,0.5h41.6
c0.3,0,0.5-0.2,0.5-0.5L522.4,203.2L522.4,203.2z"/>
<path class="st1" d="M484.9,166.9c0,0-3.3,11.1-3.1,14.4c0.2,2.3,4.5,5.3,4.5,5.3s-2.4,2.8-3.2,4.3c-0.9,1.6-2.4,5.3-2.4,5.3
s-7.1-8.3-6.5-12.3C475,179,484.9,166.9,484.9,166.9z"/>
<path class="st1" d="M516.9,166.9c0,0,3.3,11.1,3.1,14.4c-0.2,2.3-4.5,5.3-4.5,5.3s2.4,2.8,3.2,4.3c0.9,1.6,2.4,5.3,2.4,5.3
s7.1-8.3,6.5-12.3C526.9,179,516.9,166.9,516.9,166.9z"/>
<path class="st10" d="M501,179.9c-11.7,0-21.2,10.3-21.2,23H501V179.9z"/>
<path class="st11" d="M501,179.8c11.7,0,21.2,10.3,21.2,23H501V179.8z"/>
</g>
<g id="viking2">
<path class="st3" d="M820.1,204.7c0,11.7,9.5,21.2,21.2,21.2v-21.2H820.1z"/>
<path class="st3" d="M841.3,225.9c11.7,0,21.2-9.5,21.2-21.2h-21.2V225.9z"/>
<path class="st4" d="M841.9,319.6l-0.3-95.3h-20.9c-11.5,0-20.9,9.4-20.9,20.9v53.5c0,11.5,9.4,20.9,20.9,20.9H841.9z"/>
<path class="st5" d="M841.1,319.7l0.3-95.3h21.1c11.7,0,21.1,9.4,21.1,20.9v53.5c0,11.5-9.5,20.9-21.1,20.9H841.1z"/>
<path class="st6" d="M812.7,238.8c0-1.6-1.3-2.9-3-2.9h-5.9c-1.6,0-2.9,1.3-2.9,2.9v55.6c0,1.6,1.3,3,2.9,3h5.9c1.6,0,3-1.3,3-3
V238.8z"/>
<path class="st6" d="M882.5,238.8c0-1.6-1.3-2.9-3-2.9h-5.9c-1.6,0-2.9,1.3-2.9,2.9v55.6c0,1.6,1.3,2.9,2.9,2.9h5.9
c1.6,0,3-1.3,3-2.9V238.8z"/>
<circle class="st3" cx="808.1" cy="291.6" r="7.9"/>
<circle class="st7" cx="875.3" cy="290.7" r="7.9"/>
<circle class="st8" cx="801.6" cy="291.4" r="0.1"/>
<path class="st9" d="M862.6,203.2c0-0.3-0.2-0.5-0.5-0.5h-41.6c-0.3,0-0.5,0.2-0.5,0.5v1c0,0.3,0.2,0.5,0.5,0.5h41.6
c0.3,0,0.5-0.2,0.5-0.5V203.2z"/>
<path class="st1" d="M825.2,166.9c0,0-3.3,11.1-3.1,14.4c0.2,2.3,4.5,5.3,4.5,5.3s-2.4,2.8-3.2,4.3c-0.9,1.6-2.4,5.3-2.4,5.3
s-7.1-8.3-6.5-12.3C815.2,179,825.2,166.9,825.2,166.9z"/>
<path class="st1" d="M857.2,166.9c0,0,3.3,11.1,3.1,14.4c-0.2,2.3-4.5,5.3-4.5,5.3s2.4,2.8,3.2,4.3c0.9,1.6,2.4,5.3,2.4,5.3
s7.1-8.3,6.5-12.3C867.1,179,857.2,166.9,857.2,166.9z"/>
<path class="st10" d="M841.3,179.9c-11.7,0-21.2,10.3-21.2,23h21.2V179.9z"/>
<path class="st11" d="M841.3,179.8c11.7,0,21.2,10.3,21.2,23h-21.2V179.8z"/>
</g>
<g id="viking3">
<path class="st3" d="M994,204.7c0,11.7,9.5,21.2,21.2,21.2v-21.2H994z"/>
<path class="st3" d="M1015.2,225.9c11.7,0,21.2-9.5,21.2-21.2h-21.2V225.9z"/>
<path class="st4" d="M1015.8,319.6l-0.3-95.3h-20.9c-11.5,0-20.9,9.4-20.9,20.9v53.5c0,11.5,9.4,20.9,20.9,20.9H1015.8
L1015.8,319.6z"/>
<path class="st5" d="M1015,319.7l0.3-95.3h21.1c11.7,0,21.1,9.4,21.1,20.9v53.5c0,11.5-9.5,20.9-21.1,20.9H1015z"/>
<path class="st6" d="M986.6,238.8c0-1.6-1.3-2.9-3-2.9h-5.9c-1.6,0-3,1.3-3,2.9v55.6c0,1.6,1.3,3,3,3h5.9c1.6,0,3-1.3,3-3V238.8z"
/>
<path class="st6" d="M1056.4,238.8c0-1.6-1.3-2.9-3-2.9h-5.9c-1.6,0-3,1.3-3,2.9v55.6c0,1.6,1.3,2.9,3,2.9h5.9c1.6,0,3-1.3,3-2.9
V238.8z"/>
<circle class="st3" cx="982" cy="291.6" r="7.9"/>
<circle class="st7" cx="1049.2" cy="290.7" r="7.9"/>
<circle class="st8" cx="975.5" cy="291.4" r="0.1"/>
<path class="st9" d="M1036.5,203.2c0-0.3-0.2-0.5-0.5-0.5h-41.6c-0.3,0-0.5,0.2-0.5,0.5v1c0,0.3,0.2,0.5,0.5,0.5h41.6
c0.3,0,0.5-0.2,0.5-0.5V203.2z"/>
<path class="st1" d="M999.1,166.9c0,0-3.3,11.1-3.1,14.4c0.2,2.3,4.5,5.3,4.5,5.3s-2.3,2.8-3.2,4.3c-0.9,1.6-2.4,5.3-2.4,5.3
s-7-8.3-6.5-12.3C989.1,179,999.1,166.9,999.1,166.9L999.1,166.9z"/>
<path class="st1" d="M1031.1,166.9c0,0,3.3,11.1,3.1,14.4c-0.2,2.3-4.5,5.3-4.5,5.3s2.3,2.8,3.2,4.3c0.9,1.6,2.4,5.3,2.4,5.3
s7-8.3,6.5-12.3C1041,179,1031.1,166.9,1031.1,166.9L1031.1,166.9z"/>
<path class="st10" d="M1015.2,179.9c-11.7,0-21.2,10.3-21.2,23h21.2V179.9z"/>
<path class="st11" d="M1015.2,179.8c11.7,0,21.2,10.3,21.2,23h-21.2V179.8z"/>
</g>
<g>
<path class="st0" d="M81.7,40C36.6,40,0,70.8,0,108.7c0,38,36.6,68.7,81.7,68.7v-68.7V40z"/>
<path class="st13" d="M82.5,101.7c2.5,2.4,2.5,6.3-0.1,8.6c-2.6,2.4-6.8,2.3-9.3-0.1c-2.5-2.4-2.5-6.3,0.1-8.6
C75.8,99.2,80,99.3,82.5,101.7z"/>
</g>
<g id="flag">
<path class="st0" d="M884.3,140.3H674.7V23.5h151.2"/>
</g>
<g id="shield1">
<path class="st12" d="M547.3,363.2c25.8-25.8,25.8-67.5,0.1-93.3l-46.7,46.7L547.3,363.2z"/>
<path class="st2" d="M454.1,363.2c25.7,25.7,67.5,25.7,93.3-0.1l-46.6-46.6L454.1,363.2L454.1,363.2z"/>
<path class="st12" d="M454.1,270c-25.8,25.8-25.8,67.5-0.1,93.3l46.7-46.7L454.1,270L454.1,270z"/>
<path class="st2" d="M547.4,269.9c-25.7-25.7-67.5-25.7-93.3,0.1l46.6,46.6L547.4,269.9z"/>
<path class="st1" d="M488.1,303.9c7-7,18.4-7,25.4,0c7,7,7,18.3,0,25.4c-7,7-18.4,7-25.4,0C481.1,322.3,481.1,310.9,488.1,303.9z"
/>
</g>
<g id="shield2">
<path class="st12" d="M738.8,316.6c0-36.4-29.5-66-65.9-66v66H738.8z"/>
<path class="st2" d="M672.9,382.6c36.4,0,65.9-29.6,65.9-66h-65.9V382.6z"/>
<path class="st12" d="M606.9,316.6c0,36.5,29.5,66,65.9,66v-66H606.9z"/>
<path class="st2" d="M672.9,250.6c-36.4,0-65.9,29.6-65.9,66h65.9V250.6z"/>
<path class="st1" d="M654.9,316.6c0-9.9,8-17.9,17.9-17.9c9.9,0,17.9,8,17.9,17.9c0,9.9-8,17.9-17.9,17.9
C663,334.5,654.9,326.5,654.9,316.6z"/>
</g>
<g id="shield3">
<path class="st12" d="M887.9,270c-25.8-25.8-67.5-25.8-93.3-0.1l46.7,46.7L887.9,270L887.9,270z"/>
<path class="st2" d="M887.9,363.2c25.7-25.7,25.7-67.5-0.1-93.3l-46.6,46.6L887.9,363.2z"/>
<path class="st12" d="M794.6,363.2c25.8,25.8,67.5,25.8,93.3,0.1l-46.7-46.7L794.6,363.2L794.6,363.2z"/>
<path class="st2" d="M794.6,269.9c-25.7,25.7-25.7,67.5,0.1,93.3l46.6-46.6L794.6,269.9L794.6,269.9z"/>
<path class="st1" d="M828.6,329.2c-7-7-7-18.4,0-25.4c7-7,18.3-7,25.3,0c7,7,7,18.4,0,25.4C846.9,336.2,835.6,336.2,828.6,329.2z"
/>
</g>
<g id="shield4">
<path class="st12" d="M1015.7,250.6c-36.5,0-66,29.5-66,65.9h66V250.6L1015.7,250.6z"/>
<path class="st2" d="M1081.7,316.6c0-36.4-29.6-65.9-66-65.9v65.9H1081.7L1081.7,316.6z"/>
<path class="st12" d="M1015.7,382.5c36.4,0,66-29.5,66-65.9h-66V382.5z"/>
<path class="st2" d="M949.6,316.6c0,36.4,29.6,65.9,66,65.9v-65.9H949.6z"/>
<ellipse class="st1" cx="1015.7" cy="316.6" rx="17.9" ry="17.9"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 12 KiB

-1
View File
@@ -1 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 132 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;"><rect x="82.626" y="-4.26" width="46.235" height="38.527" style="fill:none;"/><path d="M113.791,13.496c-1.349,-5.458 -9.26,-11.474 -18.208,-10.247c-8.86,1.215 -12.957,9.988 -12.957,14.965c0,5.297 5.201,9.631 11.558,9.631l25.044,0c5.394,0 9.052,-3.017 8.451,-7.531c-0.703,-5.282 -8.88,-6.497 -13.888,-6.818Z" style="fill:#f5f5f5;fill-rule:nonzero;"/><rect x="47.999" y="32.085" width="35.339" height="29.447" style="fill:none;"/><path d="M71.82,45.657c-1.031,-4.171 -7.077,-8.77 -13.917,-7.832c-6.772,0.929 -9.904,7.635 -9.904,11.438c0,4.049 3.976,7.362 8.835,7.362l19.142,0c4.123,0 6.919,-2.306 6.459,-5.756c-0.537,-4.038 -6.786,-4.966 -10.615,-5.212Z" style="fill:#f5f5f5;fill-rule:nonzero;"/><rect x="3.142" y="30.095" width="23.381" height="19.483" style="fill:none;"/><path d="M18.902,39.075c-0.682,-2.76 -4.683,-5.803 -9.208,-5.182c-4.48,0.614 -6.552,5.051 -6.552,7.567c0,2.679 2.63,4.871 5.845,4.871l12.665,0c2.728,0 4.577,-1.525 4.274,-3.808c-0.356,-2.672 -4.491,-3.286 -7.024,-3.448Z" style="fill:#f5f5f5;fill-rule:nonzero;"/></svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

-22
View File
@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1366 61.6" style="enable-background:new 0 0 1366 61.6;" xml:space="preserve">
<style type="text/css">
.st0{fill:#0097A7;}
</style>
<path class="st0" d="M1365.7,0c0,0-17.1,7.2-24,10.4c-6.2,2.8-11.9,8.6-18.4,8.6c-6.5,0-13.7-5.7-20.5-8.6c-6.9-3-14-9.4-20.8-9.4
s-13.3,6.2-19.9,9.4c-6.6,3.2-13.3,9.8-19.7,9.8c-6.4,0-12.5-6.6-18.8-9.8c-6.4-3.3-12.9-9.8-19.7-9.8c-6.8,0-14.1,6.5-21.1,9.8
c-7.1,3.3-13.9,10-21.4,10c-7.6,0-16.5-6.8-24-10c-7.1-3-14-9.1-21.3-9.1c-7.3,0-15.1,6.1-22.7,9.1c-7.9,3.1-16.5,9.7-24.9,9.7
c-8.4,0-17.8-6.5-25.7-9.7c-7.2-2.9-14.3-9.2-21.5-9.2c-7.2,0-14.9,6.2-21.7,9.2c-6.4,2.9-12.7,9.3-19,9.3s-12.5-6.4-18.9-9.3
c-6.5-2.9-13.4-8.2-19.9-8.2c-6.5,0-14,6-19.2,8.2c-6.6,2.8-13.7,8.7-20.4,8.7c-6.7,0-13.3-6-20-8.7c-6.7-2.7-13.7-7.3-20.3-7.3
c-6.6,0-12.8,4.9-19.3,7.3c-6.9,2.6-14.9,8-22.3,8c-7.3,0-14.6-5.3-21.8-8c-7.2-2.7-14.2-8.4-21.6-8.4c-7.3,0-15,5.6-22.5,8.4
c-7.7,2.9-15.6,8.8-23.7,8.8c-8.1,0-16.7-6-24.9-8.8c-8.1-2.7-16.4-8-24.3-8s-15.2,5.3-22.7,8c-7.6,2.6-15.4,7.9-22.9,7.9
s-14.8-5.4-22-7.9c-6.9-2.4-13.7-7.3-20.8-7.3c-7.1,0-14.4,4.8-21.6,7.3c-7.5,2.6-15.6,8.3-23.4,8.3s-15.8-5.7-23.2-8.3
c-7.2-2.6-14.2-7.7-21.6-7.7c-7.3,0-15,5.1-22.5,7.7c-7.5,2.6-15,7.9-22.8,7.9s-16.2-5.4-23.6-7.9c-6.8-2.3-13.4-6.8-20.4-6.8
c-7,0-14.6,4.6-21.9,6.8c-7.4,2.2-15,6.5-22.5,6.5c-7.4,0-15-4.4-22.1-6.5c-6.9-2-13.6-6.1-20.6-6.1s-14.4,4-21.4,6.1
c-6.8,2.1-13.6,6.6-20.2,6.6c-6.6,0-13-4.3-19.4-6.6c-6.5-2.4-13.3-7.5-19.9-7.5c-6.6,0-13.1,5.1-19.7,7.5c-7,2.6-14.6,7.9-22.2,7.9
s-16-5.4-23.4-7.9C174,8,166.8,3.3,160.1,3.3s-12.8,4.6-19.2,7.1c-7,2.7-15.3,9.2-22.6,9.2c-7.3,0-14-6.4-21.1-9.2
c-7.1-2.9-14.7-7.9-21.6-8c-6.9-0.1-13,5.3-19.6,7.7c-6.7,2.4-14,6.8-20.3,6.8c-6.3,0-11.9-4.3-17.8-6.7C12.1,7.6,0.3,2,0.3,2
L0,61.6h1366C1366,61.6,1365.7,0,1365.7,0z"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1366 55" style="enable-background:new 0 0 1366 55;" xml:space="preserve">
<style type="text/css">
.st0{fill:#E0F7FA;}
</style>
<path class="st0" d="M1366,8.9c0,0-14.7-7.8-22.5-7.8c-7.8,0-16.7,5.2-24.2,7.8c-7,2.5-13.6,8.1-20.9,8.1c-7.3,0-15.4-5.4-22.8-8.1
c-7.2-2.6-14.3-7.8-21.7-7.8c-7.4,0-15.3,5.1-22.6,7.8c-7.2,2.7-13.9,8.8-21.2,8.8c-7.3,0-15.4-6.1-22.8-8.8
c-7.1-2.6-14.1-7.2-21.4-7.2c-7.3,0-15.2,4.5-22.4,7.2c-7,2.6-13.8,8.9-20.4,8.9s-12.9-6.1-19.5-8.9c-6.7-2.9-13.8-8.4-20.9-8.4
s-14.5,5.8-21.8,8.4c-7.5,2.7-15.1,7.9-22.9,7.9s-16.6-5.1-24.3-7.9C1006.2,6.2,999,0,991.6,0c-7.4,0-15.6,6-22.4,8.9
c-6.1,2.7-11.5,8.6-18.1,8.6c-6.6,0-14.9-5.8-21.4-8.6c-5.9-2.5-11.5-8.2-17.5-8.2s-12.2,5.5-18.4,8.2c-6.4,2.8-13.1,8.5-19.7,8.5
s-13.2-5.7-19.8-8.5C847.3,6,840,0.1,832.8,0.1s-15.1,5.9-22.2,8.8c-6.8,2.8-13.3,8.9-20.4,8.9c-7.1,0-14.8-6.1-22.3-8.9
C760.2,6,752,0.6,744,0.6s-16.6,5.5-24.3,8.3c-7.3,2.6-14.5,8.3-21.9,8.3c-7.4,0-15.2-5.7-22.6-8.3c-7.3-2.6-14.6-7.7-21.9-7.7
c-7.3,0-14.6,5.2-21.9,7.7c-7.2,2.5-14.2,7.3-21.6,7.3c-7.4,0-15.7-5-22.9-7.3c-6.8-2.2-13.3-6.6-20.3-6.6c-7,0-14.7,4.3-21.5,6.6
c-6.6,2.2-13.1,7.1-19.6,7.1c-6.6,0-13.1-4.9-19.7-7.1c-6.9-2.3-14.8-6.8-21.9-6.8c-7.1,0-13.9,4.4-20.9,6.8
c-7.1,2.4-14.2,7.8-21.5,7.8c-7.3,0-15.4-5.5-22.3-7.8c-6.4-2.1-12.9-6-19.4-6s-13.3,3.9-19.9,6c-6.8,2.1-14,6.9-21.1,6.9
S344,11.1,337,8.9c-6.6-2.1-13.3-6.1-20-6.1c-6.7,0-13.4,4-20.1,6.1c-6.9,2.2-14.3,7-21.3,7c-7,0-13.7-4.8-20.6-7
C248.2,6.8,241.2,3,234.4,3c-6.8,0-13.3,3.9-19.9,5.9c-6.6,2.1-13,6.5-19.8,6.5c-6.8,0-13.9-4.4-20.8-6.5
c-7.2-2.2-15.1-6.7-22.6-6.7c-7.5,0-15.4,4.4-22.7,6.7c-7.1,2.2-14,7-21.2,7c-7.1,0-14.4-4.8-21.7-7C78.2,6.6,70,2.2,62.3,2.2
s-16,4.5-23,6.7c-6.4,1.9-12.4,6.2-18.9,6.2S0,8.9,0,8.9V55l1366-0.2C1366,54.8,1366,8.9,1366,8.9z"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

-1
View File
@@ -1 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 4000 300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;"><path d="M-1.346,299.238l4000,0c0,0 -38.072,-11.122 -57.694,-12.594c-19.862,-1.489 -41.26,2.736 -61.477,3.656c-19.932,0.907 -39.931,3.355 -59.828,1.863c-20.512,-1.539 -42.467,-5.939 -63.246,-11.094c-21.159,-5.248 -42.345,-18.797 -63.705,-20.399c-21.36,-1.602 -43.031,6.837 -64.455,10.787c-21.749,4.01 -45.3,14.828 -66.04,13.272c-20.739,-1.555 -38.796,-15.434 -58.397,-22.604c-19.615,-7.176 -39.002,-18.927 -59.293,-20.448c-20.29,-1.522 -42.536,7.335 -62.449,11.317c-19.087,3.817 -38.301,13.978 -57.028,12.573c-18.728,-1.405 -36.942,-13.871 -55.339,-21.001c-18.905,-7.325 -37.399,-21.402 -58.092,-22.954c-20.693,-1.552 -45.166,9.202 -66.066,13.643c-19.803,4.208 -39.871,14.462 -59.331,13.003c-19.459,-1.46 -38.299,-14.468 -57.427,-21.76c-19.814,-7.554 -39.996,-21.956 -61.455,-23.565c-21.459,-1.61 -46.302,9.062 -67.3,13.908c-19.685,4.543 -39.888,16.577 -58.688,15.167c-18.799,-1.41 -35.87,-16.243 -54.11,-23.627c-18.618,-7.537 -37.525,-20.089 -57.601,-21.595c-20.077,-1.505 -42.32,8.059 -62.86,12.561c-20.213,4.43 -40.97,15.908 -60.378,14.453c-19.408,-1.456 -37.364,-15.498 -56.07,-23.187c-19.551,-8.035 -40.867,-23.499 -61.236,-25.027c-20.37,-1.527 -40.587,10.851 -60.983,15.861c-20.69,5.081 -41.997,16.216 -63.156,14.629c-21.158,-1.587 -42.632,-15.833 -63.796,-24.151c-21.476,-8.44 -43.817,-24.899 -65.059,-26.492c-21.242,-1.593 -42.462,11.555 -62.394,16.933c-19.059,5.143 -38.699,16.726 -57.202,15.338c-18.502,-1.388 -35.67,-16.27 -53.813,-23.664c-19.74,-8.045 -41.902,-22.9 -64.628,-24.605c-22.726,-1.704 -49.272,9.828 -71.725,14.379c-21.009,4.258 -42.554,14.462 -62.996,12.929c-20.443,-1.534 -39.717,-14.905 -59.658,-22.128c-20.829,-7.546 -43.256,-21.492 -65.317,-23.146c-22.062,-1.655 -45.802,9.021 -67.053,13.218c-20.153,3.98 -40.946,13.424 -60.456,11.961c-19.509,-1.463 -37.763,-13.746 -56.601,-20.74c-19.749,-7.333 -40.97,-21.686 -61.895,-23.255c-20.925,-1.57 -42.843,9.622 -63.654,13.839c-20.347,4.122 -41.552,12.932 -61.213,11.458c-19.662,-1.475 -37.924,-13.297 -56.757,-20.306c-19.273,-7.174 -37.927,-21.163 -58.883,-22.734c-21.048,-1.579 -46.228,8.968 -67.404,13.262c-19.911,4.038 -39.877,13.988 -59.654,12.505c-19.777,-1.483 -39.34,-14.268 -59.009,-21.405c-20.41,-7.405 -42.04,-21.421 -63.445,-23.026c-21.406,-1.606 -43.27,9.212 -64.988,13.394c-23.028,4.434 -49.987,14.949 -73.178,13.21c-23.191,-1.739 -43.962,-15.814 -65.97,-23.646c-22.386,-7.967 -45.03,-22.406 -68.345,-24.155c-23.315,-1.749 -47.669,9.255 -71.545,13.663c-23.902,4.414 -49.443,14.5 -71.87,12.818c-22.163,-1.662 -41.778,-15.321 -62.693,-22.91c-21.333,-7.741 -43.147,-21.875 -65.309,-23.537c-22.162,-1.662 -45.473,9.995 -67.664,13.564c-21.706,3.491 -43.561,9.494 -65.48,7.85c-21.985,-1.649 -44.921,-12.333 -66.426,-17.743c-20.79,-5.23 -42.294,-13.192 -62.603,-14.715c-19.781,-1.484 -39.463,4.162 -59.249,5.576c-21.72,1.552 -48.011,5.466 -71.071,3.736c-22.847,-1.713 -67.293,-14.113 -67.293,-14.113l0,300Z" style="fill:#006064;"/></svg>

Before

Width:  |  Height:  |  Size: 3.3 KiB

-22
View File
@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1366 102.5" style="enable-background:new 0 0 1366 102.5;" xml:space="preserve">
<style type="text/css">
.st0{fill:#0097A7;}
</style>
<path class="st0" d="M1366,0H0c0,0,13,3.8,19.7,4.3c6.8,0.5,14.1-0.9,21-1.2c6.8-0.3,13.6-1.1,20.4-0.6c7,0.5,14.5,2,21.6,3.8
c7.2,1.8,14.5,6.4,21.8,7c7.3,0.5,14.7-2.3,22-3.7C133.9,8.1,142,4.4,149,5c7.1,0.5,13.2,5.3,19.9,7.7c6.7,2.5,13.3,6.5,20.2,7
c6.9,0.5,14.5-2.5,21.3-3.9c6.5-1.3,13.1-4.8,19.5-4.3c6.4,0.5,12.6,4.7,18.9,7.2c6.5,2.5,12.8,7.3,19.8,7.8s15.4-3.1,22.6-4.7
c6.8-1.4,13.6-4.9,20.3-4.4c6.6,0.5,13.1,4.9,19.6,7.4c6.8,2.6,13.7,7.5,21,8c7.3,0.5,15.8-3.1,23-4.7c6.7-1.6,13.6-5.7,20-5.2
c6.4,0.5,12.2,5.5,18.5,8.1c6.4,2.6,12.8,6.9,19.7,7.4c6.9,0.5,14.5-2.8,21.5-4.3c6.9-1.5,14-5.4,20.6-4.9
c6.6,0.5,12.8,5.3,19.1,7.9c6.7,2.7,14,8,20.9,8.5c7,0.5,13.9-3.7,20.8-5.4c7.1-1.7,14.3-5.5,21.6-5c7.2,0.5,14.6,5.4,21.8,8.2
c7.3,2.9,15,8.5,22.2,9c7.3,0.5,14.5-3.9,21.3-5.8c6.5-1.8,13.2-5.7,19.5-5.2c6.3,0.5,12.2,5.6,18.4,8.1c6.7,2.7,14.3,7.8,22.1,8.4
c7.8,0.6,16.8-3.4,24.5-4.9c7.2-1.5,14.5-4.9,21.5-4.4c7,0.5,13.6,5.1,20.4,7.6c7.1,2.6,14.8,7.3,22.3,7.9
c7.5,0.6,15.6-3.1,22.9-4.5c6.9-1.4,14-4.6,20.6-4.1c6.7,0.5,12.9,4.7,19.3,7.1c6.7,2.5,14,7.4,21.1,7.9c7.1,0.5,14.6-3.3,21.7-4.7
c6.9-1.4,14.2-4.4,20.9-3.9c6.7,0.5,13,4.5,19.4,6.9c6.6,2.4,13,7.2,20.1,7.8c7.2,0.5,15.8-3.1,23-4.5c6.8-1.4,13.6-4.8,20.4-4.3
c6.8,0.5,13.4,4.9,20.2,7.3c7,2.5,14.4,7.3,21.7,7.9c7.3,0.5,14.8-3.1,22.2-4.6c7.9-1.5,17.1-5.1,25-4.5c7.9,0.6,15,5.4,22.5,8.1
c7.6,2.7,15.4,7.7,23.3,8.2c8,0.6,16.3-3.2,24.4-4.7c8.2-1.5,16.9-5,24.5-4.4c7.6,0.6,14.3,5.2,21.4,7.8c7.3,2.6,14.7,7.5,22.3,8
c7.6,0.6,15.5-3.4,23.1-4.6c7.4-1.2,14.9-3.2,22.4-2.7c7.5,0.6,15.3,4.2,22.7,6.1c7.1,1.8,14.4,4.5,21.4,5
c6.8,0.5,13.5-1.4,20.2-1.9c7.4-0.5,16.4-1.9,24.3-1.3c7.8,0.6,23,4.8,23,4.8L1366,0L1366,0z"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

-1
View File
@@ -1 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 34 34" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;"><g><path d="M7.988,0.343c0,0 -1.84,6.196 -1.71,8.032c0.092,1.292 2.493,2.982 2.493,2.982c0,0 -1.308,1.552 -1.813,2.423c-0.521,0.898 -1.313,2.963 -1.313,2.963c0,0 -3.938,-4.622 -3.614,-6.89c0.391,-2.734 5.957,-9.51 5.957,-9.51Z" style="fill:#bfbfbf;"/><path d="M25.857,0.343c0,0 1.84,6.196 1.71,8.032c-0.092,1.292 -2.493,2.982 -2.493,2.982c0,0 1.307,1.552 1.813,2.423c0.521,0.898 1.313,2.963 1.313,2.963c0,0 3.938,-4.622 3.614,-6.89c-0.391,-2.734 -5.957,-9.51 -5.957,-9.51Z" style="fill:#bfbfbf;"/><path d="M16.984,7.6c-5.216,0 -9.819,3.695 -11.344,9.106l11.344,3.763l0,-12.869Z" style="fill:#7d9199;"/><path d="M16.974,7.58c5.215,0 9.819,3.696 11.343,9.107l-11.343,3.762l0,-12.869Z" style="fill:#566366;"/><path d="M16.954,16.7l-11.336,0l0,7.923c0,0 4.577,1.795 6.467,3.245c1.569,1.204 4.588,5.459 4.588,5.459l0.281,-0.002l0,-16.625Z" style="fill:#7d9199;"/><path d="M16.96,16.59l11.337,0l0,7.923c0,0 -4.578,1.795 -6.467,3.245c-1.612,1.238 -4.601,5.567 -4.601,5.567l-0.275,0l0.006,-16.735Z" style="fill:#566366;"/><circle cx="16.963" cy="16.32" r="1.427" style="fill:#fff;"/></g></svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

-15
View File
@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1001.5 311.7" style="enable-background:new 0 0 1001.5 311.7;" xml:space="preserve">
<style type="text/css">
.st0{fill:#E9E2D3;}
</style>
<path class="st0" d="M0,0c0,0,13.7,13,22.4,15.5c8.6,2.5,29.5-0.2,29.5-0.2s18.7-3.2,27.3-0.5c8.6,2.7,24.3,16.8,24.3,16.8
s15.2,14.7,24.9,17.9c9.9,3.3,34.5,1.7,34.5,1.7s26.3-3.4,38.1,0.2c11.8,3.6,32.6,21.4,32.6,21.4s17.4,14.1,27.2,17.1
c9.8,3.1,31.7,1.2,31.7,1.2s24-1.4,34.6,1.9c10.6,3.3,29,17.9,29,17.9s17.5,15.2,27.5,18.3c9.9,3.1,32.2,0.2,32.2,0.2
s25.1-3.7,35.3-0.5c10.3,3.2,26.3,19.7,26.3,19.7s17.7,14.1,27.2,17.1c9.5,2.9,29.7,0.6,29.7,0.6s24.6-2.5,35.6,0.9
c11,3.4,30.2,19.5,30.2,19.5s17.5,14.1,26.6,16.9c8.9,2.8,28.1,0.1,28.1,0.1s24.4-1.8,34.8,1.4c10.4,3.2,27.5,18,27.5,18
s21.4,15.4,32.4,18.8c10.7,3.3,33.6,1.7,33.6,1.7s28.2-2.7,40.1,1.1c11.9,3.7,31.5,21.2,31.5,21.2s22.8,16.3,35.1,20.1
c12.3,3.8,38.8,2.9,38.8,2.9s27.4-1.7,39.6,2.1c12.1,3.8,33.3,20.6,33.3,20.6H1.2L0,0L0,0z"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 222 KiB

-16
View File
@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1008.5 366.4" style="enable-background:new 0 0 1008.5 366.4;" xml:space="preserve">
<style type="text/css">
.st0{fill:#0097A7;stroke:#0097A7;stroke-width:1.2;stroke-linecap:round;stroke-miterlimit:5;}
.st1{fill:none;stroke:#00838F;stroke-width:1.2;stroke-linecap:round;stroke-miterlimit:5;}
</style>
<rect x="0.6" y="0.6" class="st0" width="1007.3" height="365.2"/>
<path class="st1" d="M738.2,159.8c0,0,5.7,4.7,8.5,4.7c2.9,0,8.7-4.8,8.7-4.8s4.5-5.2,7.5-5.2c3,0,10.5,5.2,10.5,5.2
s4.8,4.8,7.5,4.8c2.6,0,8.2-4.8,8.2-4.8s4.3-4.8,6.9-4.8c2.5,0,8.4,4.8,8.4,4.8s4.1,5.4,6.8,5.3s9.3-5.4,9.3-5.4s4.3-5.8,6.4-5.8
c2.2,0,6.5,5.8,6.5,5.8"/>
<path class="st1" d="M657,104.5c0,0,5.7,4.7,8.6,4.7c2.9,0,8.8-4.8,8.8-4.8s4.5-5.2,7.6-5.2c3,0,10.6,5.2,10.6,5.2s4.9,4.8,7.5,4.8
c2.6,0,8.3-4.8,8.3-4.8s4.4-4.8,7-4.8c2.6,0,8.5,4.8,8.5,4.8s4.2,5.3,6.9,5.3c2.7,0,9.4-5.4,9.4-5.4s4.3-5.8,6.5-5.8
c2.2,0,6.6,5.8,6.6,5.8"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

-102
View File
@@ -1,102 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 223.1 164.8" style="enable-background:new 0 0 223.1 164.8;" xml:space="preserve">
<style type="text/css">
.st0{fill:#8D6E63;}
.st1{fill:#795548;}
.st2{fill:#666666;}
.st3{fill:#7D9199;}
.st4{fill:#566366;}
.st5{fill:#855B41;}
.st6{fill:#774E38;}
.st7{fill:#69432F;}
.st8{fill:#BFBFBF;}
.st9{fill:#999999;stroke:#666666;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;}
.st10{fill:#999999;}
.st11{fill:#F8E6CE;}
.st12{fill:#A97E3A;}
.st13{fill:#765221;}
.st14{fill:#FAECD9;}
.st15{fill:#936239;}
.st16{fill:#F2F2F2;}
</style>
<g>
<g id="house1">
<path class="st0" d="M89.8,86.8l-20.3,55.6l0.3,21.9h20V86.8z"/>
<path class="st1" d="M89.7,86.7l20.3,55.6l-0.3,21.9h-20L89.7,86.7L89.7,86.7z"/>
<path class="st2" d="M114.4,152.3L87.5,78.4l-0.7,0.2l26.9,73.9L114.4,152.3z"/>
<path class="st2" d="M92.1,78.4l-26.9,73.9l0.7,0.2l26.9-73.9L92.1,78.4L92.1,78.4z"/>
</g>
<g id="tree">
<path class="st2" d="M46,117.6v46.2h0.7v-46.2H46z"/>
<path class="st3" d="M46.3,98.8c-9.6,0-17.4,7.8-17.4,17.4s7.8,17.4,17.4,17.4v-17.4V98.8z"/>
<path class="st4" d="M46.3,98.8c9.6,0,17.4,7.8,17.4,17.4s-7.8,17.4-17.4,17.4v-17.4V98.8z"/>
</g>
<g id="house2">
<rect x="122.9" y="75.9" class="st5" width="21.7" height="88.1"/>
<rect x="143.9" y="75.8" class="st6" width="21.7" height="88.1"/>
<rect x="137" y="139.6" class="st7" width="15.4" height="24.3"/>
<path class="st8" d="M149.6,0c0,0,6.1,31.8,6,33.4c-0.1,1.2-4,6-4,6s3.1,1.6,3.6,2.4c0.5,0.8,2.6,1.5,2.6,1.5s9-4.8,8.7-6.9
C166,34,149.6,0,149.6,0L149.6,0z"/>
<path class="st8" d="M138.3,0c0,0-6.1,31.8-6,33.4c0.1,1.2,4,6,4,6s-3.1,1.6-3.6,2.4c-0.5,0.8-2.6,1.5-2.6,1.5s-9-4.8-8.7-6.9
C121.8,34,138.3,0,138.3,0L138.3,0z"/>
<path class="st5" d="M144.1,37.6c-11.8,0-21.3,10.5-21.3,23.5h21.3V37.6z"/>
<path class="st6" d="M144.1,37.6c11.8,0,21.4,10.5,21.4,23.5h-21.4V37.6z"/>
<rect x="122.7" y="60.9" class="st7" width="42.9" height="15"/>
<rect x="122.7" y="105.4" class="st7" width="42.9" height="15"/>
<circle class="st9" cx="127.9" cy="68.8" r="2.8"/>
<circle class="st9" cx="127.9" cy="113.4" r="2.8"/>
<circle class="st9" cx="136" cy="68.8" r="2.8"/>
<circle class="st9" cx="136" cy="113.4" r="2.8"/>
<circle class="st9" cx="144.2" cy="68.8" r="2.8"/>
<circle class="st9" cx="144.2" cy="113.4" r="2.8"/>
<circle class="st9" cx="152.3" cy="68.8" r="2.8"/>
<circle class="st9" cx="152.3" cy="113.4" r="2.8"/>
<circle class="st9" cx="160.5" cy="68.8" r="2.8"/>
<circle class="st9" cx="160.5" cy="113.4" r="2.8"/>
</g>
<g id="house21">
<rect x="180.4" y="106.5" class="st3" width="21.7" height="58.4"/>
<rect x="201.4" y="106.7" class="st4" width="21.7" height="58.1"/>
<rect x="194.5" y="140.4" class="st10" width="15.4" height="24.3"/>
<rect x="181.6" y="76.6" class="st8" width="7.2" height="21.2"/>
<path class="st3" d="M201.6,81.8c-11.8,0-21.3,10.5-21.3,23.5h21.3V81.8z"/>
<path class="st4" d="M201.6,81.9c11.8,0,21.3,10.5,21.3,23.5h-21.3V81.9z"/>
<rect x="180.2" y="105.1" class="st10" width="42.9" height="15"/>
<circle class="st9" cx="185.4" cy="113.1" r="2.8"/>
<circle class="st9" cx="193.5" cy="113.1" r="2.8"/>
<circle class="st9" cx="201.7" cy="113.1" r="2.8"/>
<circle class="st9" cx="209.8" cy="113.1" r="2.8"/>
<circle class="st9" cx="218" cy="113.1" r="2.8"/>
</g>
<rect x="81.7" y="127.4" class="st7" width="15.4" height="24.3"/>
<g id="viking">
<path class="st11" d="M5,121c0,2.9,2.3,5.2,5.2,5.2V121H5z"/>
<path class="st11" d="M10.1,126.1c2.9,0,5.2-2.3,5.2-5.2h-5.2V126.1z"/>
<path class="st12" d="M10.3,149.1l-0.1-23.3H5.1c-2.8,0-5.1,2.3-5.1,5.1V144c0,2.8,2.3,5.1,5.1,5.1L10.3,149.1L10.3,149.1z"/>
<path class="st13" d="M10.1,149.1l0.1-23.3h5.2c2.9,0,5.2,2.3,5.2,5.1V144c0,2.8-2.3,5.1-5.2,5.1H10.1z"/>
<path class="st0" d="M8,149.4c0-0.4-0.3-0.7-0.7-0.7H5.8c-0.4,0-0.7,0.3-0.7,0.7V163c0,0.4,0.3,0.7,0.7,0.7h1.4
c0.4,0,0.7-0.3,0.7-0.7V149.4z"/>
<path class="st0" d="M3.2,129.3c0-0.4-0.3-0.7-0.7-0.7H1c-0.4,0-0.7,0.3-0.7,0.7v13.6c0,0.4,0.3,0.7,0.7,0.7h1.4
c0.4,0,0.7-0.3,0.7-0.7V129.3z"/>
<path class="st0" d="M20.2,129.3c0-0.4-0.3-0.7-0.7-0.7h-1.4c-0.4,0-0.7,0.3-0.7,0.7v13.6c0,0.4,0.3,0.7,0.7,0.7h1.4
c0.4,0,0.7-0.3,0.7-0.7V129.3z"/>
<path class="st0" d="M16,149.6c0-0.4-0.3-0.7-0.7-0.7h-1.4c-0.4,0-0.7,0.3-0.7,0.7v13.6c0,0.4,0.3,0.7,0.7,0.7h1.4
c0.4,0,0.7-0.3,0.7-0.7V149.6z"/>
<circle class="st7" cx="10.4" cy="142.1" r="9.5"/>
<circle class="st11" cx="2" cy="142.2" r="1.9"/>
<circle class="st14" cx="18.5" cy="142" r="1.9"/>
<circle class="st15" cx="10.4" cy="142.1" r="2.8"/>
<circle class="st16" cx="0.4" cy="142.2" r="0"/>
<path class="st10" d="M15.4,120.6c0-0.1-0.1-0.1-0.1-0.1H5.1c-0.1,0-0.1,0.1-0.1,0.1v0.2c0,0.1,0.1,0.1,0.1,0.1h10.2
c0.1,0,0.1-0.1,0.1-0.1V120.6z"/>
<path class="st8" d="M6.2,111.7c0,0-0.8,2.7-0.7,3.5c0,0.6,1.1,1.3,1.1,1.3s-0.6,0.7-0.8,1.1c-0.2,0.4-0.6,1.3-0.6,1.3
s-1.7-2-1.6-3C3.8,114.7,6.2,111.7,6.2,111.7z"/>
<path class="st8" d="M14,111.7c0,0,0.8,2.7,0.7,3.5c0,0.6-1.1,1.3-1.1,1.3s0.6,0.7,0.8,1.1c0.2,0.4,0.6,1.3,0.6,1.3s1.7-2,1.6-3
C16.5,114.7,14,111.7,14,111.7z"/>
<path class="st3" d="M10.1,114.9c-2.9,0-5.2,2.5-5.2,5.6h5.2V114.9z"/>
<path class="st4" d="M10.1,114.9c2.9,0,5.2,2.5,5.2,5.6h-5.2V114.9z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 124 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB

+1
View File
@@ -0,0 +1 @@
<svg viewBox="0 0 132 60" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path fill="none" d="M82.626-4.26h46.235v38.527H82.63z"/><path d="M113.79 13.496c-1.348-5.458-9.26-11.474-18.207-10.247-8.86 1.212-12.957 9.985-12.957 14.962 0 5.297 5.2 9.63 11.558 9.63h25.044c5.394 0 9.052-3.016 8.45-7.53-.702-5.282-8.88-6.497-13.887-6.818z" fill="#f5f5f5" fill-rule="nonzero"/><path fill="none" d="M48 32.085h35.338v29.447h-35.34z"/><path d="M71.82 45.657c-1.03-4.17-7.077-8.77-13.917-7.832C51.13 38.755 48 45.46 48 49.263c0 4.05 3.975 7.362 8.834 7.362h19.142c4.123 0 6.92-2.306 6.46-5.756-.538-4.04-6.787-4.97-10.616-5.215z" fill="#f5f5f5" fill-rule="nonzero"/><path fill="none" d="M3.142 30.095h23.38v19.483H3.142z"/><path d="M18.902 39.075c-.682-2.76-4.683-5.803-9.208-5.182-4.48.614-6.552 5.05-6.552 7.567 0 2.68 2.63 4.87 5.845 4.87h12.665c2.728 0 4.577-1.524 4.274-3.807-.356-2.672-4.49-3.286-7.024-3.448z" fill="#f5f5f5" fill-rule="nonzero"/></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 170 KiB

+1
View File
@@ -0,0 +1 @@
<svg width="56" height="56" viewBox="0 0 56 56" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M52.5 16.917c0-4.667-8.75-15.167-9.333-15.75 2.098 9.444 1.837 8.034 2.188 11.05.093.795.132 1.62-.186 2.355-1.457 3.365-6.67 5.26-6.67 5.26l8.166 7S52.5 21 52.5 16.918zm-49 0c0-4.667 8.75-15.167 9.333-15.75-2.098 9.444-1.838 8.034-2.188 11.05-.093.795-.132 1.62.186 2.355 1.457 3.365 6.67 5.26 6.67 5.26l-8.166 7S3.5 21 3.5 16.918z" fill="#BFBFBF"/><path d="M28 12.25c9.144 0 15.784 6.427 18.667 14.583v14s-5.834 2.334-9.334 4.667c-3.5 2.333-8.75 9.333-8.75 9.333H28V12.25z" fill="#566366"/><path d="M28 12.25c-9.144 0-15.784 6.427-18.667 14.583v14s5.834 2.334 9.334 4.667c3.5 2.333 8.75 9.333 8.75 9.333H28V12.25z" fill="#7D9199"/><circle cx="28" cy="26.833" r="2.333" fill="#fff"/></svg>

After

Width:  |  Height:  |  Size: 794 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 149 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 143 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 168 KiB

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

+1
View File
@@ -0,0 +1 @@
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 223.1 164.8"><style>.st0{fill:#8D6E63;} .st1{fill:#795548;} .st2{fill:#666666;} .st3{fill:#7D9199;} .st4{fill:#566366;} .st5{fill:#855B41;} .st6{fill:#774E38;} .st7{fill:#69432F;} .st8{fill:#BFBFBF;} .st9{fill:#999999;stroke:#666666;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;} .st10{fill:#999999;} .st11{fill:#F8E6CE;} .st12{fill:#A97E3A;} .st13{fill:#765221;} .st14{fill:#FAECD9;} .st15{fill:#936239;} .st16{fill:#F2F2F2;}</style><g id="house1"><path class="st0" d="M89.8 86.8l-20.3 55.6.3 21.9h20V86.8z"/><path class="st1" d="M89.7 86.7l20.3 55.6-.3 21.9h-20V86.7z"/><path class="st2" d="M114.4 152.3L87.5 78.4l-.7.2 26.9 73.9.7-.2z"/><path class="st2" d="M92.1 78.4l-26.9 73.9.7.2 26.9-73.9-.7-.2z"/></g><g id="tree"><path class="st2" d="M46 117.6v46.2h.7v-46.2H46z"/><path class="st3" d="M46.3 98.8c-9.6 0-17.4 7.8-17.4 17.4s7.8 17.4 17.4 17.4V98.8z"/><path class="st4" d="M46.3 98.8c9.6 0 17.4 7.8 17.4 17.4s-7.8 17.4-17.4 17.4V98.8z"/></g><g id="house2"><path class="st5" d="M122.9 75.9h21.7V164h-21.7z"/><path class="st6" d="M143.9 75.8h21.7v88.1h-21.7z"/><path class="st7" d="M137 139.6h15.4v24.3H137z"/><path class="st8" d="M149.6 0s6.1 31.8 6 33.4c-.1 1.2-4 6-4 6s3.1 1.6 3.6 2.4c.5.8 2.6 1.5 2.6 1.5s9-4.8 8.7-6.9C166 34 149.6 0 149.6 0zm-11.3 0s-6.1 31.8-6 33.4c.1 1.2 4 6 4 6s-3.1 1.6-3.6 2.4c-.5.8-2.6 1.5-2.6 1.5s-9-4.8-8.7-6.9C121.8 34 138.3 0 138.3 0z"/><path class="st5" d="M144.1 37.6c-11.8 0-21.3 10.5-21.3 23.5h21.3V37.6z"/><path class="st6" d="M144.1 37.6c11.8 0 21.4 10.5 21.4 23.5h-21.4V37.6z"/><path class="st7" d="M122.7 60.9h42.9v15h-42.9zm0 44.5h42.9v15h-42.9z"/><circle class="st9" cx="127.9" cy="68.8" r="2.8"/><circle class="st9" cx="127.9" cy="113.4" r="2.8"/><circle class="st9" cx="136" cy="68.8" r="2.8"/><circle class="st9" cx="136" cy="113.4" r="2.8"/><circle class="st9" cx="144.2" cy="68.8" r="2.8"/><circle class="st9" cx="144.2" cy="113.4" r="2.8"/><circle class="st9" cx="152.3" cy="68.8" r="2.8"/><circle class="st9" cx="152.3" cy="113.4" r="2.8"/><circle class="st9" cx="160.5" cy="68.8" r="2.8"/><circle class="st9" cx="160.5" cy="113.4" r="2.8"/></g><g id="house21"><path class="st3" d="M180.4 106.5h21.7v58.4h-21.7z"/><path class="st4" d="M201.4 106.7h21.7v58.1h-21.7z"/><path class="st10" d="M194.5 140.4h15.4v24.3h-15.4z"/><path class="st8" d="M181.6 76.6h7.2v21.2h-7.2z"/><path class="st3" d="M201.6 81.8c-11.8 0-21.3 10.5-21.3 23.5h21.3V81.8z"/><path class="st4" d="M201.6 81.9c11.8 0 21.3 10.5 21.3 23.5h-21.3V81.9z"/><path class="st10" d="M180.2 105.1h42.9v15h-42.9z"/><circle class="st9" cx="185.4" cy="113.1" r="2.8"/><circle class="st9" cx="193.5" cy="113.1" r="2.8"/><circle class="st9" cx="201.7" cy="113.1" r="2.8"/><circle class="st9" cx="209.8" cy="113.1" r="2.8"/><circle class="st9" cx="218" cy="113.1" r="2.8"/></g><path class="st7" d="M81.7 127.4h15.4v24.3H81.7z"/><g id="viking"><path class="st11" d="M5 121c0 2.9 2.3 5.2 5.2 5.2V121H5z"/><path class="st11" d="M10.1 126.1c2.9 0 5.2-2.3 5.2-5.2h-5.2v5.2z"/><path class="st12" d="M10.3 149.1l-.1-23.3H5.1c-2.8 0-5.1 2.3-5.1 5.1V144c0 2.8 2.3 5.1 5.1 5.1h5.2z"/><path class="st13" d="M10.1 149.1l.1-23.3h5.2c2.9 0 5.2 2.3 5.2 5.1V144c0 2.8-2.3 5.1-5.2 5.1h-5.3z"/><path class="st0" d="M8 149.4c0-.4-.3-.7-.7-.7H5.8c-.4 0-.7.3-.7.7V163c0 .4.3.7.7.7h1.4c.4 0 .7-.3.7-.7v-13.6zm-4.8-20.1c0-.4-.3-.7-.7-.7H1c-.4 0-.7.3-.7.7v13.6c0 .4.3.7.7.7h1.4c.4 0 .7-.3.7-.7v-13.6zm17 0c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v13.6c0 .4.3.7.7.7h1.4c.4 0 .7-.3.7-.7v-13.6zM16 149.6c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v13.6c0 .4.3.7.7.7h1.4c.4 0 .7-.3.7-.7v-13.6z"/><circle class="st7" cx="10.4" cy="142.1" r="9.5"/><circle class="st11" cx="2" cy="142.2" r="1.9"/><circle class="st14" cx="18.5" cy="142" r="1.9"/><circle class="st15" cx="10.4" cy="142.1" r="2.8"/><path class="st10" d="M15.4 120.6c0-.1-.1-.1-.1-.1H5.1c-.1 0-.1.1-.1.1v.2c0 .1.1.1.1.1h10.2c.1 0 .1-.1.1-.1v-.2z"/><path class="st8" d="M6.2 111.7s-.8 2.7-.7 3.5c0 .6 1.1 1.3 1.1 1.3s-.6.7-.8 1.1c-.2.4-.6 1.3-.6 1.3s-1.7-2-1.6-3c.2-1.2 2.6-4.2 2.6-4.2zm7.8 0s.8 2.7.7 3.5c0 .6-1.1 1.3-1.1 1.3s.6.7.8 1.1c.2.4.6 1.3.6 1.3s1.7-2 1.6-3c-.1-1.2-2.6-4.2-2.6-4.2z"/><path class="st3" d="M10.1 114.9c-2.9 0-5.2 2.5-5.2 5.6h5.2v-5.6z"/><path class="st4" d="M10.1 114.9c2.9 0 5.2 2.5 5.2 5.6h-5.2v-5.6z"/></g></svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

+1
View File
@@ -0,0 +1 @@
<svg width="120" height="122" viewBox="0 0 120 122" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 22C26.197 22 27-7 52 2s41.803 20 68 20v100H0V22z" fill="#006064"/></svg>

After

Width:  |  Height:  |  Size: 183 B

+1
View File
@@ -0,0 +1 @@
<svg width="120" height="127" viewBox="0 0 120 127" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 17c16 0 20 8 50-10s27.333 10 70 10v110H0V17z" fill="#E0F7FA"/></svg>

After

Width:  |  Height:  |  Size: 179 B

+1
View File
@@ -0,0 +1 @@
<svg width="120" height="125" viewBox="0 0 120 125" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 15C42.667 15 44-8.813 70 5c26 13.813 28 10 50 10v110H0V15z" fill="#0097A7"/></svg>

After

Width:  |  Height:  |  Size: 193 B

+1
View File
@@ -0,0 +1 @@
<svg width="120" height="120" viewBox="0 0 120 120" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 20C26.197 20 37.803 0 64 0c26.197 0 29.803 20 56 20v100H0V20z" fill="#E9E2D3"/></svg>

After

Width:  |  Height:  |  Size: 196 B

+395 -301
View File
@@ -1,330 +1,424 @@
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="description" content="Policy-based control for cloud native environments">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css">
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<link rel="stylesheet" href="css/hamburgers.css" media="screen" charset="utf-8">
<link rel="stylesheet" href="css/style.css" media="screen" charset="utf-8">
<link rel="shortcut icon" href="images/favicon.png" type="image/x-icon"/>
<link rel="stylesheet" href="style.css" media="screen" charset="utf-8">
<link rel="shortcut icon" href="img/favicon.png" type="image/x-icon"/>
<title>Open Policy Agent</title>
</head>
<body class="_homepage--body">
<section class="_homepage--banner">
<body>
<svg xmlns="http://www.w3.org/2000/svg" style="display:none">
<symbol id="icon--arrow-up" viewBox="0 0 24 24"><path d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"/><path d="M0 0h24v24H0z" fill="none"/></symbol>
<symbol id="social-icon--medium" viewBox="0 0 55 55"><path d="M27.5 0C12.3 0 0 12.3 0 27.5S12.3 55 27.5 55 55 42.7 55 27.5 42.7 0 27.5 0zm-6.2 40.6l-9.6-4.7c-.1-.1-.3-.3-.3-.5V13.6l9.8 4.9v22.1h.1zm1.2-10.4v-9.9l8.8 14.3-8.8-4.4zm3.9-5.8l6.8-10.9 9.9 5L32.9 35l-6.5-10.6zm17 16.2l-9.6-4.7 9.6-15.6v20.3z"/></symbol>
<symbol id="social-icon--slack" viewBox="0 0 55 55"><path d="M23.45 25.382l6.066-2.04 2.01 5.97-6.067 2.04-2.01-5.97z"/><path d="M27.5 0C12.3 0 0 12.3 0 27.5S12.3 55 27.5 55 55 42.7 55 27.5 42.7 0 27.5 0zm14 31.9l-2.9 1 1 3c.5 1.5-.3 3-1.7 3.5-1.5.5-3-.3-3.5-1.7l-1-3-6.1 2 1 3c.5 1.5-.3 3-1.7 3.5-1.5.5-3-.3-3.5-1.7l-1-3-2.8.9c-1.5.5-3-.3-3.5-1.7-.5-1.5.3-3 1.7-3.5l2.8-.9-2-5.9-2.9 1c-1.5.5-3-.3-3.5-1.7-.5-1.5.3-3 1.7-3.5l2.9-1-1-2.8c-.5-1.5.3-3 1.7-3.5 1.5-.5 3 .3 3.5 1.7l1 2.8 6.1-2-1-2.9c-.5-1.5.3-3 1.7-3.5 1.5-.5 3 .3 3.5 1.7l1 2.9 2.9-1c1.5-.5 3 .3 3.5 1.7.5 1.5-.3 3-1.7 3.5l-2.9 1 2 5.9 2.9-1c1.5-.5 3 .3 3.5 1.7s-.3 3-1.7 3.5z"/></symbol>
<symbol id="social-icon--twitter" viewBox="0 0 400 400"><path fill-rule="evenodd" clip-rule="evenodd" d="M400 200c0 110.457-89.543 200-200 200S0 310.457 0 200 89.543 0 200 0s200 89.543 200 200zm-99.4-31.7c0 63.7-48.5 137.2-137.2 137.2-27.2 0-52.6-8-73.7-21.8 3.8.5 7.6.7 11.5.7 22.6 0 43.4-7.7 59.9-20.6-21.1-.4-38.9-14.3-45-33.5 3 .6 6 .9 9.1.9 4.4 0 8.7-.6 12.7-1.7-22.1-4.5-38.7-23.9-38.7-47.3v-.6c6.5 3.6 13.9 5.8 21.8 6-13-8.6-21.5-23.4-21.5-40.1 0-8.8 2.4-17.1 6.5-24.2 23.8 29.2 59.3 48.4 99.4 50.4-.9-3.5-1.3-7.2-1.3-11 0-26.6 21.6-48.2 48.2-48.2 13.9 0 26.4 5.8 35.2 15.2 11-2.2 21.3-6.2 30.6-11.7-3.6 11.3-11.2 20.7-21.2 26.7 9.8-1.2 19.1-3.8 27.7-7.6-6.5 9.7-14.7 18.2-24.1 25 .1 2 .1 4.1.1 6.2z"/></symbol>
<symbol id="social-icon--github" viewBox="0 0 55.1 53.7"><g><path d="M27.5 0C12.3 0 0 12.3 0 27.5 0 39.7 7.9 50 18.8 53.6c1.4.3 1.9-.6 1.9-1.3v-5.1C13 48.9 11.4 44 11.4 44c-1.3-3.2-3.1-4-3.1-4-2.5-1.7.2-1.7.2-1.7 2.8.2 4.2 2.8 4.2 2.8 2.5 4.2 6.4 3 8 2.3.2-1.8 1-3 1.7-3.7-6.1-.7-12.5-3.1-12.5-13.6 0-3 1.1-5.5 2.8-7.4-.3-.7-1.2-3.5.3-7.3 0 0 2.3-.7 7.6 2.8 2.2-.6 4.5-.9 6.9-.9 2.3 0 4.7.3 6.9.9 5.2-3.6 7.6-2.8 7.6-2.8 1.5 3.8.6 6.6.3 7.3 1.8 1.9 2.8 4.4 2.8 7.4 0 10.6-6.4 12.9-12.6 13.6 1 .9 1.9 2.5 1.9 5.1v7.5c0 .7.5 1.6 1.9 1.3C47.2 50 55.1 39.7 55.1 27.5 55 12.3 42.7 0 27.5 0z"/><path d="M10.4 39.5c-.1.1-.3.2-.5.1s-.3-.3-.2-.4c.1-.1.3-.2.5-.1.2 0 .3.2.2.4z"/><path d="M11.5 40.7c-.1.1-.4.1-.6-.1-.2-.2-.2-.4-.1-.6.1-.1.4-.1.6.1.2.2.3.5.1.6z"/><path d="M12.6 42.3c-.2.1-.4 0-.6-.2-.2-.2-.2-.5 0-.7.2-.1.4 0 .6.2.2.3.2.6 0 .7z"/><path d="M14.1 43.8c-.2.2-.5.1-.7-.1s-.3-.5-.2-.7c.2-.2.5-.1.7.1.3.2.4.6.2.7z"/><path d="M16.1 44.7c-.1.2-.4.3-.7.2-.3-.1-.5-.3-.5-.6.1-.2.4-.3.7-.2.4.1.6.4.5.6z"/><path d="M18.4 44.9c0 .2-.3.4-.6.4s-.6-.2-.6-.4.3-.4.6-.4.6.1.6.4z"/><path d="M20.5 44.5c0 .2-.2.4-.5.5s-.6-.1-.7-.3c0-.2.2-.5.5-.5.4 0 .7.1.7.3z"/></g></symbol>
</svg>
<div class="_homepage--banner-cloud">
<img class="_homepage--banner-cloud-img" src="images/cloud.svg" alt="">
<header role="banner">
<nav class="nav--banner" role="navigation">
<ul class="nav--menu">
<li class="nav--menu-item nav--home"><a href="/">Open Policy Agent</a></li>
<li class="nav--menu-item nav--docs"><a href="/docs/" rel="help">Documentation</a></li>
<li class="nav--menu-item nav--docs"><a href="/docs/get-started.html" rel="help">Tutorials</a></li>
</ul>
<ul class="nav--menu">
<li class="nav--menu-item nav--social"><a href="https://blog.openpolicyagent.org/" rel="external"><svg class="nav--social-icon"><title>Medium</title><use xlink:href="#social-icon--medium"/></svg></a></li>
<li class="nav--menu-item nav--social"><a href="https://twitter.com/openpolicyagent" rel="external"><svg class="nav--social-icon"><title>Twitter</title><use xlink:href="#social-icon--twitter"/></svg></a></li>
<li class="nav--menu-item nav--social"><a href="http://slack.openpolicyagent.org/" rel="external"><svg class="nav--social-icon"><title>Slack</title><use xlink:href="#social-icon--slack"/></svg></a></li>
<li class="nav--menu-item nav--social"><a href="https://github.com/open-policy-agent/opa" rel="external"><svg class="nav--social-icon"><title>GitHub</title><use xlink:href="#social-icon--github"/></svg></a></li>
</ul>
</nav>
<div class="headline">
<div class="content">
<h1 class="headline--title">Policy-based control for cloud&nbsp;native environments</h1>
<p class="headline--subtitle">Empower your administrators with flexible, fine-grained control across your entire&nbsp;stack.</p>
<p class="headline--nav">
<a id="headline--get-started" href="/docs/get-started.html" rel="help">Get Started</a>
<a id="headline--learn-more" href="/docs/" rel="help">Learn More</a>
</p>
</div>
<div class="headline--wave--bg" role="presentation"></div>
<div class="headline--wave--fg" role="presentation"></div>
</div>
</header>
<header class="_homepage--header">
<div class="header _homepage--container">
<main role="main">
<section class="traits">
<div class="content">
<h2 class="traits--title">Traits</h2>
<div class="_homepage--logo header--logo">
<a class="header--logo-link" href="/">
<img class="header--logo-image" src="images/opa-logo.svg" alt="" />
<p class="header--logo-txt">
Open Policy Agent
</p>
</a>
<dl class="traits--list">
<div class="trait trait--unified">
<dt class="trait--title">Unified</dt>
<dd class="trait--body">Decouple policy decisions from your services to achieve unified control across the entire stack with any language or service.</dd>
</div>
<nav class="_homepage--menu-mobile">
<button class="hamburger hamburger--spring" type="button" style="outline: none;">
<span class=" hamburger-box">
<span class="menu-mobile--hamburger-inner hamburger-inner"></span>
</span>
</button>
</nav>
<nav class="_homepage--menu-desktop header--menu">
<a class="header--link header--link_LONG" href="/docs">
<p class="header--menu-txt">
Documentation
</p>
</a>
<a class="header--link header--link_LONG" href="/docs/get-started.html">
<p class="header--menu-txt">
Tutorials
</p>
</a>
<a class="header--link header--link_LONG" href="https://blog.openpolicyagent.org/" target="_blank">
<img class="header--menu-image" src="images/Medium.svg" alt="" />
</a>
<a class="header--link header--link_SMALL" href="https://github.com/open-policy-agent/opa" target="_blank">
<img class="header--menu-image" src="images/Github.svg" alt="" />
</a>
<a class="header--link header--link_SMALL" href="http://slack.openpolicyagent.org/" target="_blank">
<img class="header--menu-image" src="images/Slack.svg" alt="" />
</a>
</nav>
<div class="trait trait--declarative">
<dt class="trait--title">Declarative</dt>
<dd class="trait--body">Express policies in a high-level declarative language that promotes safe, fine-grained logic and enables powerful features such as impact analysis, hot reloading, query optimization, and more.</dd>
</div>
<div class="trait trait--context-aware">
<dt class="trait--title">Context-Aware</dt>
<dd class="trait--body">Leverage arbitrary external document-oriented data (JSON) in policies to ensure that important requirements are enforced throughout the organization.</dd>
</div>
</dl>
</div>
</header>
</section>
<div class="_homepage--messages">
<div class="_homepage--container">
<section id="use-cases">
<div class="use-cases">
<div class="use-cases--wave" role="presentation"></div>
<div class="content">
<div class="use-cases--content">
<h2>Use Cases</h2>
<h1 class="messages--main">
Policy-based control for cloud native environments
</h1>
<p class="messages--side">
Empower your administrators with flexible, fine-grained control across the entire stack.
</p>
<div class="use-cases--content--columns">
<p>Open Policy Agent (OPA) is a general-purpose policy engine with uses ranging from authorization and admission control to data filtering. OPA provides greater flexibility and expressiveness than hard-coded service logic or ad-hoc domain-specific languages. And it comes with powerful tooling to help you get started.</p>
<div class="messages--btns">
<a class="messages--btn-link" href="/docs/get-started.html">
<button class="messages--get-started-btn messages--btn base--button">
Get Started
</button>
</a>
<a class="messages--btn-link" href="/docs/">
<button class="messages--learn-more-btn messages--btn base--button">
Learn More
</button>
</a>
</div>
<div>
<p>Here are just a few examples of what you can do with OPA:</p>
</div>
</div>
</section>
<section class="_homepage--value-section">
<div class="value-section--light-blue-wave-container">
<img class="value-section--light-blue-wave" src="/images/horizontal-light-blue-wave.svg" alt="">
</div>
<div class="value-section--boat-container">
<img class="value-section--boat" src="/images/boat.svg" alt="">
</div>
<div class="value-section--middle-blue-wave-container">
<img class="value-section--middle-blue-wave" src="/images/horizontal-dark-blue-wave.svg" alt="">
</div>
<div class="value-section--long-wave-container">
<img class="value-section--long-wave" src="/images/long-wave.svg" alt="">
</div>
<div class="value-section--values _homepage--container">
<div class="value-section--value-item-container">
<img class="value-section--value-img" src="/images/unified-icon.svg" alt="">
<h4 class="value-section--value-title">
Unified
</h4>
<p class="value-section--value-para">
Decouple policy decisions from your services to achieve unified control across the entire stack with any language or service.
</p>
</div>
<div class="value-section--value-item-container">
<img class="value-section--value-img" src="/images/declarative-icon.svg" alt="">
<h4 class="value-section--value-title">
Declarative
</h4>
<p class="value-section--value-para">
Express policies in a high-level declarative language that promotes safe, fine-grained logic and enables powerful features such as impact analysis, hot reloading, query optimization, and more.
</p>
</div>
<div class="value-section--value-item-container">
<img class="value-section--value-img" src="/images/context-icon.svg" alt="">
<h4 class="value-section--value-title">
Context-aware
</h4>
<p class="value-section--value-para">
Leverage arbitrary external document-oriented data (JSON) in policies to ensure that important requirements are enforced throughout the organization.
</p>
</div>
</div>
</section>
<section class="_homepage--use-case-section">
<div class="use-case-section--village-container">
<img class="use-case-section--village" src="/images/viking-village.svg" alt="">
</div>
<div class="use-case-section--use-case-title-container _homepage--container">
<div class="use-case-section--use-case-summary-container">
<h3 class="use-case-section--use-case-section-title">
Use Cases
</h3>
<p class="use-case-section--use-case-section-para">
OPA is a general-purpose policy engine that helps solve use cases ranging from authorization and admission control to resource placement. OPA provides greater flexibility and expressiveness than hard-coded service logic or ad-hoc domain-specific languages and comes with powerful tooling to help you get started.
</p>
</div>
</div>
<div class="use-case-section--use-cases _homepage--container">
<div class="use-case-section--use-case-container use-case-section--microservices">
<h4 class="use-case-section--use-case-title">
Microservices
</h4>
<p class="use-case-section--use-case-para">
Deliver fine-grained access control across your microservice fleet.
</p>
<a class="use-case-section--btn-link" href="/docs/http-api-authorization.html">
<button class="use-case-section--btn base--button" type="button" name="button">
Check out HTTP API authorization in Python
</button>
</a>
</div>
<div class="use-case-section--use-case-container use-case-section--containers">
<h4 class="use-case-section--use-case-title">
Containers
</h4>
<p class="use-case-section--use-case-para">
Enforce important cost, security, and performance requirements in your platform layer.
</p>
<a class="use-case-section--btn-link" href="/docs/docker-authorization.html">
<button class="use-case-section--btn base--button" type="button" name="button">
Check out Docker API authorization
</button>
</a>
</div>
<div class="use-case-section--use-case-container use-case-section--infrastructure">
<h4 class="use-case-section--use-case-title">
Infrastructure
</h4>
<p class="use-case-section--use-case-para">
Extend policy-based control down to your infrastructure components with OPA.
</p>
<a class="use-case-section--btn-link" href="/docs/ssh-and-sudo-authorization.html">
<button class="use-case-section--btn base--button" type="button" name="button">
Check out SSH and sudo authorization
</button>
</a>
</div>
</div>
</section>
<section class="_homepage--key-features-section">
<div class="key-features-section--dark-blue-long-wave-container">
<img class="key-features-section--dark-blue-long-wave" src="images/long-wave-dark-blue.svg" alt="">
</div>
<div class="key-features-section--sea-plants-container">
<img class="key-features-section--sea-plants" src="images/sea-plants.svg" alt="">
</div>
<h3 class="_homepage--container key-features-section--section-title">
Key Features
</h3>
<div class="_homepage--container key-features-section--key-features">
<div class="key-features-section--row-container">
<div class="key-features-section--key-feature-container">
<h4 class="key-features-section--key-feature-title">
Decoupled
</h4>
<p class="key-features-section--key-feature-para">
Administrators can manage policies dynamically without requiring changes to services.
</p>
</div>
<div class="key-features-section--key-feature-container">
<h4 class="key-features-section--key-feature-title">
Easy to Deploy
</h4>
<p class="key-features-section--key-feature-para">
OPA has zero deployment dependencies. It runs as a daemon side-by-side with your service and shares its fate for the purposes of high availabilty.
</p>
</div>
</div>
<div class="key-features-section--row-container">
<div class="key-features-section--key-feature-container">
<h4 class="key-features-section--key-feature-title">
Compatible
</h4>
<p class="key-features-section--key-feature-para">
OPAs RESTful APIs use JSON over HTTP so you can integrate OPA with your service no matter which programming language you use.
</p>
</div>
<div class="key-features-section--key-feature-container">
<h4 class="key-features-section--key-feature-title">
Responsive
</h4>
<p class="key-features-section--key-feature-para">
OPA is designed from scratch with latency-sensitive applications in mind, enforcing policies with minimal performance impact.
</p>
</div>
</div>
<div class="key-features-section--row-container">
<div class="key-features-section--key-feature-container">
<h4 class="key-features-section--key-feature-title">
Interactive
</h4>
<p class="key-features-section--key-feature-para">
Anyone can use OPAs interactive shell to quickly experiment with queries and data sets.
</p>
</div>
<div class="key-features-section--key-feature-container">
<h4 class="key-features-section--key-feature-title">
Embeddable
</h4>
<p class="key-features-section--key-feature-para">
Services written with Go can use OPA as a library and do not need to run a separate daemon.
</p>
<ul class="use-cases--toc">
<li class="use-cases--toc--item"><a href="#admission-control">Kubernetes Admission Control</a></li>
<li class="use-cases--toc--item"><a href="#api-authorization">HTTP API Authorization</a></li>
<li class="use-cases--toc--item"><a href="#remote-access">Remote Access</a></li>
<li class="use-cases--toc--item"><a href="#partial-evaluation">Data Filtering with Partial Evaluation</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<div class="examples">
<div class="examples--wave" role="presentation"></div>
<footer class="_homepage--footer">
<p class="footer--text">
© 2017 Open Policy Agent contributors. Licensed under the <a class="footer--link" href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License, Version 2.0</a>. For information about contributing, see <a class="footer--link" href="https://github.com/open-policy-agent/opa/blob/master/CONTRIBUTING.md" target="_blank">CONTRIBUTING.md</a>.
</p>
<section class="content">
<h2 class="examples--title">Examples</h2>
<section id="admission-control" class="example">
<a class="action--scroll-up" href="/"><svg class="action-icon"><title>Scroll back</title><use xlink:href="#icon--arrow-up"/></svg></a>
<h3 class="example--title">Kubernetes Admission Control</h3>
<img role="presentation" class="example--graphic" src="img/kubernetes-admission-control.svg">
<div class="example--editor">
<div class="example--editor--titlebar">
<span class="example--editor--close-button" role="presentation"></span>
<span class="example--editor--minimize-button" role="presentation"></span>
<span class="example--editor--zoom-button" role="presentation"></span>
<span class="example--editor--title">invariants.rego — ~/src/policies/admission-control/kubernetes</span>
</div>
<pre class="example--editor--body"><span class="code--comment"># Kubernetes Admission Control Invariants</span>
<span class="code--keyword">package</span> kubernetes.<span class="code--package">invariants</span>
<span class="code--keyword">import</span> data.kubernetes.<span class="code--package">ingresses</span>
<span class="code--keyword">import</span> data.kubernetes.<span class="code--package">namespaces</span>
<span class="code--comment"># ---------------------------------------------------------------------
# Ingress Invariants</span>
<span class="code--comment"># Generates a list of non-compliant ingresses identified by `namespace`
# and ingress specification `name`.</span>
<span class="code--rule">violations</span>[{
<span class="code--string">"namespace"</span>: <span class="code--local">namespace</span>,
<span class="code--string">"name"</span>: <span class="code--local">name</span>,
<span class="code--string">"message"</span>: <span class="code--string">"ingress hostname must match whitelist"</span>
}] {
<span class="code--local">ingress</span> <span class="code--operator">:=</span> <span class="code--package">ingresses</span>[<span class="code--local">namespace</span>][<span class="code--local">name</span>]
<span class="code--local">host</span> <span class="code--operator">:=</span> <span class="code--local">ingress</span>.spec.rules[<span class="code--operator">_</span>].host
<span class="code--keyword">not</span> <span class="code--rule">contains</span>(<span class="code--rule">whitelist</span>[<span class="code--local">namespace</span>], <span class="code--local">host</span>)
}
<span class="code--comment"># Generates a list of allowed hostnames per namespace.</span>
<span class="code--rule">whitelist</span>[<span class="code--local">namespace</span>] = <span class="code--local">hosts</span> {
<span class="code--local">obj</span> <span class="code--operator">:=</span> <span class="code--package">namespaces</span>[<span class="code--local">namespace</span>]
<span class="code--local">annotations</span> <span class="code--operator">:=</span> <span class="code--local">obj</span>.metadata.annotations
<span class="code--local">annotation</span> <span class="code--operator">:=</span> <span class="code--local">annotations</span>[<span class="code--string">"acmecorp.com/hostname-whitelist"</span>]</span>
<span class="code--local">hosts</span> <span class="code--operator">:=</span> <span class="code--keyword">json</span>.<span class="code--builtin">unmarshal</span>(<span class="code--local">annotation</span>)
}
<span class="code--comment"># ---------------------------------------------------------------------
# Helpers</span>
<span class="code--comment"># Checks if `list` includes an element matching `item`.</span>
<span class="code--rule">contains</span>(<span class="code--local">list</span>, <span class="code--local">item</span>) {
<span class="code--local">list</span>[<span class="code--operator">_</span>] <span class="code--operator">=</span> <span class="code--local">item</span>
}</pre>
</div>
<div class="example--wave--bg" role="presentation"></div>
<div class="example--wave--fg" role="presentation"></div>
</section>
<section id="api-authorization" class="example">
<a class="action--scroll-up" href="/"><svg class="action-icon"><title>Scroll back</title><use xlink:href="#icon--arrow-up"/></svg></a>
<h3 class="example--title">HTTP API Authorization</h3>
<img role="presentation" class="example--graphic" src="img/api-authorization.svg">
<div class="example--editor">
<div class="example--editor--titlebar">
<span class="example--editor--close-button" role="presentation"></span>
<span class="example--editor--minimize-button" role="presentation"></span>
<span class="example--editor--zoom-button" role="presentation"></span>
<span class="example--editor--title">authz.rego — ~/src/policies/httpapi/acmecorp</span>
</div>
<pre class="example--editor--body"><span class="code--comment"># HTTP API Authorization</span>
<span class="code--keyword">package</span> acmecorp.<span class="code--package">authz</span>
<span class="code--keyword">default</span> <span class="code--rule">allow</span> <span class="code--operator">=</span> <span class="code--primitive">false</span>
<span class="code--comment"># Allow people to read their own salaries.</span>
<span class="code--rule">allow</span> {
<span class="code--package">input</span>.method <span class="code--operator">=</span> <span class="code--string">"GET"</span>
<span class="code--package">input</span>.path <span class="code--operator">=</span> [<span class="code--string">"salaries"</span>, <span class="code--local">employee_id</span>]
<span class="code--package">input</span>.user <span class="code--operator">=</span> <span class="code--local">employee_id</span>
}
<span class="code--comment"># Also allow managers to read the salaries of people they manage.</span>
<span class="code--rule">allow</span> {
<span class="code--package">input</span>.method <span class="code--operator">=</span> <span class="code--string">"GET"</span>
<span class="code--package">input</span>.path <span class="code--operator">=</span> [<span class="code--string">"salaries"</span>, <span class="code--local">employee_id</span>]
<span class="code--package">input</span>.user <span class="code--operator">=</span> <span class="code--package">data</span>.manager_of[<span class="code--local">employee_id</span>]
}</pre>
</div>
<div class="example--wave--bg" role="presentation"></div>
<div class="example--wave--fg" role="presentation"></div>
</section>
<section id="remote-access" class="example">
<a class="action--scroll-up" href="/"><svg class="action-icon"><title>Scroll back</title><use xlink:href="#icon--arrow-up"/></svg></a>
<h3 class="example--title">Remote Access Authorization</h3>
<img role="presentation" class="example--graphic" src="img/ssh-authorization.svg">
<div class="example--editor">
<div class="example--editor--titlebar">
<span class="example--editor--close-button" role="presentation"></span>
<span class="example--editor--minimize-button" role="presentation"></span>
<span class="example--editor--zoom-button" role="presentation"></span>
<span class="example--editor--title">invariants.rego — ~/src/policies/admission-control/kubernetes</span>
</div>
<pre class="example--editor--body"><span class="code--comment"># Fine-Grained SSH Authorization</span>
<span class="code--keyword">package</span> ssh.<span class="code--package">fine_grained</span>
<span class="code--comment"># Allow users in the "dev" organization to SSH into hosts if they
# possess a certificate proving they are assigned to an application
# running on the host.</span>
<span class="code--rule">allow</span> {
<span class="code--comment"># Extract the X.509 certificate provided in the policy query.</span>
<span class="code--local">certs</span> <span class="code--operator">:=</span> <span class="code--builtin">crypto</span>.<span class="code--builtin">x509</span>.<span class="code--builtin">parse_certificates</span>(<span class="code--package">input</span>.certificates)
<span class="code--comment"># Check that the user is part of the "dev" organization for an app
# running on this host.</span>
<span class="code--local">certs</span>[<span class="code--local">i</span>].Subject.Organization[<span class="code--local">j</span>] <span class="code--operator">==</span> <span class="code--package">data</span>.host_info.apps[<span class="code--operator">_</span>]
<span class="code--local">certs</span>[<span class="code--local">i</span>].Subject.OrganizationalUnit[<span class="code--local">j</span>] <span class="code--operator">==</span> <span class="code--string">"dev"</span>
<span class="code--comment"># Check the certificate's validity period at the time of login.</span>
<span class="code--builtin">time</span>.<span class="code--builtin">now_ns</span>() <span class="code--operator">>=</span> <span class="code--local">certs</span>[<span class="code--local">i</span>].NotBefore
<span class="code--builtin">time</span>.<span class="code--builtin">now_ns</span>() <span class="code--operator"><=</span> <span class="code--local">certs</span>[<span class="code--local">i</span>].NotAfter
}</pre>
</div>
<div class="example--wave--bg" role="presentation"></div>
<div class="example--wave--fg" role="presentation"></div>
</section>
<section id="partial-evaluation" class="example">
<a class="action--scroll-up" href="/"><svg class="action-icon"><title>Scroll back</title><use xlink:href="#icon--arrow-up"/></svg></a>
<h3 class="example--title">Data Filtering and Partial Evaluation</h3>
<img role="presentation" class="example--graphic" src="img/partial-evaluation.svg">
<div class="example--editor">
<div class="example--editor--titlebar">
<span class="example--editor--close-button" role="presentation"></span>
<span class="example--editor--minimize-button" role="presentation"></span>
<span class="example--editor--zoom-button" role="presentation"></span>
<span class="example--editor--title">filtering.rego — ~/src/policies/partial-evaluation/app</span>
</div>
<pre class="example--editor--body"><span class="code--comment"># Partial Evaluation</span>
<span class="code--keyword">package</span> app.<span class="code--package">filtering</span>
<span class="code--comment"># ---------------------------------------------------------------------
# Data Filtering</span>
<span class="code--comment"># Enumerate the set of posts the user is allowed to see.</span>
<span class="code--rule">posts</span>[<span class="code--local">post</span>] {
<span class="code--local">post</span> <span class="code--operator">:=</span> <span class="code--package">data</span>.posts[<span class="code--operator">_</span>]
<span class="code--comment"># Users are allowed to see posts at (or below) their clearance
# level in their own department.</span>
<span class="code--local">post</span>.department <span class="code--operator">=</span> <span class="code--package">input</span>.subject.department
<span class="code--local">post</span>.security_level <span class="code--operator"><=</span> <span class="code--package">input</span>.subject.clearance_level
}
<span class="code--comment"># ---------------------------------------------------------------------
# API Authorization</span>
<span class="code--keyword">default</span> <span class="code--rule">allow</span> <span class="code--operator">=</span> <span class="code--primitive">false</span>
<span class="code--comment"># Allow users to get specific posts.</span>
<span class="code--rule">allow</span> {
<span class="code--package">input</span>.method <span class="code--operator">=</span> <span class="code--string">"GET"</span>
<span class="code--package">input</span>.path <span class="code--operator">=</span> [<span class="code--string">"posts"</span>, <span class="code--local">post_id</span>]
<span class="code--rule">posts</span>[<span class="code--local">post</span>]
<span class="code--local">post</span>.id <span class="code--operator">=</span> <span class="code--local">post_id</span>
}
<span class="code--comment"># Allow users to list posts.</span>
<span class="code--rule">allow</span> {
<span class="code--package">input</span>.method <span class="code--operator">=</span> <span class="code--string">"GET"</span>
<span class="code--package">input</span>.path <span class="code--operator">=</span> [<span class="code--string">"posts"</span>]
<span class="code--rule">posts</span>[<span class="code--local">post</span>]
}</pre>
</div>
<div class="example--wave--bg" role="presentation"></div>
<div class="example--wave--fg" role="presentation"></div>
</section>
</section>
</div>
</main>
<footer role="contentinfo">
<div class="content">
<nav class="nav--footer" role="navigation">
<ul class="nav--menu">
<li class="nav--menu-item nav--docs"><a href="/docs/" rel="help">Documentation</a></li>
<li class="nav--menu-item nav--docs"><a href="/docs/get-started.html" rel="help">Tutorials</a></li>
</ul>
<ul class="nav--menu">
<li class="nav--menu-item nav--social"><a href="https://blog.openpolicyagent.org/" rel="external"><svg class="nav--social-icon"><title>Medium</title><use xlink:href="#social-icon--medium"/></svg></a></li>
<li class="nav--menu-item nav--social"><a href="https://twitter.com/openpolicyagent" rel="external"><svg class="nav--social-icon"><title>Twitter</title><use xlink:href="#social-icon--twitter"/></svg></a></li>
<li class="nav--menu-item nav--social"><a href="http://slack.openpolicyagent.org/" rel="external"><svg class="nav--social-icon"><title>Slack</title><use xlink:href="#social-icon--slack"/></svg></a></li>
<li class="nav--menu-item nav--social"><a href="https://github.com/open-policy-agent/opa" rel="external"><svg class="nav--social-icon"><title>GitHub</title><use xlink:href="#social-icon--github"/></svg></a></li>
</ul>
</nav>
<p class="copyright">© 2017 Open Policy Agent contributors. Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>. For information about contributing, see <a href="https://github.com/open-policy-agent/opa/blob/master/CONTRIBUTING.md">CONTRIBUTING.md</a>.</p>
</div>
</footer>
<nav class="_homepage--hamburger-menu-container">
<a class="header--hamburger-menu-link" href="/docs">
<li class="header--hamburger-menu-item">
<p class="header--menu-txt">
Documentation
</p>
</li>
</a>
<a class="header--hamburger-menu-link" href="/docs/get-started.html">
<li class="header--hamburger-menu-item">
<p class="header--menu-txt">
Tutorials
</p>
</li>
</a>
<a class="header--hamburger-menu-link" href="https://blog.openpolicyagent.org/" target="_blank">
<li class="header--hamburger-menu-item">
<img class="header--menu-image" src="images/Medium.svg" alt="" />
</li>
</a>
<a class="header--hamburger-menu-link" href="https://github.com/open-policy-agent/opa" target="_blank">
<li class="header--hamburger-menu-item">
<img class="header--menu-image" src="images/Github.svg" alt="" />
</li>
</a>
<a class="header--hamburger-menu-link" href="http://slack.openpolicyagent.org/" target="_blank">
<li class="header--hamburger-menu-item">
<img class="header--menu-image" src="images/Slack.svg" alt="" />
</li>
</a>
</nav>
<script src="https://use.typekit.net/zni0cwi.js"></script>
<script>try{Typekit.load({ async: true });}catch(e){}</script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<script type="text/javascript" src="js/opa.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-84550302-1', 'auto');
ga('send', 'pageview');
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');ga('create', 'UA-84550302-1', 'auto');ga('send', 'pageview');
</script>
<script>
(function () {
var scrollIncrement = 4
var scrollTop = 0
var page
function clearSchedule(x) {
clearTimeout(x)
}
function setSchedule(x) {
setTimeout(x, 16)
}
function schedule(callback) {
var frameId
(function () {
clearSchedule(frameId)
frameId = setSchedule(callback)
}())
}
function calculateScrollTop(el) {
var y = 0
var node = el
while (node) {
y += node.offsetTop
node = node.offsetParent
}
return y
}
var scrollIncrement = 4
function animateScrollTop(top, n) {
var n = n || 1
schedule(function () {
var diff = top - page.scrollTop
var increment = scrollIncrement * n
if (diff) {
if (Math.abs(diff) < increment) {
page.scrollTop += diff
} else if (diff > 0) {
page.scrollTop += increment
} else {
page.scrollTop -= increment
}
animateScrollTop(top, ++n)
}
})
}
function scrollIntoView(event) {
var el = document.getElementById(event.currentTarget.getAttribute('href').substr(1))
animateScrollTop(calculateScrollTop(el) - 120)
// XXX: When Chrome 70.0.3538.77 navigates to an internal anchor (#),
// it breaks the page layout so we dont want to do that.
event.preventDefault()
}
function scrollUp(event) {
animateScrollTop(calculateScrollTop(document.getElementById('use-cases')))
event.preventDefault()
}
function ready() {
page = document.documentElement
if (typeof requestAnimationFrame === 'function') {
clearFrame = cancelAnimationFrame
setFrame = requestAnimationFrame
}
var anchors = document.getElementsByTagName('a')
for (let i = 0, n = anchors.length; i < n; ++i) {
var anchor = anchors[i]
var href = anchor.getAttribute('href')
var classes = (anchor.className || '').split(/\s+/)
if (href && href[0] === '#') {
anchor.addEventListener('click', scrollIntoView)
} else if (classes.indexOf('action--scroll-up') > -1) {
anchor.addEventListener('click', scrollUp)
}
}
}
(function check() { /complete/.test(document.readyState) ? ready() : setTimeout(check) }())
}())
</script>
</body>
</html>
-25
View File
@@ -1,25 +0,0 @@
$(document).ready(function(){
$('._homepage--hamburger-menu-container').css('display', 'none');
$(this).removeClass('is-active');
$('._homepage--body').css('overflow', 'auto');
$('.hamburger--spring').click(function(){
if($(this).hasClass('is-active')){
$('._homepage--hamburger-menu-container').css('display', 'none');
$(this).removeClass('is-active');
$('._homepage--body').css('overflow', 'auto');
}
else{
$('._homepage--hamburger-menu-container').show();
$(this).addClass('is-active');
$('._homepage--body').css('overflow', 'hidden');
}
});
});
-55
View File
@@ -1,55 +0,0 @@
{
"name": "lhuihui.github.io",
"version": "0.1.0",
"description": "Eva's Portfolio",
"repository": {
"type": "git",
"url": "https://github.com/Lhuihui/lhuihui.github.io.git"
},
"author": "IBM Corp.",
"contributors": [
{
"name": "Eva Luo",
"email": "lxhhuihui@gmail.com"
}
],
"license": "Apache-2.0",
"scripts": {
"start": "gulp",
"build": "gulp",
"dev": "gulp"
},
"dependencies": {},
"devDependencies": {
"babel-eslint": "^6.0.4",
"browser-sync": "^2.9.9",
"codecov": "^1.0.1",
"eslint": "^2.8.0",
"eslint-config-airbnb-es5": "^1.0.9",
"eslint-plugin-react": "^5.1.1",
"gulp": "^3.9.0",
"gulp-autoprefixer": "^3.0.2",
"gulp-build": "^0.5.3",
"gulp-clean": "^0.3.1",
"gulp-concat": "^2.6.0",
"gulp-env": "^0.2.0",
"gulp-iconfont": "^1.0.0",
"gulp-iconfont-css": "0.0.9",
"gulp-json-editor": "^2.2.1",
"gulp-nodemon": "^2.0.2",
"gulp-plumber": "^1.0.1",
"gulp-rename": "^1.2.2",
"gulp-sass": "^2.0.4",
"gulp-uglify": "^1.4.1",
"istanbul": "^0.4.2",
"mocha": "^2.4.5",
"nock": "7.7.0",
"run-sequence": "^1.1.5",
"supertest": "^1.2.0",
"wrench": "^1.5.8"
},
"engine": {
"node": ">= 4.2.4",
"npm": ">=3.6.0"
}
}
-3
View File
@@ -1,3 +0,0 @@
# Base Elements
Base elements are HTML tags without additional specificity (*e.g.* `a` and `h1`, not `.link` or `.header`) and root level pseudo-elements *(*e.g.* `::selection`, `::root`), as well as any custom CSS resetting (*e.g.* making images fluid, setting `box-sizing: border-box` for all elements).
-122
View File
@@ -1,122 +0,0 @@
//////////////////////////////
// Base
//////////////////////////////
// Body
@import 'body/body';
//////////////////////////////
// Headers
//////////////////////////////
// H1
@import 'h1/h1';
// H2
@import 'h2/h2';
// H3
@import 'h3/h3';
// H4
@import 'h4/h4';
// H5
@import 'h5/h5';
// H6
@import 'h6/h6';
//////////////////////////////
// Form Elements
//////////////////////////////
// Input
@import 'input/input';
// Label
@import 'label/label';
// Radio Button
@import 'radio/radio';
// Color Input
@import 'input--color/input--color';
// Date Input
@import 'input--date/input--date';
// Datetime Local Input
@import 'input--datetime-local/input--datetime-local';
// Email Input
@import 'input--email/input--email';
// File Input
@import 'input--file/input--file';
// Hidden Input
@import 'input--hidden/input--hidden';
// Month Input
@import 'input--month/input--month';
// Number Input
@import 'input--number/input--number';
// Password Input
@import 'input--password/input--password';
// Range Input
@import 'input--range/input--range';
// Search Input
@import 'input--search/input--search';
// Tel Input
@import 'input--tel/input--tel';
// Text Input
@import 'input--text/input--text';
// Time Input
@import 'input--time/input--time';
// URL Input
@import 'input--url/input--url';
// Week Input
@import 'input--week/input--week';
// Textarea
@import 'textarea/textarea';
// Checkboxes
@import 'checkbox/checkbox';
// Select
@import 'select/select';
// Button
@import 'button/button';
//////////////////////////////
// Semantic Elements
//////////////////////////////
// article
@import 'article/article';
// header
@import 'header/header';
// footer
@import 'footer/footer';
//////////////////////////////
// Typography Tags
//////////////////////////////
// a
@import 'a/a';
// em
@import 'em/em';
// strong
@import 'strong/strong';
// p
@import 'p/p';
// code
@import 'code/code';
// pre
@import 'pre/pre';
// lists
@import 'ul/ul';
@import 'ol/ol';
// blockquote
@import 'blockquote/blockquote';
//////////////////////////////
// Tabular Tags
//////////////////////////////
@import 'table/table';
//////////////////////////////
// Other Tags
//////////////////////////////
// div
@import 'div/div';
// hr
@import 'hr/hr';
-1
View File
@@ -1 +0,0 @@
Anchor link, `<a>`, is the base styling for a link
-6
View File
@@ -1,6 +0,0 @@
@import 'mixins';
@import 'extends';
.base--a {
@extend %base--a;
}
-3
View File
@@ -1,3 +0,0 @@
%base--a {
@include base--a;
}
-13
View File
@@ -1,13 +0,0 @@
@mixin base--a($color: null, $background: null) {
color: get('secondary color');
&:visited {
color: get('secondary color');
}
&:hover,
&:focus {
color: color('gray', 30);
}
}
-4
View File
@@ -1,4 +0,0 @@
article,
.base--article {
@extend %clearfix;
}
-1
View File
@@ -1 +0,0 @@
A blockquote, `<blockquote>`, indicates that the enclosed text is an extended quotation
@@ -1,6 +0,0 @@
@import 'mixins';
@import 'extends';
.base--blockquote {
@extend %base--blockquote;
}
@@ -1,3 +0,0 @@
%base--blockquote {
@include base--blockquote;
}
@@ -1,8 +0,0 @@
@mixin base--blockquote {
padding: 0em 1.5em;
margin-right: 1em;
margin-left: 1em;
font-style: italic;
color: color('gray', 70);
border-left: .25em solid color('gray', 20);
}
-1
View File
@@ -1 +0,0 @@
The `<body>` tag defines the body of the document, which contains all of its content.
-9
View File
@@ -1,9 +0,0 @@
@import 'extends';
body {
@extend %body--typography;
@extend %body--block;
background: get('background color');
color: get('text color');
}
-13
View File
@@ -1,13 +0,0 @@
%body--typography {
font-family: get('sans serif font');
font-weight: get('light weight font');
line-height: 1.5;
}
%body--block {
margin: 0;
& * + * {
margin-top: get('rhythm') / 2;
}
}
-1
View File
@@ -1 +0,0 @@
<body></body>
-1
View File
@@ -1 +0,0 @@
Button, `<button>`, is an element which may serve as a trigger to an action. Submit buttons are linked to forms and push the data from the form to the server. Reset buttons will clear any inputs.
-21
View File
@@ -1,21 +0,0 @@
@import 'mixins';
@import 'extends';
.base--button {
@extend %base--button;
&_submit {
@include base--button_blue();
}
&_reset {
@include base--button($color: color('gray', 60), $background: get('background color'), $border: color('gray', 30));
border-width: 3px;
&:hover,
&:focus {
background-color: color('gray', 60);
border-color: color('gray', 60);
}
}
}
-3
View File
@@ -1,3 +0,0 @@
%base--button {
@include base--button
}
-44
View File
@@ -1,44 +0,0 @@
@mixin base--button($color: #EF6C00, $background: transparent, $border: #EF6C00, $block: false) {
padding: 0.5em 1em;
color: $color;
font-weight: bold;
background-color: $background;
border: 2px solid $border;
@if $block {
display: block;
}
@else {
display: inline-block;
}
&:hover,
&:focus {
color: get('white');
background-color: $border;
}
}
@mixin button--strip-styles() {
background-color: transparent;
border: none;
text-decoration: underline;
padding: 0rem;
margin: 0rem;
}
@mixin base--button_blue() {
@include base--button($color: white, $background: get('primary color'), $border: get('primary color'));
&:focus,
&:hover {
@include base--button($background: color('blue', 70), $border: color('blue', 70));
}
}
@mixin base--button_red() {
@include base--button($color: white, $background: color('orange', 60), $border: color('orange', 60));
&:focus,
&:hover {
@include base--button($background: color('orange', 70), $border: color('orange', 70));
}
}
-1
View File
@@ -1 +0,0 @@
A single check box, `<input type=["checkbox"]>`, is an individual form option where multiple choices may be selected, including, but not requiring this particular element.
@@ -1,6 +0,0 @@
@import 'mixins';
@import 'extends';
.base--checkbox {
@extend %base--checkbox;
}
@@ -1,3 +0,0 @@
%base--checkbox {
@include base--checkbox;
}
-23
View File
@@ -1,23 +0,0 @@
@mixin base--checkbox {
display: none;
+ label {
position: relative;
&:before {
display: inline-block;
width: 1em;
height: 1em;
margin-right: get('rhythm') / 2;
vertical-align: middle;
border: get('input border width') solid color('gray', 30);
content: '';
transform: translateY(-.125em);
}
}
&:checked + label:before {
background: color('gray', 80);
box-shadow: inset 0 0 0 get('input border width')/1.5 get('white');
}
}
-1
View File
@@ -1 +0,0 @@
Code text, `<code>`, is an example of computer code within text
-5
View File
@@ -1,5 +0,0 @@
@import 'extends';
.base--code {
@extend %base--code;
}
-7
View File
@@ -1,7 +0,0 @@
%base--code {
@extend %font--mono;
padding: .2em .5em;
font-size: .8em;
color: get('secondary color');
outline: 1px solid rgba(color('gray', 50), .25);
}
-4
View File
@@ -1,4 +0,0 @@
div,
.base--div {
@extend %clearfix;
}
-1
View File
@@ -1 +0,0 @@
Emphasized text, `<em>`, is the emphasized phrase tag
-6
View File
@@ -1,6 +0,0 @@
@import 'mixins';
@import 'extends';
.base--em {
@extend %base--em;
}
-3
View File
@@ -1,3 +0,0 @@
%base--em {
@include base--em;
}
-3
View File
@@ -1,3 +0,0 @@
@mixin base--em {
font-style: italic;
}
-4
View File
@@ -1,4 +0,0 @@
footer,
.base--footer {
@extend %clearfix;
}
-1
View File
@@ -1 +0,0 @@
Heading Level 1, `<h1>`, is the primary heading for an associated section
-3
View File
@@ -1,3 +0,0 @@
%base--h1 {
@include base--h1;
}
-6
View File
@@ -1,6 +0,0 @@
@import 'mixins';
@import 'extends';
.base--h1 {
@extend %base--h1;
}
-9
View File
@@ -1,9 +0,0 @@
@mixin base--h1 {
font-size: ms(7);
font-weight: get('bold weight font');
color: get('primary color');
@include breakpoint(get('large typography breakpoint')) {
font-size: ms(9);
}
}
-1
View File
@@ -1 +0,0 @@
Heading Level 2, `<h2>`, is a second level heading within an associated section
-3
View File
@@ -1,3 +0,0 @@
%base--h2 {
@include base--h2;
}
-6
View File
@@ -1,6 +0,0 @@
@import 'mixins';
@import 'extends';
.base--h2 {
@extend %base--h2;
}
-5
View File
@@ -1,5 +0,0 @@
@mixin base--h2 {
font-size: ms(6);
font-weight: get('normal weight font');
color: color('gray', 70);
}
-1
View File
@@ -1 +0,0 @@
Heading Level 3, `<h3>`, is a third level heading within an associated section
-5
View File
@@ -1,5 +0,0 @@
%base--h3 {
font-size: ms(5);
font-weight: get('normal weight font');
color: color('gray', 80);
}
-6
View File
@@ -1,6 +0,0 @@
@import 'mixins';
@import 'extends';
.base--h3 {
@extend %base--h3;
}
View File
-1
View File
@@ -1 +0,0 @@
Heading Level 4, `<h4>`, is a fourth level heading within an associated section
-3
View File
@@ -1,3 +0,0 @@
%base--h4 {
@include base--h4;
}

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