diff --git a/files/assets/css/main.css b/files/assets/css/main.css index 0117519c6..39c0ab38e 100644 --- a/files/assets/css/main.css +++ b/files/assets/css/main.css @@ -1,5 +1,363 @@ @charset "UTF-8"; +@import url('https://fonts.googleapis.com/css?family=Roboto:400,500&display=swap'); + +html { + font-size: 14px; +} + +body { + width: 100% !important; + height: 100%; + margin: 0; + -webkit-text-size-adjust: none; +} +a { + color: #FF66AC!important; +} +a img { + border: none; +} +td { + word-break: break-word; +} +.preheader { + display: none !important; + visibility: hidden; + mso-hide: all; + font-size: 1px; + line-height: 1px; + max-height: 0; + max-width: 0; + opacity: 0; + overflow: hidden; +} + +body, +td, +th { + font-family: "Roboto", Helvetica, Arial, sans-serif; +} +h1 { + margin-top: 0; + color: #121213; + font-size: 22px; + font-weight: bold; + text-align: left; +} +h2 { + margin-top: 0; + color: #121213; + font-size: 1rem; + font-weight: bold; + text-align: left; +} +h3 { + margin-top: 0; + color: #121213; + font-size: 14px; + font-weight: bold; + text-align: left; +} +td, +th { + font-size: 1rem; +} +p, +ul, +ol, +blockquote { + margin: .4em 0 1.1875em; + font-size: 1rem; + line-height: 1.625; +} +p.sub { + font-size: 13px; +} + +.align-right { + text-align: right; +} +.align-left { + text-align: left; +} +.align-center { + text-align: center; +} + +.button { + background-color: #FF66AC; + border-top: 10px solid #FF66AC; + border-right: 18px solid #FF66AC; + border-bottom: 10px solid #FF66AC; + border-left: 18px solid #FF66AC; + display: inline-block; + color: #FFF!important; + text-decoration: none; + border-radius: .25rem; + -webkit-text-size-adjust: none; + box-sizing: border-box; +} +.button--green { + background-color: #23CE6B; + border-top: 10px solid #23CE6B; + border-right: 18px solid #23CE6B; + border-bottom: 10px solid #23CE6B; + border-left: 18px solid #23CE6B; +} +.button--red { + background-color: #F05D5E; + border-top: 10px solid #F05D5E; + border-right: 18px solid #F05D5E; + border-bottom: 10px solid #F05D5E; + border-left: 18px solid #F05D5E; +} +@media only screen and (max-width: 500px) { + .button { + width: 100% !important; + text-align: center !important; + } +} + +.attributes { + margin: 0 0 21px; +} +.attributes_content { + background-color: #EDF2F7; + padding: 1rem; + border-radius: 0.35rem; +} +.attributes_item { + padding: 0; +} + +.related { + width: 100%; + margin: 0; + padding: 25px 0 0 0; + -premailer-width: 100%; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; +} +.related_item { + padding: 10px 0; + color: #CBCCCF; + font-size: 15px; + line-height: 18px; +} +.related_item-title { + display: block; + margin: .5em 0 0; +} +.related_item-thumb { + display: block; + padding-bottom: 10px; +} +.related_heading { + border-top: 1px solid #CBCCCF; + text-align: center; + padding: 25px 0 10px; +} + +.discount { + width: 100%; + margin: 0; + padding: 24px; + -premailer-width: 100%; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + background-color: #EDF2F7; + border: 2px dashed #CBCCCF; +} +.discount_heading { + text-align: center; +} +.discount_body { + text-align: center; + font-size: 15px; +} + +.social { + width: auto; +} +.social td { + padding: 0; + width: auto; +} +.social_icon { + height: 20px; + margin: 0 8px 10px 8px; + padding: 0; +} + +.purchase { + width: 100%; + margin: 0; + padding: 35px 0; + -premailer-width: 100%; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; +} +.purchase_content { + width: 100%; + margin: 0; + padding: 25px 0 0 0; + -premailer-width: 100%; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; +} +.purchase_item { + padding: 10px 0; + color: #121213; + font-size: 15px; + line-height: 18px; +} +.purchase_heading { + padding-bottom: 8px; + border-bottom: 1px solid #E6E6E6; +} +.purchase_heading p { + margin: 0; + color: #85878E; + font-size: 12px; +} +.purchase_footer { + padding-top: 15px; + border-top: 1px solid #E6E6E6; +} +.purchase_total { + margin: 0; + text-align: right; + font-weight: bold; + color: #121213; +} +.purchase_total--label { + padding: 0 15px 0 0; +} +body { + background-color: #EDF2F7; + color: #121213; +} +p { + color: #121213; +} +p.sub { + color: #6B6E76; +} +.email-wrapper { + width: 100%; + margin: 0; + padding: 0; + -premailer-width: 100%; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + background-color: #EDF2F7; +} +.email-content { + width: 100%; + margin: 0; + padding: 0; + -premailer-width: 100%; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; +} + +.email-masthead { + display: none; +} +.email-masthead_logo { + width: 94px; +} +.email-masthead_name { + font-size: 1.25rem; + font-weight: bold; + color: #121213; + text-decoration: none; +} + +.email-body { + width: 100%; + margin: 0; + padding: 0; + -premailer-width: 100%; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + background-color: #cfcfcf; +} +.email-body_inner { + width: 570px; + margin: 0 auto; + padding: 0; + -premailer-width: 570px; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + background-color: #cfcfcf; +} +.email-footer { + width: 570px; + margin: 0 auto; + padding: 0; + -premailer-width: 570px; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + text-align: center; +} +.email-footer p { + color: #6B6E76; +} +.body-action { + width: 100%; + margin: 30px auto; + padding: 0; + -premailer-width: 100%; + -premailer-cellpadding: 0; + -premailer-cellspacing: 0; + text-align: center; +} +.body-sub { + margin-top: 25px; + padding-top: 25px; + border-top: 1px solid #E6E6E6; +} +.content-cell { + padding: 35px; +} + +@media only screen and (max-width: 600px) { + .email-body_inner, + .email-footer { + width: 100% !important; + } +} +@media (prefers-color-scheme: dark) { + body, + .email-body, + .email-body_inner, + .email-content, + .email-wrapper, + .email-masthead, + .email-footer { + background-color: #121213 !important; + color: #FFF !important; + } + p, + ul, + ol, + blockquote, + h1, + h2, + h3 { + color: #FFF !important; + } + .attributes_content, + .discount { + background-color: #222 !important; + } + .email-masthead_name { + text-shadow: none !important; + } +} + *, *::before, *::after { @@ -12683,14 +13041,7 @@ blockquote { font-weight: 400; background-color: #46444a; padding: 0.5rem 1rem; - margin: 0.5rem 0rem 1rem 0.5rem; -} - -blockquote > blockquote { - padding: 0; margin: 0; - border-left: none; - background-color: transparent; } blockquote p { diff --git a/files/helpers/sanitize.py b/files/helpers/sanitize.py index e4dcd5a23..00a123235 100644 --- a/files/helpers/sanitize.py +++ b/files/helpers/sanitize.py @@ -83,7 +83,7 @@ allowed_styles =['color', 'font-weight', 'transform', '-webkit-transform'] def sanitize(sanitized, noimages=False): - sanitized = sanitized.replace("\ufeff", "").replace("m.youtube.com", "youtube.com") + sanitized = sanitized.replace("\ufeff", "").replace("m.youtube.com", "youtube.com").replace("", "
") for i in re.finditer('https://i.imgur.com/(([^_]*?)\.(jpg|png|jpeg))', sanitized): sanitized = sanitized.replace(i.group(1), i.group(2) + "_d." + i.group(3) + "?maxwidth=9999") diff --git a/files/templates/authforms.html b/files/templates/authforms.html index 82ee2ac30..8834aa306 100644 --- a/files/templates/authforms.html +++ b/files/templates/authforms.html @@ -15,11 +15,11 @@ {% if v %} - - {% if v.agendaposter %}{% elif v.css %}{% endif %} + + {% if v.agendaposter %}{% elif v.css %}{% endif %} {% else %} - + {% endif %} diff --git a/files/templates/default.html b/files/templates/default.html index 33d3ffd72..8c3cd08c9 100644 --- a/files/templates/default.html +++ b/files/templates/default.html @@ -250,12 +250,12 @@ {% if v %} - - - {% if v.agendaposter %}{% elif v.css %}{% endif %} + + + {% if v.agendaposter %}{% elif v.css %}{% endif %} {% else %} - + {% endif %} {% endblock %} diff --git a/files/templates/email/default.html b/files/templates/email/default.html index 476d4faa6..580b18956 100644 --- a/files/templates/email/default.html +++ b/files/templates/email/default.html @@ -6,366 +6,6 @@