New email design (#3386)

This commit is contained in:
Benjamin Beganović 2020-02-26 21:55:23 +01:00 committed by GitHub
parent b2f4e51b55
commit aef6135e30
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 76 additions and 1363 deletions

View File

@ -3114,18 +3114,13 @@ $LANG = array(
'cycles_remaining' => 'Cycles remaining',
'i_understand_delete' => 'I understand, delete',
'download_files' => 'Download Files',
'download_timeframe' => 'Use this link to download your files, the link will expire in 1 hour.',
'new_signup' => 'New Signup',
'new_signup_text' => 'A new account has been created by :user - :email - from IP address: :ip'
'new_signup_text' => 'A new account has been created by :user - :email - from IP address: :ip',
'email_link_not_working' => 'If button above isn\'t working for you, please click on the link',
);
return $LANG;

View File

@ -1,5 +1,10 @@
<a href="{{ $url }}" target="_blank">
<button class="text-white text-sm tracking-wide bg-blue-500 hover:bg-blue-600 hover:shadow rounded w-full my-8 p-4 uppercase">
{{ $slot }}
</button>
</a>
<div class="px-10 py-6 flex flex-col items-center">
<a href="{{ $url }}" class="bg-green-500 px-4 py-3 text-white leading-tight hover:bg-green-600" style="color: white !important;">{{ $slot }}</a>
</div>
@isset($show_link)
<div class="flex flex-col">
<p>{{ ctrans('texts.email_link_not_working') }}:</p>
<a class="text-green-700 hover:text-green-800" href="{{ $url }}">{{ $url }}</a>
</div>
@endisset

File diff suppressed because one or more lines are too long

View File

@ -1,498 +0,0 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="x-ua-compatible" content="ie=edge">
</head>
<style>
html {
line-height: 1.15;
-webkit-text-size-adjust: 100%
}
body {
margin: 0
}
main {
display: block
}
h1 {
font-size: 2em;
margin: .67em 0
}
a {
background-color: transparent
}
strong {
font-weight: bolder
}
button,
input {
font-family: inherit;
font-size: 100%;
line-height: 1.15;
margin: 0;
overflow: visible
}
button {
text-transform: none
}
[type=button],
[type=reset],
[type=submit],
button {
-webkit-appearance: button
}
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
border-style: none;
padding: 0
}
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
outline: 1px dotted ButtonText
}
legend {
color: inherit;
display: table;
max-width: 100%;
white-space: normal
}
[type=checkbox],
[type=radio],
legend {
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-decoration {
-webkit-appearance: none
}
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit
}
[hidden] {
display: none
}
h1,
h3,
p {
margin: 0
}
button {
background-color: transparent;
background-image: none;
padding: 0
}
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color
}
html {
font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
line-height: 1.5
}
*,
:after,
:before {
box-sizing: border-box;
border: 0 solid #e2e8f0
}
input::-webkit-input-placeholder {
color: #a0aec0
}
input::-moz-placeholder {
color: #a0aec0
}
input:-ms-input-placeholder {
color: #a0aec0
}
input::-ms-input-placeholder {
color: #a0aec0
}
input::placeholder {
color: #a0aec0
}
[role=button],
button {
cursor: pointer
}
table {
border-collapse: collapse
}
h1,
h3 {
font-size: inherit;
font-weight: inherit
}
a {
color: inherit;
text-decoration: inherit
}
button,
input {
padding: 0;
line-height: inherit;
color: inherit
}
canvas,
object {
display: block;
vertical-align: middle
}
.bg-white {
background-color: #fff
}
.bg-gray-100 {
background-color: #f7fafc
}
.bg-gray-200 {
background-color: #edf2f7
}
.bg-gray-800 {
background-color: #2d3748
}
.bg-gray-900 {
background-color: #1a202c
}
.bg-blue-500 {
background-color: #4299e1
}
.bg-blue-600 {
background-color: #3182ce
}
.bg-blue-700 {
background-color: #2b6cb0
}
.bg-blue-800 {
background-color: #2c5282
}
.bg-blue-900 {
background-color: #2a4365
}
.hover\:bg-blue-600:hover {
background-color: #3182ce
}
.hover\:bg-blue-700:hover {
background-color: #2b6cb0
}
.border-blue-100 {
border-color: #ebf8ff
}
.border-blue-800 {
border-color: #2c5282
}
.rounded {
border-radius: .25rem
}
.border {
border-width: 1px
}
.border-b {
border-bottom-width: 1px
}
.flex {
display: flex
}
.table {
display: table
}
.flex-col {
flex-direction: column
}
.items-center {
align-items: center
}
.justify-center {
justify-content: center
}
.font-sans {
font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji
}
.font-semibold {
font-weight: 600
}
.h-64 {
height: 16rem
}
.leading-normal {
line-height: 1.5
}
.leading-loose {
line-height: 2
}
.my-8 {
margin-top: 2rem;
margin-bottom: 2rem
}
.mx-auto {
margin-left: auto;
margin-right: auto
}
.-mx-8 {
margin-left: -2rem;
margin-right: -2rem
}
.mt-4 {
margin-top: 1rem
}
.mt-8 {
margin-top: 2rem
}
.mb-8 {
margin-bottom: 2rem
}
.-mt-8 {
margin-top: -2rem
}
.max-w-md {
max-width: 28rem
}
.min-h-screen {
min-height: 100vh
}
.p-1 {
padding: .25rem
}
.p-4 {
padding: 1rem
}
.p-8 {
padding: 2rem
}
.py-2 {
padding-top: .5rem;
padding-bottom: .5rem
}
.px-4 {
padding-left: 1rem;
padding-right: 1rem
}
.py-8 {
padding-top: 2rem;
padding-bottom: 2rem
}
.static {
position: static
}
.hover\:shadow:hover,
.shadow {
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06)
}
.table-auto {
table-layout: auto
}
.text-left {
text-align: left
}
.text-center {
text-align: center
}
.text-white {
color: #fff
}
.text-gray-200 {
color: #edf2f7
}
.text-gray-700 {
color: #4a5568
}
.text-blue-500 {
color: #4299e1
}
.hover\:text-blue-600:hover {
color: #3182ce
}
.text-sm {
font-size: .875rem
}
.text-base {
font-size: 1rem
}
.text-xl {
font-size: 1.25rem
}
.text-4xl {
font-size: 2.25rem
}
.uppercase {
text-transform: uppercase
}
.underline {
text-decoration: underline
}
.antialiased {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale
}
.tracking-wide {
letter-spacing: .025em
}
.w-full {
width: 100%
}
@media (min-width:640px) {
.sm\:text-lg {
font-size: 1.125rem
}
}
</style>
<body class="antialiased font-sans bg-gray-800">
<div class="app font-sans min-w-screen min-h-screen bg-grey-lighter py-8 px-4">
<div class="max-w-md mx-auto">
<div class="bg-white p-8 shadow">
{{ $header }}
<div class="py-8 border-b">
@isset($greeting)
{{ $greeting }}
@endisset
<div class="mt-4">
{{ $slot }}
</div>
@isset($signature)
<p class="text-sm">Sincerely,</p>
<p class="text-sm">{{ $signature }}</p>
@endisset
</div>
@isset($footer)
{{ $footer }}
@endisset
</div>
<div class="text-center text-sm mt-8">
<div class="meta__help">
@isset($below_card)
{!! $below_card !!}
@endisset
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,498 +0,0 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="x-ua-compatible" content="ie=edge">
</head>
<style>
html {
line-height: 1.15;
-webkit-text-size-adjust: 100%
}
body {
margin: 0
}
main {
display: block
}
h1 {
font-size: 2em;
margin: .67em 0
}
a {
background-color: transparent
}
strong {
font-weight: bolder
}
button,
input {
font-family: inherit;
font-size: 100%;
line-height: 1.15;
margin: 0;
overflow: visible
}
button {
text-transform: none
}
[type=button],
[type=reset],
[type=submit],
button {
-webkit-appearance: button
}
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
border-style: none;
padding: 0
}
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
outline: 1px dotted ButtonText
}
legend {
color: inherit;
display: table;
max-width: 100%;
white-space: normal
}
[type=checkbox],
[type=radio],
legend {
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-decoration {
-webkit-appearance: none
}
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit
}
[hidden] {
display: none
}
h1,
h3,
p {
margin: 0
}
button {
background-color: transparent;
background-image: none;
padding: 0
}
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color
}
html {
font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
line-height: 1.5
}
*,
:after,
:before {
box-sizing: border-box;
border: 0 solid #e2e8f0
}
input::-webkit-input-placeholder {
color: #a0aec0
}
input::-moz-placeholder {
color: #a0aec0
}
input:-ms-input-placeholder {
color: #a0aec0
}
input::-ms-input-placeholder {
color: #a0aec0
}
input::placeholder {
color: #a0aec0
}
[role=button],
button {
cursor: pointer
}
table {
border-collapse: collapse
}
h1,
h3 {
font-size: inherit;
font-weight: inherit
}
a {
color: inherit;
text-decoration: inherit
}
button,
input {
padding: 0;
line-height: inherit;
color: inherit
}
canvas,
object {
display: block;
vertical-align: middle
}
.bg-white {
background-color: #fff
}
.bg-gray-100 {
background-color: #f7fafc
}
.bg-gray-200 {
background-color: #edf2f7
}
.bg-gray-800 {
background-color: #2d3748
}
.bg-gray-900 {
background-color: #1a202c
}
.bg-blue-500 {
background-color: #4299e1
}
.bg-blue-600 {
background-color: #3182ce
}
.bg-blue-700 {
background-color: #2b6cb0
}
.bg-blue-800 {
background-color: #2c5282
}
.bg-blue-900 {
background-color: #2a4365
}
.hover\:bg-blue-600:hover {
background-color: #3182ce
}
.hover\:bg-blue-700:hover {
background-color: #2b6cb0
}
.border-blue-100 {
border-color: #ebf8ff
}
.border-blue-800 {
border-color: #2c5282
}
.rounded {
border-radius: .25rem
}
.border {
border-width: 1px
}
.border-b {
border-bottom-width: 1px
}
.flex {
display: flex
}
.table {
display: table
}
.flex-col {
flex-direction: column
}
.items-center {
align-items: center
}
.justify-center {
justify-content: center
}
.font-sans {
font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji
}
.font-semibold {
font-weight: 600
}
.h-64 {
height: 16rem
}
.leading-normal {
line-height: 1.5
}
.leading-loose {
line-height: 2
}
.my-8 {
margin-top: 2rem;
margin-bottom: 2rem
}
.mx-auto {
margin-left: auto;
margin-right: auto
}
.-mx-8 {
margin-left: -2rem;
margin-right: -2rem
}
.mt-4 {
margin-top: 1rem
}
.mt-8 {
margin-top: 2rem
}
.mb-8 {
margin-bottom: 2rem
}
.-mt-8 {
margin-top: -2rem
}
.max-w-md {
max-width: 28rem
}
.min-h-screen {
min-height: 100vh
}
.p-1 {
padding: .25rem
}
.p-4 {
padding: 1rem
}
.p-8 {
padding: 2rem
}
.py-2 {
padding-top: .5rem;
padding-bottom: .5rem
}
.px-4 {
padding-left: 1rem;
padding-right: 1rem
}
.py-8 {
padding-top: 2rem;
padding-bottom: 2rem
}
.static {
position: static
}
.hover\:shadow:hover,
.shadow {
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06)
}
.table-auto {
table-layout: auto
}
.text-left {
text-align: left
}
.text-center {
text-align: center
}
.text-white {
color: #fff
}
.text-gray-200 {
color: #edf2f7
}
.text-gray-700 {
color: #4a5568
}
.text-blue-500 {
color: #4299e1
}
.hover\:text-blue-600:hover {
color: #3182ce
}
.text-sm {
font-size: .875rem
}
.text-base {
font-size: 1rem
}
.text-xl {
font-size: 1.25rem
}
.text-4xl {
font-size: 2.25rem
}
.uppercase {
text-transform: uppercase
}
.underline {
text-decoration: underline
}
.antialiased {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale
}
.tracking-wide {
letter-spacing: .025em
}
.w-full {
width: 100%
}
@media (min-width:640px) {
.sm\:text-lg {
font-size: 1.125rem
}
}
</style>
<body class="antialiased font-sans bg-gray-200">
<div class="app font-sans min-w-screen min-h-screen bg-grey-lighter py-8 px-4">
<div class="max-w-md mx-auto">
<div class="bg-white p-8 shadow">
{{ $header }}
<div class="py-8 border-b">
@isset($greeting)
{{ $greeting }}
@endisset
<div class="mt-4">
{{ $slot }}
</div>
@isset($signature)
<p class="text-sm">Sincerely,</p>
<p class="text-sm">{{ $signature }}</p>
@endisset
</div>
@isset($footer)
{{ $footer }}
@endisset
</div>
<div class="text-center text-sm mt-8">
<div class="meta__help">
@isset($below_card)
{!! $below_card !!}
@endisset
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,12 +1,7 @@
{{-- @if()
@component('email.components.layout-dark')
@endif
--}}
@component('email.components.layout')
@component('email.template.master', ['design' => 'light'])
@slot('header')
@component('email.components.header', ['p' => 'Your upgrade has completed!', 'image' => 'https://www.invoiceninja.com/wp-content/uploads/2019/01/InvoiceNinja-Logo-Round-300x300.png'])
@component('email.components.header', ['p' => 'Your upgrade has completed!', 'logo' => 'https://www.invoiceninja.com/wp-content/uploads/2019/01/InvoiceNinja-Logo-Round-300x300.png'])
Upgrade!
@endcomponent
@ -18,7 +13,7 @@
Hello, this is really tiny template. We just want to inform you that upgrade has been completed.
@component('email.components.button', ['url' => 'https://invoiceninja.com'])
@component('email.components.button', ['url' => 'https://invoiceninja.com', 'show_link' => true])
Visit InvoiceNinja
@endcomponent

View File

@ -1,342 +1,52 @@
<!doctype html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>@yield('title')</title>
<style>
/* -------------------------------------
GLOBAL RESETS
------------------------------------- */
/*All the styling goes here*/
img {
border: none;
-ms-interpolation-mode: bicubic;
max-width: 100%;
}
body {
background-color: #f6f6f6;
font-family: sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 14px;
line-height: 1.4;
margin: 0;
padding: 0;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
table {
border-collapse: separate;
mso-table-lspace: 0pt;
mso-table-rspace: 0pt;
width: 100%; }
table td {
font-family: sans-serif;
font-size: 14px;
vertical-align: top;
}
/* -------------------------------------
BODY & CONTAINER
------------------------------------- */
.body {
background-color: #f6f6f6;
width: 100%;
}
/* Set a max-width, and make it display as block so it will automatically stretch to that width, but will also shrink down on a phone or something */
.container {
display: block;
margin: 0 auto !important;
/* makes it centered */
max-width: 580px;
padding: 10px;
width: 580px;
}
/* This should also be a block element, so that it will fill 100% of the .container */
.content {
box-sizing: border-box;
display: block;
margin: 0 auto;
max-width: 580px;
padding: 10px;
}
/* -------------------------------------
HEADER, FOOTER, MAIN
------------------------------------- */
.main {
background: #ffffff;
border-radius: 3px;
width: 100%;
}
.wrapper {
box-sizing: border-box;
padding: 20px;
}
.content-block {
padding-bottom: 10px;
padding-top: 10px;
}
.footer {
clear: both;
margin-top: 10px;
text-align: center;
width: 100%;
}
.footer td,
.footer p,
.footer span,
.footer a {
color: #999999;
font-size: 12px;
text-align: center;
}
/* -------------------------------------
TYPOGRAPHY
------------------------------------- */
h1,
h2,
h3,
h4 {
color: #000000;
font-family: sans-serif;
font-weight: 400;
line-height: 1.4;
margin: 0;
margin-bottom: 30px;
}
h1 {
font-size: 35px;
font-weight: 300;
text-align: center;
text-transform: capitalize;
}
p,
ul,
ol {
font-family: sans-serif;
font-size: 14px;
font-weight: normal;
margin: 0;
margin-bottom: 15px;
}
p li,
ul li,
ol li {
list-style-position: inside;
margin-left: 5px;
}
a {
color: #3498db;
text-decoration: underline;
}
/* -------------------------------------
BUTTONS
------------------------------------- */
.btn {
box-sizing: border-box;
width: 100%; }
.btn > tbody > tr > td {
padding-bottom: 15px; }
.btn table {
width: auto;
}
.btn table td {
background-color: #ffffff;
border-radius: 5px;
text-align: center;
}
.btn a {
background-color: #ffffff;
border: solid 1px #3498db;
border-radius: 5px;
box-sizing: border-box;
color: #3498db;
cursor: pointer;
display: inline-block;
font-size: 14px;
font-weight: bold;
margin: 0;
padding: 12px 25px;
text-decoration: none;
text-transform: capitalize;
}
.btn-primary table td {
background-color: #3498db;
}
.btn-primary a {
background-color: #3498db;
border-color: #3498db;
color: #ffffff;
}
/* -------------------------------------
OTHER STYLES THAT MIGHT BE USEFUL
------------------------------------- */
.last {
margin-bottom: 0;
}
.first {
margin-top: 0;
}
.align-center {
text-align: center;
}
.align-right {
text-align: right;
}
.align-left {
text-align: left;
}
.clear {
clear: both;
}
.mt0 {
margin-top: 0;
}
.mb0 {
margin-bottom: 0;
}
.preheader {
color: transparent;
display: none;
height: 0;
max-height: 0;
max-width: 0;
opacity: 0;
overflow: hidden;
mso-hide: all;
visibility: hidden;
width: 0;
}
.powered-by a {
text-decoration: none;
}
hr {
border: 0;
border-bottom: 1px solid #f6f6f6;
margin: 20px 0;
}
/* -------------------------------------
RESPONSIVE AND MOBILE FRIENDLY STYLES
------------------------------------- */
@media only screen and (max-width: 620px) {
table[class=body] h1 {
font-size: 28px !important;
margin-bottom: 10px !important;
}
table[class=body] p,
table[class=body] ul,
table[class=body] ol,
table[class=body] td,
table[class=body] span,
table[class=body] a {
font-size: 16px !important;
}
table[class=body] .wrapper,
table[class=body] .article {
padding: 10px !important;
}
table[class=body] .content {
padding: 0 !important;
}
table[class=body] .container {
padding: 0 !important;
width: 100% !important;
}
table[class=body] .main {
border-left-width: 0 !important;
border-radius: 0 !important;
border-right-width: 0 !important;
}
table[class=body] .btn table {
width: 100% !important;
}
table[class=body] .btn a {
width: 100% !important;
}
table[class=body] .img-responsive {
height: auto !important;
max-width: 100% !important;
width: auto !important;
}
}
/* -------------------------------------
PRESERVE THESE STYLES IN THE HEAD
------------------------------------- */
@media all {
.ExternalClass {
width: 100%;
}
.ExternalClass,
.ExternalClass p,
.ExternalClass span,
.ExternalClass font,
.ExternalClass td,
.ExternalClass div {
line-height: 100%;
}
.apple-link a {
color: inherit !important;
font-family: inherit !important;
font-size: inherit !important;
font-weight: inherit !important;
line-height: inherit !important;
text-decoration: none !important;
}
#MessageViewBody a {
color: inherit;
text-decoration: none;
font-size: inherit;
font-family: inherit;
font-weight: inherit;
line-height: inherit;
}
.btn-primary table td:hover {
background-color: #34495e !important;
}
.btn-primary a:hover {
background-color: #34495e !important;
border-color: #34495e !important;
}
}
</style>
</head>
<body class="">
<span class="preheader">This is preheader text. Some clients will show this text as a preview.</span>
<table role="presentation" border="0" cellpadding="0" cellspacing="0" class="body">
<tr>
<td>@include('email.partials.company_logo')</td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="container">
<div class="content">
@php
if(!isset($design))
$design = 'light';
@endphp
@yield('content')
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@yield('title')</title>
<style>
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}a{background-color:transparent}img{border-style:none}button{font-family:inherit;font-size:100%;line-height:1.15;margin:0;overflow:visible;text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}[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-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[hidden]{display:none}h1,p{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}img{border-style:solid}[role=button],button{cursor:pointer}h1{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}a,button{color:inherit}button{padding:0;line-height:inherit}img,object,svg{display:block;vertical-align:middle}img{max-width:100%;height:auto}.bg-white{background-color:#fff}.bg-gray-200{background-color:#edf2f7}.bg-gray-800{background-color:#2d3748}.bg-gray-900{background-color:#1a202c}.bg-green-500{background-color:#48bb78}.bg-blue-500{background-color:#4299e1}.bg-blue-700{background-color:#2b6cb0}.bg-blue-900{background-color:#2a4365}.hover\:bg-green-600:hover{background-color:#38a169}.hover\:bg-blue-600:hover{background-color:#3182ce}.border-gray-800{border-color:#2d3748}.border-green-500{border-color:#48bb78}.border-blue-500{border-color:#4299e1}.rounded-lg{border-radius:.5rem}.border-t-2{border-top-width:2px}.border-b{border-bottom-width:1px}.flex{display:flex}.grid{display:grid}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.font-sans{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.h-6{height:1.5rem}.h-32{height:8rem}.leading-tight{line-height:1.25}.my-4{margin-top:1rem;margin-bottom:1rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.mb-8{margin-bottom:2rem}.mt-10{margin-top:2.5rem}.p-6{padding:1.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.static{position:static}.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06)}.text-center{text-align:center}.text-white{color:#fff}.text-gray-400{color:#cbd5e0}.text-gray-700{color:#4a5568}.text-green-700{color:#2f855a}.hover\:text-green-800:hover{color:#276749}.text-2xl{font-size:1.5rem}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.col-span-4{grid-column:span 4/span 4}.col-start-2{grid-column-start:2}.transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}p{margin-top:1rem}@media (min-width:768px){.md\:text-3xl{font-size:1.875rem}}
</style>
</head>
<!-- START FOOTER -->
<div class="footer">
<table role="presentation" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="content-block">
<span class="apple-link">Footerish stuff</span>
@yield('footer')
<br> Don't like these emails? <a href="#">Unsubscribe</a>.
</td>
</tr>
<tr>
<td class="content-block powered-by">
Powered by <a href="#">InvoiceNinja</a>.
</td>
</tr>
</table>
@if($design == 'dark')
<style>
* {
color: #cbd5e0 !important;
}
</style>
@endif
<body class="{{ $design == 'light' ? 'bg-gray-200' : 'bg-gray-800' }} my-10 font-sans {{ $design == 'light' ? 'text-gray-700' : 'text-gray-400' }}">
<div class="grid grid-cols-6">
<div class="col-start-2 col-span-4">
<div class="{{ $design == 'light' ? 'bg-white' : 'bg-gray-900' }} shadow border-t-2 {{ $design == 'light' ? 'border-green-500' : 'border-gray-800' }}">
{{ $header }}
<div id="text" class="px-10 py-6 flex flex-col">
@isset($greeting)
<p>{{ $greeting }}</p>
@endisset
<p>
{{ $slot }}
</p>
@isset($signature)
<p>{{ $signature }}</p>
@endisset
</div>
</div>
<!-- END FOOTER -->
</div>
</td>
<td>&nbsp;</td>
</tr>
</table>
</body>
@isset($below_card)
<div id="bottomText" class="text-center my-4 px-10">
{{ $below_card }}
</div>
@endisset
</div>
</div>
</body>
</html>