+
+
+
+
\ No newline at end of file
diff --git a/themes/ilhasoft/email/messages/messages_en.properties b/themes/ilhasoft/email/messages/messages_en.properties
new file mode 100644
index 0000000..f67c4cb
--- /dev/null
+++ b/themes/ilhasoft/email/messages/messages_en.properties
@@ -0,0 +1,43 @@
+emailVerificationSubject=Confirm your registration in Weni
+emailVerificationBody=Someone has created a {2} account with this email address. If this was you, click the link below to verify your email address\n\n{0}\n\nThis link will expire within {1} minutes.\n\nIf you didn''t create this account, just ignore this message.
+emailVerificationWelcome=Hi, {0}!
+emailVerificationConfirmation=Confirm your email to access the platform
+emailVerificationConfirmationButton=
We are happy to have you with us! To proceed with accessing your account, check your email by pressing the button below or copying and pasting the link in your browser. Stay tuned, the link expires in {0} minutes!
+emailTestSubject=[KEYCLOAK] - SMTP test message
+emailTestBody=This is a test message
+emailTestBodyHtml=
This is a test message
+identityProviderLinkSubject=Link {0}
+identityProviderLinkBody=Someone wants to link your "{1}" account with "{0}" account of user {2} . If this was you, click the link below to link accounts\n\n{3}\n\nThis link will expire within {4} minutes.\n\nIf you don''t want to link account, just ignore this message. If you link accounts, you will be able to login to {1} through {0}.
+identityProviderLinkBodyHtml=
Someone wants to link your {1} account with {0} account of user {2} . If this was you, click the link below to link accounts
If you don''t want to link account, just ignore this message. If you link accounts, you will be able to login to {1} through {0}.
+passwordResetSubject=Password recovery
+passwordResetBody=Someone just requested to change your {2} account''s credentials. If this was you, click on the link below to reset them.\n\n{0}\n\nThis link and code will expire within {1} minutes.\n\nIf you don''t want to reset your credentials, just ignore this message and nothing will be changed.
+passwordResetBodyHtml=
You have requested to recover your password. To perform the action, press the button below, or copy and paste the link in your browser, which will redirect you to a password creation page. Stay tuned, the link expires in {0} minutes!
+passwordResetBodyText3Html=
If you have not performed this action, ignore this message and change your email password for security. Talk to support if necessary!
+executeActionsSubject=Update Your Account
+executeActionsBody=Your administrator has just requested that you update your {2} account by performing the following action(s): {3}. Click on the link below to start this process.\n\n{0}\n\nThis link will expire within {1} minutes.\n\nIf you are unaware that your admin has requested this, just ignore this message and nothing will be changed.
+executeActionsBodyHtml=
Your administrator has just requested that you update your {2} account by performing the following action(s): {3}. Click on the link below to start this process.
If you are unaware that your admin has requested this, just ignore this message and nothing will be changed.
+eventLoginErrorSubject=Login error
+eventLoginErrorBody=A failed login attempt was detected to your account on {0} from {1}. If this was not you, please contact an admin.
+eventLoginErrorBodyHtml=
A failed login attempt was detected to your account on {0} from {1}. If this was not you, please contact an admin.
+eventRemoveTotpSubject=Remove OTP
+eventRemoveTotpBody=OTP was removed from your account on {0} from {1}. If this was not you, please contact an admin.
+eventRemoveTotpBodyHtml=
OTP was removed from your account on {0} from {1}. If this was not you, please contact an admin.
+eventUpdatePasswordSubject=Update password
+eventUpdatePasswordBody=Your password was changed on {0} from {1}. If this was not you, please contact an admin.
+eventUpdatePasswordBodyHtml=
Your password was changed on {0} from {1}. If this was not you, please contact an admin.
+eventUpdateTotpSubject=Update OTP
+eventUpdateTotpBody=OTP was updated for your account on {0} from {1}. If this was not you, please contact an admin.
+eventUpdateTotpBodyHtml=
OTP was updated for your account on {0} from {1}. If this was not you, please contact an admin.
\ No newline at end of file
diff --git a/themes/ilhasoft/email/messages/messages_pt_BR.properties b/themes/ilhasoft/email/messages/messages_pt_BR.properties
new file mode 100644
index 0000000..f27b93b
--- /dev/null
+++ b/themes/ilhasoft/email/messages/messages_pt_BR.properties
@@ -0,0 +1,43 @@
+emailVerificationSubject=Confirme seu cadastro na Weni
+emailVerificationBody=Alguém criou uma conta {2} com este endereço de e-mail. Se foi você, clique no link abaixo para verificar o seu endereço de e-mail \n \n{0}\n\nEste link irá expirar dentro de {1} minutos. \n\nSe você não criou esta conta, ignore isto mensagem.
+emailVerificationWelcome=Oi, {0}!
+emailVerificationConfirmation=Confirme seu e-mail para acessar a plataforma
+emailVerificationConfirmationButton=
Estamos felizes em ter você conosco! Para continuar acessando sua conta, verifique seu e-mail pressionando o botão abaixo ou copiando e colando o link em seu navegador. Fique ligado, o link expira em {0} minutos!
+emailTestSubject=[KEYCLOAK] - SMTP test message
+emailTestBody=This is a test message
+emailTestBodyHtml=
This is a test message
+identityProviderLinkSubject=Link {0}
+identityProviderLinkBody=Alguém deseja vincular sua conta "{1}" à conta "{0}" do usuário {2}. Se foi você, clique no link abaixo para vincular contas \n\n{3}\n\nEste link irá expirar em {4} minutos. \n\nSe você não quiser vincular conta, ignore esta mensagem. Se vincular contas, você poderá fazer login em {1} por meio de {0}.
+identityProviderLinkBodyHtml=
Alguém deseja vincular sua conta {1} à conta {0} do usuário {2}. Se foi você, clique no link abaixo para vincular contas
Se você não quiser vincular a conta, ignore esta mensagem. Se você vincular contas, poderá fazer login em {1} por meio de {0}.
+passwordResetSubject=Recuperação de senha
+passwordResetBody=Alguém acabou de solicitar a alteração das credenciais da sua conta {2}. Se foi você, clique no link abaixo para redefini-los. \n\n{0}\n\nEste link e código irão expirar em {1} minutos. \n\nSe você não quiser redefinir suas credenciais, apenas ignore esta mensagem e nada será alterado.
+passwordResetBodyHtml=
Você solicitou a recuperação de sua senha. Para realizar a ação, pressione o botão abaixo, ou copie e cole o link em seu navegador, que o redirecionará para uma página de criação de senha. Fique ligado, o link expira em {0} minutos!
+passwordResetBodyText3Html=
Se você não executou esta ação, ignore esta mensagem e altere sua senha de e-mail para segurança. Fale com o suporte se necessário!
+executeActionsSubject=Atualize sua conta
+executeActionsBody=Seu administrador acabou de solicitar que você atualize sua conta do {2} realizando as seguintes ações: {3}. Clique no link abaixo para iniciar este processo. \n\n{0}\n\nEste link irá expirar em {1} minutos. \n\nSe você não sabe que seu administrador solicitou isso, ignore esta mensagem e nada será mudado.
+executeActionsBodyHtml=
Seu administrador acabou de solicitar que você atualize sua conta do {2} executando as seguintes ações: {3}. Clique no link abaixo para iniciar este processo.
Se você não sabe que o seu administrador solicitou isso, apenas ignore esta mensagem e nada será alterado.
+eventLoginErrorSubject=Erro de login
+eventLoginErrorBody=Uma tentativa malsucedida de login foi detectada em sua conta em {0} de {1}. Se não foi você, entre em contato com um administrador.
+eventLoginErrorBodyHtml=
Uma tentativa malsucedida de login foi detectada em sua conta em {0} de {1}. Se não foi você, entre em contato com um administrador.
+eventRemoveTotpSubject=Remover OTP
+eventRemoveTotpBody=OTP foi removido de sua conta em {0} de {1}. Se não foi você, entre em contato com um administrador.
+eventRemoveTotpBodyHtml=
OTP foi removido de sua conta em {0} de {1}. Se não foi você, entre em contato com um administrador.
+eventUpdatePasswordSubject=Atualizar senha
+eventUpdatePasswordBody=Sua senha foi alterada em {0} de {1}. Se não foi você, entre em contato com um administrador.
+eventUpdatePasswordBodyHtml=
Your password was changed on {0} from {1}. If this was not you, please contact an admin.
+eventUpdateTotpSubject=Atualizar OTP
+eventUpdateTotpBody=OTP foi atualizado para sua conta em {0} de {1}. Se não foi você, entre em contato com um administrador.
+eventUpdateTotpBodyHtml=
OTP foi atualizado para sua conta em {0} de {1}. Se não foi você, entre em contato com um administrador.
+
+requiredAction.CONFIGURE_TOTP=Configurar OTP
+requiredAction.terms_and_conditions=Termos e Condições
+requiredAction.UPDATE_PASSWORD=Atualizar senha
+requiredAction.UPDATE_PROFILE=Atualizar perfil
+requiredAction.VERIFY_EMAIL=Verificar e-mail
+
+emailAccessOurSite=Visite o nosso site
+emailFooterText=
Se você não executou esta ação, ignore esta mensagem e altere sua senha de e-mail para segurança. Fale com o suporte se necessário!
\ No newline at end of file
diff --git a/themes/ilhasoft/email/text/email-test.ftl b/themes/ilhasoft/email/text/email-test.ftl
new file mode 100644
index 0000000..f1becdd
--- /dev/null
+++ b/themes/ilhasoft/email/text/email-test.ftl
@@ -0,0 +1,2 @@
+<#ftl output_format="plainText">
+${msg("emailTestBody", realmName)}
\ No newline at end of file
diff --git a/themes/ilhasoft/email/text/email-verification.ftl b/themes/ilhasoft/email/text/email-verification.ftl
new file mode 100644
index 0000000..152de22
--- /dev/null
+++ b/themes/ilhasoft/email/text/email-verification.ftl
@@ -0,0 +1,2 @@
+<#ftl output_format="plainText">
+${msg("emailVerificationBody",link, linkExpiration, realmName)}
\ No newline at end of file
diff --git a/themes/ilhasoft/email/text/event-login_error.ftl b/themes/ilhasoft/email/text/event-login_error.ftl
new file mode 100644
index 0000000..bfb4036
--- /dev/null
+++ b/themes/ilhasoft/email/text/event-login_error.ftl
@@ -0,0 +1,2 @@
+<#ftl output_format="plainText">
+${msg("eventLoginErrorBody",event.date,event.ipAddress)}
\ No newline at end of file
diff --git a/themes/ilhasoft/email/text/event-remove_totp.ftl b/themes/ilhasoft/email/text/event-remove_totp.ftl
new file mode 100644
index 0000000..a7e3b68
--- /dev/null
+++ b/themes/ilhasoft/email/text/event-remove_totp.ftl
@@ -0,0 +1,2 @@
+<#ftl output_format="plainText">
+${msg("eventRemoveTotpBody",event.date, event.ipAddress)}
\ No newline at end of file
diff --git a/themes/ilhasoft/email/text/event-update_password.ftl b/themes/ilhasoft/email/text/event-update_password.ftl
new file mode 100644
index 0000000..2ec7ea0
--- /dev/null
+++ b/themes/ilhasoft/email/text/event-update_password.ftl
@@ -0,0 +1,2 @@
+<#ftl output_format="plainText">
+${msg("eventUpdatePasswordBody",event.date, event.ipAddress)}
\ No newline at end of file
diff --git a/themes/ilhasoft/email/text/event-update_totp.ftl b/themes/ilhasoft/email/text/event-update_totp.ftl
new file mode 100644
index 0000000..14778b5
--- /dev/null
+++ b/themes/ilhasoft/email/text/event-update_totp.ftl
@@ -0,0 +1,2 @@
+<#ftl output_format="plainText">
+${msg("eventUpdateTotpBody",event.date, event.ipAddress)}
\ No newline at end of file
diff --git a/themes/ilhasoft/email/text/executeActions.ftl b/themes/ilhasoft/email/text/executeActions.ftl
new file mode 100644
index 0000000..af9d5c4
--- /dev/null
+++ b/themes/ilhasoft/email/text/executeActions.ftl
@@ -0,0 +1,4 @@
+<#ftl output_format="plainText">
+<#assign requiredActionsText><#if requiredActions??><#list requiredActions><#items as reqActionItem>${msg("requiredAction.${reqActionItem}")}<#sep>, #items>#list><#else>#if>#assign>
+
+${msg("executeActionsBody",link, linkExpiration, realmName, requiredActionsText)}
\ No newline at end of file
diff --git a/themes/ilhasoft/email/text/identity-provider-link.ftl b/themes/ilhasoft/email/text/identity-provider-link.ftl
new file mode 100644
index 0000000..0232e12
--- /dev/null
+++ b/themes/ilhasoft/email/text/identity-provider-link.ftl
@@ -0,0 +1,2 @@
+<#ftl output_format="plainText">
+${msg("identityProviderLinkBody", identityProviderAlias, realmName, identityProviderContext.username, link, linkExpiration)}
\ No newline at end of file
diff --git a/themes/ilhasoft/email/text/password-reset.ftl b/themes/ilhasoft/email/text/password-reset.ftl
new file mode 100644
index 0000000..e22649d
--- /dev/null
+++ b/themes/ilhasoft/email/text/password-reset.ftl
@@ -0,0 +1,2 @@
+<#ftl output_format="plainText">
+${msg("passwordResetBody",link, linkExpiration, realmName)}
\ No newline at end of file
diff --git a/themes/ilhasoft/email/theme.properties b/themes/ilhasoft/email/theme.properties
index f1dbb72..ba297e1 100644
--- a/themes/ilhasoft/email/theme.properties
+++ b/themes/ilhasoft/email/theme.properties
@@ -1 +1,2 @@
-parent=base
\ No newline at end of file
+parent=base
+locales=en,pt-BR
\ No newline at end of file
diff --git a/themes/ilhasoft/login/resources/img/favicon.ico b/themes/ilhasoft/login/resources/img/favicon.ico
index 48188de..3af02f9 100644
Binary files a/themes/ilhasoft/login/resources/img/favicon.ico and b/themes/ilhasoft/login/resources/img/favicon.ico differ
diff --git a/themes/ilhasoft/welcome/resources/favicon.ico b/themes/ilhasoft/welcome/resources/favicon.ico
index 48188de..3af02f9 100644
Binary files a/themes/ilhasoft/welcome/resources/favicon.ico and b/themes/ilhasoft/welcome/resources/favicon.ico differ