Initial commit
@@ -0,0 +1,223 @@
|
|||||||
|
<?php
|
||||||
|
error_reporting(0);
|
||||||
|
Header("Content-type: text/plain");
|
||||||
|
$conn = mysqli_connect(
|
||||||
|
/* 数据库地址 */ "localhost",
|
||||||
|
/* 数据库账号 */ "root",
|
||||||
|
/* 数据库密码 */ "123456",
|
||||||
|
/* 数据库名称 */ "spanel",
|
||||||
|
/* 数据库端口 */ 3306
|
||||||
|
) or die("Database error");
|
||||||
|
|
||||||
|
// API 密码,需要和 Frps.ini 里面设置的一样
|
||||||
|
define("API_TOKEN", "SakuraFrpToken");
|
||||||
|
|
||||||
|
// 输出禁止错误 Header
|
||||||
|
function ServerForbidden($msg) {
|
||||||
|
Header("HTTP/1.1 403 {$msg}");
|
||||||
|
echo json_encode(Array(
|
||||||
|
'status' => 403,
|
||||||
|
'message' => $msg
|
||||||
|
), JSON_UNESCAPED_UNICODE);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 输出未找到错误 Header
|
||||||
|
function ServerNotFound($msg) {
|
||||||
|
Header("HTTP/1.1 404 {$msg}");
|
||||||
|
echo json_encode(Array(
|
||||||
|
'status' => 404,
|
||||||
|
'message' => $msg
|
||||||
|
), JSON_UNESCAPED_UNICODE);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 输出未找到错误 Header
|
||||||
|
function ServerBadRequest($msg) {
|
||||||
|
Header("HTTP/1.1 400 {$msg}");
|
||||||
|
echo json_encode(Array(
|
||||||
|
'status' => 400,
|
||||||
|
'message' => $msg
|
||||||
|
), JSON_UNESCAPED_UNICODE);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 输出正常消息
|
||||||
|
function LoginSuccessful($msg) {
|
||||||
|
Header("Content-type: text/plain", true, 200);
|
||||||
|
echo json_encode(Array(
|
||||||
|
'status' => 200,
|
||||||
|
'success' => true,
|
||||||
|
'message' => $msg
|
||||||
|
), JSON_UNESCAPED_UNICODE);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 输出正常消息
|
||||||
|
function CheckSuccessful($msg) {
|
||||||
|
Header("Content-type: text/plain", true, 200);
|
||||||
|
echo json_encode(Array(
|
||||||
|
'status' => 200,
|
||||||
|
'success' => true,
|
||||||
|
'message' => $msg
|
||||||
|
), JSON_UNESCAPED_UNICODE);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Json 格式消息输出
|
||||||
|
function Println($data) {
|
||||||
|
Header("Content-type: text/plain", true, 200);
|
||||||
|
echo json_encode($data, JSON_UNESCAPED_UNICODE);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getBoolean($str) {
|
||||||
|
return $str == "true";
|
||||||
|
}
|
||||||
|
|
||||||
|
// 服务端 API 部分
|
||||||
|
// 先进行 Frps 鉴权
|
||||||
|
if(isset($_GET['apitoken']) && $_GET['apitoken'] == API_TOKEN) {
|
||||||
|
if(isset($_GET['action'])) {
|
||||||
|
switch($_GET['action']) {
|
||||||
|
|
||||||
|
// 检查客户端是否合法
|
||||||
|
case "checktoken":
|
||||||
|
if(isset($_GET['user'])) {
|
||||||
|
if(preg_match("/^[A-Za-z0-9]{1,32}$/", $_GET['user'])) {
|
||||||
|
$userToken = mysqli_real_escape_string($conn, $_GET['user']);
|
||||||
|
$rs = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM `tokens` WHERE `token`='{$userToken}'"));
|
||||||
|
if($rs) {
|
||||||
|
LoginSuccessful("Login successful, welcome!");
|
||||||
|
} else {
|
||||||
|
ServerForbidden("Login failed");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ServerForbidden("Invalid username");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ServerForbidden("Username cannot be empty");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
// 检查隧道是否合法
|
||||||
|
case "checkproxy":
|
||||||
|
if(isset($_GET['user'])) {
|
||||||
|
if(preg_match("/^[A-Za-z0-9]{1,32}$/", $_GET['user'])) {
|
||||||
|
$proxyName = str_replace("{$_GET['user']}.", "", $_GET['proxy_name']);
|
||||||
|
$proxyType = $_GET['proxy_type'] ?? "tcp";
|
||||||
|
$remotePort = Intval($_GET['remote_port']) ?? "";
|
||||||
|
$userToken = mysqli_real_escape_string($conn, $_GET['user']);
|
||||||
|
$rs = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM `tokens` WHERE `token`='{$userToken}'"));
|
||||||
|
if($rs) {
|
||||||
|
if($proxyType == "tcp" || $proxyType == "udp" || $proxyType == "stcp" || $proxyType == "xtcp") {
|
||||||
|
if(isset($remotePort) && preg_match("/^[0-9]{1,5}$/", $remotePort)) {
|
||||||
|
$username = mysqli_real_escape_string($conn, $rs['username']);
|
||||||
|
// 这里只对远程端口做限制,可根据自己的需要修改
|
||||||
|
$rs = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM `proxies` WHERE `username`='{$username}' AND `remote_port`='{$remotePort}' AND `proxy_type`='{$proxyType}'"));
|
||||||
|
if($rs) {
|
||||||
|
if($rs['status'] !== "0") {
|
||||||
|
ServerForbidden("Proxy disabled");
|
||||||
|
}
|
||||||
|
CheckSuccessful("Proxy exist");
|
||||||
|
} else {
|
||||||
|
ServerNotFound("Proxy not found" . "SELECT * FROM `proxies` WHERE `username`='{$username}' AND `remote_port`='{$remotePort}' AND `proxy_type`='{$proxyType}'");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ServerBadRequest("Invalid request");
|
||||||
|
}
|
||||||
|
} elseif($proxyType == "http" || $proxyType == "https") {
|
||||||
|
if(isset($_GET['domain']) || isset($_GET['subdomain'])) {
|
||||||
|
// 目前只验证域名和子域名
|
||||||
|
$domain = $_GET['domain'] ?? "null";
|
||||||
|
$subdomain = $_GET['subdomain'] ?? "null";
|
||||||
|
$username = mysqli_real_escape_string($conn, $rs['username']);
|
||||||
|
$domain = mysqli_real_escape_string($conn, $domain);
|
||||||
|
$subdomain = mysqli_real_escape_string($conn, $subdomain);
|
||||||
|
$domainsql = (isset($_GET['domain']) && !empty($_GET['domain'])) ? "`domain`='{$domain}'" : "`subdomain`='{$subdomain}'";
|
||||||
|
$rs = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM `proxies` WHERE `username`='{$username}' AND {$domainsql} AND `proxy_type`='{$proxyType}'"));
|
||||||
|
if($rs) {
|
||||||
|
if($rs['status'] !== "0") {
|
||||||
|
ServerForbidden("Proxy disabled");
|
||||||
|
}
|
||||||
|
CheckSuccessful("Proxy exist");
|
||||||
|
} else {
|
||||||
|
ServerNotFound("Proxy not found");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ServerBadRequest("Invalid request");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ServerBadRequest("Invalid request");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ServerNotFound("User not found");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ServerBadRequest("Invalid request");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ServerForbidden("Invalid username");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "getlimit":
|
||||||
|
Header("Content-type: text/plain", true, 200);
|
||||||
|
if(isset($_GET['user'])) {
|
||||||
|
if(preg_match("/^[A-Za-z0-9]{1,32}$/", $_GET['user'])) {
|
||||||
|
$userToken = mysqli_real_escape_string($conn, $_GET['user']);
|
||||||
|
$rs = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM `tokens` WHERE `token`='{$userToken}'"));
|
||||||
|
if($rs) {
|
||||||
|
$username = mysqli_real_escape_string($conn, $rs['username']);
|
||||||
|
$ls = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM `limits` WHERE `username`='{$username}'"));
|
||||||
|
if($ls) {
|
||||||
|
exit(json_encode(Array(
|
||||||
|
'status' => 200,
|
||||||
|
'max-in' => Floatval($ls['inbound']),
|
||||||
|
'max-out' => Floatval($ls['outbound'])
|
||||||
|
)));
|
||||||
|
} else {
|
||||||
|
$uinfo = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM `users` WHERE `username`='{$username}'"));
|
||||||
|
if($uinfo) {
|
||||||
|
if($rs['group'] == "admin") {
|
||||||
|
exit(json_encode(Array(
|
||||||
|
'status' => 200,
|
||||||
|
'max-in' => 1000000,
|
||||||
|
'max-out' => 1000000
|
||||||
|
)));
|
||||||
|
}
|
||||||
|
$group = mysqli_real_escape_string($conn, $rs['group']);
|
||||||
|
$gs = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM `groups` WHERE `name`='{$group}'"));
|
||||||
|
if($gs) {
|
||||||
|
exit(json_encode(Array(
|
||||||
|
'status' => 200,
|
||||||
|
'max-in' => Floatval($gs['inbound']),
|
||||||
|
'max-out' => Floatval($gs['outbound'])
|
||||||
|
)));
|
||||||
|
} else {
|
||||||
|
exit(json_encode(Array(
|
||||||
|
'status' => 200,
|
||||||
|
'max-in' => 1024,
|
||||||
|
'max-out' => 1024
|
||||||
|
)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ServerForbidden("Login failed");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ServerForbidden("Invalid username");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ServerForbidden("Username cannot be empty");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ServerNotFound("Undefined action");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ServerNotFound("Invalid request");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ServerNotFound("Invalid request");
|
||||||
|
}
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
/* Pretty printing styles. Used with prettify.js.
|
||||||
|
*
|
||||||
|
* Name: Stanley Ng
|
||||||
|
* Email: stanleyhlng@googlegroups.com
|
||||||
|
*
|
||||||
|
* Credits:
|
||||||
|
* https://github.com/chriskempson/tomorrow-theme
|
||||||
|
*/
|
||||||
|
.pln {
|
||||||
|
color: #c5c8c6; }
|
||||||
|
|
||||||
|
.str {
|
||||||
|
color: #b5bd68; }
|
||||||
|
|
||||||
|
.kwd {
|
||||||
|
color: #b294bb; }
|
||||||
|
|
||||||
|
.com {
|
||||||
|
color: #969896;
|
||||||
|
font-style: italic; }
|
||||||
|
|
||||||
|
.typ {
|
||||||
|
color: #de935f; }
|
||||||
|
|
||||||
|
.lit {
|
||||||
|
color: #f0c674; }
|
||||||
|
|
||||||
|
.pun {
|
||||||
|
color: #c5c8c6; }
|
||||||
|
|
||||||
|
.opn {
|
||||||
|
color: #c5c8c6; }
|
||||||
|
|
||||||
|
.clo {
|
||||||
|
color: #c5c8c6; }
|
||||||
|
|
||||||
|
.tag {
|
||||||
|
color: #cc6666; }
|
||||||
|
|
||||||
|
.atn {
|
||||||
|
color: #f0c674; }
|
||||||
|
|
||||||
|
.atv {
|
||||||
|
color: #8abeb7; }
|
||||||
|
|
||||||
|
.dec {
|
||||||
|
color: #c5c8c6; }
|
||||||
|
|
||||||
|
.var {
|
||||||
|
color: #c82829; }
|
||||||
|
|
||||||
|
.fun {
|
||||||
|
color: #cc6666; }
|
||||||
|
|
||||||
|
/* Put a border around prettyprinted code snippets. */
|
||||||
|
pre.prettyprint {
|
||||||
|
background-color: #21252E;
|
||||||
|
padding: 30px;
|
||||||
|
border: none; }
|
||||||
|
|
||||||
|
/* Specify class=linenums on a pre to get line numbering */
|
||||||
|
ol.linenums {
|
||||||
|
color: #969896;
|
||||||
|
margin: 0; }
|
||||||
|
|
||||||
|
ol.linenums li {
|
||||||
|
line-height: 18px;
|
||||||
|
padding-left: 12px; }
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
|
||||||
|
(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
|
||||||
|
[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<
|
||||||
|
f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&
|
||||||
|
(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=
|
||||||
|
{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,
|
||||||
|
t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===
|
||||||
|
"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
|
||||||
|
l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
|
||||||
|
q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
|
||||||
|
q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
|
||||||
|
"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
|
||||||
|
a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
|
||||||
|
for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",
|
||||||
|
m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=
|
||||||
|
a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=
|
||||||
|
j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
|
||||||
|
"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
|
||||||
|
H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
|
||||||
|
J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
|
||||||
|
I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),
|
||||||
|
["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",
|
||||||
|
/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),
|
||||||
|
["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
|
||||||
|
hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=
|
||||||
|
!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,
|
||||||
|
250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",
|
||||||
|
PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();
|
||||||
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1,12 @@
|
|||||||
|
<meta charset="utf-8">
|
||||||
|
<div style='padding-top: 1px;'>
|
||||||
|
<h2 style="font-weight: 400;">{SITENAME} <small style='font-size: 16px;'>{SITEDESCRIPTION}</small></h2>
|
||||||
|
<div style="width:100%;height:1px;border-top: 1px dashed rgba(0,0,0,0.3);"></div>
|
||||||
|
<p>您好,{USERNAME}!</p>
|
||||||
|
<p>我们收到了申请找回您的 {SITENAME} 账户密码的请求,点击以下链接后,您的密码将会被重设为 {TOKEN}。该链接的有效期为 1 小时,请尽快操作。</p>
|
||||||
|
<p><a href="{URL}" target="_blank">{URL}</a></p>
|
||||||
|
<p>如果以上地址无法点击,请复制到浏览器的地址栏再访问;如果您没有申请过找回密码,请勿点击链接。</p>
|
||||||
|
<p>此邮件由系统自动发送,请勿直接回复,如有问题请通过站点上的联系方式联系我们。</p>
|
||||||
|
<div style="width:100%;height:1px;border-top: 1px dashed rgba(0,0,0,0.3);"></div>
|
||||||
|
<p style="text-align: right;">{SITENAME}</p>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<meta charset="utf-8">
|
||||||
|
<div style='padding-top: 1px;'>
|
||||||
|
<h2 style="font-weight: 400;">{SITENAME} <small style='font-size: 16px;'>{SITEDESCRIPTION}</small></h2>
|
||||||
|
<div style="width:100%;height:1px;border-top: 1px dashed rgba(0,0,0,0.3);"></div>
|
||||||
|
<p>感谢您注册 {SITENAME},为了防止我们的服务被滥用,我们需要对您的电子邮件账号进行验证,您只在注册页面输入以下数字即可验证。验证码有效期为 15 分钟,请尽快完成注册。</p>
|
||||||
|
<p style="font-size: 20px;"><code>{NUMBER}</code></p>
|
||||||
|
<p>此邮件由系统自动发送,请勿直接回复,如果您没有注册过本站账号,请无视此邮件。</p>
|
||||||
|
<p>如有问题请通过站点上的联系方式联系我们。</p>
|
||||||
|
<div style="width:100%;height:1px;border-top: 1px dashed rgba(0,0,0,0.3);"></div>
|
||||||
|
<p style="text-align: right;">{SITENAME}</p>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<svg width="125" height="40" viewBox="0 0 125 40" xmlns="http://www.w3.org/2000/svg"><path d="M65.879 9.8a2.533 2.533 0 0 1-2.539 2.537 2.532 2.532 0 0 1-2.538-2.538 2.508 2.508 0 0 1 2.538-2.537c1.446.039 2.539 1.171 2.539 2.537zm-10.466 5.114v.624s-1.21-1.562-3.787-1.562c-4.256 0-7.576 3.24-7.576 7.73 0 4.45 3.28 7.73 7.576 7.73 2.616 0 3.787-1.601 3.787-1.601v.663c0 .313.235.546.547.546h3.163V14.365H55.96a.561.561 0 0 0-.547.549zm0 9.407c-.585.86-1.757 1.601-3.162 1.601-2.5 0-4.413-1.561-4.413-4.216 0-2.655 1.914-4.216 4.413-4.216 1.367 0 2.616.78 3.162 1.6v5.231zm6.053-9.954h3.749v14.678h-3.749V14.367zm55.998-.391c-2.578 0-3.788 1.562-3.788 1.562V7.301h-3.749v21.744h3.163a.558.558 0 0 0 .547-.546v-.664s1.21 1.6 3.787 1.6c4.257 0 7.576-3.277 7.576-7.728 0-4.45-3.319-7.731-7.536-7.731zm-.625 11.907c-1.445 0-2.577-.741-3.163-1.6V19.05c.586-.78 1.835-1.6 3.163-1.6 2.499 0 4.412 1.561 4.412 4.216 0 2.654-1.913 4.216-4.412 4.216zm-8.864-5.543v8.744h-3.75V20.77c0-2.42-.78-3.396-2.888-3.396-1.132 0-2.304.585-3.047 1.445v10.228h-3.748v-14.68h2.967c.313 0 .547.274.547.548v.624c1.094-1.132 2.538-1.562 3.983-1.562 1.64 0 3.007.47 4.1 1.406 1.328 1.093 1.836 2.498 1.836 4.958zm-22.533-6.364c-2.576 0-3.787 1.562-3.787 1.562V7.301h-3.749v21.744h3.163a.559.559 0 0 0 .547-.546v-.664s1.21 1.6 3.787 1.6c4.257 0 7.576-3.277 7.576-7.728.04-4.451-3.28-7.731-7.537-7.731zm-.625 11.907c-1.444 0-2.576-.741-3.162-1.6V19.05c.586-.78 1.835-1.6 3.162-1.6 2.5 0 4.413 1.561 4.413 4.216 0 2.654-1.913 4.216-4.413 4.216zM74.665 13.976c1.132 0 1.718.196 1.718.196v3.474s-3.124-1.055-5.076 1.171v10.267h-3.75V14.367h3.164c.312 0 .546.273.546.546v.625c.704-.82 2.227-1.562 3.398-1.562zM35.733 27.718c-.195-.468-.39-.976-.586-1.406-.313-.702-.625-1.366-.898-1.99l-.039-.04a406.922 406.922 0 0 0-8.63-17.644l-.117-.235c-.32-.608-.633-1.22-.937-1.835-.39-.703-.78-1.444-1.406-2.147C21.87.859 20.074 0 18.161 0c-1.953 0-3.71.86-4.998 2.342-.586.703-1.016 1.444-1.406 2.148a84.724 84.724 0 0 1-.936 1.835l-.118.234c-3.007 5.856-5.935 11.79-8.63 17.645l-.04.078c-.272.625-.585 1.289-.898 1.99-.195.43-.39.899-.585 1.406-.508 1.444-.664 2.81-.468 4.217a8.297 8.297 0 0 0 5.076 6.48c1.016.43 2.07.625 3.163.625.313 0 .703-.039 1.016-.078 1.288-.156 2.616-.585 3.905-1.327 1.6-.898 3.124-2.186 4.842-4.06 1.718 1.874 3.28 3.162 4.842 4.06 1.29.742 2.616 1.17 3.905 1.327.312.04.703.078 1.016.078 1.093 0 2.186-.195 3.162-.625 2.734-1.094 4.647-3.591 5.077-6.48.31-1.366.154-2.732-.353-4.177zm-17.611 2.03c-2.11-2.655-3.476-5.153-3.944-7.26-.195-.899-.235-1.68-.117-2.382a3.78 3.78 0 0 1 .625-1.64c.742-1.054 1.991-1.718 3.436-1.718 1.445 0 2.734.625 3.437 1.718.312.468.547 1.015.625 1.64.117.703.078 1.522-.117 2.381-.47 2.069-1.837 4.568-3.945 7.26zm15.58 1.835a5.802 5.802 0 0 1-3.553 4.568c-.937.39-1.953.507-2.968.39-.976-.118-1.953-.43-2.967-1.015-1.406-.782-2.812-1.991-4.452-3.787 2.577-3.162 4.139-6.051 4.725-8.627a9.765 9.765 0 0 0 .195-3.32 6.329 6.329 0 0 0-1.054-2.654c-1.212-1.757-3.242-2.771-5.507-2.771-2.264 0-4.295 1.054-5.505 2.771a6.335 6.335 0 0 0-1.055 2.655 8.107 8.107 0 0 0 .195 3.319c.586 2.576 2.187 5.504 4.725 8.666-1.601 1.796-3.046 3.006-4.452 3.787-1.015.586-1.991.898-2.967 1.015a6.25 6.25 0 0 1-2.968-.39 5.802 5.802 0 0 1-3.553-4.568 6.457 6.457 0 0 1 .351-3.045c.117-.39.313-.78.508-1.25.273-.624.585-1.288.898-1.951l.04-.078a425.627 425.627 0 0 1 8.59-17.528l.117-.235c.313-.585.625-1.21.937-1.795.313-.625.664-1.211 1.094-1.719.82-.936 1.913-1.444 3.124-1.444 1.21 0 2.304.508 3.124 1.444.43.51.78 1.095 1.093 1.719.313.585.626 1.21.937 1.795l.118.235a516.84 516.84 0 0 1 8.552 17.567v.039c.312.626.586 1.328.898 1.953.195.468.39.858.508 1.248.311 1.014.428 1.991.272 3.006z" fill="#889BB0"/></svg>
|
||||||
|
After Width: | Height: | Size: 3.6 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="124" height="40" viewBox="0 0 124 40" xmlns="http://www.w3.org/2000/svg"><path d="M63.849 19.694c-1.023 0-1.76.326-2.507.657v7.507c.716.066 1.126.066 1.805.066 2.454 0 2.79-1.092 2.79-2.616v-3.585c0-1.125-.384-2.029-2.088-2.029zm-16.295-.41c-1.702 0-2.09.908-2.09 2.033v.631h4.179v-.631c0-1.125-.389-2.033-2.089-2.033zm-31.566 7.813c0 .89.432 1.352 1.386 1.352 1.022 0 1.628-.324 2.375-.657v-1.78h-2.237c-1.059 0-1.524.19-1.524 1.085zM79.7 19.694c-1.705 0-2.296.904-2.296 2.03v4.106c0 1.129.59 2.035 2.296 2.035 1.7 0 2.296-.906 2.296-2.035v-4.107c0-1.125-.596-2.029-2.296-2.029zM7.632 31.702H2.619V19.917H.115v-4.06H2.62v-2.44c0-3.313 1.413-5.283 5.431-5.283h3.345v4.062h-2.09c-1.565 0-1.668.568-1.668 1.627l-.006 2.033h3.787l-.443 4.06H7.632v11.786zm17.13.031h-4.177l-.18-1.026a9.802 9.802 0 0 1-4.734 1.192c-3.063 0-4.694-1.988-4.694-4.737 0-3.244 1.903-4.402 5.307-4.402h3.465v-.701c0-1.656-.196-2.142-2.817-2.142h-4.286l.419-4.06h4.685c5.751 0 7.012 1.764 7.012 6.235v9.641zm14.206-11.518c-2.6-.433-3.346-.528-4.597-.528-2.246 0-2.925.481-2.925 2.335v3.506c0 1.853.679 2.337 2.925 2.337 1.251 0 1.998-.097 4.597-.532v3.961c-2.277.496-3.76.627-5.014.627-5.381 0-7.52-2.75-7.52-6.72v-2.845c0-3.975 2.139-6.729 7.52-6.729 1.254 0 2.737.13 5.014.629v3.959zM54.654 25.2h-9.191v.328c0 1.853.68 2.337 2.925 2.337 2.02 0 3.252-.097 5.847-.532v3.961c-2.503.496-3.807.627-6.262.627-5.382 0-7.522-2.75-7.522-6.72v-3.253c0-3.475 1.587-6.32 7.102-6.32 5.515 0 7.101 2.812 7.101 6.32V25.2zm16.294.076c0 3.838-1.129 6.637-7.97 6.637-2.471 0-3.92-.21-6.647-.618V9.355l5.01-.813v7.675c1.084-.39 2.485-.59 3.76-.59 5.012 0 5.847 2.183 5.847 5.69v3.959zm16.063.083c0 3.311-1.407 6.523-7.295 6.523-5.891 0-7.325-3.212-7.325-6.523v-3.197c0-3.313 1.434-6.525 7.325-6.525 5.888 0 7.295 3.212 7.295 6.525v3.197zm16.052 0c0 3.311-1.41 6.523-7.296 6.523-5.891 0-7.325-3.212-7.325-6.523v-3.197c0-3.313 1.434-6.525 7.325-6.525 5.887 0 7.296 3.212 7.296 6.525v3.197zm16.472 6.343h-5.431l-4.594-7.448v7.448h-5.012V9.354l5.012-.812v14.387l4.594-7.073h5.431l-5.014 7.719 5.014 8.127zM95.75 19.694c-1.703 0-2.294.904-2.294 2.03v4.106c0 1.129.591 2.035 2.294 2.035 1.7 0 2.301-.906 2.301-2.035v-4.107c0-1.125-.601-2.029-2.301-2.029zm26.646 9.229c.844 0 1.516.668 1.516 1.503 0 .848-.672 1.51-1.522 1.51a1.511 1.511 0 0 1-1.532-1.51c0-.835.686-1.503 1.532-1.503h.006zm-.006.234c-.68 0-1.237.568-1.237 1.27 0 .713.557 1.274 1.243 1.274.687.007 1.235-.56 1.235-1.268s-.548-1.276-1.235-1.276h-.006zm-.288 2.144h-.275v-1.677c.144-.02.282-.04.488-.04.261 0 .432.054.537.127.101.074.156.187.156.347 0 .221-.15.354-.336.408v.013c.151.027.254.16.289.406.04.261.082.361.108.416h-.288c-.04-.055-.082-.208-.117-.429-.04-.213-.15-.293-.37-.293h-.192v.722zm0-.928h.2c.225 0 .417-.081.417-.289 0-.147-.11-.293-.418-.293-.09 0-.152.007-.2.013v.569z" fill="#889BB0"/></svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="128" height="72" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient x1="49.078%" y1="100%" x2="0%" y2="7.585%" id="a"><stop stop-color="#006DCC" offset="0%"/><stop stop-color="#338BF8" offset="39.97%"/><stop stop-color="#23FAD2" offset="100%"/></linearGradient><circle id="b" cx="36" cy="36" r="36"/><linearGradient x1="0%" y1="0%" x2="50%" y2="100%" id="e"><stop stop-color="#EEE" offset="0%"/><stop stop-color="#C7E5FF" stop-opacity="0" offset="100%"/></linearGradient><rect id="d" width="50" height="32" rx="2"/><filter x="-28%" y="-31.2%" width="156%" height="187.5%" filterUnits="objectBoundingBox" id="c"><feOffset dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="4" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0.207843137 0 0 0 0 0.145098039 0 0 0 0 0.82745098 0 0 0 0.16 0" in="shadowBlurOuter1"/></filter><linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="h"><stop stop-color="#EEE" offset="0%"/><stop stop-color="#C7E5FF" offset="100%"/></linearGradient><rect id="g" x="11" y="10" width="50" height="32" rx="2"/><filter x="-28%" y="-31.2%" width="156%" height="187.5%" filterUnits="objectBoundingBox" id="f"><feOffset dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="4" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0.207843137 0 0 0 0 0.145098039 0 0 0 0 0.82745098 0 0 0 0.16 0" in="shadowBlurOuter1"/></filter></defs><g fill="none" fill-rule="evenodd"><use fill="url(#a)" xlink:href="#b" transform="translate(28)"/><g transform="translate(41 14)"><use fill="#000" filter="url(#c)" xlink:href="#d"/><use fill="url(#e)" xlink:href="#d"/></g><g transform="translate(41 14)"><use fill="#000" filter="url(#f)" xlink:href="#g"/><use fill="url(#h)" xlink:href="#g"/></g></g></svg>
|
||||||
|
After Width: | Height: | Size: 1.8 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="128" height="72" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient x1="49.078%" y1="100%" x2="0%" y2="7.585%" id="b"><stop stop-color="#006DCC" offset="0%"/><stop stop-color="#338BF8" offset="39.97%"/><stop stop-color="#23FAD2" offset="100%"/></linearGradient><circle id="a" cx="36" cy="36" r="36"/><linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="f"><stop stop-color="#EEE" offset="0%"/><stop stop-color="#C7E5FF" offset="100%"/></linearGradient><path id="e" d="M10 18l-32 16 32 16 32-16z"/><filter x="-40.6%" y="-68.8%" width="181.2%" height="262.5%" filterUnits="objectBoundingBox" id="d"><feOffset dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="8" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0.207843137 0 0 0 0 0.145098039 0 0 0 0 0.82745098 0 0 0 0.16 0" in="shadowBlurOuter1"/></filter><linearGradient x1="0%" y1="0%" x2="50%" y2="100%" id="g"><stop stop-color="#EEE" offset="0%"/><stop stop-color="#C7E5FF" stop-opacity="0" offset="100%"/></linearGradient><path id="i" d="M36 0L0 18l36 18 36-18z"/><filter x="-36.1%" y="-61.1%" width="172.2%" height="244.4%" filterUnits="objectBoundingBox" id="h"><feOffset dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="8" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0.207843137 0 0 0 0 0.145098039 0 0 0 0 0.82745098 0 0 0 0.16 0" in="shadowBlurOuter1"/></filter></defs><g fill="none" fill-rule="evenodd"><g transform="translate(28)"><mask id="c" fill="#fff"><use xlink:href="#a"/></mask><use fill="url(#b)" xlink:href="#a"/><g opacity=".24" mask="url(#c)"><use fill="#000" filter="url(#d)" xlink:href="#e"/><use fill="url(#f)" xlink:href="#e"/></g></g><path fill="url(#g)" d="M33 28L11 39l22 11 22-11z" transform="translate(43 12)"/><g transform="translate(43 12)"><use fill="#000" filter="url(#h)" xlink:href="#i"/><use fill="url(#f)" xlink:href="#i"/></g></g></svg>
|
||||||
|
After Width: | Height: | Size: 2.0 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="128" height="72" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient x1="49.078%" y1="100%" x2="0%" y2="7.585%" id="a"><stop stop-color="#006DCC" offset="0%"/><stop stop-color="#338BF8" offset="39.97%"/><stop stop-color="#23FAD2" offset="100%"/></linearGradient><linearGradient x1="-94.286%" y1="64.95%" x2="50%" y2="64.95%" id="b"><stop stop-color="#EEE" offset="0%"/><stop stop-color="#C7E5FF" stop-opacity="0" offset="100%"/></linearGradient><linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="e"><stop stop-color="#EEE" offset="0%"/><stop stop-color="#C7E5FF" offset="100%"/></linearGradient><rect id="d" x="41" y="48" width="12" height="12" rx="1"/><filter x="-116.7%" y="-83.3%" width="333.3%" height="333.3%" filterUnits="objectBoundingBox" id="c"><feOffset dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="4" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0.207843137 0 0 0 0 0.145098039 0 0 0 0 0.82745098 0 0 0 0.16 0" in="shadowBlurOuter1"/></filter><linearGradient x1="25.271%" y1="16.878%" x2="78.485%" y2="86.122%" id="f"><stop stop-color="#EEE" offset="0%"/><stop stop-color="#C7E5FF" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><g transform="translate(28)"><circle fill="url(#a)" cx="36" cy="36" r="36"/><path d="M65.682 56.376C51.035 53.443 40 40.51 40 25c0-8.766 3.525-16.71 9.235-22.49C62.57 7.786 72 20.79 72 36a35.834 35.834 0 0 1-6.318 20.376z" fill="url(#b)"/></g><g opacity=".48" transform="translate(16)"><use fill="#000" filter="url(#c)" xlink:href="#d"/><use fill="url(#e)" xlink:href="#d"/></g><path d="M25.406 32.584C20.458 19.694 27.128 5.144 40.305.086l5.376 14.004c2.376 6.19 2.14 13.091-.653 19.186-2.794 6.094-7.919 10.883-14.246 13.311C20.24 50.634 8.486 45.555 4.528 35.242L.944 25.907c10.541-4.047 22.295 1.033 26.254 11.345l-1.792-4.668z" fill="url(#f)" transform="translate(16)"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 1.9 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="128" height="72" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient x1="49.078%" y1="100%" x2="0%" y2="7.585%" id="b"><stop stop-color="#006DCC" offset="0%"/><stop stop-color="#338BF8" offset="39.97%"/><stop stop-color="#23FAD2" offset="100%"/></linearGradient><circle id="a" cx="36" cy="36" r="36"/><linearGradient x1="-46.73%" y1="64.95%" x2="32.222%" y2="64.95%" id="c"><stop stop-color="#EEE" offset="0%"/><stop stop-color="#C7E5FF" stop-opacity="0" offset="100%"/></linearGradient><linearGradient x1="50%" y1="0%" x2="0%" y2="100%" id="e"><stop stop-color="#EEE" offset="0%"/><stop stop-color="#C7E5FF" stop-opacity="0" offset="100%"/></linearGradient><linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="h"><stop stop-color="#EEE" offset="0%"/><stop stop-color="#C7E5FF" offset="100%"/></linearGradient><path id="g" d="M61.893.137l-43.95 35.738L.144 28.919z"/><filter x="-22.7%" y="-28%" width="145.3%" height="178.3%" filterUnits="objectBoundingBox" id="f"><feOffset dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="4" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0.207843137 0 0 0 0 0.145098039 0 0 0 0 0.82745098 0 0 0 0.16 0" in="shadowBlurOuter1"/></filter><path id="j" d="M36.894.14L.11 40.094 22.154 53.86z"/><filter x="-38.1%" y="-18.6%" width="176.1%" height="152.1%" filterUnits="objectBoundingBox" id="i"><feOffset dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation="4" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0.207843137 0 0 0 0 0.145098039 0 0 0 0 0.82745098 0 0 0 0.16 0" in="shadowBlurOuter1"/></filter></defs><g fill="none" fill-rule="evenodd"><g transform="translate(28)"><mask id="d" fill="#fff"><use xlink:href="#a"/></mask><use fill="url(#b)" xlink:href="#a"/><path d="M13.475 72l64.24-78L91.77 45.148C81.276 60.845 74.157 69.796 70.414 72 64.801 75.307 42 85.266 37 82.633c-3.333-1.755-11.175-5.3-23.525-10.633z" fill="url(#c)" mask="url(#d)"/></g><path fill="url(#e)" d="M25.03 40.074L21.934 46 18 36.69l2.136-5.944 14.71-12.936L56.464 3.114 62 0l-7.975 14.468-8.258 19.488-12.525 5.746z" transform="matrix(-1 0 0 1 92 4)"/><g transform="matrix(-1 0 0 1 92 4)"><use fill="#000" filter="url(#f)" xlink:href="#g"/><use fill="url(#h)" xlink:href="#g"/></g><g transform="matrix(-1 0 0 1 67 4)"><use fill="#000" filter="url(#i)" xlink:href="#j"/><use fill="url(#h)" xlink:href="#j"/></g></g></svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 35 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="113" height="40" viewBox="0 0 113 40" xmlns="http://www.w3.org/2000/svg"><g fill="#889BB0"><path d="M0 7h3.94v8.21h8.31V7h3.946v20.153H12.25V18.77H3.94v8.383H0V7zm28.678 13.589c0 1.687-1.465 3.06-3.264 3.06-1.799 0-3.264-1.373-3.264-3.06v-8.677h-3.736v8.677c0 3.62 3.14 6.564 7 6.564s7-2.945 7-6.564v-8.677h-3.736v8.677zm14.167-8.575c-1.854 0-3.147.504-4.397 1.655V7H34.7v12.359c0 4.626 3.567 7.794 7.573 7.794 4.454 0 8.357-3.225 8.357-7.57 0-4.29-3.599-7.57-7.784-7.57zm.093 11.886c-2.54 0-4.483-1.99-4.483-4.317s1.943-4.317 4.483-4.317c2.152 0 4.096 1.99 4.096 4.317S45.09 23.9 42.938 23.9zm13.987-11c0-1.768 1.256-2.328 2.63-2.328 1.107 0 2.572.785 3.527 1.738l2.451-2.69c-1.225-1.543-3.705-2.608-5.738-2.608-4.066 0-6.995 2.215-6.995 5.888 0 6.812 8.938 4.652 8.938 8.466 0 1.176-1.225 2.214-2.63 2.214-2.212 0-2.93-1.009-3.946-2.074l-2.72 2.634c1.734 1.991 3.886 3 6.457 3 3.856 0 6.964-2.242 6.964-5.747 0-7.569-8.938-5.214-8.938-8.493zm18.808-1.084c-4.007 0-7.573 3.167-7.573 7.794V32h3.748v-6.7c1.25 1.15 2.543 1.655 4.397 1.655 4.185 0 7.785-3.28 7.785-7.57 0-4.345-3.904-7.569-8.357-7.569zm.666 11.887c-2.54 0-4.483-1.992-4.483-4.318 0-2.327 1.943-4.317 4.483-4.317 2.152 0 4.095 1.99 4.095 4.317 0 2.326-1.943 4.318-4.095 4.318zm35.285.197c-2.211 0-2.84-.897-2.84-2.27v-6.084h3.438v-3.083h-3.437V8.397l-3.795 1.598v12.391c0 3.168 2.33 4.767 5.527 4.767.479 0 1.137-.03 1.496-.112l.927-3.196c-.418.027-.897.055-1.316.055z"/><path d="M100.964 15.775c-.714-1.105-1.718-1.99-2.974-2.658a8.595 8.595 0 0 0-3.009-.937V8.67c1.097-.42 1.778-1.346 1.778-2.428 0-1.474-1.315-2.668-2.952-2.668-1.639 0-2.976 1.194-2.976 2.668 0 1.082.641 2.009 1.738 2.428v3.513a9.297 9.297 0 0 0-2.618.738c-1.697-1.16-7.262-4.962-10.517-7.183.078-.25.137-.509.137-.781C79.57 3.323 78.1 2 76.285 2S73 3.323 73 4.956c0 1.632 1.47 2.956 3.287 2.956a3.53 3.53 0 0 0 1.686-.43l.687.468 9.44 6.117c-.5.412-.964.88-1.336 1.407-.753 1.072-1.214 2.252-1.214 3.538v.269c0 .903.191 1.756.516 2.557a6.56 6.56 0 0 0 1.223 1.91l-3.133 2.825c-.927-.31-1.97-.104-2.668.527a2.16 2.16 0 0 0-.743 1.615c0 .61.264 1.184.744 1.615a2.67 2.67 0 0 0 1.796.67 2.674 2.674 0 0 0 1.797-.67 2.16 2.16 0 0 0 .743-1.615c0-.236-.04-.466-.117-.685l3.238-2.913c.444.276.924.508 1.44.708a9.221 9.221 0 0 0 3.366.637h.225a8.651 8.651 0 0 0 3.842-.874c1.269-.62 2.262-1.468 3.012-2.55.754-1.086 1.169-2.285 1.169-3.604v-.066c0-1.298-.334-2.496-1.036-3.593zm-3.956 6.11c-.879.879-1.89 1.42-3.031 1.42h-.188c-.653 0-1.29-.162-1.915-.457a4.292 4.292 0 0 1-1.678-1.374c-.452-.576-.698-1.205-.698-1.87V19.4c0-.655.14-1.277.492-1.863A4.23 4.23 0 0 1 91.552 16a4.133 4.133 0 0 1 2.163-.587h.074c.716 0 1.394.127 2.034.422a4.181 4.181 0 0 1 1.598 1.307c.401.565.64 1.174.717 1.837.012.138.018.28.018.414 0 .9-.383 1.735-1.148 2.492z"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 2.7 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg"><title>Blue</title><defs><linearGradient x1="95.059%" y1="50%" x2="5.575%" y2="50%" id="a"><stop stop-color="#55FBDC" offset="0%"/><stop stop-color="#08F" offset="100%"/></linearGradient><linearGradient x1="95.059%" y1="50%" x2="5.575%" y2="50%" id="b"><stop stop-color="#2ED4FF" offset="0%"/><stop stop-color="#08F" offset="98.277%"/></linearGradient><linearGradient x1="48.165%" y1="66.639%" x2="0%" y2="0%" id="c"><stop stop-color="#4F40DC" stop-opacity=".24" offset="0%"/><stop stop-color="#3525D3" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M4 0h20a8 8 0 1 1 0 16H0V4a4 4 0 0 1 4-4z" fill="url(#a)"/><path d="M0 16h24a8 8 0 1 1 0 16H4a4 4 0 0 1-4-4V16z" fill="url(#b)"/><path d="M4 0h12v32H4a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z" fill="url(#c)" opacity=".64"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 872 B |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="150" height="40" viewBox="0 0 150 40" xmlns="http://www.w3.org/2000/svg"><g fill="#889BB0" fill-rule="evenodd"><path d="M150 16.514v-2.647h-3.295V9.75l-.11.034-3.095.945-.061.019v3.118h-4.884V12.13c0-.81.181-1.428.538-1.841.355-.408.863-.615 1.51-.615.465 0 .947.11 1.431.325l.122.054V7.265l-.057-.021c-.452-.162-1.068-.244-1.83-.244-.96 0-1.834.209-2.596.622a4.432 4.432 0 0 0-1.78 1.757c-.419.751-.631 1.618-.631 2.578v1.91h-2.294v2.647h2.294v11.153h3.293V16.514h4.884v7.088c0 2.919 1.38 4.398 4.1 4.398a6.78 6.78 0 0 0 1.4-.155c.488-.105.822-.21 1.018-.322l.043-.026v-2.672l-.134.089a2.309 2.309 0 0 1-.662.288 2.52 2.52 0 0 1-.65.11c-.638 0-1.11-.171-1.402-.51-.296-.34-.446-.938-.446-1.773v-6.515H150zm-24.387 8.799c-1.195 0-2.137-.396-2.801-1.175-.669-.783-1.007-1.9-1.007-3.317 0-1.464.338-2.61 1.007-3.406.664-.791 1.598-1.193 2.775-1.193 1.142 0 2.05.383 2.702 1.14.654.762.986 1.898.986 3.379 0 1.498-.312 2.65-.928 3.42-.612.764-1.531 1.152-2.734 1.152zm.147-11.779c-2.28 0-4.092.667-5.383 1.982-1.291 1.315-1.945 3.136-1.945 5.41 0 2.161.638 3.9 1.898 5.165 1.26 1.267 2.975 1.908 5.096 1.908 2.21 0 3.986-.676 5.277-2.009 1.29-1.332 1.945-3.135 1.945-5.356 0-2.195-.614-3.946-1.825-5.204-1.211-1.258-2.915-1.896-5.063-1.896zm-12.638 0c-1.551 0-2.834.396-3.815 1.177-.986.785-1.486 1.815-1.486 3.062 0 .647.108 1.223.32 1.711.214.49.545.921.985 1.283.436.359 1.11.735 2.001 1.117.75.308 1.31.569 1.665.774.347.201.594.404.733.6.135.193.204.457.204.783 0 .927-.696 1.378-2.128 1.378-.53 0-1.136-.11-1.8-.329a6.769 6.769 0 0 1-1.844-.932l-.136-.098v3.164l.05.023c.466.215 1.053.396 1.746.538a9.423 9.423 0 0 0 1.864.215c1.684 0 3.04-.398 4.028-1.183.996-.79 1.5-1.845 1.5-3.135 0-.93-.271-1.728-.807-2.37-.531-.639-1.454-1.225-2.74-1.743-1.026-.41-1.683-.751-1.954-1.013-.261-.253-.394-.61-.394-1.063 0-.401.164-.723.5-.983.339-.262.81-.395 1.401-.395.55 0 1.11.087 1.669.256a5.4 5.4 0 0 1 1.457.674l.134.092v-3.001l-.051-.022c-.378-.162-.875-.3-1.48-.412a9.05 9.05 0 0 0-1.622-.168zM99.236 25.313c-1.195 0-2.138-.396-2.802-1.175-.668-.783-1.006-1.899-1.006-3.317 0-1.464.338-2.61 1.007-3.406.664-.791 1.597-1.193 2.774-1.193 1.142 0 2.05.383 2.702 1.14.655.762.987 1.898.987 3.379 0 1.498-.313 2.65-.929 3.42-.611.764-1.53 1.152-2.733 1.152zm.147-11.779c-2.281 0-4.093.667-5.384 1.982-1.29 1.315-1.945 3.136-1.945 5.41 0 2.162.64 3.9 1.9 5.165C95.213 27.358 96.927 28 99.048 28c2.21 0 3.986-.676 5.277-2.009 1.29-1.332 1.945-3.135 1.945-5.356 0-2.195-.614-3.946-1.825-5.204-1.212-1.258-2.916-1.896-5.063-1.896zm-12.328 2.723v-2.39h-3.253v13.8h3.253v-7.06c0-1.2.273-2.186.811-2.93.531-.737 1.24-1.11 2.104-1.11.293 0 .622.049.978.144.353.095.608.198.759.306l.136.099v-3.273l-.052-.022c-.303-.129-.732-.194-1.274-.194-.818 0-1.55.263-2.176.779-.55.453-.947 1.075-1.251 1.85h-.035zm-9.079-2.723c-1.492 0-2.823.32-3.955.95a6.4 6.4 0 0 0-2.61 2.676c-.594 1.143-.896 2.478-.896 3.966 0 1.304.293 2.5.871 3.555a6.114 6.114 0 0 0 2.435 2.456c1.035.573 2.231.863 3.556.863 1.546 0 2.866-.309 3.924-.917l.043-.024v-2.974l-.137.1a6.12 6.12 0 0 1-1.591.826c-.575.2-1.1.302-1.56.302-1.276 0-2.3-.399-3.044-1.185-.746-.786-1.123-1.891-1.123-3.281 0-1.4.394-2.533 1.17-3.369.775-.833 1.802-1.256 3.052-1.256 1.069 0 2.11.361 3.096 1.075l.137.098v-3.133l-.044-.025c-.371-.207-.877-.378-1.505-.508a9.008 9.008 0 0 0-1.819-.195zm-9.701.333h-3.253v13.8h3.253v-13.8zm-1.593-5.879c-.536 0-1.003.182-1.386.542a1.787 1.787 0 0 0-.581 1.354c0 .529.193.975.575 1.327.379.351.847.529 1.392.529a2.01 2.01 0 0 0 1.398-.528 1.73 1.73 0 0 0 .582-1.328c0-.518-.19-.969-.566-1.339-.375-.37-.851-.557-1.414-.557zm-8.117 4.86v14.819h3.32V8.41H57.29l-5.84 14.302L45.782 8.41H41v19.256h3.12v-14.82h.107l5.985 14.82h2.354l5.892-14.818h.107z" fill-rule="nonzero"/><path d="M15 16H0V2h15zm17 0H17V2h15zM15 33H0V19h15zm17 0H17V19h15z"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 3.7 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="56" height="56" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient x1="0%" y1="7.585%" y2="100%" id="a"><stop stop-color="#C3FFF4" offset="0%"/><stop stop-color="#C7E5FF" offset="100%"/></linearGradient><linearGradient x1="100%" y1="100%" x2="0%" y2="7.585%" id="b"><stop stop-color="#006DCC" offset="0%"/><stop stop-color="#33A0FF" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path fill="url(#a)" d="M0 0h56v56H0z"/><path fill="url(#b)" d="M16 16h9v24h-9zm13 0h5v24h-5zm9 0h2v24h-2z"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 544 B |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="56" height="56" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient x1="0%" y1="7.585%" y2="100%" id="a"><stop stop-color="#C3FFF4" offset="0%"/><stop stop-color="#C7E5FF" offset="100%"/></linearGradient><linearGradient x1="100%" y1="100%" x2="0%" y2="7.585%" id="b"><stop stop-color="#006DCC" offset="0%"/><stop stop-color="#33A0FF" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path fill="url(#a)" d="M0 0h56v56H0z"/><path d="M1 0h7v8H0V1a1 1 0 0 1 1-1zm7 8h8v8H8V8zm8-8h7a1 1 0 0 1 1 1v7h-8V0zM0 16h8v8H1a1 1 0 0 1-1-1v-7zm16 0h8v7a1 1 0 0 1-1 1h-7v-8z" transform="translate(16 16)" fill="url(#b)"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 658 B |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="56" height="56" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient x1="0%" y1="7.585%" y2="100%" id="a"><stop stop-color="#C3FFF4" offset="0%"/><stop stop-color="#C7E5FF" offset="100%"/></linearGradient><linearGradient x1="100%" y1="100%" x2="0%" y2="7.585%" id="b"><stop stop-color="#006DCC" offset="0%"/><stop stop-color="#33A0FF" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path fill="url(#a)" d="M0 0h56v56H0z"/><path d="M16 30l10 10H16V30zm14 10l10-10v10H30zm0-24h10v10L30 16zM16 26V16h10L16 26z" fill="url(#b)"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 577 B |
|
After Width: | Height: | Size: 6.4 KiB |
@@ -0,0 +1 @@
|
|||||||
|
!function(){const e=document.documentElement;if(e.classList.remove("no-js"),e.classList.add("js"),document.body.classList.contains("has-animations")){const e=window.sr=ScrollReveal();e.reveal(".hero-title, .hero-paragraph, .hero-cta",{delay:150,duration:1e3,distance:"60px",easing:"cubic-bezier(0.215, 0.61, 0.355, 1)",origin:"bottom",interval:150}),e.reveal(".hero-right-decoration",{duration:1e3,distance:"40px",easing:"cubic-bezier(0.215, 0.61, 0.355, 1)",origin:"top"}),e.reveal(".hero-left-decoration",{duration:1e3,distance:"40px",easing:"cubic-bezier(0.215, 0.61, 0.355, 1)",origin:"bottom"}),e.reveal(".clients li",{delay:300,duration:1e3,rotate:{y:50},easing:"cubic-bezier(0.215, 0.61, 0.355, 1)",interval:150}),e.reveal(".feature, .tabs-links li, .testimonial, .pricing-table, .pricing-faqs, .cta-inner",{duration:600,distance:"40px",easing:"cubic-bezier(0.215, 0.61, 0.355, 1)",interval:100,origin:"bottom",viewFactor:.2})}const t=document.getElementsByClassName("accordion-title");if(t.length)for(let e=0;e<t.length;e++)t[e].addEventListener("click",function(){this.parentNode.classList.toggle("is-open");const e=this.nextElementSibling;e.style.maxHeight?e.style.maxHeight=null:e.style.maxHeight=`${e.scrollHeight}px`});const i=document.getElementsByClassName("tab-link");if(i.length)for(let e=0;e<i.length;e++)i[e].addEventListener("click",function(t){t.preventDefault();let n=i[e].parentNode.parentNode,a=n.nextElementSibling.getElementsByClassName("tab-panel"),s=n.getElementsByClassName("tab-link");for(let e=0;e<s.length;e++)s[e].classList.remove("is-active");for(let e=0;e<a.length;e++)a[e].classList.remove("is-active");let l=this.getAttribute("href");i[e].classList.add("is-active"),document.querySelector(l).classList.add("is-active")})}();
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="125" height="40" viewBox="0 0 125 40" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M65.879 9.8a2.533 2.533 0 0 1-2.539 2.537 2.532 2.532 0 0 1-2.538-2.538 2.508 2.508 0 0 1 2.538-2.537c1.446.039 2.539 1.171 2.539 2.537zm-10.466 5.114v.624s-1.21-1.562-3.787-1.562c-4.256 0-7.576 3.24-7.576 7.73 0 4.45 3.28 7.73 7.576 7.73 2.616 0 3.787-1.601 3.787-1.601v.663c0 .313.235.546.547.546h3.163V14.365H55.96a.561.561 0 0 0-.547.549zm0 9.407c-.585.86-1.757 1.601-3.162 1.601-2.5 0-4.413-1.561-4.413-4.216 0-2.655 1.914-4.216 4.413-4.216 1.367 0 2.616.78 3.162 1.6v5.231zm6.053-9.954h3.749v14.678h-3.749V14.367zm55.998-.391c-2.578 0-3.788 1.562-3.788 1.562V7.301h-3.749v21.744h3.163a.558.558 0 0 0 .547-.546v-.664s1.21 1.6 3.787 1.6c4.257 0 7.576-3.277 7.576-7.728 0-4.45-3.319-7.731-7.536-7.731zm-.625 11.907c-1.445 0-2.577-.741-3.163-1.6V19.05c.586-.78 1.835-1.6 3.163-1.6 2.499 0 4.412 1.561 4.412 4.216 0 2.654-1.913 4.216-4.412 4.216zm-8.864-5.543v8.744h-3.75V20.77c0-2.42-.78-3.396-2.888-3.396-1.132 0-2.304.585-3.047 1.445v10.228h-3.748v-14.68h2.967c.313 0 .547.274.547.548v.624c1.094-1.132 2.538-1.562 3.983-1.562 1.64 0 3.007.47 4.1 1.406 1.328 1.093 1.836 2.498 1.836 4.958zm-22.533-6.364c-2.576 0-3.787 1.562-3.787 1.562V7.301h-3.749v21.744h3.163a.559.559 0 0 0 .547-.546v-.664s1.21 1.6 3.787 1.6c4.257 0 7.576-3.277 7.576-7.728.04-4.451-3.28-7.731-7.537-7.731zm-.625 11.907c-1.444 0-2.576-.741-3.162-1.6V19.05c.586-.78 1.835-1.6 3.162-1.6 2.5 0 4.413 1.561 4.413 4.216 0 2.654-1.913 4.216-4.413 4.216zM74.665 13.976c1.132 0 1.718.196 1.718.196v3.474s-3.124-1.055-5.076 1.171v10.267h-3.75V14.367h3.164c.312 0 .546.273.546.546v.625c.704-.82 2.227-1.562 3.398-1.562zM35.733 27.718c-.195-.468-.39-.976-.586-1.406-.313-.702-.625-1.366-.898-1.99l-.039-.04a406.922 406.922 0 0 0-8.63-17.644l-.117-.235c-.32-.608-.633-1.22-.937-1.835-.39-.703-.78-1.444-1.406-2.147C21.87.859 20.074 0 18.161 0c-1.953 0-3.71.86-4.998 2.342-.586.703-1.016 1.444-1.406 2.148a84.724 84.724 0 0 1-.936 1.835l-.118.234c-3.007 5.856-5.935 11.79-8.63 17.645l-.04.078c-.272.625-.585 1.289-.898 1.99-.195.43-.39.899-.585 1.406-.508 1.444-.664 2.81-.468 4.217a8.297 8.297 0 0 0 5.076 6.48c1.016.43 2.07.625 3.163.625.313 0 .703-.039 1.016-.078 1.288-.156 2.616-.585 3.905-1.327 1.6-.898 3.124-2.186 4.842-4.06 1.718 1.874 3.28 3.162 4.842 4.06 1.29.742 2.616 1.17 3.905 1.327.312.04.703.078 1.016.078 1.093 0 2.186-.195 3.162-.625 2.734-1.094 4.647-3.591 5.077-6.48.31-1.366.154-2.732-.353-4.177zm-17.611 2.03c-2.11-2.655-3.476-5.153-3.944-7.26-.195-.899-.235-1.68-.117-2.382a3.78 3.78 0 0 1 .625-1.64c.742-1.054 1.991-1.718 3.436-1.718 1.445 0 2.734.625 3.437 1.718.312.468.547 1.015.625 1.64.117.703.078 1.522-.117 2.381-.47 2.069-1.837 4.568-3.945 7.26zm15.58 1.835a5.802 5.802 0 0 1-3.553 4.568c-.937.39-1.953.507-2.968.39-.976-.118-1.953-.43-2.967-1.015-1.406-.782-2.812-1.991-4.452-3.787 2.577-3.162 4.139-6.051 4.725-8.627a9.765 9.765 0 0 0 .195-3.32 6.329 6.329 0 0 0-1.054-2.654c-1.212-1.757-3.242-2.771-5.507-2.771-2.264 0-4.295 1.054-5.505 2.771a6.335 6.335 0 0 0-1.055 2.655 8.107 8.107 0 0 0 .195 3.319c.586 2.576 2.187 5.504 4.725 8.666-1.601 1.796-3.046 3.006-4.452 3.787-1.015.586-1.991.898-2.967 1.015a6.25 6.25 0 0 1-2.968-.39 5.802 5.802 0 0 1-3.553-4.568 6.457 6.457 0 0 1 .351-3.045c.117-.39.313-.78.508-1.25.273-.624.585-1.288.898-1.951l.04-.078a425.627 425.627 0 0 1 8.59-17.528l.117-.235c.313-.585.625-1.21.937-1.795.313-.625.664-1.211 1.094-1.719.82-.936 1.913-1.444 3.124-1.444 1.21 0 2.304.508 3.124 1.444.43.51.78 1.095 1.093 1.719.313.585.626 1.21.937 1.795l.118.235a516.84 516.84 0 0 1 8.552 17.567v.039c.312.626.586 1.328.898 1.953.195.468.39.858.508 1.248.311 1.014.428 1.991.272 3.006z" fill="#889BB0" fill-rule="nonzero"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.7 KiB |
@@ -0,0 +1,3 @@
|
|||||||
|
<svg width="124" height="40" viewBox="0 0 124 40" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M63.849 19.694c-1.023 0-1.76.326-2.507.657v7.507c.716.066 1.126.066 1.805.066 2.454 0 2.79-1.092 2.79-2.616v-3.585c0-1.125-.384-2.029-2.088-2.029zm-16.295-.41c-1.702 0-2.09.908-2.09 2.033v.631h4.179v-.631c0-1.125-.389-2.033-2.089-2.033zm-31.566 7.813c0 .89.432 1.352 1.386 1.352 1.022 0 1.628-.324 2.375-.657v-1.78h-2.237c-1.059 0-1.524.19-1.524 1.085zM79.7 19.694c-1.705 0-2.296.904-2.296 2.03v4.106c0 1.129.59 2.035 2.296 2.035 1.7 0 2.296-.906 2.296-2.035v-4.107c0-1.125-.596-2.029-2.296-2.029zM7.632 31.702H2.619V19.917H.115v-4.06H2.62v-2.44c0-3.313 1.413-5.283 5.431-5.283h3.345v4.062h-2.09c-1.565 0-1.668.568-1.668 1.627l-.006 2.033h3.787l-.443 4.06H7.632v11.786zm17.13.031h-4.177l-.18-1.026a9.802 9.802 0 0 1-4.734 1.192c-3.063 0-4.694-1.988-4.694-4.737 0-3.244 1.903-4.402 5.307-4.402h3.465v-.701c0-1.656-.196-2.142-2.817-2.142h-4.286l.419-4.06h4.685c5.751 0 7.012 1.764 7.012 6.235v9.641zm14.206-11.518c-2.6-.433-3.346-.528-4.597-.528-2.246 0-2.925.481-2.925 2.335v3.506c0 1.853.679 2.337 2.925 2.337 1.251 0 1.998-.097 4.597-.532v3.961c-2.277.496-3.76.627-5.014.627-5.381 0-7.52-2.75-7.52-6.72v-2.845c0-3.975 2.139-6.729 7.52-6.729 1.254 0 2.737.13 5.014.629v3.959zM54.654 25.2h-9.191v.328c0 1.853.68 2.337 2.925 2.337 2.02 0 3.252-.097 5.847-.532v3.961c-2.503.496-3.807.627-6.262.627-5.382 0-7.522-2.75-7.522-6.72v-3.253c0-3.475 1.587-6.32 7.102-6.32 5.515 0 7.101 2.812 7.101 6.32V25.2zm16.294.076c0 3.838-1.129 6.637-7.97 6.637-2.471 0-3.92-.21-6.647-.618V9.355l5.01-.813v7.675c1.084-.39 2.485-.59 3.76-.59 5.012 0 5.847 2.183 5.847 5.69v3.959zm16.063.083c0 3.311-1.407 6.523-7.295 6.523-5.891 0-7.325-3.212-7.325-6.523v-3.197c0-3.313 1.434-6.525 7.325-6.525 5.888 0 7.295 3.212 7.295 6.525v3.197zm16.052 0c0 3.311-1.41 6.523-7.296 6.523-5.891 0-7.325-3.212-7.325-6.523v-3.197c0-3.313 1.434-6.525 7.325-6.525 5.887 0 7.296 3.212 7.296 6.525v3.197zm16.472 6.343h-5.431l-4.594-7.448v7.448h-5.012V9.354l5.012-.812v14.387l4.594-7.073h5.431l-5.014 7.719 5.014 8.127zM95.75 19.694c-1.703 0-2.294.904-2.294 2.03v4.106c0 1.129.591 2.035 2.294 2.035 1.7 0 2.301-.906 2.301-2.035v-4.107c0-1.125-.601-2.029-2.301-2.029zm26.646 9.229c.844 0 1.516.668 1.516 1.503 0 .848-.672 1.51-1.522 1.51a1.511 1.511 0 0 1-1.532-1.51c0-.835.686-1.503 1.532-1.503h.006zm-.006.234c-.68 0-1.237.568-1.237 1.27 0 .713.557 1.274 1.243 1.274.687.007 1.235-.56 1.235-1.268s-.548-1.276-1.235-1.276h-.006zm-.288 2.144h-.275v-1.677c.144-.02.282-.04.488-.04.261 0 .432.054.537.127.101.074.156.187.156.347 0 .221-.15.354-.336.408v.013c.151.027.254.16.289.406.04.261.082.361.108.416h-.288c-.04-.055-.082-.208-.117-.429-.04-.213-.15-.293-.37-.293h-.192v.722zm0-.928h.2c.225 0 .417-.081.417-.289 0-.147-.11-.293-.418-.293-.09 0-.152.007-.2.013v.569z" fill="#889BB0" fill-rule="nonzero"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
@@ -0,0 +1,41 @@
|
|||||||
|
<svg width="128" height="72" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="49.078%" y1="100%" x2="0%" y2="7.585%" id="b">
|
||||||
|
<stop stop-color="#006DCC" offset="0%"/>
|
||||||
|
<stop stop-color="#338BF8" offset="39.97%"/>
|
||||||
|
<stop stop-color="#23FAD2" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<circle id="a" cx="36" cy="36" r="36"/>
|
||||||
|
<linearGradient x1="0%" y1="0%" x2="50%" y2="100%" id="e">
|
||||||
|
<stop stop-color="#EEE" offset="0%"/>
|
||||||
|
<stop stop-color="#C7E5FF" stop-opacity="0" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<rect id="d" width="50" height="32" rx="2"/>
|
||||||
|
<filter x="-28%" y="-31.2%" width="156%" height="187.5%" filterUnits="objectBoundingBox" id="c">
|
||||||
|
<feOffset dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
|
||||||
|
<feGaussianBlur stdDeviation="4" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
|
||||||
|
<feColorMatrix values="0 0 0 0 0.207843137 0 0 0 0 0.145098039 0 0 0 0 0.82745098 0 0 0 0.16 0" in="shadowBlurOuter1"/>
|
||||||
|
</filter>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="h">
|
||||||
|
<stop stop-color="#EEE" offset="0%"/>
|
||||||
|
<stop stop-color="#C7E5FF" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<rect id="g" x="11" y="10" width="50" height="32" rx="2"/>
|
||||||
|
<filter x="-28%" y="-31.2%" width="156%" height="187.5%" filterUnits="objectBoundingBox" id="f">
|
||||||
|
<feOffset dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
|
||||||
|
<feGaussianBlur stdDeviation="4" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
|
||||||
|
<feColorMatrix values="0 0 0 0 0.207843137 0 0 0 0 0.145098039 0 0 0 0 0.82745098 0 0 0 0.16 0" in="shadowBlurOuter1"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<use fill="url(#b)" xlink:href="#a" transform="translate(28)"/>
|
||||||
|
<g transform="translate(41 14)">
|
||||||
|
<use fill="#000" filter="url(#c)" xlink:href="#d"/>
|
||||||
|
<use fill="url(#e)" xlink:href="#d"/>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(41 14)">
|
||||||
|
<use fill="#000" filter="url(#f)" xlink:href="#g"/>
|
||||||
|
<use fill="url(#h)" xlink:href="#g"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,47 @@
|
|||||||
|
<svg width="128" height="72" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="49.078%" y1="100%" x2="0%" y2="7.585%" id="b">
|
||||||
|
<stop stop-color="#006DCC" offset="0%"/>
|
||||||
|
<stop stop-color="#338BF8" offset="39.97%"/>
|
||||||
|
<stop stop-color="#23FAD2" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<circle id="a" cx="36" cy="36" r="36"/>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="f">
|
||||||
|
<stop stop-color="#EEE" offset="0%"/>
|
||||||
|
<stop stop-color="#C7E5FF" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<path id="e" d="M10 18l-32 16 32 16 32-16z"/>
|
||||||
|
<filter x="-40.6%" y="-68.8%" width="181.2%" height="262.5%" filterUnits="objectBoundingBox" id="d">
|
||||||
|
<feOffset dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
|
||||||
|
<feGaussianBlur stdDeviation="8" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
|
||||||
|
<feColorMatrix values="0 0 0 0 0.207843137 0 0 0 0 0.145098039 0 0 0 0 0.82745098 0 0 0 0.16 0" in="shadowBlurOuter1"/>
|
||||||
|
</filter>
|
||||||
|
<linearGradient x1="0%" y1="0%" x2="50%" y2="100%" id="g">
|
||||||
|
<stop stop-color="#EEE" offset="0%"/>
|
||||||
|
<stop stop-color="#C7E5FF" stop-opacity="0" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<path id="i" d="M36 0L0 18l36 18 36-18z"/>
|
||||||
|
<filter x="-36.1%" y="-61.1%" width="172.2%" height="244.4%" filterUnits="objectBoundingBox" id="h">
|
||||||
|
<feOffset dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
|
||||||
|
<feGaussianBlur stdDeviation="8" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
|
||||||
|
<feColorMatrix values="0 0 0 0 0.207843137 0 0 0 0 0.145098039 0 0 0 0 0.82745098 0 0 0 0.16 0" in="shadowBlurOuter1"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<g transform="translate(28)">
|
||||||
|
<mask id="c" fill="#fff">
|
||||||
|
<use xlink:href="#a"/>
|
||||||
|
</mask>
|
||||||
|
<use fill="url(#b)" xlink:href="#a"/>
|
||||||
|
<g opacity=".24" mask="url(#c)">
|
||||||
|
<use fill="#000" filter="url(#d)" xlink:href="#e"/>
|
||||||
|
<use fill="url(#f)" xlink:href="#e"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<path fill="url(#g)" d="M33 28L11 39l22 11 22-11z" transform="translate(43 12)"/>
|
||||||
|
<g transform="translate(43 12)">
|
||||||
|
<use fill="#000" filter="url(#h)" xlink:href="#i"/>
|
||||||
|
<use fill="url(#f)" xlink:href="#i"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,38 @@
|
|||||||
|
<svg width="128" height="72" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="49.078%" y1="100%" x2="0%" y2="7.585%" id="a">
|
||||||
|
<stop stop-color="#006DCC" offset="0%"/>
|
||||||
|
<stop stop-color="#338BF8" offset="39.97%"/>
|
||||||
|
<stop stop-color="#23FAD2" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="-94.286%" y1="64.95%" x2="50%" y2="64.95%" id="b">
|
||||||
|
<stop stop-color="#EEE" offset="0%"/>
|
||||||
|
<stop stop-color="#C7E5FF" stop-opacity="0" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="e">
|
||||||
|
<stop stop-color="#EEE" offset="0%"/>
|
||||||
|
<stop stop-color="#C7E5FF" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<rect id="d" x="41" y="48" width="12" height="12" rx="1"/>
|
||||||
|
<filter x="-116.7%" y="-83.3%" width="333.3%" height="333.3%" filterUnits="objectBoundingBox" id="c">
|
||||||
|
<feOffset dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
|
||||||
|
<feGaussianBlur stdDeviation="4" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
|
||||||
|
<feColorMatrix values="0 0 0 0 0.207843137 0 0 0 0 0.145098039 0 0 0 0 0.82745098 0 0 0 0.16 0" in="shadowBlurOuter1"/>
|
||||||
|
</filter>
|
||||||
|
<linearGradient x1="25.271%" y1="16.878%" x2="78.485%" y2="86.122%" id="f">
|
||||||
|
<stop stop-color="#EEE" offset="0%"/>
|
||||||
|
<stop stop-color="#C7E5FF" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<g transform="translate(28)">
|
||||||
|
<circle fill="url(#a)" cx="36" cy="36" r="36"/>
|
||||||
|
<path d="M65.682 56.376C51.035 53.443 40 40.51 40 25c0-8.766 3.525-16.71 9.235-22.49C62.57 7.786 72 20.79 72 36a35.834 35.834 0 0 1-6.318 20.376z" fill="url(#b)"/>
|
||||||
|
</g>
|
||||||
|
<g opacity=".48" transform="translate(16)">
|
||||||
|
<use fill="#000" filter="url(#c)" xlink:href="#d"/>
|
||||||
|
<use fill="url(#e)" xlink:href="#d"/>
|
||||||
|
</g>
|
||||||
|
<path d="M25.406 32.584C20.458 19.694 27.128 5.144 40.305.086l5.376 14.004c2.376 6.19 2.14 13.091-.653 19.186-2.794 6.094-7.919 10.883-14.246 13.311C20.24 50.634 8.486 45.555 4.528 35.242L.944 25.907c10.541-4.047 22.295 1.033 26.254 11.345l-1.792-4.668z" fill="url(#f)" transform="translate(16)"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,52 @@
|
|||||||
|
<svg width="128" height="72" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="49.078%" y1="100%" x2="0%" y2="7.585%" id="b">
|
||||||
|
<stop stop-color="#006DCC" offset="0%"/>
|
||||||
|
<stop stop-color="#338BF8" offset="39.97%"/>
|
||||||
|
<stop stop-color="#23FAD2" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<circle id="a" cx="36" cy="36" r="36"/>
|
||||||
|
<linearGradient x1="-46.73%" y1="64.95%" x2="32.222%" y2="64.95%" id="c">
|
||||||
|
<stop stop-color="#EEE" offset="0%"/>
|
||||||
|
<stop stop-color="#C7E5FF" stop-opacity="0" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="0%" y2="100%" id="e">
|
||||||
|
<stop stop-color="#EEE" offset="0%"/>
|
||||||
|
<stop stop-color="#C7E5FF" stop-opacity="0" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="h">
|
||||||
|
<stop stop-color="#EEE" offset="0%"/>
|
||||||
|
<stop stop-color="#C7E5FF" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<path id="f" d="M61.893.137l-43.95 35.738L.144 28.919z"/>
|
||||||
|
<filter x="-22.7%" y="-28%" width="145.3%" height="178.3%" filterUnits="objectBoundingBox" id="g">
|
||||||
|
<feOffset dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
|
||||||
|
<feGaussianBlur stdDeviation="4" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
|
||||||
|
<feColorMatrix values="0 0 0 0 0.207843137 0 0 0 0 0.145098039 0 0 0 0 0.82745098 0 0 0 0.16 0" in="shadowBlurOuter1"/>
|
||||||
|
</filter>
|
||||||
|
<path id="i" d="M36.894.14L.11 40.094 22.154 53.86z"/>
|
||||||
|
<filter x="-38.1%" y="-18.6%" width="176.1%" height="152.1%" filterUnits="objectBoundingBox" id="j">
|
||||||
|
<feOffset dy="4" in="SourceAlpha" result="shadowOffsetOuter1"/>
|
||||||
|
<feGaussianBlur stdDeviation="4" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
|
||||||
|
<feColorMatrix values="0 0 0 0 0.207843137 0 0 0 0 0.145098039 0 0 0 0 0.82745098 0 0 0 0.16 0" in="shadowBlurOuter1"/>
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<g transform="translate(28)">
|
||||||
|
<mask id="d" fill="#fff">
|
||||||
|
<use xlink:href="#a"/>
|
||||||
|
</mask>
|
||||||
|
<use fill="url(#b)" xlink:href="#a"/>
|
||||||
|
<path d="M13.475 72l64.24-78L91.77 45.148C81.276 60.845 74.157 69.796 70.414 72 64.801 75.307 42 85.266 37 82.633c-3.333-1.755-11.175-5.3-23.525-10.633z" fill="url(#c)" mask="url(#d)"/>
|
||||||
|
</g>
|
||||||
|
<path fill="url(#e)" d="M25.03 40.074L21.934 46 18 36.69l2.136-5.944 14.71-12.936L56.464 3.114 62 0l-7.975 14.468-8.258 19.488-12.525 5.746z" transform="matrix(-1 0 0 1 92 4)"/>
|
||||||
|
<g transform="matrix(-1 0 0 1 92 4)">
|
||||||
|
<use fill="#000" filter="url(#g)" xlink:href="#f"/>
|
||||||
|
<use fill="url(#h)" xlink:href="#f"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(-1 0 0 1 67 4)">
|
||||||
|
<use fill="#000" filter="url(#j)" xlink:href="#i"/>
|
||||||
|
<use fill="url(#h)" xlink:href="#i"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
@@ -0,0 +1,33 @@
|
|||||||
|
<svg width="1440" height="342" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="98.514%" id="b">
|
||||||
|
<stop stop-color="#F5F6F7" offset="0%"/>
|
||||||
|
<stop stop-color="#F5F6F7" stop-opacity="0" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<path d="M671.508 214.185h-62.23c-18.098-19.494-41.228-39.044-79.601-51.27-90.346-28.786 160.5-6.237 146.904-128.006-13.596-121.77 141.405 109.792 127.68 164.84a104.328 104.328 0 0 1-4.735 14.436h-47.642c8.681-5.815 15.223-13.543 17.573-22.966 6.857-27.504-24.612-59.034-51.827-65.82-27.217-6.786-54.84 10.01-61.698 37.516-2.89 11.594 4.277 31.552 15.576 51.27z" id="a"/>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="d">
|
||||||
|
<stop stop-color="#00C7FA" offset="0%"/>
|
||||||
|
<stop stop-color="#55FBDC" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<path d="M53.435 12.797c25.843 0 86.94 55.217 86.94 81.163 0 25.947-20.95 46.98-46.792 46.98-25.84 0-61-21.033-61-46.98 0-25.946 35.16-46.98 61-46.98M150.307 212C135 123.706 277.947 106 210.205 72.763 142.463 39.526 145.245.06 93.583 0 41.9 0 0 42.068 0 93.96 0 145.851 165.614 300.294 150.307 212z" id="c"/>
|
||||||
|
<linearGradient x1="92.928%" y1="34.02%" x2="0%" y2="68.892%" id="e">
|
||||||
|
<stop stop-color="#FFF" stop-opacity=".64" offset="0%"/>
|
||||||
|
<stop stop-color="#FFF" stop-opacity="0" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="66.362%" y2="96.878%" id="g">
|
||||||
|
<stop stop-color="#3525D3" offset="0%"/>
|
||||||
|
<stop stop-color="#08F" stop-opacity=".32" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(-53)" fill="none" fill-rule="evenodd">
|
||||||
|
<use fill="url(#b)" xlink:href="#a"/>
|
||||||
|
<g transform="translate(0 103)">
|
||||||
|
<mask id="f" fill="#fff">
|
||||||
|
<use xlink:href="#c"/>
|
||||||
|
</mask>
|
||||||
|
<use fill="url(#d)" xlink:href="#c"/>
|
||||||
|
<path d="M262.95 60.554l-23.456 47.225c-6.252-25.074-35.166-54.099-60.342-47.822-25.176 6.277-37.08 45.48-30.828 70.553 6.252 25.075 31.73 40.314 56.905 34.037 25.176-6.277 63.972-78.918 57.72-103.993zM93.098 202.74c-81.969 36.212 27.82-161.845 78.17-174.399 50.352-12.554 101.306 17.924 113.81 68.072 12.44 50.142-26.528 56.99-42.389 130.761-15.86 73.771-67.623-60.647-149.591-24.434z" fill="url(#e)" mask="url(#f)"/>
|
||||||
|
<path d="M160.239 95.785l-.343-4.711c-.155-1.563-.5-3.108-.759-4.656-.148-.772-.266-1.549-.446-2.312l-.636-2.27-.65-2.262-.329-1.128-.42-1.099-1.723-4.37c-1.382-2.804-2.701-5.644-4.439-8.242-3.306-5.295-7.037-10.407-11.647-14.749-.572-.544-1.098-1.145-1.716-1.638l-1.834-1.509c-1.237-.992-2.447-2.032-3.812-2.849-1.34-.852-2.672-1.729-4.065-2.492-1.428-.7-2.873-1.37-4.33-2.001-.76-.328-.683-.13.086.238 1.274.61 2.532 1.246 3.773 1.901 1.241.656 2.373 1.501 3.54 2.266l1.722 1.189c.575.39 1.083.877 1.623 1.314l3.151 2.712c.981.977 1.93 1.983 2.885 2.973.472.5.96.983 1.415 1.496l1.303 1.6c.854 1.075 1.762 2.099 2.577 3.199l2.384 3.352c3.029 4.496 5.725 9.287 7.523 14.448 1.053 2.526 1.636 5.203 2.339 7.839.314 1.327.465 2.686.689 4.03.204 1.347.437 2.691.454 4.054l.178 4.213c.017 1.403-.13 2.806-.201 4.206l-.143 2.1c-.037.7-.201 1.389-.298 2.083l-.705 4.149c-.324 1.364-.717 2.713-1.082 4.066l-.57 2.023-.742 1.966c-.512 1.304-.966 2.632-1.539 3.907l-1.856 3.765c-2.675 4.891-5.699 9.671-9.556 13.767-.469.522-.919 1.064-1.407 1.568l-1.529 1.451c-1.038.946-2.016 1.966-3.125 2.831l-3.356 2.558c-.552.439-1.144.817-1.75 1.175l-1.805 1.092c-2.361 1.535-4.993 2.575-7.532 3.751-1.32.474-2.653.917-3.981 1.361-.667.211-1.321.462-1.999.633l-2.045.473c-5.423 1.411-11.029 1.733-16.563 1.727l-4.157-.226-1.039-.059c-.345-.036-.688-.097-1.033-.145l-2.062-.308c-2.771-.315-5.455-1.077-8.155-1.763-1.345-.363-2.635-.902-3.952-1.355l-1.963-.718c-.647-.26-1.265-.582-1.898-.873-1.255-.604-2.521-1.19-3.756-1.831l-3.567-2.17c-4.625-3.07-9.005-6.585-12.64-10.805l-1.404-1.542-1.267-1.659c-.827-1.118-1.708-2.2-2.475-3.36-1.461-2.37-2.987-4.708-4.112-7.268-1.307-2.473-2.14-5.152-3.059-7.784-.399-1.336-.68-2.707-1.012-4.059l-.47-2.035-.287-2.068c-.178-1.379-.376-2.756-.524-4.134l-.151-4.151c-.015-.691-.07-1.382-.05-2.072l.109-2.071c.086-1.378.115-2.761.244-4.135a66.948 66.948 0 0 1 4.416-17.831l1.905-4.216c.71-1.366 1.509-2.689 2.276-4.031.73-1.369 1.686-2.587 2.577-3.853l1.366-1.88c.46-.623 1.004-1.178 1.507-1.768.882-.992 1.764-1.994 2.679-2.966l2.955-2.718c.504-.441.976-.921 1.508-1.329l1.599-1.22c1.079-.796 2.112-1.658 3.227-2.396 2.27-1.418 4.461-2.961 6.841-4.144 1.177-.611 2.304-1.328 3.506-1.87l3.574-1.679c.816-.393.198-.685-.641-.301-1.17.536-2.345 1.052-3.529 1.553-1.161.549-2.295 1.168-3.455 1.732-2.358 1.065-4.529 2.486-6.801 3.763-4.351 2.822-8.643 5.953-12.115 9.877-1.92 1.939-3.477 4.194-5.078 6.401-.789 1.112-1.422 2.331-2.125 3.499-.684 1.182-1.384 2.352-1.912 3.615l-1.681 3.728c-.509 1.261-.909 2.567-1.361 3.848l-.654 1.929c-.217.642-.34 1.313-.512 1.968l-.962 3.946c-.279 1.385-.45 2.789-.675 4.184l-.315 2.094c-.081.7-.097 1.405-.148 2.108L36 96.646c.012 1.408.086 2.817.135 4.227l.09 2.116c.065.702.178 1.401.267 2.103l.6 4.207 1.004 4.137c.181.687.33 1.384.545 2.06l.712 2.011c1.771 5.416 4.606 10.429 7.852 15.068l2.58 3.385c.908 1.088 1.898 2.107 2.85 3.156l1.449 1.552 1.57 1.43c1.06.938 2.074 1.93 3.18 2.811 2.262 1.709 4.485 3.478 6.959 4.881 2.368 1.573 4.969 2.731 7.519 3.982 1.299.57 2.648 1.029 3.974 1.538l2.002.739c.68.201 1.37.378 2.055.565 1.375.362 2.749.744 4.133 1.069l4.213.686c.704.098 1.404.248 2.112.299l2.125.14c1.417.077 2.834.206 4.252.223l4.261-.143c.709-.042 1.424-.022 2.129-.121l2.12-.277c5.682-.595 11.226-2.27 16.521-4.455l3.873-1.813c1.285-.618 2.478-1.406 3.719-2.113l1.84-1.097c.608-.375 1.167-.82 1.752-1.229 1.157-.84 2.318-1.676 3.457-2.54 2.127-1.905 4.377-3.701 6.259-5.87l1.461-1.577c.492-.522.974-1.053 1.396-1.634l2.612-3.422c.451-.56.82-1.177 1.198-1.788l1.125-1.841 1.105-1.853c.375-.613.642-1.286.964-1.929l1.812-3.917c.496-1.349.96-2.711 1.425-4.07.223-.683.477-1.355.667-2.046l.502-2.094c.314-1.399.688-2.784.927-4.192.358-2.836.876-5.65.881-8.497l.083-2.366.033-1.182c0-.393-.041-.787-.061-1.18" fill="url(#g)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 35 KiB |
@@ -0,0 +1,6 @@
|
|||||||
|
<svg width="113" height="40" viewBox="0 0 113 40" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g fill="#889BB0" fill-rule="nonzero">
|
||||||
|
<path d="M0 7h3.94v8.21h8.31V7h3.946v20.153H12.25V18.77H3.94v8.383H0V7zm28.678 13.589c0 1.687-1.465 3.06-3.264 3.06-1.799 0-3.264-1.373-3.264-3.06v-8.677h-3.736v8.677c0 3.62 3.14 6.564 7 6.564s7-2.945 7-6.564v-8.677h-3.736v8.677zm14.167-8.575c-1.854 0-3.147.504-4.397 1.655V7H34.7v12.359c0 4.626 3.567 7.794 7.573 7.794 4.454 0 8.357-3.225 8.357-7.57 0-4.29-3.599-7.57-7.784-7.57zm.093 11.886c-2.54 0-4.483-1.99-4.483-4.317s1.943-4.317 4.483-4.317c2.152 0 4.096 1.99 4.096 4.317S45.09 23.9 42.938 23.9zm13.987-11c0-1.768 1.256-2.328 2.63-2.328 1.107 0 2.572.785 3.527 1.738l2.451-2.69c-1.225-1.543-3.705-2.608-5.738-2.608-4.066 0-6.995 2.215-6.995 5.888 0 6.812 8.938 4.652 8.938 8.466 0 1.176-1.225 2.214-2.63 2.214-2.212 0-2.93-1.009-3.946-2.074l-2.72 2.634c1.734 1.991 3.886 3 6.457 3 3.856 0 6.964-2.242 6.964-5.747 0-7.569-8.938-5.214-8.938-8.493zm18.808-1.084c-4.007 0-7.573 3.167-7.573 7.794V32h3.748v-6.7c1.25 1.15 2.543 1.655 4.397 1.655 4.185 0 7.785-3.28 7.785-7.57 0-4.345-3.904-7.569-8.357-7.569zm.666 11.887c-2.54 0-4.483-1.992-4.483-4.318 0-2.327 1.943-4.317 4.483-4.317 2.152 0 4.095 1.99 4.095 4.317 0 2.326-1.943 4.318-4.095 4.318zm35.285.197c-2.211 0-2.84-.897-2.84-2.27v-6.084h3.438v-3.083h-3.437V8.397l-3.795 1.598v12.391c0 3.168 2.33 4.767 5.527 4.767.479 0 1.137-.03 1.496-.112l.927-3.196c-.418.027-.897.055-1.316.055z"/>
|
||||||
|
<path d="M100.964 15.775c-.714-1.105-1.718-1.99-2.974-2.658a8.595 8.595 0 0 0-3.009-.937V8.67c1.097-.42 1.778-1.346 1.778-2.428 0-1.474-1.315-2.668-2.952-2.668-1.639 0-2.976 1.194-2.976 2.668 0 1.082.641 2.009 1.738 2.428v3.513a9.297 9.297 0 0 0-2.618.738c-1.697-1.16-7.262-4.962-10.517-7.183.078-.25.137-.509.137-.781C79.57 3.323 78.1 2 76.285 2S73 3.323 73 4.956c0 1.632 1.47 2.956 3.287 2.956a3.53 3.53 0 0 0 1.686-.43l.687.468 9.44 6.117c-.5.412-.964.88-1.336 1.407-.753 1.072-1.214 2.252-1.214 3.538v.269c0 .903.191 1.756.516 2.557.286.7.705 1.336 1.223 1.91l-3.133 2.825c-.927-.31-1.97-.104-2.668.527a2.16 2.16 0 0 0-.743 1.615c0 .61.264 1.184.744 1.615.475.43 1.122.672 1.796.67a2.674 2.674 0 0 0 1.797-.67c.477-.427.745-1.009.743-1.615 0-.236-.04-.466-.117-.685l3.238-2.913c.444.276.924.508 1.44.708a9.221 9.221 0 0 0 3.366.637h.225a8.651 8.651 0 0 0 3.842-.874c1.269-.62 2.262-1.468 3.012-2.55.754-1.086 1.169-2.285 1.169-3.604v-.066c0-1.298-.334-2.496-1.036-3.593zm-3.956 6.11c-.879.879-1.89 1.42-3.031 1.42h-.188c-.653 0-1.29-.162-1.915-.457a4.292 4.292 0 0 1-1.678-1.374c-.452-.576-.698-1.205-.698-1.87V19.4c0-.655.14-1.277.492-1.863A4.23 4.23 0 0 1 91.552 16a4.133 4.133 0 0 1 2.163-.587h.074c.716 0 1.394.127 2.034.422a4.181 4.181 0 0 1 1.598 1.307c.401.565.64 1.174.717 1.837.012.138.018.28.018.414 0 .9-.383 1.735-1.148 2.492z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.8 KiB |
@@ -0,0 +1,22 @@
|
|||||||
|
<svg width="32" height="32" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<title>Blue</title>
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="95.059%" y1="50%" x2="5.575%" y2="50%" id="a">
|
||||||
|
<stop stop-color="#55FBDC" offset="0%"/>
|
||||||
|
<stop stop-color="#08F" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="95.059%" y1="50%" x2="5.575%" y2="50%" id="b">
|
||||||
|
<stop stop-color="#2ED4FF" offset="0%"/>
|
||||||
|
<stop stop-color="#08F" offset="98.277%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="48.165%" y1="66.639%" x2="0%" y2="0%" id="c">
|
||||||
|
<stop stop-color="#4F40DC" stop-opacity=".24" offset="0%"/>
|
||||||
|
<stop stop-color="#3525D3" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<path d="M4 0h20a8 8 0 1 1 0 16H0V4a4 4 0 0 1 4-4z" fill="url(#a)"/>
|
||||||
|
<path d="M0 16h24a8 8 0 1 1 0 16H4a4 4 0 0 1-4-4V16z" fill="url(#b)"/>
|
||||||
|
<path d="M4 0h12v32H4a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z" fill="url(#c)" opacity=".64"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 976 B |
@@ -0,0 +1,6 @@
|
|||||||
|
<svg width="150" height="40" viewBox="0 0 150 40" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g fill="#889BB0" fill-rule="evenodd">
|
||||||
|
<path d="M150 16.514v-2.647h-3.295V9.75l-.11.034-3.095.945-.061.019v3.118h-4.884V12.13c0-.81.181-1.428.538-1.841.355-.408.863-.615 1.51-.615.465 0 .947.11 1.431.325l.122.054V7.265l-.057-.021c-.452-.162-1.068-.244-1.83-.244-.96 0-1.834.209-2.596.622a4.432 4.432 0 0 0-1.78 1.757c-.419.751-.631 1.618-.631 2.578v1.91h-2.294v2.647h2.294v11.153h3.293V16.514h4.884v7.088c0 2.919 1.38 4.398 4.1 4.398.448 0 .919-.053 1.4-.155.488-.105.822-.21 1.018-.322l.043-.026v-2.672l-.134.089a2.309 2.309 0 0 1-.662.288 2.52 2.52 0 0 1-.65.11c-.638 0-1.11-.171-1.402-.51-.296-.34-.446-.938-.446-1.773v-6.515H150zm-24.387 8.799c-1.195 0-2.137-.396-2.801-1.175-.669-.783-1.007-1.9-1.007-3.317 0-1.464.338-2.61 1.007-3.406.664-.791 1.598-1.193 2.775-1.193 1.142 0 2.05.383 2.702 1.14.654.762.986 1.898.986 3.379 0 1.498-.312 2.65-.928 3.42-.612.764-1.531 1.152-2.734 1.152zm.147-11.779c-2.28 0-4.092.667-5.383 1.982-1.291 1.315-1.945 3.136-1.945 5.41 0 2.161.638 3.9 1.898 5.165 1.26 1.267 2.975 1.908 5.096 1.908 2.21 0 3.986-.676 5.277-2.009 1.29-1.332 1.945-3.135 1.945-5.356 0-2.195-.614-3.946-1.825-5.204-1.211-1.258-2.915-1.896-5.063-1.896zm-12.638 0c-1.551 0-2.834.396-3.815 1.177-.986.785-1.486 1.815-1.486 3.062 0 .647.108 1.223.32 1.711.214.49.545.921.985 1.283.436.359 1.11.735 2.001 1.117.75.308 1.31.569 1.665.774.347.201.594.404.733.6.135.193.204.457.204.783 0 .927-.696 1.378-2.128 1.378-.53 0-1.136-.11-1.8-.329a6.769 6.769 0 0 1-1.844-.932l-.136-.098v3.164l.05.023c.466.215 1.053.396 1.746.538.691.142 1.319.215 1.864.215 1.684 0 3.04-.398 4.028-1.183.996-.79 1.5-1.845 1.5-3.135 0-.93-.271-1.728-.807-2.37-.531-.639-1.454-1.225-2.74-1.743-1.026-.41-1.683-.751-1.954-1.013-.261-.253-.394-.61-.394-1.063 0-.401.164-.723.5-.983.339-.262.81-.395 1.401-.395.55 0 1.11.087 1.669.256.558.17 1.048.397 1.457.674l.134.092v-3.001l-.051-.022c-.378-.162-.875-.3-1.48-.412a9.05 9.05 0 0 0-1.622-.168zM99.236 25.313c-1.195 0-2.138-.396-2.802-1.175-.668-.783-1.006-1.899-1.006-3.317 0-1.464.338-2.61 1.007-3.406.664-.791 1.597-1.193 2.774-1.193 1.142 0 2.05.383 2.702 1.14.655.762.987 1.898.987 3.379 0 1.498-.313 2.65-.929 3.42-.611.764-1.53 1.152-2.733 1.152zm.147-11.779c-2.281 0-4.093.667-5.384 1.982-1.29 1.315-1.945 3.136-1.945 5.41 0 2.162.64 3.9 1.9 5.165C95.213 27.358 96.927 28 99.048 28c2.21 0 3.986-.676 5.277-2.009 1.29-1.332 1.945-3.135 1.945-5.356 0-2.195-.614-3.946-1.825-5.204-1.212-1.258-2.916-1.896-5.063-1.896zm-12.328 2.723v-2.39h-3.253v13.8h3.253v-7.06c0-1.2.273-2.186.811-2.93.531-.737 1.24-1.11 2.104-1.11.293 0 .622.049.978.144.353.095.608.198.759.306l.136.099v-3.273l-.052-.022c-.303-.129-.732-.194-1.274-.194-.818 0-1.55.263-2.176.779-.55.453-.947 1.075-1.251 1.85h-.035zm-9.079-2.723c-1.492 0-2.823.32-3.955.95a6.4 6.4 0 0 0-2.61 2.676c-.594 1.143-.896 2.478-.896 3.966 0 1.304.293 2.5.871 3.555a6.114 6.114 0 0 0 2.435 2.456c1.035.573 2.231.863 3.556.863 1.546 0 2.866-.309 3.924-.917l.043-.024v-2.974l-.137.1a6.12 6.12 0 0 1-1.591.826c-.575.2-1.1.302-1.56.302-1.276 0-2.3-.399-3.044-1.185-.746-.786-1.123-1.891-1.123-3.281 0-1.4.394-2.533 1.17-3.369.775-.833 1.802-1.256 3.052-1.256 1.069 0 2.11.361 3.096 1.075l.137.098v-3.133l-.044-.025c-.371-.207-.877-.378-1.505-.508a9.008 9.008 0 0 0-1.819-.195zm-9.701.333h-3.253v13.8h3.253v-13.8zm-1.593-5.879c-.536 0-1.003.182-1.386.542-.386.362-.581.817-.581 1.354 0 .529.193.975.575 1.327.379.351.847.529 1.392.529.544 0 1.014-.178 1.398-.528a1.73 1.73 0 0 0 .582-1.328c0-.518-.19-.969-.566-1.339-.375-.37-.851-.557-1.414-.557zm-8.117 4.86v14.819h3.32V8.41H57.29l-5.84 14.302-5.668-14.302H41v19.256h3.12v-14.82h.107l5.985 14.82h2.354l5.892-14.818h.107z" fill-rule="nonzero"/>
|
||||||
|
<path d="M15 16H0V2h15zM32 16H17V2h15zM15 33H0V19h15zM32 33H17V19h15z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.8 KiB |
@@ -0,0 +1,16 @@
|
|||||||
|
<svg width="56" height="56" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="0%" y1="7.585%" y2="100%" id="a">
|
||||||
|
<stop stop-color="#C3FFF4" offset="0%"/>
|
||||||
|
<stop stop-color="#C7E5FF" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="100%" y1="100%" x2="0%" y2="7.585%" id="b">
|
||||||
|
<stop stop-color="#006DCC" offset="0%"/>
|
||||||
|
<stop stop-color="#33A0FF" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<path fill="url(#a)" d="M0 0h56v56H0z"/>
|
||||||
|
<path fill="url(#b)" d="M16 16h9v24h-9zM29 16h5v24h-5zM38 16h2v24h-2z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 619 B |
@@ -0,0 +1,16 @@
|
|||||||
|
<svg width="56" height="56" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="0%" y1="7.585%" y2="100%" id="a">
|
||||||
|
<stop stop-color="#C3FFF4" offset="0%"/>
|
||||||
|
<stop stop-color="#C7E5FF" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="100%" y1="100%" x2="0%" y2="7.585%" id="b">
|
||||||
|
<stop stop-color="#006DCC" offset="0%"/>
|
||||||
|
<stop stop-color="#33A0FF" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<path fill="url(#a)" d="M0 0h56v56H0z"/>
|
||||||
|
<path d="M1 0h7v8H0V1a1 1 0 0 1 1-1zm7 8h8v8H8V8zm8-8h7a1 1 0 0 1 1 1v7h-8V0zM0 16h8v8H1a1 1 0 0 1-1-1v-7zm16 0h8v7a1 1 0 0 1-1 1h-7v-8z" transform="translate(16 16)" fill="url(#b)"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 730 B |
@@ -0,0 +1,16 @@
|
|||||||
|
<svg width="56" height="56" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="0%" y1="7.585%" y2="100%" id="a">
|
||||||
|
<stop stop-color="#C3FFF4" offset="0%"/>
|
||||||
|
<stop stop-color="#C7E5FF" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="100%" y1="100%" x2="0%" y2="7.585%" id="b">
|
||||||
|
<stop stop-color="#006DCC" offset="0%"/>
|
||||||
|
<stop stop-color="#33A0FF" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<path fill="url(#a)" d="M0 0h56v56H0z"/>
|
||||||
|
<path d="M16 30l10 10H16V30zm14 10l10-10v10H30zm0-24h10v10L30 16zM16 26V16h10L16 26z" fill="url(#b)"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 649 B |
|
After Width: | Height: | Size: 6.4 KiB |
@@ -0,0 +1,97 @@
|
|||||||
|
(function () {
|
||||||
|
const doc = document.documentElement
|
||||||
|
|
||||||
|
doc.classList.remove('no-js')
|
||||||
|
doc.classList.add('js')
|
||||||
|
|
||||||
|
// Reveal animations
|
||||||
|
if (document.body.classList.contains('has-animations')) {
|
||||||
|
/* global ScrollReveal */
|
||||||
|
const sr = window.sr = ScrollReveal()
|
||||||
|
|
||||||
|
sr.reveal('.hero-title, .hero-paragraph, .hero-cta', {
|
||||||
|
delay: 150,
|
||||||
|
duration: 1000,
|
||||||
|
distance: '60px',
|
||||||
|
easing: 'cubic-bezier(0.215, 0.61, 0.355, 1)',
|
||||||
|
origin: 'bottom',
|
||||||
|
interval: 150
|
||||||
|
})
|
||||||
|
|
||||||
|
sr.reveal('.hero-right-decoration', {
|
||||||
|
duration: 1000,
|
||||||
|
distance: '40px',
|
||||||
|
easing: 'cubic-bezier(0.215, 0.61, 0.355, 1)',
|
||||||
|
origin: 'top'
|
||||||
|
})
|
||||||
|
|
||||||
|
sr.reveal('.hero-left-decoration', {
|
||||||
|
duration: 1000,
|
||||||
|
distance: '40px',
|
||||||
|
easing: 'cubic-bezier(0.215, 0.61, 0.355, 1)',
|
||||||
|
origin: 'bottom'
|
||||||
|
})
|
||||||
|
|
||||||
|
sr.reveal('.clients li', {
|
||||||
|
delay: 300,
|
||||||
|
duration: 1000,
|
||||||
|
rotate: {
|
||||||
|
y: 50
|
||||||
|
},
|
||||||
|
easing: 'cubic-bezier(0.215, 0.61, 0.355, 1)',
|
||||||
|
interval: 150
|
||||||
|
})
|
||||||
|
|
||||||
|
sr.reveal('.feature, .tabs-links li, .testimonial, .pricing-table, .pricing-faqs, .cta-inner', {
|
||||||
|
duration: 600,
|
||||||
|
distance: '40px',
|
||||||
|
easing: 'cubic-bezier(0.215, 0.61, 0.355, 1)',
|
||||||
|
interval: 100,
|
||||||
|
origin: 'bottom',
|
||||||
|
viewFactor: 0.2
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// Accordion component
|
||||||
|
const accordionEl = document.getElementsByClassName('accordion-title')
|
||||||
|
|
||||||
|
if (accordionEl.length) {
|
||||||
|
for (let i = 0; i < accordionEl.length; i++) {
|
||||||
|
accordionEl[i].addEventListener('click', function () {
|
||||||
|
this.parentNode.classList.toggle('is-open')
|
||||||
|
const panel = this.nextElementSibling
|
||||||
|
if (panel.style.maxHeight) {
|
||||||
|
panel.style.maxHeight = null
|
||||||
|
} else {
|
||||||
|
panel.style.maxHeight = `${panel.scrollHeight}px`
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tabs component
|
||||||
|
const tabLinksAll = document.getElementsByClassName('tab-link')
|
||||||
|
|
||||||
|
if (tabLinksAll.length) {
|
||||||
|
for (let i = 0; i < tabLinksAll.length; i++) {
|
||||||
|
tabLinksAll[i].addEventListener('click', function (e) {
|
||||||
|
e.preventDefault()
|
||||||
|
let tabLinksContainer = tabLinksAll[i].parentNode.parentNode
|
||||||
|
let tabPanels = tabLinksContainer.nextElementSibling.getElementsByClassName('tab-panel')
|
||||||
|
let tabLinks = tabLinksContainer.getElementsByClassName('tab-link')
|
||||||
|
// Remove is-active class from all links and panels
|
||||||
|
for (let i = 0; i < tabLinks.length; i++) {
|
||||||
|
tabLinks[i].classList.remove('is-active')
|
||||||
|
}
|
||||||
|
for (let i = 0; i < tabPanels.length; i++) {
|
||||||
|
tabPanels[i].classList.remove('is-active')
|
||||||
|
}
|
||||||
|
// Get the ID of panel to display
|
||||||
|
let tabID = this.getAttribute('href')
|
||||||
|
// Add is-active class to matching link and panel
|
||||||
|
tabLinksAll[i].classList.add('is-active')
|
||||||
|
document.querySelector(tabID).classList.add('is-active')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}())
|
||||||
@@ -0,0 +1,231 @@
|
|||||||
|
html {
|
||||||
|
line-height: 1.15;
|
||||||
|
-ms-text-size-adjust: 100%;
|
||||||
|
-webkit-text-size-adjust: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
article,
|
||||||
|
aside,
|
||||||
|
footer,
|
||||||
|
header,
|
||||||
|
nav,
|
||||||
|
section {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2em;
|
||||||
|
margin: 0.67em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
figcaption,
|
||||||
|
figure,
|
||||||
|
main {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
figure {
|
||||||
|
margin: 1em 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
box-sizing: content-box;
|
||||||
|
height: 0;
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
font-family: monospace, monospace;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
background-color: transparent;
|
||||||
|
-webkit-text-decoration-skip: objects;
|
||||||
|
}
|
||||||
|
|
||||||
|
abbr[title] {
|
||||||
|
border-bottom: none;
|
||||||
|
text-decoration: underline;
|
||||||
|
text-decoration: underline dotted;
|
||||||
|
}
|
||||||
|
|
||||||
|
b,
|
||||||
|
strong {
|
||||||
|
font-weight: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
b,
|
||||||
|
strong {
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
|
||||||
|
code,
|
||||||
|
kbd,
|
||||||
|
samp {
|
||||||
|
font-family: monospace, monospace;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
dfn {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
mark {
|
||||||
|
background-color: #ff0;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
small {
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub,
|
||||||
|
sup {
|
||||||
|
font-size: 75%;
|
||||||
|
line-height: 0;
|
||||||
|
position: relative;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub {
|
||||||
|
bottom: -0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
sup {
|
||||||
|
top: -0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
audio,
|
||||||
|
video {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
audio:not([controls]) {
|
||||||
|
display: none;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
border-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
svg:not(:root) {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
optgroup,
|
||||||
|
select,
|
||||||
|
textarea {
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 100%;
|
||||||
|
line-height: 1.15;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
button,
|
||||||
|
input {
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
button,
|
||||||
|
select {
|
||||||
|
text-transform: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
button,
|
||||||
|
html [type="button"],
|
||||||
|
[type="reset"],
|
||||||
|
[type="submit"] {
|
||||||
|
-webkit-appearance: button;
|
||||||
|
}
|
||||||
|
|
||||||
|
button::-moz-focus-inner,
|
||||||
|
[type="button"]::-moz-focus-inner,
|
||||||
|
[type="reset"]::-moz-focus-inner,
|
||||||
|
[type="submit"]::-moz-focus-inner {
|
||||||
|
border-style: none;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:-moz-focusring,
|
||||||
|
[type="button"]:-moz-focusring,
|
||||||
|
[type="reset"]:-moz-focusring,
|
||||||
|
[type="submit"]:-moz-focusring {
|
||||||
|
outline: 1px dotted ButtonText;
|
||||||
|
}
|
||||||
|
|
||||||
|
fieldset {
|
||||||
|
padding: 0.35em 0.75em 0.625em;
|
||||||
|
}
|
||||||
|
|
||||||
|
legend {
|
||||||
|
box-sizing: border-box;
|
||||||
|
color: inherit;
|
||||||
|
display: table;
|
||||||
|
max-width: 100%;
|
||||||
|
padding: 0;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
progress {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
[type="checkbox"],
|
||||||
|
[type="radio"] {
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
[type="number"]::-webkit-inner-spin-button,
|
||||||
|
[type="number"]::-webkit-outer-spin-button {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
[type="search"] {
|
||||||
|
-webkit-appearance: textfield;
|
||||||
|
outline-offset: -2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
[type="search"]::-webkit-search-cancel-button,
|
||||||
|
[type="search"]::-webkit-search-decoration {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
::-webkit-file-upload-button {
|
||||||
|
-webkit-appearance: button;
|
||||||
|
font: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
details,
|
||||||
|
menu {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
summary {
|
||||||
|
display: list-item;
|
||||||
|
}
|
||||||
|
|
||||||
|
canvas {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
template {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
[hidden] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
// --------------------------------------------------------------------
|
||||||
|
// Retrieve Font Size -------------------------------------------------
|
||||||
|
// Used in _mixins.scss [@mixin font-size] ----------------------------
|
||||||
|
// --------------------------------------------------------------------
|
||||||
|
@function get-font-size($size, $elem) {
|
||||||
|
@return nth(map-get(map-get($font__scale, $elem), $size), 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------
|
||||||
|
// Retrieve Line Height -----------------------------------------------
|
||||||
|
// Used in _mixins.scss [@mixin font-size] ----------------------------
|
||||||
|
// --------------------------------------------------------------------
|
||||||
|
@function get-line-height($size, $elem) {
|
||||||
|
@return nth(map-get(map-get($font__scale, $elem), $size), 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------
|
||||||
|
// Retrieve Kerning ---------------------------------------------------
|
||||||
|
// Used in _mixins.scss [@mixin font-size] ----------------------------
|
||||||
|
// --------------------------------------------------------------------
|
||||||
|
@function get-kerning($size, $elem) {
|
||||||
|
@return nth(map-get(map-get($font__scale, $elem), $size), 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------
|
||||||
|
// Retrieve Font Family -----------------------------------------------
|
||||||
|
// Used in _mixins.scss [@mixin font-family] --------------------------
|
||||||
|
// --------------------------------------------------------------------
|
||||||
|
@function get-font-family($elem) {
|
||||||
|
@return map-get($font__family, $elem);
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------
|
||||||
|
// Retrieve Font Weight -----------------------------------------------
|
||||||
|
// Used in _mixins.scss [@mixin font-weight] --------------------------
|
||||||
|
// --------------------------------------------------------------------
|
||||||
|
@function get-font-weight($elem) {
|
||||||
|
@return map-get($font__weight, $elem);
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------
|
||||||
|
// Retrieve Padding of Content Area Elements --------------------------
|
||||||
|
// Used in _mixins.scss [@mixin font-size] ----------------------------
|
||||||
|
// --------------------------------------------------------------------
|
||||||
|
@function get-content-padding($elem) {
|
||||||
|
@return map-get($content__padding, $elem);
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------
|
||||||
|
// Retrieve Colors ----------------------------------------------------
|
||||||
|
// Usage: color(typography, 1) ----------------------------------------------
|
||||||
|
// --------------------------------------------------------------------
|
||||||
|
@function color($elem, $variant) {
|
||||||
|
@return map-get(map-get($color, $elem), $variant);
|
||||||
|
}
|
||||||
@@ -0,0 +1,567 @@
|
|||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
// _ _ _ _ _
|
||||||
|
// (_) | | | | | (_)
|
||||||
|
// _ _ __ ___| |_ _ __| | ___ _ __ ___ ___ __| |_ __ _
|
||||||
|
// | | '_ \ / __| | | | |/ _` |/ _ \ | '_ ` _ \ / _ \/ _` | |/ _` |
|
||||||
|
// | | | | | (__| | |_| | (_| | __/ | | | | | | __/ (_| | | (_| |
|
||||||
|
// |_|_| |_|\___|_|\__,_|\__,_|\___| |_| |_| |_|\___|\__,_|_|\__,_|
|
||||||
|
//
|
||||||
|
// Simple, elegant and maintainable media queries in Sass
|
||||||
|
// v1.4.9
|
||||||
|
//
|
||||||
|
// http://include-media.com
|
||||||
|
//
|
||||||
|
// Authors: Eduardo Boucas (@eduardoboucas)
|
||||||
|
// Hugo Giraudel (@hugogiraudel)
|
||||||
|
//
|
||||||
|
// This project is licensed under the terms of the MIT license
|
||||||
|
|
||||||
|
|
||||||
|
////
|
||||||
|
/// include-media library public configuration
|
||||||
|
/// @author Eduardo Boucas
|
||||||
|
/// @access public
|
||||||
|
////
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Creates a list of global breakpoints
|
||||||
|
///
|
||||||
|
/// @example scss - Creates a single breakpoint with the label `phone`
|
||||||
|
/// $breakpoints: ('phone': 320px);
|
||||||
|
///
|
||||||
|
$breakpoints: (
|
||||||
|
'small': 480px,
|
||||||
|
'medium': 640px,
|
||||||
|
'large': 1024px,
|
||||||
|
) !default;
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Creates a list of static expressions or media types
|
||||||
|
///
|
||||||
|
/// @example scss - Creates a single media type (screen)
|
||||||
|
/// $media-expressions: ('screen': 'screen');
|
||||||
|
///
|
||||||
|
/// @example scss - Creates a static expression with logical disjunction (OR operator)
|
||||||
|
/// $media-expressions: (
|
||||||
|
/// 'retina2x': '(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)'
|
||||||
|
/// );
|
||||||
|
///
|
||||||
|
$media-expressions: (
|
||||||
|
'screen': 'screen',
|
||||||
|
'print': 'print',
|
||||||
|
'handheld': 'handheld',
|
||||||
|
'landscape': '(orientation: landscape)',
|
||||||
|
'portrait': '(orientation: portrait)',
|
||||||
|
'retina2x': '(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx)',
|
||||||
|
'retina3x': '(-webkit-min-device-pixel-ratio: 3), (min-resolution: 350dpi), (min-resolution: 3dppx)'
|
||||||
|
) !default;
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Defines a number to be added or subtracted from each unit when declaring breakpoints with exclusive intervals
|
||||||
|
///
|
||||||
|
/// @example scss - Interval for pixels is defined as `1` by default
|
||||||
|
/// @include media('>128px') {}
|
||||||
|
///
|
||||||
|
/// /* Generates: */
|
||||||
|
/// @media (min-width: 129px) {}
|
||||||
|
///
|
||||||
|
/// @example scss - Interval for ems is defined as `0.01` by default
|
||||||
|
/// @include media('>20em') {}
|
||||||
|
///
|
||||||
|
/// /* Generates: */
|
||||||
|
/// @media (min-width: 20.01em) {}
|
||||||
|
///
|
||||||
|
/// @example scss - Interval for rems is defined as `0.1` by default, to be used with `font-size: 62.5%;`
|
||||||
|
/// @include media('>2.0rem') {}
|
||||||
|
///
|
||||||
|
/// /* Generates: */
|
||||||
|
/// @media (min-width: 2.1rem) {}
|
||||||
|
///
|
||||||
|
$unit-intervals: (
|
||||||
|
'px': 1,
|
||||||
|
'em': 0.01,
|
||||||
|
'rem': 0.1,
|
||||||
|
'': 0
|
||||||
|
) !default;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Defines whether support for media queries is available, useful for creating separate stylesheets
|
||||||
|
/// for browsers that don't support media queries.
|
||||||
|
///
|
||||||
|
/// @example scss - Disables support for media queries
|
||||||
|
/// $im-media-support: false;
|
||||||
|
/// @include media('>=tablet') {
|
||||||
|
/// .foo {
|
||||||
|
/// color: tomato;
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
/// /* Generates: */
|
||||||
|
/// .foo {
|
||||||
|
/// color: tomato;
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
$im-media-support: true !default;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Selects which breakpoint to emulate when support for media queries is disabled. Media queries that start at or
|
||||||
|
/// intercept the breakpoint will be displayed, any others will be ignored.
|
||||||
|
///
|
||||||
|
/// @example scss - This media query will show because it intercepts the static breakpoint
|
||||||
|
/// $im-media-support: false;
|
||||||
|
/// $im-no-media-breakpoint: 'desktop';
|
||||||
|
/// @include media('>=tablet') {
|
||||||
|
/// .foo {
|
||||||
|
/// color: tomato;
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
/// /* Generates: */
|
||||||
|
/// .foo {
|
||||||
|
/// color: tomato;
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
/// @example scss - This media query will NOT show because it does not intercept the desktop breakpoint
|
||||||
|
/// $im-media-support: false;
|
||||||
|
/// $im-no-media-breakpoint: 'tablet';
|
||||||
|
/// @include media('>=desktop') {
|
||||||
|
/// .foo {
|
||||||
|
/// color: tomato;
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
/// /* No output */
|
||||||
|
///
|
||||||
|
$im-no-media-breakpoint: 'desktop' !default;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Selects which media expressions are allowed in an expression for it to be used when media queries
|
||||||
|
/// are not supported.
|
||||||
|
///
|
||||||
|
/// @example scss - This media query will show because it intercepts the static breakpoint and contains only accepted media expressions
|
||||||
|
/// $im-media-support: false;
|
||||||
|
/// $im-no-media-breakpoint: 'desktop';
|
||||||
|
/// $im-no-media-expressions: ('screen');
|
||||||
|
/// @include media('>=tablet', 'screen') {
|
||||||
|
/// .foo {
|
||||||
|
/// color: tomato;
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
/// /* Generates: */
|
||||||
|
/// .foo {
|
||||||
|
/// color: tomato;
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
/// @example scss - This media query will NOT show because it intercepts the static breakpoint but contains a media expression that is not accepted
|
||||||
|
/// $im-media-support: false;
|
||||||
|
/// $im-no-media-breakpoint: 'desktop';
|
||||||
|
/// $im-no-media-expressions: ('screen');
|
||||||
|
/// @include media('>=tablet', 'retina2x') {
|
||||||
|
/// .foo {
|
||||||
|
/// color: tomato;
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
/// /* No output */
|
||||||
|
///
|
||||||
|
$im-no-media-expressions: ('screen', 'portrait', 'landscape') !default;
|
||||||
|
|
||||||
|
////
|
||||||
|
/// Cross-engine logging engine
|
||||||
|
/// @author Hugo Giraudel
|
||||||
|
/// @access private
|
||||||
|
////
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Log a message either with `@error` if supported
|
||||||
|
/// else with `@warn`, using `feature-exists('at-error')`
|
||||||
|
/// to detect support.
|
||||||
|
///
|
||||||
|
/// @param {String} $message - Message to log
|
||||||
|
///
|
||||||
|
@function im-log($message) {
|
||||||
|
@if feature-exists('at-error') {
|
||||||
|
@error $message;
|
||||||
|
} @else {
|
||||||
|
@warn $message;
|
||||||
|
$_: noop();
|
||||||
|
}
|
||||||
|
|
||||||
|
@return $message;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Wrapper mixin for the log function so it can be used with a more friendly
|
||||||
|
/// API than `@if im-log('..') {}` or `$_: im-log('..')`. Basically, use the function
|
||||||
|
/// within functions because it is not possible to include a mixin in a function
|
||||||
|
/// and use the mixin everywhere else because it's much more elegant.
|
||||||
|
///
|
||||||
|
/// @param {String} $message - Message to log
|
||||||
|
///
|
||||||
|
@mixin log($message) {
|
||||||
|
@if im-log($message) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Function with no `@return` called next to `@warn` in Sass 3.3
|
||||||
|
/// to trigger a compiling error and stop the process.
|
||||||
|
///
|
||||||
|
@function noop() {}
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Determines whether a list of conditions is intercepted by the static breakpoint.
|
||||||
|
///
|
||||||
|
/// @param {Arglist} $conditions - Media query conditions
|
||||||
|
///
|
||||||
|
/// @return {Boolean} - Returns true if the conditions are intercepted by the static breakpoint
|
||||||
|
///
|
||||||
|
@function im-intercepts-static-breakpoint($conditions...) {
|
||||||
|
$no-media-breakpoint-value: map-get($breakpoints, $im-no-media-breakpoint);
|
||||||
|
|
||||||
|
@if not $no-media-breakpoint-value {
|
||||||
|
@if im-log('`#{$im-no-media-breakpoint}` is not a valid breakpoint.') {}
|
||||||
|
}
|
||||||
|
|
||||||
|
@each $condition in $conditions {
|
||||||
|
@if not map-has-key($media-expressions, $condition) {
|
||||||
|
$operator: get-expression-operator($condition);
|
||||||
|
$prefix: get-expression-prefix($operator);
|
||||||
|
$value: get-expression-value($condition, $operator);
|
||||||
|
|
||||||
|
@if ($prefix == 'max' and $value <= $no-media-breakpoint-value) or
|
||||||
|
($prefix == 'min' and $value > $no-media-breakpoint-value) {
|
||||||
|
@return false;
|
||||||
|
}
|
||||||
|
} @else if not index($im-no-media-expressions, $condition) {
|
||||||
|
@return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
////
|
||||||
|
/// Parsing engine
|
||||||
|
/// @author Hugo Giraudel
|
||||||
|
/// @access private
|
||||||
|
////
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Get operator of an expression
|
||||||
|
///
|
||||||
|
/// @param {String} $expression - Expression to extract operator from
|
||||||
|
///
|
||||||
|
/// @return {String} - Any of `>=`, `>`, `<=`, `<`, `≥`, `≤`
|
||||||
|
///
|
||||||
|
@function get-expression-operator($expression) {
|
||||||
|
@each $operator in ('>=', '>', '<=', '<', '≥', '≤') {
|
||||||
|
@if str-index($expression, $operator) {
|
||||||
|
@return $operator;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// It is not possible to include a mixin inside a function, so we have to
|
||||||
|
// rely on the `im-log(..)` function rather than the `log(..)` mixin. Because
|
||||||
|
// functions cannot be called anywhere in Sass, we need to hack the call in
|
||||||
|
// a dummy variable, such as `$_`. If anybody ever raise a scoping issue with
|
||||||
|
// Sass 3.3, change this line in `@if im-log(..) {}` instead.
|
||||||
|
$_: im-log('No operator found in `#{$expression}`.');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Get dimension of an expression, based on a found operator
|
||||||
|
///
|
||||||
|
/// @param {String} $expression - Expression to extract dimension from
|
||||||
|
/// @param {String} $operator - Operator from `$expression`
|
||||||
|
///
|
||||||
|
/// @return {String} - `width` or `height` (or potentially anything else)
|
||||||
|
///
|
||||||
|
@function get-expression-dimension($expression, $operator) {
|
||||||
|
$operator-index: str-index($expression, $operator);
|
||||||
|
$parsed-dimension: str-slice($expression, 0, $operator-index - 1);
|
||||||
|
$dimension: 'width';
|
||||||
|
|
||||||
|
@if str-length($parsed-dimension) > 0 {
|
||||||
|
$dimension: $parsed-dimension;
|
||||||
|
}
|
||||||
|
|
||||||
|
@return $dimension;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Get dimension prefix based on an operator
|
||||||
|
///
|
||||||
|
/// @param {String} $operator - Operator
|
||||||
|
///
|
||||||
|
/// @return {String} - `min` or `max`
|
||||||
|
///
|
||||||
|
@function get-expression-prefix($operator) {
|
||||||
|
@return if(index(('<', '<=', '≤'), $operator), 'max', 'min');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Get value of an expression, based on a found operator
|
||||||
|
///
|
||||||
|
/// @param {String} $expression - Expression to extract value from
|
||||||
|
/// @param {String} $operator - Operator from `$expression`
|
||||||
|
///
|
||||||
|
/// @return {Number} - A numeric value
|
||||||
|
///
|
||||||
|
@function get-expression-value($expression, $operator) {
|
||||||
|
$operator-index: str-index($expression, $operator);
|
||||||
|
$value: str-slice($expression, $operator-index + str-length($operator));
|
||||||
|
|
||||||
|
@if map-has-key($breakpoints, $value) {
|
||||||
|
$value: map-get($breakpoints, $value);
|
||||||
|
} @else {
|
||||||
|
$value: to-number($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
$interval: map-get($unit-intervals, unit($value));
|
||||||
|
|
||||||
|
@if not $interval {
|
||||||
|
// It is not possible to include a mixin inside a function, so we have to
|
||||||
|
// rely on the `im-log(..)` function rather than the `log(..)` mixin. Because
|
||||||
|
// functions cannot be called anywhere in Sass, we need to hack the call in
|
||||||
|
// a dummy variable, such as `$_`. If anybody ever raise a scoping issue with
|
||||||
|
// Sass 3.3, change this line in `@if im-log(..) {}` instead.
|
||||||
|
$_: im-log('Unknown unit `#{unit($value)}`.');
|
||||||
|
}
|
||||||
|
|
||||||
|
@if $operator == '>' {
|
||||||
|
$value: $value + $interval;
|
||||||
|
} @else if $operator == '<' {
|
||||||
|
$value: $value - $interval;
|
||||||
|
}
|
||||||
|
|
||||||
|
@return $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Parse an expression to return a valid media-query expression
|
||||||
|
///
|
||||||
|
/// @param {String} $expression - Expression to parse
|
||||||
|
///
|
||||||
|
/// @return {String} - Valid media query
|
||||||
|
///
|
||||||
|
@function parse-expression($expression) {
|
||||||
|
// If it is part of $media-expressions, it has no operator
|
||||||
|
// then there is no need to go any further, just return the value
|
||||||
|
@if map-has-key($media-expressions, $expression) {
|
||||||
|
@return map-get($media-expressions, $expression);
|
||||||
|
}
|
||||||
|
|
||||||
|
$operator: get-expression-operator($expression);
|
||||||
|
$dimension: get-expression-dimension($expression, $operator);
|
||||||
|
$prefix: get-expression-prefix($operator);
|
||||||
|
$value: get-expression-value($expression, $operator);
|
||||||
|
|
||||||
|
@return '(#{$prefix}-#{$dimension}: #{$value})';
|
||||||
|
}
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Slice `$list` between `$start` and `$end` indexes
|
||||||
|
///
|
||||||
|
/// @access private
|
||||||
|
///
|
||||||
|
/// @param {List} $list - List to slice
|
||||||
|
/// @param {Number} $start [1] - Start index
|
||||||
|
/// @param {Number} $end [length($list)] - End index
|
||||||
|
///
|
||||||
|
/// @return {List} Sliced list
|
||||||
|
///
|
||||||
|
@function slice($list, $start: 1, $end: length($list)) {
|
||||||
|
@if length($list) < 1 or $start > $end {
|
||||||
|
@return ();
|
||||||
|
}
|
||||||
|
|
||||||
|
$result: ();
|
||||||
|
|
||||||
|
@for $i from $start through $end {
|
||||||
|
$result: append($result, nth($list, $i));
|
||||||
|
}
|
||||||
|
|
||||||
|
@return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
////
|
||||||
|
/// String to number converter
|
||||||
|
/// @author Hugo Giraudel
|
||||||
|
/// @access private
|
||||||
|
////
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Casts a string into a number
|
||||||
|
///
|
||||||
|
/// @param {String | Number} $value - Value to be parsed
|
||||||
|
///
|
||||||
|
/// @return {Number}
|
||||||
|
///
|
||||||
|
@function to-number($value) {
|
||||||
|
@if type-of($value) == 'number' {
|
||||||
|
@return $value;
|
||||||
|
} @else if type-of($value) != 'string' {
|
||||||
|
$_: im-log('Value for `to-number` should be a number or a string.');
|
||||||
|
}
|
||||||
|
|
||||||
|
$first-character: str-slice($value, 1, 1);
|
||||||
|
$result: 0;
|
||||||
|
$digits: 0;
|
||||||
|
$minus: ($first-character == '-');
|
||||||
|
$numbers: ('0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9);
|
||||||
|
|
||||||
|
// Remove +/- sign if present at first character
|
||||||
|
@if ($first-character == '+' or $first-character == '-') {
|
||||||
|
$value: str-slice($value, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
@for $i from 1 through str-length($value) {
|
||||||
|
$character: str-slice($value, $i, $i);
|
||||||
|
|
||||||
|
@if not (index(map-keys($numbers), $character) or $character == '.') {
|
||||||
|
@return to-length(if($minus, -$result, $result), str-slice($value, $i))
|
||||||
|
}
|
||||||
|
|
||||||
|
@if $character == '.' {
|
||||||
|
$digits: 1;
|
||||||
|
} @else if $digits == 0 {
|
||||||
|
$result: $result * 10 + map-get($numbers, $character);
|
||||||
|
} @else {
|
||||||
|
$digits: $digits * 10;
|
||||||
|
$result: $result + map-get($numbers, $character) / $digits;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@return if($minus, -$result, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Add `$unit` to `$value`
|
||||||
|
///
|
||||||
|
/// @param {Number} $value - Value to add unit to
|
||||||
|
/// @param {String} $unit - String representation of the unit
|
||||||
|
///
|
||||||
|
/// @return {Number} - `$value` expressed in `$unit`
|
||||||
|
///
|
||||||
|
@function to-length($value, $unit) {
|
||||||
|
$units: ('px': 1px, 'cm': 1cm, 'mm': 1mm, '%': 1%, 'ch': 1ch, 'pc': 1pc, 'in': 1in, 'em': 1em, 'rem': 1rem, 'pt': 1pt, 'ex': 1ex, 'vw': 1vw, 'vh': 1vh, 'vmin': 1vmin, 'vmax': 1vmax);
|
||||||
|
|
||||||
|
@if not index(map-keys($units), $unit) {
|
||||||
|
$_: im-log('Invalid unit `#{$unit}`.');
|
||||||
|
}
|
||||||
|
|
||||||
|
@return $value * map-get($units, $unit);
|
||||||
|
}
|
||||||
|
|
||||||
|
///
|
||||||
|
/// This mixin aims at redefining the configuration just for the scope of
|
||||||
|
/// the call. It is helpful when having a component needing an extended
|
||||||
|
/// configuration such as custom breakpoints (referred to as tweakpoints)
|
||||||
|
/// for instance.
|
||||||
|
///
|
||||||
|
/// @author Hugo Giraudel
|
||||||
|
///
|
||||||
|
/// @param {Map} $tweakpoints [()] - Map of tweakpoints to be merged with `$breakpoints`
|
||||||
|
/// @param {Map} $tweak-media-expressions [()] - Map of tweaked media expressions to be merged with `$media-expression`
|
||||||
|
///
|
||||||
|
/// @example scss - Extend the global breakpoints with a tweakpoint
|
||||||
|
/// @include media-context(('custom': 678px)) {
|
||||||
|
/// .foo {
|
||||||
|
/// @include media('>phone', '<=custom') {
|
||||||
|
/// // ...
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
/// @example scss - Extend the global media expressions with a custom one
|
||||||
|
/// @include media-context($tweak-media-expressions: ('all': 'all')) {
|
||||||
|
/// .foo {
|
||||||
|
/// @include media('all', '>phone') {
|
||||||
|
/// // ...
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
/// @example scss - Extend both configuration maps
|
||||||
|
/// @include media-context(('custom': 678px), ('all': 'all')) {
|
||||||
|
/// .foo {
|
||||||
|
/// @include media('all', '>phone', '<=custom') {
|
||||||
|
/// // ...
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
@mixin media-context($tweakpoints: (), $tweak-media-expressions: ()) {
|
||||||
|
// Save global configuration
|
||||||
|
$global-breakpoints: $breakpoints;
|
||||||
|
$global-media-expressions: $media-expressions;
|
||||||
|
|
||||||
|
// Update global configuration
|
||||||
|
$breakpoints: map-merge($breakpoints, $tweakpoints) !global;
|
||||||
|
$media-expressions: map-merge($media-expressions, $tweak-media-expressions) !global;
|
||||||
|
|
||||||
|
@content;
|
||||||
|
|
||||||
|
// Restore global configuration
|
||||||
|
$breakpoints: $global-breakpoints !global;
|
||||||
|
$media-expressions: $global-media-expressions !global;
|
||||||
|
}
|
||||||
|
|
||||||
|
////
|
||||||
|
/// include-media public exposed API
|
||||||
|
/// @author Eduardo Boucas
|
||||||
|
/// @access public
|
||||||
|
////
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Generates a media query based on a list of conditions
|
||||||
|
///
|
||||||
|
/// @param {Arglist} $conditions - Media query conditions
|
||||||
|
///
|
||||||
|
/// @example scss - With a single set breakpoint
|
||||||
|
/// @include media('>phone') { }
|
||||||
|
///
|
||||||
|
/// @example scss - With two set breakpoints
|
||||||
|
/// @include media('>phone', '<=tablet') { }
|
||||||
|
///
|
||||||
|
/// @example scss - With custom values
|
||||||
|
/// @include media('>=358px', '<850px') { }
|
||||||
|
///
|
||||||
|
/// @example scss - With set breakpoints with custom values
|
||||||
|
/// @include media('>desktop', '<=1350px') { }
|
||||||
|
///
|
||||||
|
/// @example scss - With a static expression
|
||||||
|
/// @include media('retina2x') { }
|
||||||
|
///
|
||||||
|
/// @example scss - Mixing everything
|
||||||
|
/// @include media('>=350px', '<tablet', 'retina3x') { }
|
||||||
|
///
|
||||||
|
@mixin media($conditions...) {
|
||||||
|
@if ($im-media-support and length($conditions) == 0) or
|
||||||
|
(not $im-media-support and im-intercepts-static-breakpoint($conditions...)) {
|
||||||
|
@content;
|
||||||
|
} @else if ($im-media-support and length($conditions) > 0) {
|
||||||
|
@media #{unquote(parse-expression(nth($conditions, 1)))} {
|
||||||
|
// Recursive call
|
||||||
|
@include media(slice($conditions, 2)...) {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
// Font-size + Line-height + Kerning
|
||||||
|
// Usage: @include font-size(1, mobile)
|
||||||
|
// Add more true/false args to control what to output: font-size, line-height, kerning
|
||||||
|
@mixin font-size($size, $elem, $font-size: true, $line-height: false, $kerning: false, $adjust-font-size: 0) {
|
||||||
|
@if not map-has-key(map-get($font__scale, $elem), $size) {
|
||||||
|
@warn "'#{$size}' key does not exist in array!";
|
||||||
|
}
|
||||||
|
@if ( $font-size != false ) {
|
||||||
|
font-size: get-font-size($size, $elem) + $adjust-font-size;
|
||||||
|
}
|
||||||
|
@if ( $line-height == true ) {
|
||||||
|
line-height: get-line-height($size, $elem);
|
||||||
|
}
|
||||||
|
@if ( $kerning == true ) {
|
||||||
|
letter-spacing: get-kerning($size, $elem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Font Family
|
||||||
|
@mixin font-family($elem) {
|
||||||
|
font-family: unquote(get-font-family($elem));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Font Weight
|
||||||
|
@mixin font-weight($elem) {
|
||||||
|
font-weight: get-font-weight($elem);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Anchor aspect
|
||||||
|
@mixin anchor-aspect($type: 'main') {
|
||||||
|
@if ($type == 'main') { // Base
|
||||||
|
color: color(primary, 1);
|
||||||
|
text-decoration: none;
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&:active {
|
||||||
|
outline: 0;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
} @else if ($type == 'header') {
|
||||||
|
color: color(typography, 2i);
|
||||||
|
text-transform: uppercase;
|
||||||
|
text-decoration: none;
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&:active {
|
||||||
|
color: color(typography, 1i);
|
||||||
|
}
|
||||||
|
} @else if ($type == 'footer') {
|
||||||
|
color: color(typography, 3);
|
||||||
|
text-decoration: none;
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&:active {
|
||||||
|
color: color(typography, 1i);
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin shadow {
|
||||||
|
box-shadow: 0 16px 48px rgba(color(typography, 1), .12);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin shadow-sm {
|
||||||
|
box-shadow: 0 16px 24px rgba(color(typography, 1), .12);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin divider-mix {
|
||||||
|
display: block;
|
||||||
|
height: 1px;
|
||||||
|
background: color(bg, 3);
|
||||||
|
background: linear-gradient(to right, rgba(color(bg, 3), .1) 0, rgba(color(bg, 3), .6) 50%, rgba(color(bg, 3), .1) 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin divider($type: false) {
|
||||||
|
@if ( $type == 'before' ) {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
@include divider-mix;
|
||||||
|
}
|
||||||
|
} @else if ($type == 'after') {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
@include divider-mix;
|
||||||
|
}
|
||||||
|
} @else {
|
||||||
|
@include divider-mix;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
// --------------------------------------------
|
||||||
|
// Colors -------------------------------------
|
||||||
|
// Usage example: color(primary, main)
|
||||||
|
// --------------------------------------------
|
||||||
|
$color: (
|
||||||
|
typography: (
|
||||||
|
1: #202932,
|
||||||
|
2: #333E4A,
|
||||||
|
3: #889BB0,
|
||||||
|
1i: #FFF,
|
||||||
|
2i: rgba( #FFF, .8 )
|
||||||
|
),
|
||||||
|
bg: (
|
||||||
|
1: #FFFFFF,
|
||||||
|
2: #F5F6F7,
|
||||||
|
3: #DEE3E9
|
||||||
|
),
|
||||||
|
primary: (
|
||||||
|
1: #3525D3,
|
||||||
|
2: #594BE0,
|
||||||
|
3: #2A1DA8,
|
||||||
|
4: #DDD9FF
|
||||||
|
),
|
||||||
|
secondary: (
|
||||||
|
1: #0088FF,
|
||||||
|
2: #33A0FF,
|
||||||
|
3: #006DCC,
|
||||||
|
4: #C7E5FF
|
||||||
|
),
|
||||||
|
tertiary: (
|
||||||
|
1: #00C7FA,
|
||||||
|
2: #2ED4FF,
|
||||||
|
3: #009EC7,
|
||||||
|
4: #C2F2FF
|
||||||
|
),
|
||||||
|
quaternary: (
|
||||||
|
1: #55FBDC,
|
||||||
|
2: #87FCE6,
|
||||||
|
3: #23FAD2,
|
||||||
|
4: #C3FFF4
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// --------------------------------------------
|
||||||
|
// Typography ---------------------------------
|
||||||
|
// --------------------------------------------
|
||||||
|
$font__family: (
|
||||||
|
base: '"Oxygen", sans-serif', // font-family(base)
|
||||||
|
heading: '"Arimo", sans-serif', // font-family(heading)
|
||||||
|
code: 'Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace', // font-family(code)
|
||||||
|
pre: '"Courier 10 Pitch", Courier, monospace' // font-family(pre)
|
||||||
|
);
|
||||||
|
|
||||||
|
$font__sizes: (
|
||||||
|
alpha: ( 42px, 52px, -0.1px ), // font-size, line-height, kerning (use '0' if don't want to output any kerning)
|
||||||
|
beta: ( 38px, 48px, -0.1px ),
|
||||||
|
gamma: ( 32px, 42px, -0.1px ),
|
||||||
|
delta: ( 24px, 34px, -0.1px ),
|
||||||
|
epsilon: ( 20px, 30px, -0.1px ),
|
||||||
|
zeta: ( 18px, 27px, -0.1px ),
|
||||||
|
eta: ( 16px, 24px, -0.1px ),
|
||||||
|
theta: ( 14px, 20px, 0px )
|
||||||
|
);
|
||||||
|
|
||||||
|
$font__scale: (
|
||||||
|
desktop: ( // i.e. $breakpoint__m + $breakpoint__l (600 - 1024)
|
||||||
|
1: map-get($font__sizes, alpha), // H1
|
||||||
|
2: map-get($font__sizes, beta), // H2
|
||||||
|
3: map-get($font__sizes, gamma), // H3
|
||||||
|
4: map-get($font__sizes, epsilon), // H4, H5, H6
|
||||||
|
5: map-get($font__sizes, epsilon), // Body
|
||||||
|
6: map-get($font__sizes, zeta), // Text small
|
||||||
|
7: map-get($font__sizes, eta), // Text smaller
|
||||||
|
8: map-get($font__sizes, theta) // Footer area
|
||||||
|
),
|
||||||
|
mobile: ( // i.e. $breakpoint__xs + $breakpoint__s (up to 600)
|
||||||
|
1: map-get($font__sizes, alpha), // H1
|
||||||
|
2: map-get($font__sizes, beta), // H2
|
||||||
|
3: map-get($font__sizes, gamma), // H3
|
||||||
|
4: map-get($font__sizes, epsilon), // H4, H5, H6
|
||||||
|
5: map-get($font__sizes, epsilon), // Body
|
||||||
|
6: map-get($font__sizes, zeta), // Text small
|
||||||
|
7: map-get($font__sizes, eta), // Text smaller
|
||||||
|
8: map-get($font__sizes, theta) // Footer area
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
$font__weight: (
|
||||||
|
regular: 400, // font__weight(regular)
|
||||||
|
medium: 500, // font__weight(medium)
|
||||||
|
semibold: 600, // font__weight(semi-bold)
|
||||||
|
bold: 700 // font__weight(bold)
|
||||||
|
);
|
||||||
|
|
||||||
|
// --------------------------------------------
|
||||||
|
// Structure ----------------------------------
|
||||||
|
// --------------------------------------------
|
||||||
|
$content__padding: (
|
||||||
|
mobile: 16px,
|
||||||
|
desktop: 24px
|
||||||
|
);
|
||||||
|
$container__width: 1080px;
|
||||||
|
$container__width-sm: 800px;
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
html {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
*,
|
||||||
|
*:before,
|
||||||
|
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
|
||||||
|
box-sizing: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
background: color(bg, 1); /* Fallback for when there is no custom background color defined. */
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border: 0;
|
||||||
|
@include divider();
|
||||||
|
margin-top: 24px;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul, ol {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
padding-left: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
list-style: disc;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol {
|
||||||
|
list-style: decimal;
|
||||||
|
}
|
||||||
|
|
||||||
|
li > ul,
|
||||||
|
li > ol {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
dt {
|
||||||
|
@include font-weight(bold);
|
||||||
|
}
|
||||||
|
|
||||||
|
dd {
|
||||||
|
margin-left: 24px;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
height: auto; /* Make sure images are scaled correctly. */
|
||||||
|
max-width: 100%; /* Adhere to container width. */
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
figure {
|
||||||
|
margin: 24px 0; /* Extra wide images within figure tags don't overflow the content area. */
|
||||||
|
}
|
||||||
|
|
||||||
|
figcaption {
|
||||||
|
@include font-size(8, mobile, true, true);
|
||||||
|
padding: 8px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
img,
|
||||||
|
svg {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
// tables
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr {
|
||||||
|
border-bottom: 1px solid color(bg, 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
th,
|
||||||
|
td {
|
||||||
|
padding: 10px 16px;
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,468 @@
|
|||||||
|
.container,
|
||||||
|
.container-sm {
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding-left: get-content-padding(mobile);
|
||||||
|
padding-right: get-content-padding(mobile);
|
||||||
|
|
||||||
|
@include media( '>small' ) {
|
||||||
|
padding-left: get-content-padding(desktop);
|
||||||
|
padding-right: get-content-padding(desktop);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: $container__width + ( get-content-padding(desktop) * 2 );
|
||||||
|
}
|
||||||
|
|
||||||
|
.container-sm {
|
||||||
|
max-width: $container__width-sm + ( get-content-padding(desktop) * 2 );
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
|
||||||
|
.container-sm {
|
||||||
|
max-width: $container__width-sm;
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Text meant only for screen readers. */
|
||||||
|
.screen-reader-text {
|
||||||
|
clip: rect(1px, 1px, 1px, 1px);
|
||||||
|
position: absolute !important;
|
||||||
|
height: 1px;
|
||||||
|
width: 1px;
|
||||||
|
overflow: hidden;
|
||||||
|
word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
|
||||||
|
|
||||||
|
&:focus {
|
||||||
|
border-radius: 2px;
|
||||||
|
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
|
||||||
|
clip: auto !important;
|
||||||
|
display: block;
|
||||||
|
@include font-size(7, mobile, true, false, true);
|
||||||
|
@if ( get-font-size(7, desktop) != get-font-size(7, mobile) ) {
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
@include font-size(7, desktop, true, false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@include font-weight(bold);
|
||||||
|
line-height: 16px;
|
||||||
|
text-decoration: none;
|
||||||
|
background-color: color(bg, 1);
|
||||||
|
color: color(primary, 1) !important;
|
||||||
|
border: none;
|
||||||
|
height: auto;
|
||||||
|
left: 8px;
|
||||||
|
padding: 16px 32px;
|
||||||
|
top: 8px;
|
||||||
|
width: auto;
|
||||||
|
z-index: 100000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-reset {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-left {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-right {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-primary {
|
||||||
|
color: color(primary, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-secondary {
|
||||||
|
color: color(secondary, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.has-top-divider {
|
||||||
|
@include divider(before);
|
||||||
|
}
|
||||||
|
|
||||||
|
.has-bottom-divider {
|
||||||
|
@include divider(after);
|
||||||
|
}
|
||||||
|
|
||||||
|
.m-0 {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mt-0 {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mr-0 {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mb-0 {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ml-0 {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.m-8 {
|
||||||
|
margin: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mt-8 {
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mr-8 {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mb-8 {
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ml-8 {
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.m-16 {
|
||||||
|
margin: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mt-16 {
|
||||||
|
margin-top: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mr-16 {
|
||||||
|
margin-right: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mb-16 {
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ml-16 {
|
||||||
|
margin-left: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.m-24 {
|
||||||
|
margin: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mt-24 {
|
||||||
|
margin-top: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mr-24 {
|
||||||
|
margin-right: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mb-24 {
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ml-24 {
|
||||||
|
margin-left: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.m-32 {
|
||||||
|
margin: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mt-32 {
|
||||||
|
margin-top: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mr-32 {
|
||||||
|
margin-right: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mb-32 {
|
||||||
|
margin-bottom: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ml-32 {
|
||||||
|
margin-left: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.m-40 {
|
||||||
|
margin: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mt-40 {
|
||||||
|
margin-top: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mr-40 {
|
||||||
|
margin-right: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mb-40 {
|
||||||
|
margin-bottom: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ml-40 {
|
||||||
|
margin-left: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.m-48 {
|
||||||
|
margin: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mt-48 {
|
||||||
|
margin-top: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mr-48 {
|
||||||
|
margin-right: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mb-48 {
|
||||||
|
margin-bottom: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ml-48 {
|
||||||
|
margin-left: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.m-56 {
|
||||||
|
margin: 56px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mt-56 {
|
||||||
|
margin-top: 56px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mr-56 {
|
||||||
|
margin-right: 56px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mb-56 {
|
||||||
|
margin-bottom: 56px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ml-56 {
|
||||||
|
margin-left: 56px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.m-64 {
|
||||||
|
margin: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mt-64 {
|
||||||
|
margin-top: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mr-64 {
|
||||||
|
margin-right: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mb-64 {
|
||||||
|
margin-bottom: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ml-64 {
|
||||||
|
margin-left: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.p-0 {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pt-0 {
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pr-0 {
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pb-0 {
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pl-0 {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.p-8 {
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pt-8 {
|
||||||
|
padding-top: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pr-8 {
|
||||||
|
padding-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pb-8 {
|
||||||
|
padding-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pl-8 {
|
||||||
|
padding-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.p-16 {
|
||||||
|
padding: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pt-16 {
|
||||||
|
padding-top: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pr-16 {
|
||||||
|
padding-right: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pb-16 {
|
||||||
|
padding-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pl-16 {
|
||||||
|
padding-left: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.p-24 {
|
||||||
|
padding: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pt-24 {
|
||||||
|
padding-top: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pr-24 {
|
||||||
|
padding-right: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pb-24 {
|
||||||
|
padding-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pl-24 {
|
||||||
|
padding-left: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.p-32 {
|
||||||
|
padding: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pt-32 {
|
||||||
|
padding-top: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pr-32 {
|
||||||
|
padding-right: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pb-32 {
|
||||||
|
padding-bottom: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pl-32 {
|
||||||
|
padding-left: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.p-40 {
|
||||||
|
padding: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pt-40 {
|
||||||
|
padding-top: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pr-40 {
|
||||||
|
padding-right: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pb-40 {
|
||||||
|
padding-bottom: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pl-40 {
|
||||||
|
padding-left: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.p-48 {
|
||||||
|
padding: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pt-48 {
|
||||||
|
padding-top: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pr-48 {
|
||||||
|
padding-right: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pb-48 {
|
||||||
|
padding-bottom: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pl-48 {
|
||||||
|
padding-left: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.p-56 {
|
||||||
|
padding: 56px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pt-56 {
|
||||||
|
padding-top: 56px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pr-56 {
|
||||||
|
padding-right: 56px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pb-56 {
|
||||||
|
padding-bottom: 56px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pl-56 {
|
||||||
|
padding-left: 56px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.p-64 {
|
||||||
|
padding: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pt-64 {
|
||||||
|
padding-top: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pr-64 {
|
||||||
|
padding-right: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pb-64 {
|
||||||
|
padding-bottom: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pl-64 {
|
||||||
|
padding-left: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Reveal animations */
|
||||||
|
.sr {
|
||||||
|
|
||||||
|
.has-animations {
|
||||||
|
|
||||||
|
.is-revealing {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,252 @@
|
|||||||
|
html {
|
||||||
|
@include font-size(5, mobile, true, true);
|
||||||
|
@if ( get-font-size(5, desktop) != get-font-size(5, mobile) ) {
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
@include font-size(5, desktop, true, true, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
color: color(typography, 2);
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
body,
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
select,
|
||||||
|
textarea {
|
||||||
|
@include font-family(base);
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
@include anchor-aspect(main);
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6,
|
||||||
|
.h1, .h2, .h3, .h4, .h5, .h6 {
|
||||||
|
clear: both;
|
||||||
|
color: color(typography, 1);
|
||||||
|
@if ( get-font-family(heading) != get-font-family(base) ) {
|
||||||
|
@include font-family(heading);
|
||||||
|
}
|
||||||
|
@include font-weight(bold);
|
||||||
|
}
|
||||||
|
|
||||||
|
h1,
|
||||||
|
.h1 {
|
||||||
|
@include font-size(1, mobile, true, true, true);
|
||||||
|
@if ( get-font-size(1, desktop) != get-font-size(1, mobile) ) {
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
@include font-size(1, desktop, true, true, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
h2,
|
||||||
|
.h2 {
|
||||||
|
@include font-size(2, mobile, true, true, true);
|
||||||
|
@if ( get-font-size(2, desktop) != get-font-size(2, mobile) ) {
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
@include font-size(2, desktop, true, true, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
h3,
|
||||||
|
.h3,
|
||||||
|
blockquote {
|
||||||
|
@include font-size(3, mobile, true, true, true);
|
||||||
|
@if ( get-font-size(3, desktop) != get-font-size(3, mobile) ) {
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
@include font-size(3, desktop, true, true, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6,
|
||||||
|
.h4,
|
||||||
|
.h5,
|
||||||
|
.h6 {
|
||||||
|
@include font-size(4, mobile, true, true, true);
|
||||||
|
@if ( get-font-size(4, desktop) != get-font-size(4, mobile) ) {
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
@include font-size(4, desktop, true, true, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '<=medium' ) {
|
||||||
|
|
||||||
|
.h1-mobile {
|
||||||
|
@include font-size(1, mobile, true, true, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
.h2-mobile {
|
||||||
|
@include font-size(2, mobile, true, true, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
.h3-mobile {
|
||||||
|
@include font-size(3, mobile, true, true, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
.h4-mobile,
|
||||||
|
.h5-mobile,
|
||||||
|
.h6-mobile {
|
||||||
|
@include font-size(4, mobile, true, true, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-light {
|
||||||
|
color: color(typography, 2i);
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: color(typography, 2i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-light {
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6,
|
||||||
|
.h1, .h2, .h3, .h4, .h5, .h6 {
|
||||||
|
color: color(typography, 1i) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-sm {
|
||||||
|
@include font-size(6, mobile, true, true, true);
|
||||||
|
@if ( get-font-size(6, desktop) != get-font-size(6, mobile) ) {
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
@include font-size(6, desktop, true, true, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-xs {
|
||||||
|
@include font-size(7, mobile, true, true, true);
|
||||||
|
@if ( get-font-size(7, desktop) != get-font-size(7, mobile) ) {
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
@include font-size(7, desktop, true, true, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2,
|
||||||
|
.h1, .h2 {
|
||||||
|
margin-top: 48px;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3,
|
||||||
|
.h3 {
|
||||||
|
margin-top: 36px;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4, h5, h6,
|
||||||
|
.h4, .h5, .h6 {
|
||||||
|
margin-top: 24px;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
dfn, cite, em, i {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
color: color(typography, 3);
|
||||||
|
font-style: italic;
|
||||||
|
margin-top: 24px;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
margin-left: 24px;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: "\201C";
|
||||||
|
}
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: "\201D";
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
address {
|
||||||
|
color: color(typography, 2);
|
||||||
|
border-width: 1px 0;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: color(bg, 3);
|
||||||
|
padding: 24px 0;
|
||||||
|
margin: 0 0 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
pre h1,
|
||||||
|
pre h2,
|
||||||
|
pre h3,
|
||||||
|
pre h4,
|
||||||
|
pre h5,
|
||||||
|
pre h6,
|
||||||
|
pre .h1,
|
||||||
|
pre .h2,
|
||||||
|
pre .h3,
|
||||||
|
pre .h4,
|
||||||
|
pre .h5,
|
||||||
|
pre .h6 {
|
||||||
|
@include font-family(pre);
|
||||||
|
}
|
||||||
|
|
||||||
|
pre, code, kbd, tt, var {
|
||||||
|
background: color(bg, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
@include font-size(7, mobile, true, true);
|
||||||
|
margin-bottom: 1.6em;
|
||||||
|
max-width: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
padding: 24px;
|
||||||
|
margin-top: 24px;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
code, kbd, tt, var {
|
||||||
|
@include font-family(code);
|
||||||
|
@include font-size(7, mobile, true);
|
||||||
|
padding: 2px 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
abbr, acronym {
|
||||||
|
cursor: help;
|
||||||
|
}
|
||||||
|
|
||||||
|
mark, ins {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
small {
|
||||||
|
@include font-size(6, mobile, true, true, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
b,
|
||||||
|
strong {
|
||||||
|
@include font-weight(bold);
|
||||||
|
}
|
||||||
|
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
select,
|
||||||
|
textarea,
|
||||||
|
label {
|
||||||
|
@include font-size(5, mobile, true, true);
|
||||||
|
}
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
.accordion {
|
||||||
|
@include font-size(7, mobile, true, true, true);
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
li {
|
||||||
|
|
||||||
|
&::before,
|
||||||
|
&::after {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: 1px;
|
||||||
|
background: color(bg, 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ li {
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: normal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.accordion-title {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 18px 0;
|
||||||
|
cursor: pointer;
|
||||||
|
color: color(typography, 1);
|
||||||
|
@include font-weight(bold);
|
||||||
|
|
||||||
|
span {
|
||||||
|
width: calc(100% - 32px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.accordion-body {
|
||||||
|
max-height: 0;
|
||||||
|
opacity: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
transition: max-height .15s ease-in-out,opacity .15s;
|
||||||
|
|
||||||
|
.is-open & {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
p:last-child {
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.accordion-icon {
|
||||||
|
position: relative;
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
|
||||||
|
&::before,
|
||||||
|
&::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
background-color: color(primary, 1);
|
||||||
|
transition: transform .25s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
top: 0;
|
||||||
|
left: 50%;
|
||||||
|
width: 2px;
|
||||||
|
height: 100%;
|
||||||
|
margin-left: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
top: 50%;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 2px;
|
||||||
|
margin-top: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-open & {
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
transform: rotate(90deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
transform: rotate(180deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
|
||||||
|
.accordion {
|
||||||
|
@include font-size(6, desktop, true, true, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,167 @@
|
|||||||
|
.button {
|
||||||
|
display: inline-flex;
|
||||||
|
@if ( get-font-family(heading) != get-font-family(base) ) {
|
||||||
|
@include font-family(heading);
|
||||||
|
}
|
||||||
|
@include font-size(7, mobile, true, false, true);
|
||||||
|
@if ( get-font-size(7, desktop) != get-font-size(7, mobile) ) {
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
@include font-size(7, desktop, true, false, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@include font-weight(bold);
|
||||||
|
line-height: 16px;
|
||||||
|
text-decoration: none !important;
|
||||||
|
background-color: color(bg, 1);
|
||||||
|
background: color(bg, 1);
|
||||||
|
color: color(primary, 1) !important;
|
||||||
|
border: none;
|
||||||
|
border-radius: 2px;
|
||||||
|
cursor: pointer;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 16px 32px;
|
||||||
|
height: 48px;
|
||||||
|
text-align: center;
|
||||||
|
white-space: nowrap;
|
||||||
|
|
||||||
|
&:active {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-shadow {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
box-shadow: 0 8px 16px rgba(color(typography, 1), .12);
|
||||||
|
mix-blend-mode: multiply;
|
||||||
|
transition: box-shadow .15s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
box-shadow: 0 8px 16px rgba(color(typography, 1), .16);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-sm {
|
||||||
|
padding: 8px 24px;
|
||||||
|
height: 32px;
|
||||||
|
|
||||||
|
&.button-shadow {
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
box-shadow: 0 4px 16px rgba(color(typography, 1), .12);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
box-shadow: 0 4px 16px rgba(color(typography, 1), .16);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-primary,
|
||||||
|
.button-secondary {
|
||||||
|
color: color(typography, 1i) !important;
|
||||||
|
transition: background .15s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-primary {
|
||||||
|
background: color(primary, 1);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: lighten(color(primary, 1), 3%);
|
||||||
|
}
|
||||||
|
|
||||||
|
&.button-shadow {
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
box-shadow: 0 8px 16px rgba(color(primary, 1), .24);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
box-shadow: 0 8px 16px rgba(color(primary, 1), .32);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-sm {
|
||||||
|
|
||||||
|
&.button-shadow {
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
box-shadow: 0 4px 16px rgba(color(primary, 1), .24);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
box-shadow: 0 4px 16px rgba(color(primary, 1), .32);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-secondary {
|
||||||
|
background: mix(color(secondary, 1), color(quaternary, 3));
|
||||||
|
background: linear-gradient(65deg, color(secondary, 1) 0, color(quaternary, 3) 100%);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: lighten(mix(color(secondary, 1), color(quaternary, 3)), 3%);
|
||||||
|
background: linear-gradient(65deg, lighten(color(secondary, 1), 1%) 0, lighten(color(quaternary, 3), 3%) 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
&.button-shadow {
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
box-shadow: 0 8px 16px rgba(mix(color(secondary, 1), color(quaternary, 3)), .24);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
box-shadow: 0 8px 16px rgba(mix(color(secondary, 1), color(quaternary, 3)), .32);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-sm {
|
||||||
|
|
||||||
|
&.button-shadow {
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
box-shadow: 0 4px 16px rgba(mix(color(secondary, 1), color(quaternary, 3)), .24);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
box-shadow: 0 4px 16px rgba(mix(color(secondary, 1), color(quaternary, 3)), .32);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-block {
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
.tabs-links {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin-top: -12px;
|
||||||
|
|
||||||
|
&:last-of-type {
|
||||||
|
margin-bottom: -12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:not(:last-of-type) {
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
padding-top: 12px;
|
||||||
|
padding-bottom: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-link {
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
padding: 24px;
|
||||||
|
background: color(bg, 1);
|
||||||
|
@include shadow;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
border-width: 2px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: rgba(color(bg, 1), 0);
|
||||||
|
transition: border-color .25s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
&,
|
||||||
|
&:hover,
|
||||||
|
&:active {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active,
|
||||||
|
&.is-active {
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
border-color: color(tertiary, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-panel {
|
||||||
|
display: none;
|
||||||
|
|
||||||
|
&.is-active {
|
||||||
|
display: block;
|
||||||
|
animation: panelIn .4s ease both;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes panelIn {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(16px);
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
|
||||||
|
.tabs-container {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-links {
|
||||||
|
flex: 0 0 252px;
|
||||||
|
margin-right: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-content {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '>large' ) {
|
||||||
|
|
||||||
|
.tabs-links {
|
||||||
|
flex: 0 0 344px;
|
||||||
|
margin-right: 80px;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
.clients {
|
||||||
|
|
||||||
|
.section-inner {
|
||||||
|
padding-top: 20px;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
width: 100%;
|
||||||
|
padding: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
|
||||||
|
.clients {
|
||||||
|
|
||||||
|
ul {
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
.features-tabs {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 610px;
|
||||||
|
height: 395px;
|
||||||
|
background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjEwIiBoZWlnaHQ9IjM5NSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICA8ZGVmcz4gICAgPGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSIwJSIgeDI9IjUwJSIgeTI9Ijk4LjUxNCUiIGlkPSJiIj4gICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRjVGNkY3IiBvZmZzZXQ9IjAlIi8+ICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0Y1RjZGNyIgc3RvcC1vcGFjaXR5PSIwIiBvZmZzZXQ9IjEwMCUiLz4gICAgPC9saW5lYXJHcmFkaWVudD4gICAgPHBhdGggZD0iTTkuODcyIDMxMC4xMTVjLTI2LjY5OCAyMS41NSA1LjcyNyA2Ni45NDYgMTYuMjUgOTcuNTE2LjExNS4zNC4yNC42NzUuMzU3IDEuMDE1LjU0IDEuNTUgMS4wNzYgMy4xMDMgMS42NCA0LjY0MmEyOTcuMTEgMjk3LjExIDAgMCAwIDkuMTA2IDIyLjM0NWM4LjA2NiAxNy43MiA5MS43NjMtMTU4Ljc3NiAyOS43MzggNTEuMzQ3LTYyLjAyNSAyMTAuMTI0IDkwLjg2Ni03OC4yNjkgMTA0Ljc5MS02NS4yNjUgMTMuOTQyIDEyLjk4OC0zNy4wNCAxMzMuODc0LTIwLjYzIDE0NC4xNjYgMTcuMDU4IDEwLjY0MiAzMy44MyAxOC41NjQgNDkuNjQ4IDI0LjY2MyAxLjk3Ni43NjEgMy45MDcgMS41NzQgNS44NTYgMi4yN2w1LjgxMyAxLjk3MWMzLjgzNCAxLjI4MiA3LjUzNyAyLjY1NCAxMS4yNTUgMy42NGw2LjE0NiAxLjc3N2MyLjA0OC41NjcgNC4wNiAxLjI0MSA2LjEyNiAxLjY3OGwxMi4yMzMgMi44ODZjMTYuMzUyIDMuMzg1IDMyLjQ2IDUuMzEyIDQ4LjA0NCA2LjE0MSA0LjA5Ny4xMjMgNy45MzQuMjM3IDExLjYuMzQ4IDEuODM1LjEgMy42MjctLjAxOSA1LjM4Ny0uMDNsNS4xOTctLjA5OGM2Ljg0LjAyNSAxMy4zMjUtLjYzMiAyMC4yMTYtMS4wMiAxLjY5OC0uMDcgMy4zOC0uMzI3IDUuMDc0LS41MDZsNS4wODYtLjU4NGMzLjM5NS0uMzk1IDYuODEyLS43MjMgMTAuMTkzLTEuMzU4bDEwLjIwMi0xLjY5OGMzLjM5Ni0uNjQgNi43NjUtMS40NTMgMTAuMTU5LTIuMTc5bDUuMDQyLTEuMTE0YzEuNjgyLS40MTUgMy4zNTctLjkwOCA1LjA0Ny0xLjM2NCAzLjM3My0uOTQgNi43NzYtMS44NTQgMTAuMTM0LTIuODMzbDkuODMzLTMuMjljMS42MDQtLjU2MyAzLjIyLTEuMDM1IDQuNzU4LTEuNjU4bDQuNTUzLTEuNzk4YzIzLjc4Mi05LjM0OSA0MC4zNzMtMTkuMTQ1IDUyLjY1OC0yNi45MiAxLjQ5LS45NTUgMi45MzctMS44OCA0LjM0LTIuNzggMS40MDktLjg5IDIuNzc0LTEuNzU2IDQuMDM3LTIuNjgzIDIuNTYyLTEuODAyIDQuOTYtMy40OSA3LjIwNi01LjA2OGwzLjI1Mi0yLjI4OCAyLjkyOS0yLjI2YzEuODgyLTEuNDUtMTY0LjAwMy0xMDAuNjQ2LTE2Mi4zOTgtMTAxLjg4MiAxMy4wNjItMTAuMzA2IDE5My42NDkgNzUuNzIxIDIwNS44NDMgNjIuMDY0bDQuNTM3LTUuMTc1Yy43NDgtLjg3OSAxLjU0Ni0xLjcxOSAyLjI1Ni0yLjYzNWwyLjE1OS0yLjcyNyAzLjgzLTQuODQ0YzEuMjU3LTEuNjE0IDIuNTY4LTMuMTcgMy43MDgtNC44MzhsNi44Mi05LjU0YzIuMTYzLTMuMTkzIDQuMTctNi40MjMgNi4yMTUtOS41NiA3Ljg5NS0xMi43MjQgMTQuNjUtMjUuMTIyIDE5Ljg0NC0zNy4xMjNsMi00LjQyNGMuNjktMS40NDggMS4xOTgtMi45NTUgMS43OTYtNC40MDdsMy4zNzQtOC41ODljLjI2OS0uNzAyLjU2Mi0xLjM5Mi44MDUtMi4wOTVsLjcwNy0yLjEwNSAxLjM4OC00LjE0Yy45MDMtMi43MzIgMS44MjMtNS4zODYgMi42NDMtOCAxLjQ1My01LjI3OCAyLjkyLTEwLjI1OCA0LjEyNi0xNC45OThsMy4wMS0xMy40MzRjMS40MzctOC40NDIgMi43ODUtMTUuNjM1IDMuMzA1LTIxLjU3M2wuODY0LTcuODQ4Yy4yMS0yLjI3Mi4yNDktNC4yMDYuMzM1LTUuNzY0LjEzNi0zLjEyMi4xNS00Ljc3Ni4wMzYtNC44NTQtLjExNC0uMDc5LS4zNTEgMS40Mi0uNyA0LjM3NmwtLjYxOCA1LjUxMi0xLjE1MSA3LjU3My0uNjcxIDQuNTQxYy0uMTE2Ljc5OC0uMjM2IDEuNjE2LS4zNiAyLjQ1NS0uMTM4LjgzNi0uMzIzIDEuNjg2LS40OSAyLjU1OGwtMi4yMjEgMTEuMzk3Yy0uODkzIDQuMDg2LTIuMDM4IDguNDMzLTMuMTQ3IDEzLjA4NS0uNTE1IDIuMzM3LTEuMjY3IDQuNjg4LTEuOTgxIDcuMTIybC0yLjIyIDcuNTAyYy0uMTg4LjY0My0uMzggMS4yOS0uNTcgMS45NDEtLjIyMi42NDEtLjQ0NCAxLjI4Ny0uNjcgMS45MzZsLTEuMzc1IDMuOTQxLTIuODU1IDguMTYzLTMuNDAxIDguMzc4Yy0uNTggMS40MjUtMS4xNjQgMi44NjYtMS43NTUgNC4zMjEtLjU3OCAxLjQ2LTEuMzA2IDIuODc0LTEuOTYzIDQuMzM1bC00LjEyNCA4Ljg4OGMtMS40NjIgMi45ODctMy4wOTYgNS45Ni00LjY3NiA5LjAyMWwtMi40MiA0LjYyYTg4OTAuMTQgODg5MC4xNCAwIDAgMC0yLjY4IDQuNTc1bC0yLjcyNSA0LjY0OGMtLjkzMiAxLjU1MS0xLjc5MSAzLjE2NC0yLjgzMSA0LjY4M2wtMi4zNzggMy42NDdjMjkuNDQyLTQ2LjM1OSA0Ni41MDMtMTAxLjM1NCA0Ni41MDMtMTYwLjMzOCAwLTE2NS40MDktMTM0LjA5MS0yOTkuNS0yOTkuNS0yOTkuNS0xNjUuNDEgMC03My40MDQgMTE3LTI5OS41IDI5OS41eiIgaWQ9ImEiLz4gIDwvZGVmcz4gIDx1c2UgZmlsbD0idXJsKCNiKSIgdHJhbnNmb3JtPSJyb3RhdGUoOTAgMzA1LjUgMzA1Ljg0NykiIHhsaW5rOmhyZWY9IiNhIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-container {
|
||||||
|
max-width: 760px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-link {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
img {
|
||||||
|
margin-right: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-content {
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
margin-top: 32px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '>medium') {
|
||||||
|
|
||||||
|
.tabs-content {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '>medium', '<=large' ) {
|
||||||
|
|
||||||
|
.tab-link {
|
||||||
|
|
||||||
|
span {
|
||||||
|
@include font-size(5, mobile, true, true, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-content {
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
margin-top: 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '>large' ) {
|
||||||
|
|
||||||
|
.tabs-container {
|
||||||
|
max-width: 900px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs-content {
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
margin-top: 32px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
.features-header {
|
||||||
|
margin-bottom: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.features-wrap {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: center;
|
||||||
|
margin-right: -12px;
|
||||||
|
margin-left: -12px;
|
||||||
|
margin-top: -12px;
|
||||||
|
|
||||||
|
&:last-of-type {
|
||||||
|
margin-bottom: -12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:not(:last-of-type) {
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature {
|
||||||
|
padding: 12px;
|
||||||
|
width: 276px;
|
||||||
|
max-width: 276px;
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-inner {
|
||||||
|
position: relative;
|
||||||
|
height: 100%;
|
||||||
|
background: color(bg, 1);
|
||||||
|
padding: 40px 24px;
|
||||||
|
@include shadow;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-icon {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
|
||||||
|
.features {
|
||||||
|
|
||||||
|
.section-paragraph {
|
||||||
|
padding-left: 72px;
|
||||||
|
padding-right: 72px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.features-header {
|
||||||
|
margin-bottom: 64px;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
.site-footer {
|
||||||
|
@include font-size(8, mobile, true, true, true);
|
||||||
|
@if ( get-font-size(8, desktop) != get-font-size(8, mobile) ) {
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
@include font-size(8, desktop, true, true, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
color: color(typography, 3);
|
||||||
|
background: color(typography, 1);
|
||||||
|
z-index: 1;
|
||||||
|
|
||||||
|
a {
|
||||||
|
@include anchor-aspect(footer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.site-footer-inner {
|
||||||
|
position: relative; /* To display all elements above the background color */
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
padding-top: 48px;
|
||||||
|
padding-bottom: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-brand,
|
||||||
|
.footer-links,
|
||||||
|
.footer-social-links,
|
||||||
|
.footer-copyright {
|
||||||
|
flex: none;
|
||||||
|
width: 100%;
|
||||||
|
display: inline-flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-brand,
|
||||||
|
.footer-links,
|
||||||
|
.footer-social-links {
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-links,
|
||||||
|
.footer-social-links {
|
||||||
|
|
||||||
|
li {
|
||||||
|
|
||||||
|
+ li {
|
||||||
|
margin-left: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-social-links {
|
||||||
|
|
||||||
|
li {
|
||||||
|
display: inline-flex;
|
||||||
|
|
||||||
|
a {
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
|
||||||
|
.site-footer-inner {
|
||||||
|
justify-content: space-between;
|
||||||
|
padding-top: 80px;
|
||||||
|
padding-bottom: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-brand,
|
||||||
|
.footer-links,
|
||||||
|
.footer-social-links,
|
||||||
|
.footer-copyright {
|
||||||
|
flex: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-brand,
|
||||||
|
.footer-copyright {
|
||||||
|
justify-content: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-links,
|
||||||
|
.footer-social-links {
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-links {
|
||||||
|
order: 1;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
.site-header {
|
||||||
|
position: relative;
|
||||||
|
padding: 24px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-sun {
|
||||||
|
position: absolute;
|
||||||
|
top: -88px;
|
||||||
|
right: -60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.site-header-inner {
|
||||||
|
position: relative; /* To display all elements above the background color */
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-links {
|
||||||
|
display: inline-flex;
|
||||||
|
|
||||||
|
li {
|
||||||
|
display: inline-flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:not(.button) {
|
||||||
|
@include font-size(7, mobile, true, true, true);
|
||||||
|
@if ( get-font-size(7, desktop) != get-font-size(7, mobile) ) {
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
@include font-size(7, desktop, true, true, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@include font-weight(bold);
|
||||||
|
@include anchor-aspect(header);
|
||||||
|
line-height: 16px;
|
||||||
|
padding: 8px 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
|
||||||
|
.header-sun {
|
||||||
|
left: 440px;
|
||||||
|
right: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '>large' ) {
|
||||||
|
|
||||||
|
.header-sun {
|
||||||
|
left: auto;
|
||||||
|
right: 43%;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
.hero {
|
||||||
|
position: relative;
|
||||||
|
padding-top: 88px;
|
||||||
|
text-align: center;
|
||||||
|
z-index: 0;
|
||||||
|
|
||||||
|
.hero-left-decoration,
|
||||||
|
.hero-right-decoration {
|
||||||
|
position: absolute;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-left-decoration {
|
||||||
|
display: none;
|
||||||
|
width: 1440px;
|
||||||
|
height: 342px;
|
||||||
|
bottom: -128px;
|
||||||
|
left: calc(50% - 720px);
|
||||||
|
background-image: url('../images/header-bg-left.svg');
|
||||||
|
z-index: -2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-right-decoration {
|
||||||
|
width: 720px;
|
||||||
|
height: 320px;
|
||||||
|
top: -140px; /* min -80px, i.e. header height */
|
||||||
|
left: calc(50% - 360px);
|
||||||
|
background-image: url('../images/header-bg-right.svg');
|
||||||
|
background-size: 720px 320px;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-copy,
|
||||||
|
.hero-illustration {
|
||||||
|
position: relative; /* to display inner elements above the illustration */
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-copy {
|
||||||
|
padding-bottom: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-paragraph {
|
||||||
|
margin-bottom: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
|
||||||
|
.hero {
|
||||||
|
text-align: left;
|
||||||
|
padding-top: 100px;
|
||||||
|
|
||||||
|
.hero-left-decoration {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-right-decoration {
|
||||||
|
width: 1440px;
|
||||||
|
height: 640px;
|
||||||
|
top: -80px; /* min -80px, i.e. header height */
|
||||||
|
left: calc(50% - 720px);
|
||||||
|
background-size: 1440px 640px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-inner {
|
||||||
|
/* Split hero in two parts */
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-copy {
|
||||||
|
padding-right: 48px;
|
||||||
|
min-width: 512px;
|
||||||
|
width: 512px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-illustration {
|
||||||
|
min-height: 430px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '>large' ) {
|
||||||
|
|
||||||
|
.hero-copy {
|
||||||
|
padding-right: 80px;
|
||||||
|
min-width: 540px;
|
||||||
|
width: 540px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '<=medium' ) {
|
||||||
|
|
||||||
|
.hero-cta {
|
||||||
|
|
||||||
|
.button {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 280px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
.is-boxed {
|
||||||
|
background: color(bg, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.body-wrap {
|
||||||
|
background: color(bg, 1);
|
||||||
|
overflow: hidden;
|
||||||
|
/* Sticky footer */
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
min-height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.boxed-container {
|
||||||
|
max-width: 1440px;
|
||||||
|
margin: 0 auto;
|
||||||
|
@include shadow;
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
flex: 1 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section-inner {
|
||||||
|
position: relative; /* To always display inner elements above pseudo decorative stuff */
|
||||||
|
padding-top: 48px;
|
||||||
|
padding-bottom: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
|
||||||
|
.section-inner {
|
||||||
|
padding-top: 88px;
|
||||||
|
padding-bottom: 88px;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,132 @@
|
|||||||
|
.testimonials {
|
||||||
|
position: relative;
|
||||||
|
z-index: 0;
|
||||||
|
|
||||||
|
.section-inner {
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section-title {
|
||||||
|
margin-bottom: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::before,
|
||||||
|
&::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 148px;
|
||||||
|
left: 0;
|
||||||
|
background: color(typography, 1);
|
||||||
|
z-index: -2;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
top: 112px;
|
||||||
|
left: 50%;
|
||||||
|
width: 202px;
|
||||||
|
height: 214px;
|
||||||
|
background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAyIiBoZWlnaHQ9IjIxNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gIDxkZWZzPiAgICA8bGluZWFyR3JhZGllbnQgeDE9IjEzLjEzJSIgeTE9Ii00MC45MzQlIiB4Mj0iODcuODE3JSIgeTI9IjEyMi41MDMlIiBpZD0iYSI+ICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzA4RiIgb2Zmc2V0PSIwJSIvPiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwMEM3RkEiIG9mZnNldD0iMTAwJSIvPiAgICA8L2xpbmVhckdyYWRpZW50PiAgICA8bGluZWFyR3JhZGllbnQgeDE9IjUwJSIgeTE9Ijk2LjA4JSIgeDI9IjUwJSIgeTI9IjAlIiBpZD0iYiI+ICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzU1RkJEQyIgc3RvcC1vcGFjaXR5PSIuMzIiIG9mZnNldD0iMCUiLz4gICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjNTVGQkRDIiBvZmZzZXQ9IjEwMCUiLz4gICAgPC9saW5lYXJHcmFkaWVudD4gICAgPGxpbmVhckdyYWRpZW50IHgxPSI1MCUiIHkxPSIwJSIgeDI9IjUwJSIgeTI9IjEwMCUiIGlkPSJjIj4gICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDhGIiBvZmZzZXQ9IjAlIi8+ICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzAwQzdGQSIgb2Zmc2V0PSIxMDAlIi8+ICAgIDwvbGluZWFyR3JhZGllbnQ+ICA8L2RlZnM+ICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICA8cGF0aCBkPSJNMTAxLjAxNyAyMTAuNDc2Yy03LjE3OS4zODgtMTQuNDgzIDEuMTMxLTIxLjE4NCAyLjMwMi0yLjA0OC4yOS0zLjk5OC42ODUtNS44MzMgMS4wOTggMTkuNjI4LTkuMTc1IDQwLjM3Ny0xNS45MjcgNjEuNjY0LTE5LjkyMiA1LjY4NC0uOTMzIDExLjMzMy0xLjk5OCAxNy4wMzUtMi41NDVsNC4yNi0uNDk3IDIuMTI3LS4yNDYuMzU4LS4wMjVjMS40NzIuMTcgMy43MjQuNDQ0IDYuNjEyLjcyMWwzLjI2LjMyNWMxLjE1OS4xMTYgMi4zODYuMjEgMy42OC40Mmw4LjQ1IDEuMTk0Yy43NTcuMTA1IDEuNTI2LjIxMiAyLjMwNi4zMjIuNzguMTIxIDEuNTcyLjI4OCAyLjM3My40MzJsNC45MjUuOTJjMS42NzIuMzEyIDMuMzg1LjYzIDUuMTMuOTU0bDQuNDk3IDEuMDU0Yy0zNC4xNDItMi4zNDItNjguMDM2IDIuNDE4LTk5LjY2IDEzLjQ5M3oiIGZpbGw9InVybCgjYSkiLz4gICAgPHBhdGggZD0iTTExMC4xMjEgMTc3Ljc4MWEyNjQuMzggMjY0LjM4IDAgMCAwLTEzLjIzMy01Mi4wMTkgMjY0LjA4NCAyNjQuMDg0IDAgMCAwLTIzLjU1NS00OC4yMThDNTQuNDM0IDQ3LjEwMyAyOS4zMzMgMjAuNTY5IDAgMCIgZmlsbD0idXJsKCNiKSIvPiAgICA8cGF0aCBkPSJNMTc4Ljg0MyA3OS41ODljMS45MTUgMS42NjQgNC4wNDkgMy4zODUgNi4xODYgNS4zNjcgNS4zMzcgNC44MzcgMTEuMDg5IDEwLjYyNSAxNi43NDIgMTYuOTFDMTc1LjQ5OSA4MC4wOTggMTQ0LjcwMyA2My42MDEgMTExIDU0IiBmaWxsPSJ1cmwoI2MpIi8+ICA8L2c+PC9zdmc+);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.testimonials-wrap {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
// align-items: flex-start; /* Disable equal height */
|
||||||
|
justify-content: center;
|
||||||
|
margin-right: -12px;
|
||||||
|
margin-left: -12px;
|
||||||
|
margin-top: -12px;
|
||||||
|
|
||||||
|
&:last-of-type {
|
||||||
|
margin-bottom: -12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:not(:last-of-type) {
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.testimonial {
|
||||||
|
@if ( get-font-family(heading) != get-font-family(base) ) {
|
||||||
|
@include font-family(heading);
|
||||||
|
}
|
||||||
|
color: color(typography, 3);
|
||||||
|
padding: 12px;
|
||||||
|
width: 368px;
|
||||||
|
max-width: 368px;
|
||||||
|
flex-grow: 1;
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: color(quaternary, 1);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.testimonial-inner {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
background: color(typography, 2);
|
||||||
|
padding: 32px 24px;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
> * {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.testimonial-body {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
width: 21px;
|
||||||
|
height: 18px;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICA8cGF0aCBkPSJNOS4yMTYgMS4wMDhDNy40ODggNC44IDYuNjI0IDcuNjU2IDYuNjI0IDkuNTc2cy43MiAzLjUwNCAyLjE2IDQuNzUyYy0uNTI4LjkxMi0xLjE0IDEuNjMyLTEuODM2IDIuMTYtLjY5Ni41MjgtMS41NzIuNzkyLTIuNjI4Ljc5Mi0xLjI5NiAwLTIuMzQtLjQ0NC0zLjEzMi0xLjMzMkMuMzk2IDE1LjA2IDAgMTMuOTQ0IDAgMTIuNmMwLTIuMTEyLjgxNi00LjQwNCAyLjQ0OC02Ljg3NkM0LjA4IDMuMjUyIDUuNTY4IDEuMzQ0IDYuOTEyIDBsMi4zMDQgMS4wMDh6bTExLjE2IDBjLTEuNzI4IDMuNzkyLTIuNTkyIDYuNjQ4LTIuNTkyIDguNTY4cy43MiAzLjUwNCAyLjE2IDQuNzUyYy0xLjA1NiAxLjk2OC0yLjU0NCAyLjk1Mi00LjQ2NCAyLjk1Mi0xLjI5NiAwLTIuMzQtLjQ0NC0zLjEzMi0xLjMzMi0uNzkyLS44ODgtMS4xODgtMi4wMDQtMS4xODgtMy4zNDggMC0yLjExMi44MTYtNC40MDQgMi40NDgtNi44NzYgMS42MzItMi40NzIgMy4xMi00LjM4IDQuNDY0LTUuNzI0bDIuMzA0IDEuMDA4eiIgZmlsbD0iIzA4RiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.testimonial-footer {
|
||||||
|
align-self: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.testimonial-name {
|
||||||
|
@include font-weight(bold);
|
||||||
|
color: color(typography, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@include media( '>medium' ) {
|
||||||
|
|
||||||
|
.testimonials {
|
||||||
|
|
||||||
|
.section-title {
|
||||||
|
margin-bottom: 88px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
bottom: 168px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
top: 76px;
|
||||||
|
left: 79%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Variables, functions and mixins
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "abstracts/variables",
|
||||||
|
"abstracts/functions",
|
||||||
|
"abstracts/mixins",
|
||||||
|
'abstracts/include-media';
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
1.0 Normalize
|
||||||
|
* normalize.css v7.0.0 | MIT License
|
||||||
|
* github.com/necolas/normalize.css
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "normalize";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Base
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "base/base";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Typography
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "base/typography";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Helpers
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "base/helpers";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Buttons
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "components/buttons";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Accordion
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "components/accordion";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Tabs
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "components/tabs";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Header
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "layout/header";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Hero
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "layout/hero";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Clients
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "layout/clients";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Features
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "layout/features";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Features tabs
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "layout/features-tabs";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Testimonials
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "layout/testimonials";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Pricing
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "layout/pricing";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# CTA
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "layout/cta";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Site content
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "layout/main";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Footer
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "layout/footer";
|
||||||
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 7.8 KiB |
|
After Width: | Height: | Size: 121 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 373 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 658 KiB |
|
After Width: | Height: | Size: 414 KiB |
|
After Width: | Height: | Size: 383 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 3.4 KiB |