commit d9fb74972aa99e007b504ebedba6e73545d6caea Author: Jacek Pyziak Date: Fri Dec 20 12:48:12 2024 +0100 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e52c598 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.vscode/ftp-kr.sync.cache.json diff --git a/.vscode/ftp-kr.json b/.vscode/ftp-kr.json new file mode 100644 index 0000000..84523ee --- /dev/null +++ b/.vscode/ftp-kr.json @@ -0,0 +1,17 @@ +{ + "host": "ostal.pl", + "username": "ostal", + "password": "5vDWBthWuT", + "remotePath": "/domains/ostal.pl/public_html/", + "protocol": "ftp", + "port": 0, + "fileNameEncoding": "utf8", + "autoUpload": true, + "autoDelete": false, + "autoDownload": false, + "ignoreRemoteModification": true, + "ignore": [ + ".git", + "/.vscode" + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..95b4ab6 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,17 @@ +{ + "liveSassCompile.settings.formats": [ + { + "format": "compressed", + "extensionName": ".css", + "savePath": "", + "savePathSegmentKeys": null, + "savePathReplaceSegmentsWith": null + } + ], + "liveSassCompile.settings.generateMap": true, + "liveSassCompile.settings.autoprefix": "defaults", + "liveSassCompile.settings.watchOnLaunch": true, + "liveSassCompile.settings.includeItems": [ + "wp-content/themes/ostal_WP/css/custom.scss" + ] +} diff --git a/.vscode/sftp.json b/.vscode/sftp.json new file mode 100644 index 0000000..6e3ebc6 --- /dev/null +++ b/.vscode/sftp.json @@ -0,0 +1,12 @@ +{ + "name": "ostal.pl", + "host": "ostal.pl", + "protocol": "ftp", + "port": 21, + "username": "ostal", + "password": "5vDWBthWuT", + "remotePath": "/domains/ostal.pl/public_html/", + "uploadOnSave": false, + "useTempFile": false, + "openSsh": false +} diff --git a/konfigurator-mail.php b/konfigurator-mail.php new file mode 100644 index 0000000..d419287 --- /dev/null +++ b/konfigurator-mail.php @@ -0,0 +1,65 @@ + IsSMTP(); + $mail -> SMTPAuth = true; + $mail -> Host = 'mail.ostal.pl'; + $mail -> Port = 25; + $mail -> Username = 'konfigurator@ostal.pl'; + $mail -> Password = 'x6rpeUG5tW'; + $mail -> CharSet = "UTF-8"; + $mail -> SMTPOptions = array( + 'ssl' => array( + 'verify_peer' => false, + 'verify_peer_name' => false, + 'allow_self_signed' => true + ) + ); + $mail -> From = 'konfigurator@ostal.pl'; + $mail -> FromName = 'Ostal'; + $mail -> addAddress( $email, $email ); + $mail -> addReplyTo( $reply, $reply ); + $mail -> isHTML( true ); + $mail -> Subject = $subject; + $mail -> Body = $text; + return $mail -> send(); +} + +$data = json_decode(file_get_contents('php://input'), true); +$configData = $data['configData']; + +$to = 'kontakt@ostal.pl'; +$subject = 'ostal.pl - Konfigurator'; +$message = '

' . $configData['step_1'] . '

'; + +$message .= '

Wymiary

'; +$message .= ''; + +$message .= '

' . $configData['step_3'] . '

'; + +$message .= '

Dane kontaktowe

'; +$message .= ''; + +if ( send_email( $to, $configData['step_4']['email'], $subject, $message, $headers ) ) +{ + // send_email( 'biuro@project-pro.pl', $configData['step_4']['email'], $subject, $message, $headers ); + $_SESSION["configurator_sended"] = true; + echo json_encode(array('status' => 'ok', 'message' => 'Wiadmość wysłana')); + exit(); +} else { + echo json_encode(array('status' => 'error', 'message' => 'Wystąpił błąd')); + exit(); +} \ No newline at end of file diff --git a/phpmailer/class.phpmailer.php b/phpmailer/class.phpmailer.php new file mode 100644 index 0000000..bcb1ad1 --- /dev/null +++ b/phpmailer/class.phpmailer.php @@ -0,0 +1,3924 @@ + + * @author Jim Jagielski (jimjag) + * @author Andy Prevost (codeworxtech) + * @author Brent R. Matzelle (original founder) + * @copyright 2012 - 2014 Marcus Bointon + * @copyright 2010 - 2012 Jim Jagielski + * @copyright 2004 - 2009 Andy Prevost + * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License + * @note This program is distributed in the hope that it will be useful - WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. + */ + +/** + * PHPMailer - PHP email creation and transport class. + * @package PHPMailer + * @author Marcus Bointon (Synchro/coolbru) + * @author Jim Jagielski (jimjag) + * @author Andy Prevost (codeworxtech) + * @author Brent R. Matzelle (original founder) + */ +class PHPMailer +{ + /** + * The PHPMailer Version number. + * @var string + */ + public $Version = '5.2.15'; + + /** + * Email priority. + * Options: null (default), 1 = High, 3 = Normal, 5 = low. + * When null, the header is not set at all. + * @var integer + */ + public $Priority = null; + + /** + * The character set of the message. + * @var string + */ + public $CharSet = 'iso-8859-1'; + + /** + * The MIME Content-type of the message. + * @var string + */ + public $ContentType = 'text/plain'; + + /** + * The message encoding. + * Options: "8bit", "7bit", "binary", "base64", and "quoted-printable". + * @var string + */ + public $Encoding = '8bit'; + + /** + * Holds the most recent mailer error message. + * @var string + */ + public $ErrorInfo = ''; + + /** + * The From email address for the message. + * @var string + */ + public $From = 'root@localhost'; + + /** + * The From name of the message. + * @var string + */ + public $FromName = 'Root User'; + + /** + * The Sender email (Return-Path) of the message. + * If not empty, will be sent via -f to sendmail or as 'MAIL FROM' in smtp mode. + * @var string + */ + public $Sender = ''; + + /** + * The Return-Path of the message. + * If empty, it will be set to either From or Sender. + * @var string + * @deprecated Email senders should never set a return-path header; + * it's the receiver's job (RFC5321 section 4.4), so this no longer does anything. + * @link https://tools.ietf.org/html/rfc5321#section-4.4 RFC5321 reference + */ + public $ReturnPath = ''; + + /** + * The Subject of the message. + * @var string + */ + public $Subject = ''; + + /** + * An HTML or plain text message body. + * If HTML then call isHTML(true). + * @var string + */ + public $Body = ''; + + /** + * The plain-text message body. + * This body can be read by mail clients that do not have HTML email + * capability such as mutt & Eudora. + * Clients that can read HTML will view the normal Body. + * @var string + */ + public $AltBody = ''; + + /** + * An iCal message part body. + * Only supported in simple alt or alt_inline message types + * To generate iCal events, use the bundled extras/EasyPeasyICS.php class or iCalcreator + * @link http://sprain.ch/blog/downloads/php-class-easypeasyics-create-ical-files-with-php/ + * @link http://kigkonsult.se/iCalcreator/ + * @var string + */ + public $Ical = ''; + + /** + * The complete compiled MIME message body. + * @access protected + * @var string + */ + protected $MIMEBody = ''; + + /** + * The complete compiled MIME message headers. + * @var string + * @access protected + */ + protected $MIMEHeader = ''; + + /** + * Extra headers that createHeader() doesn't fold in. + * @var string + * @access protected + */ + protected $mailHeader = ''; + + /** + * Word-wrap the message body to this number of chars. + * Set to 0 to not wrap. A useful value here is 78, for RFC2822 section 2.1.1 compliance. + * @var integer + */ + public $WordWrap = 0; + + /** + * Which method to use to send mail. + * Options: "mail", "sendmail", or "smtp". + * @var string + */ + public $Mailer = 'mail'; + + /** + * The path to the sendmail program. + * @var string + */ + public $Sendmail = '/usr/sbin/sendmail'; + + /** + * Whether mail() uses a fully sendmail-compatible MTA. + * One which supports sendmail's "-oi -f" options. + * @var boolean + */ + public $UseSendmailOptions = true; + + /** + * Path to PHPMailer plugins. + * Useful if the SMTP class is not in the PHP include path. + * @var string + * @deprecated Should not be needed now there is an autoloader. + */ + public $PluginDir = ''; + + /** + * The email address that a reading confirmation should be sent to, also known as read receipt. + * @var string + */ + public $ConfirmReadingTo = ''; + + /** + * The hostname to use in the Message-ID header and as default HELO string. + * If empty, PHPMailer attempts to find one with, in order, + * $_SERVER['SERVER_NAME'], gethostname(), php_uname('n'), or the value + * 'localhost.localdomain'. + * @var string + */ + public $Hostname = ''; + + /** + * An ID to be used in the Message-ID header. + * If empty, a unique id will be generated. + * @var string + */ + public $MessageID = ''; + + /** + * The message Date to be used in the Date header. + * If empty, the current date will be added. + * @var string + */ + public $MessageDate = ''; + + /** + * SMTP hosts. + * Either a single hostname or multiple semicolon-delimited hostnames. + * You can also specify a different port + * for each host by using this format: [hostname:port] + * (e.g. "smtp1.example.com:25;smtp2.example.com"). + * You can also specify encryption type, for example: + * (e.g. "tls://smtp1.example.com:587;ssl://smtp2.example.com:465"). + * Hosts will be tried in order. + * @var string + */ + public $Host = 'localhost'; + + /** + * The default SMTP server port. + * @var integer + * @TODO Why is this needed when the SMTP class takes care of it? + */ + public $Port = 25; + + /** + * The SMTP HELO of the message. + * Default is $Hostname. If $Hostname is empty, PHPMailer attempts to find + * one with the same method described above for $Hostname. + * @var string + * @see PHPMailer::$Hostname + */ + public $Helo = ''; + + /** + * What kind of encryption to use on the SMTP connection. + * Options: '', 'ssl' or 'tls' + * @var string + */ + public $SMTPSecure = ''; + + /** + * Whether to enable TLS encryption automatically if a server supports it, + * even if `SMTPSecure` is not set to 'tls'. + * Be aware that in PHP >= 5.6 this requires that the server's certificates are valid. + * @var boolean + */ + public $SMTPAutoTLS = true; + + /** + * Whether to use SMTP authentication. + * Uses the Username and Password properties. + * @var boolean + * @see PHPMailer::$Username + * @see PHPMailer::$Password + */ + public $SMTPAuth = false; + + /** + * Options array passed to stream_context_create when connecting via SMTP. + * @var array + */ + public $SMTPOptions = array(); + + /** + * SMTP username. + * @var string + */ + public $Username = ''; + + /** + * SMTP password. + * @var string + */ + public $Password = ''; + + /** + * SMTP auth type. + * Options are CRAM-MD5, LOGIN, PLAIN, NTLM, XOAUTH2, attempted in that order if not specified + * @var string + */ + public $AuthType = ''; + + /** + * SMTP realm. + * Used for NTLM auth + * @var string + */ + public $Realm = ''; + + /** + * SMTP workstation. + * Used for NTLM auth + * @var string + */ + public $Workstation = ''; + + /** + * The SMTP server timeout in seconds. + * Default of 5 minutes (300sec) is from RFC2821 section 4.5.3.2 + * @var integer + */ + public $Timeout = 300; + + /** + * SMTP class debug output mode. + * Debug output level. + * Options: + * * `0` No output + * * `1` Commands + * * `2` Data and commands + * * `3` As 2 plus connection status + * * `4` Low-level data output + * @var integer + * @see SMTP::$do_debug + */ + public $SMTPDebug = 0; + + /** + * How to handle debug output. + * Options: + * * `echo` Output plain-text as-is, appropriate for CLI + * * `html` Output escaped, line breaks converted to `
`, appropriate for browser output + * * `error_log` Output to error log as configured in php.ini + * + * Alternatively, you can provide a callable expecting two params: a message string and the debug level: + * + * $mail->Debugoutput = function($str, $level) {echo "debug level $level; message: $str";}; + * + * @var string|callable + * @see SMTP::$Debugoutput + */ + public $Debugoutput = 'echo'; + + /** + * Whether to keep SMTP connection open after each message. + * If this is set to true then to close the connection + * requires an explicit call to smtpClose(). + * @var boolean + */ + public $SMTPKeepAlive = false; + + /** + * Whether to split multiple to addresses into multiple messages + * or send them all in one message. + * Only supported in `mail` and `sendmail` transports, not in SMTP. + * @var boolean + */ + public $SingleTo = false; + + /** + * Storage for addresses when SingleTo is enabled. + * @var array + * @TODO This should really not be public + */ + public $SingleToArray = array(); + + /** + * Whether to generate VERP addresses on send. + * Only applicable when sending via SMTP. + * @link https://en.wikipedia.org/wiki/Variable_envelope_return_path + * @link http://www.postfix.org/VERP_README.html Postfix VERP info + * @var boolean + */ + public $do_verp = false; + + /** + * Whether to allow sending messages with an empty body. + * @var boolean + */ + public $AllowEmpty = false; + + /** + * The default line ending. + * @note The default remains "\n". We force CRLF where we know + * it must be used via self::CRLF. + * @var string + */ + public $LE = "\n"; + + /** + * DKIM selector. + * @var string + */ + public $DKIM_selector = ''; + + /** + * DKIM Identity. + * Usually the email address used as the source of the email. + * @var string + */ + public $DKIM_identity = ''; + + /** + * DKIM passphrase. + * Used if your key is encrypted. + * @var string + */ + public $DKIM_passphrase = ''; + + /** + * DKIM signing domain name. + * @example 'example.com' + * @var string + */ + public $DKIM_domain = ''; + + /** + * DKIM private key file path. + * @var string + */ + public $DKIM_private = ''; + + /** + * Callback Action function name. + * + * The function that handles the result of the send email action. + * It is called out by send() for each email sent. + * + * Value can be any php callable: http://www.php.net/is_callable + * + * Parameters: + * boolean $result result of the send action + * string $to email address of the recipient + * string $cc cc email addresses + * string $bcc bcc email addresses + * string $subject the subject + * string $body the email body + * string $from email address of sender + * @var string + */ + public $action_function = ''; + + /** + * What to put in the X-Mailer header. + * Options: An empty string for PHPMailer default, whitespace for none, or a string to use + * @var string + */ + public $XMailer = ''; + + /** + * Which validator to use by default when validating email addresses. + * May be a callable to inject your own validator, but there are several built-in validators. + * @see PHPMailer::validateAddress() + * @var string|callable + * @static + */ + public static $validator = 'auto'; + + /** + * An instance of the SMTP sender class. + * @var SMTP + * @access protected + */ + protected $smtp = null; + + /** + * The array of 'to' names and addresses. + * @var array + * @access protected + */ + protected $to = array(); + + /** + * The array of 'cc' names and addresses. + * @var array + * @access protected + */ + protected $cc = array(); + + /** + * The array of 'bcc' names and addresses. + * @var array + * @access protected + */ + protected $bcc = array(); + + /** + * The array of reply-to names and addresses. + * @var array + * @access protected + */ + protected $ReplyTo = array(); + + /** + * An array of all kinds of addresses. + * Includes all of $to, $cc, $bcc + * @var array + * @access protected + * @see PHPMailer::$to @see PHPMailer::$cc @see PHPMailer::$bcc + */ + protected $all_recipients = array(); + + /** + * An array of names and addresses queued for validation. + * In send(), valid and non duplicate entries are moved to $all_recipients + * and one of $to, $cc, or $bcc. + * This array is used only for addresses with IDN. + * @var array + * @access protected + * @see PHPMailer::$to @see PHPMailer::$cc @see PHPMailer::$bcc + * @see PHPMailer::$all_recipients + */ + protected $RecipientsQueue = array(); + + /** + * An array of reply-to names and addresses queued for validation. + * In send(), valid and non duplicate entries are moved to $ReplyTo. + * This array is used only for addresses with IDN. + * @var array + * @access protected + * @see PHPMailer::$ReplyTo + */ + protected $ReplyToQueue = array(); + + /** + * The array of attachments. + * @var array + * @access protected + */ + protected $attachment = array(); + + /** + * The array of custom headers. + * @var array + * @access protected + */ + protected $CustomHeader = array(); + + /** + * The most recent Message-ID (including angular brackets). + * @var string + * @access protected + */ + protected $lastMessageID = ''; + + /** + * The message's MIME type. + * @var string + * @access protected + */ + protected $message_type = ''; + + /** + * The array of MIME boundary strings. + * @var array + * @access protected + */ + protected $boundary = array(); + + /** + * The array of available languages. + * @var array + * @access protected + */ + protected $language = array(); + + /** + * The number of errors encountered. + * @var integer + * @access protected + */ + protected $error_count = 0; + + /** + * The S/MIME certificate file path. + * @var string + * @access protected + */ + protected $sign_cert_file = ''; + + /** + * The S/MIME key file path. + * @var string + * @access protected + */ + protected $sign_key_file = ''; + + /** + * The optional S/MIME extra certificates ("CA Chain") file path. + * @var string + * @access protected + */ + protected $sign_extracerts_file = ''; + + /** + * The S/MIME password for the key. + * Used only if the key is encrypted. + * @var string + * @access protected + */ + protected $sign_key_pass = ''; + + /** + * Whether to throw exceptions for errors. + * @var boolean + * @access protected + */ + protected $exceptions = false; + + /** + * Unique ID used for message ID and boundaries. + * @var string + * @access protected + */ + protected $uniqueid = ''; + + /** + * Error severity: message only, continue processing. + */ + const STOP_MESSAGE = 0; + + /** + * Error severity: message, likely ok to continue processing. + */ + const STOP_CONTINUE = 1; + + /** + * Error severity: message, plus full stop, critical error reached. + */ + const STOP_CRITICAL = 2; + + /** + * SMTP RFC standard line ending. + */ + const CRLF = "\r\n"; + + /** + * The maximum line length allowed by RFC 2822 section 2.1.1 + * @var integer + */ + const MAX_LINE_LENGTH = 998; + + /** + * Constructor. + * @param boolean $exceptions Should we throw external exceptions? + */ + public function __construct($exceptions = null) + { + if ($exceptions !== null) { + $this->exceptions = (boolean)$exceptions; + } + } + + /** + * Destructor. + */ + public function __destruct() + { + //Close any open SMTP connection nicely + $this->smtpClose(); + } + + /** + * Call mail() in a safe_mode-aware fashion. + * Also, unless sendmail_path points to sendmail (or something that + * claims to be sendmail), don't pass params (not a perfect fix, + * but it will do) + * @param string $to To + * @param string $subject Subject + * @param string $body Message Body + * @param string $header Additional Header(s) + * @param string $params Params + * @access private + * @return boolean + */ + private function mailPassthru($to, $subject, $body, $header, $params) + { + //Check overloading of mail function to avoid double-encoding + if (ini_get('mbstring.func_overload') & 1) { + $subject = $this->secureHeader($subject); + } else { + $subject = $this->encodeHeader($this->secureHeader($subject)); + } + //Can't use additional_parameters in safe_mode + //@link http://php.net/manual/en/function.mail.php + if (ini_get('safe_mode') or !$this->UseSendmailOptions) { + $result = @mail($to, $subject, $body, $header); + } else { + $result = @mail($to, $subject, $body, $header, $params); + } + return $result; + } + + /** + * Output debugging info via user-defined method. + * Only generates output if SMTP debug output is enabled (@see SMTP::$do_debug). + * @see PHPMailer::$Debugoutput + * @see PHPMailer::$SMTPDebug + * @param string $str + */ + protected function edebug($str) + { + if ($this->SMTPDebug <= 0) { + return; + } + //Avoid clash with built-in function names + if (!in_array($this->Debugoutput, array('error_log', 'html', 'echo')) and is_callable($this->Debugoutput)) { + call_user_func($this->Debugoutput, $str, $this->SMTPDebug); + return; + } + switch ($this->Debugoutput) { + case 'error_log': + //Don't output, just log + error_log($str); + break; + case 'html': + //Cleans up output a bit for a better looking, HTML-safe output + echo htmlentities( + preg_replace('/[\r\n]+/', '', $str), + ENT_QUOTES, + 'UTF-8' + ) + . "
\n"; + break; + case 'echo': + default: + //Normalize line breaks + $str = preg_replace('/\r\n?/ms', "\n", $str); + echo gmdate('Y-m-d H:i:s') . "\t" . str_replace( + "\n", + "\n \t ", + trim($str) + ) . "\n"; + } + } + + /** + * Sets message type to HTML or plain. + * @param boolean $isHtml True for HTML mode. + * @return void + */ + public function isHTML($isHtml = true) + { + if ($isHtml) { + $this->ContentType = 'text/html'; + } else { + $this->ContentType = 'text/plain'; + } + } + + /** + * Send messages using SMTP. + * @return void + */ + public function isSMTP() + { + $this->Mailer = 'smtp'; + } + + /** + * Send messages using PHP's mail() function. + * @return void + */ + public function isMail() + { + $this->Mailer = 'mail'; + } + + /** + * Send messages using $Sendmail. + * @return void + */ + public function isSendmail() + { + $ini_sendmail_path = ini_get('sendmail_path'); + + if (!stristr($ini_sendmail_path, 'sendmail')) { + $this->Sendmail = '/usr/sbin/sendmail'; + } else { + $this->Sendmail = $ini_sendmail_path; + } + $this->Mailer = 'sendmail'; + } + + /** + * Send messages using qmail. + * @return void + */ + public function isQmail() + { + $ini_sendmail_path = ini_get('sendmail_path'); + + if (!stristr($ini_sendmail_path, 'qmail')) { + $this->Sendmail = '/var/qmail/bin/qmail-inject'; + } else { + $this->Sendmail = $ini_sendmail_path; + } + $this->Mailer = 'qmail'; + } + + /** + * Add a "To" address. + * @param string $address The email address to send to + * @param string $name + * @return boolean true on success, false if address already used or invalid in some way + */ + public function addAddress($address, $name = '') + { + return $this->addOrEnqueueAnAddress('to', $address, $name); + } + + /** + * Add a "CC" address. + * @note: This function works with the SMTP mailer on win32, not with the "mail" mailer. + * @param string $address The email address to send to + * @param string $name + * @return boolean true on success, false if address already used or invalid in some way + */ + public function addCC($address, $name = '') + { + return $this->addOrEnqueueAnAddress('cc', $address, $name); + } + + /** + * Add a "BCC" address. + * @note: This function works with the SMTP mailer on win32, not with the "mail" mailer. + * @param string $address The email address to send to + * @param string $name + * @return boolean true on success, false if address already used or invalid in some way + */ + public function addBCC($address, $name = '') + { + return $this->addOrEnqueueAnAddress('bcc', $address, $name); + } + + /** + * Add a "Reply-To" address. + * @param string $address The email address to reply to + * @param string $name + * @return boolean true on success, false if address already used or invalid in some way + */ + public function addReplyTo($address, $name = '') + { + return $this->addOrEnqueueAnAddress('Reply-To', $address, $name); + } + + /** + * Add an address to one of the recipient arrays or to the ReplyTo array. Because PHPMailer + * can't validate addresses with an IDN without knowing the PHPMailer::$CharSet (that can still + * be modified after calling this function), addition of such addresses is delayed until send(). + * Addresses that have been added already return false, but do not throw exceptions. + * @param string $kind One of 'to', 'cc', 'bcc', or 'ReplyTo' + * @param string $address The email address to send, resp. to reply to + * @param string $name + * @throws phpmailerException + * @return boolean true on success, false if address already used or invalid in some way + * @access protected + */ + protected function addOrEnqueueAnAddress($kind, $address, $name) + { + $address = trim($address); + $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim + if (($pos = strrpos($address, '@')) === false) { + // At-sign is misssing. + $error_message = $this->lang('invalid_address') . " (addAnAddress $kind): $address"; + $this->setError($error_message); + $this->edebug($error_message); + if ($this->exceptions) { + throw new phpmailerException($error_message); + } + return false; + } + $params = array($kind, $address, $name); + // Enqueue addresses with IDN until we know the PHPMailer::$CharSet. + if ($this->has8bitChars(substr($address, ++$pos)) and $this->idnSupported()) { + if ($kind != 'Reply-To') { + if (!array_key_exists($address, $this->RecipientsQueue)) { + $this->RecipientsQueue[$address] = $params; + return true; + } + } else { + if (!array_key_exists($address, $this->ReplyToQueue)) { + $this->ReplyToQueue[$address] = $params; + return true; + } + } + return false; + } + // Immediately add standard addresses without IDN. + return call_user_func_array(array($this, 'addAnAddress'), $params); + } + + /** + * Add an address to one of the recipient arrays or to the ReplyTo array. + * Addresses that have been added already return false, but do not throw exceptions. + * @param string $kind One of 'to', 'cc', 'bcc', or 'ReplyTo' + * @param string $address The email address to send, resp. to reply to + * @param string $name + * @throws phpmailerException + * @return boolean true on success, false if address already used or invalid in some way + * @access protected + */ + protected function addAnAddress($kind, $address, $name = '') + { + if (!in_array($kind, array('to', 'cc', 'bcc', 'Reply-To'))) { + $error_message = $this->lang('Invalid recipient kind: ') . $kind; + $this->setError($error_message); + $this->edebug($error_message); + if ($this->exceptions) { + throw new phpmailerException($error_message); + } + return false; + } + if (!$this->validateAddress($address)) { + $error_message = $this->lang('invalid_address') . " (addAnAddress $kind): $address"; + $this->setError($error_message); + $this->edebug($error_message); + if ($this->exceptions) { + throw new phpmailerException($error_message); + } + return false; + } + if ($kind != 'Reply-To') { + if (!array_key_exists(strtolower($address), $this->all_recipients)) { + array_push($this->$kind, array($address, $name)); + $this->all_recipients[strtolower($address)] = true; + return true; + } + } else { + if (!array_key_exists(strtolower($address), $this->ReplyTo)) { + $this->ReplyTo[strtolower($address)] = array($address, $name); + return true; + } + } + return false; + } + + /** + * Parse and validate a string containing one or more RFC822-style comma-separated email addresses + * of the form "display name
" into an array of name/address pairs. + * Uses the imap_rfc822_parse_adrlist function if the IMAP extension is available. + * Note that quotes in the name part are removed. + * @param string $addrstr The address list string + * @param bool $useimap Whether to use the IMAP extension to parse the list + * @return array + * @link http://www.andrew.cmu.edu/user/agreen1/testing/mrbs/web/Mail/RFC822.php A more careful implementation + */ + public function parseAddresses($addrstr, $useimap = true) + { + $addresses = array(); + if ($useimap and function_exists('imap_rfc822_parse_adrlist')) { + //Use this built-in parser if it's available + $list = imap_rfc822_parse_adrlist($addrstr, ''); + foreach ($list as $address) { + if ($address->host != '.SYNTAX-ERROR.') { + if ($this->validateAddress($address->mailbox . '@' . $address->host)) { + $addresses[] = array( + 'name' => (property_exists($address, 'personal') ? $address->personal : ''), + 'address' => $address->mailbox . '@' . $address->host + ); + } + } + } + } else { + //Use this simpler parser + $list = explode(',', $addrstr); + foreach ($list as $address) { + $address = trim($address); + //Is there a separate name part? + if (strpos($address, '<') === false) { + //No separate name, just use the whole thing + if ($this->validateAddress($address)) { + $addresses[] = array( + 'name' => '', + 'address' => $address + ); + } + } else { + list($name, $email) = explode('<', $address); + $email = trim(str_replace('>', '', $email)); + if ($this->validateAddress($email)) { + $addresses[] = array( + 'name' => trim(str_replace(array('"', "'"), '', $name)), + 'address' => $email + ); + } + } + } + } + return $addresses; + } + + /** + * Set the From and FromName properties. + * @param string $address + * @param string $name + * @param boolean $auto Whether to also set the Sender address, defaults to true + * @throws phpmailerException + * @return boolean + */ + public function setFrom($address, $name = '', $auto = true) + { + $address = trim($address); + $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim + // Don't validate now addresses with IDN. Will be done in send(). + if (($pos = strrpos($address, '@')) === false or + (!$this->has8bitChars(substr($address, ++$pos)) or !$this->idnSupported()) and + !$this->validateAddress($address)) { + $error_message = $this->lang('invalid_address') . " (setFrom) $address"; + $this->setError($error_message); + $this->edebug($error_message); + if ($this->exceptions) { + throw new phpmailerException($error_message); + } + return false; + } + $this->From = $address; + $this->FromName = $name; + if ($auto) { + if (empty($this->Sender)) { + $this->Sender = $address; + } + } + return true; + } + + /** + * Return the Message-ID header of the last email. + * Technically this is the value from the last time the headers were created, + * but it's also the message ID of the last sent message except in + * pathological cases. + * @return string + */ + public function getLastMessageID() + { + return $this->lastMessageID; + } + + /** + * Check that a string looks like an email address. + * @param string $address The email address to check + * @param string|callable $patternselect A selector for the validation pattern to use : + * * `auto` Pick best pattern automatically; + * * `pcre8` Use the squiloople.com pattern, requires PCRE > 8.0, PHP >= 5.3.2, 5.2.14; + * * `pcre` Use old PCRE implementation; + * * `php` Use PHP built-in FILTER_VALIDATE_EMAIL; + * * `html5` Use the pattern given by the HTML5 spec for 'email' type form input elements. + * * `noregex` Don't use a regex: super fast, really dumb. + * Alternatively you may pass in a callable to inject your own validator, for example: + * PHPMailer::validateAddress('user@example.com', function($address) { + * return (strpos($address, '@') !== false); + * }); + * You can also set the PHPMailer::$validator static to a callable, allowing built-in methods to use your validator. + * @return boolean + * @static + * @access public + */ + public static function validateAddress($address, $patternselect = null) + { + if (is_null($patternselect)) { + $patternselect = self::$validator; + } + if (is_callable($patternselect)) { + return call_user_func($patternselect, $address); + } + //Reject line breaks in addresses; it's valid RFC5322, but not RFC5321 + if (strpos($address, "\n") !== false or strpos($address, "\r") !== false) { + return false; + } + if (!$patternselect or $patternselect == 'auto') { + //Check this constant first so it works when extension_loaded() is disabled by safe mode + //Constant was added in PHP 5.2.4 + if (defined('PCRE_VERSION')) { + //This pattern can get stuck in a recursive loop in PCRE <= 8.0.2 + if (version_compare(PCRE_VERSION, '8.0.3') >= 0) { + $patternselect = 'pcre8'; + } else { + $patternselect = 'pcre'; + } + } elseif (function_exists('extension_loaded') and extension_loaded('pcre')) { + //Fall back to older PCRE + $patternselect = 'pcre'; + } else { + //Filter_var appeared in PHP 5.2.0 and does not require the PCRE extension + if (version_compare(PHP_VERSION, '5.2.0') >= 0) { + $patternselect = 'php'; + } else { + $patternselect = 'noregex'; + } + } + } + switch ($patternselect) { + case 'pcre8': + /** + * Uses the same RFC5322 regex on which FILTER_VALIDATE_EMAIL is based, but allows dotless domains. + * @link http://squiloople.com/2009/12/20/email-address-validation/ + * @copyright 2009-2010 Michael Rushton + * Feel free to use and redistribute this code. But please keep this copyright notice. + */ + return (boolean)preg_match( + '/^(?!(?>(?1)"?(?>\\\[ -~]|[^"])"?(?1)){255,})(?!(?>(?1)"?(?>\\\[ -~]|[^"])"?(?1)){65,}@)' . + '((?>(?>(?>((?>(?>(?>\x0D\x0A)?[\t ])+|(?>[\t ]*\x0D\x0A)?[\t ]+)?)(\((?>(?2)' . + '(?>[\x01-\x08\x0B\x0C\x0E-\'*-\[\]-\x7F]|\\\[\x00-\x7F]|(?3)))*(?2)\)))+(?2))|(?2))?)' . + '([!#-\'*+\/-9=?^-~-]+|"(?>(?2)(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\x7F]))*' . + '(?2)")(?>(?1)\.(?1)(?4))*(?1)@(?!(?1)[a-z0-9-]{64,})(?1)(?>([a-z0-9](?>[a-z0-9-]*[a-z0-9])?)' . + '(?>(?1)\.(?!(?1)[a-z0-9-]{64,})(?1)(?5)){0,126}|\[(?:(?>IPv6:(?>([a-f0-9]{1,4})(?>:(?6)){7}' . + '|(?!(?:.*[a-f0-9][:\]]){8,})((?6)(?>:(?6)){0,6})?::(?7)?))|(?>(?>IPv6:(?>(?6)(?>:(?6)){5}:' . + '|(?!(?:.*[a-f0-9]:){6,})(?8)?::(?>((?6)(?>:(?6)){0,4}):)?))?(25[0-5]|2[0-4][0-9]|1[0-9]{2}' . + '|[1-9]?[0-9])(?>\.(?9)){3}))\])(?1)$/isD', + $address + ); + case 'pcre': + //An older regex that doesn't need a recent PCRE + return (boolean)preg_match( + '/^(?!(?>"?(?>\\\[ -~]|[^"])"?){255,})(?!(?>"?(?>\\\[ -~]|[^"])"?){65,}@)(?>' . + '[!#-\'*+\/-9=?^-~-]+|"(?>(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\xFF]))*")' . + '(?>\.(?>[!#-\'*+\/-9=?^-~-]+|"(?>(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\xFF]))*"))*' . + '@(?>(?![a-z0-9-]{64,})(?>[a-z0-9](?>[a-z0-9-]*[a-z0-9])?)(?>\.(?![a-z0-9-]{64,})' . + '(?>[a-z0-9](?>[a-z0-9-]*[a-z0-9])?)){0,126}|\[(?:(?>IPv6:(?>(?>[a-f0-9]{1,4})(?>:' . + '[a-f0-9]{1,4}){7}|(?!(?:.*[a-f0-9][:\]]){8,})(?>[a-f0-9]{1,4}(?>:[a-f0-9]{1,4}){0,6})?' . + '::(?>[a-f0-9]{1,4}(?>:[a-f0-9]{1,4}){0,6})?))|(?>(?>IPv6:(?>[a-f0-9]{1,4}(?>:' . + '[a-f0-9]{1,4}){5}:|(?!(?:.*[a-f0-9]:){6,})(?>[a-f0-9]{1,4}(?>:[a-f0-9]{1,4}){0,4})?' . + '::(?>(?:[a-f0-9]{1,4}(?>:[a-f0-9]{1,4}){0,4}):)?))?(?>25[0-5]|2[0-4][0-9]|1[0-9]{2}' . + '|[1-9]?[0-9])(?>\.(?>25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}))\])$/isD', + $address + ); + case 'html5': + /** + * This is the pattern used in the HTML5 spec for validation of 'email' type form input elements. + * @link http://www.whatwg.org/specs/web-apps/current-work/#e-mail-state-(type=email) + */ + return (boolean)preg_match( + '/^[a-zA-Z0-9.!#$%&\'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}' . + '[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/sD', + $address + ); + case 'noregex': + //No PCRE! Do something _very_ approximate! + //Check the address is 3 chars or longer and contains an @ that's not the first or last char + return (strlen($address) >= 3 + and strpos($address, '@') >= 1 + and strpos($address, '@') != strlen($address) - 1); + case 'php': + default: + return (boolean)filter_var($address, FILTER_VALIDATE_EMAIL); + } + } + + /** + * Tells whether IDNs (Internationalized Domain Names) are supported or not. This requires the + * "intl" and "mbstring" PHP extensions. + * @return bool "true" if required functions for IDN support are present + */ + public function idnSupported() + { + // @TODO: Write our own "idn_to_ascii" function for PHP <= 5.2. + return function_exists('idn_to_ascii') and function_exists('mb_convert_encoding'); + } + + /** + * Converts IDN in given email address to its ASCII form, also known as punycode, if possible. + * Important: Address must be passed in same encoding as currently set in PHPMailer::$CharSet. + * This function silently returns unmodified address if: + * - No conversion is necessary (i.e. domain name is not an IDN, or is already in ASCII form) + * - Conversion to punycode is impossible (e.g. required PHP functions are not available) + * or fails for any reason (e.g. domain has characters not allowed in an IDN) + * @see PHPMailer::$CharSet + * @param string $address The email address to convert + * @return string The encoded address in ASCII form + */ + public function punyencodeAddress($address) + { + // Verify we have required functions, CharSet, and at-sign. + if ($this->idnSupported() and + !empty($this->CharSet) and + ($pos = strrpos($address, '@')) !== false) { + $domain = substr($address, ++$pos); + // Verify CharSet string is a valid one, and domain properly encoded in this CharSet. + if ($this->has8bitChars($domain) and @mb_check_encoding($domain, $this->CharSet)) { + $domain = mb_convert_encoding($domain, 'UTF-8', $this->CharSet); + if (($punycode = defined('INTL_IDNA_VARIANT_UTS46') ? + idn_to_ascii($domain, 0, INTL_IDNA_VARIANT_UTS46) : + idn_to_ascii($domain)) !== false) { + return substr($address, 0, $pos) . $punycode; + } + } + } + return $address; + } + + /** + * Create a message and send it. + * Uses the sending method specified by $Mailer. + * @throws phpmailerException + * @return boolean false on error - See the ErrorInfo property for details of the error. + */ + public function send() + { + try { + if (!$this->preSend()) { + return false; + } + return $this->postSend(); + } catch (phpmailerException $exc) { + $this->mailHeader = ''; + $this->setError($exc->getMessage()); + if ($this->exceptions) { + throw $exc; + } + return false; + } + } + + /** + * Prepare a message for sending. + * @throws phpmailerException + * @return boolean + */ + public function preSend() + { + try { + $this->error_count = 0; // Reset errors + $this->mailHeader = ''; + + // Dequeue recipient and Reply-To addresses with IDN + foreach (array_merge($this->RecipientsQueue, $this->ReplyToQueue) as $params) { + $params[1] = $this->punyencodeAddress($params[1]); + call_user_func_array(array($this, 'addAnAddress'), $params); + } + if ((count($this->to) + count($this->cc) + count($this->bcc)) < 1) { + throw new phpmailerException($this->lang('provide_address'), self::STOP_CRITICAL); + } + + // Validate From, Sender, and ConfirmReadingTo addresses + foreach (array('From', 'Sender', 'ConfirmReadingTo') as $address_kind) { + $this->$address_kind = trim($this->$address_kind); + if (empty($this->$address_kind)) { + continue; + } + $this->$address_kind = $this->punyencodeAddress($this->$address_kind); + if (!$this->validateAddress($this->$address_kind)) { + $error_message = $this->lang('invalid_address') . ' (punyEncode) ' . $this->$address_kind; + $this->setError($error_message); + $this->edebug($error_message); + if ($this->exceptions) { + throw new phpmailerException($error_message); + } + return false; + } + } + + // Set whether the message is multipart/alternative + if ($this->alternativeExists()) { + $this->ContentType = 'multipart/alternative'; + } + + $this->setMessageType(); + // Refuse to send an empty message unless we are specifically allowing it + if (!$this->AllowEmpty and empty($this->Body)) { + throw new phpmailerException($this->lang('empty_message'), self::STOP_CRITICAL); + } + + // Create body before headers in case body makes changes to headers (e.g. altering transfer encoding) + $this->MIMEHeader = ''; + $this->MIMEBody = $this->createBody(); + // createBody may have added some headers, so retain them + $tempheaders = $this->MIMEHeader; + $this->MIMEHeader = $this->createHeader(); + $this->MIMEHeader .= $tempheaders; + + // To capture the complete message when using mail(), create + // an extra header list which createHeader() doesn't fold in + if ($this->Mailer == 'mail') { + if (count($this->to) > 0) { + $this->mailHeader .= $this->addrAppend('To', $this->to); + } else { + $this->mailHeader .= $this->headerLine('To', 'undisclosed-recipients:;'); + } + $this->mailHeader .= $this->headerLine( + 'Subject', + $this->encodeHeader($this->secureHeader(trim($this->Subject))) + ); + } + + // Sign with DKIM if enabled + if (!empty($this->DKIM_domain) + && !empty($this->DKIM_private) + && !empty($this->DKIM_selector) + && file_exists($this->DKIM_private)) { + $header_dkim = $this->DKIM_Add( + $this->MIMEHeader . $this->mailHeader, + $this->encodeHeader($this->secureHeader($this->Subject)), + $this->MIMEBody + ); + $this->MIMEHeader = rtrim($this->MIMEHeader, "\r\n ") . self::CRLF . + str_replace("\r\n", "\n", $header_dkim) . self::CRLF; + } + return true; + } catch (phpmailerException $exc) { + $this->setError($exc->getMessage()); + if ($this->exceptions) { + throw $exc; + } + return false; + } + } + + /** + * Actually send a message. + * Send the email via the selected mechanism + * @throws phpmailerException + * @return boolean + */ + public function postSend() + { + try { + // Choose the mailer and send through it + switch ($this->Mailer) { + case 'sendmail': + case 'qmail': + return $this->sendmailSend($this->MIMEHeader, $this->MIMEBody); + case 'smtp': + return $this->smtpSend($this->MIMEHeader, $this->MIMEBody); + case 'mail': + return $this->mailSend($this->MIMEHeader, $this->MIMEBody); + default: + $sendMethod = $this->Mailer.'Send'; + if (method_exists($this, $sendMethod)) { + return $this->$sendMethod($this->MIMEHeader, $this->MIMEBody); + } + + return $this->mailSend($this->MIMEHeader, $this->MIMEBody); + } + } catch (phpmailerException $exc) { + $this->setError($exc->getMessage()); + $this->edebug($exc->getMessage()); + if ($this->exceptions) { + throw $exc; + } + } + return false; + } + + /** + * Send mail using the $Sendmail program. + * @param string $header The message headers + * @param string $body The message body + * @see PHPMailer::$Sendmail + * @throws phpmailerException + * @access protected + * @return boolean + */ + protected function sendmailSend($header, $body) + { + if ($this->Sender != '') { + if ($this->Mailer == 'qmail') { + $sendmail = sprintf('%s -f%s', escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender)); + } else { + $sendmail = sprintf('%s -oi -f%s -t', escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender)); + } + } else { + if ($this->Mailer == 'qmail') { + $sendmail = sprintf('%s', escapeshellcmd($this->Sendmail)); + } else { + $sendmail = sprintf('%s -oi -t', escapeshellcmd($this->Sendmail)); + } + } + if ($this->SingleTo) { + foreach ($this->SingleToArray as $toAddr) { + if (!@$mail = popen($sendmail, 'w')) { + throw new phpmailerException($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL); + } + fputs($mail, 'To: ' . $toAddr . "\n"); + fputs($mail, $header); + fputs($mail, $body); + $result = pclose($mail); + $this->doCallback( + ($result == 0), + array($toAddr), + $this->cc, + $this->bcc, + $this->Subject, + $body, + $this->From + ); + if ($result != 0) { + throw new phpmailerException($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL); + } + } + } else { + if (!@$mail = popen($sendmail, 'w')) { + throw new phpmailerException($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL); + } + fputs($mail, $header); + fputs($mail, $body); + $result = pclose($mail); + $this->doCallback( + ($result == 0), + $this->to, + $this->cc, + $this->bcc, + $this->Subject, + $body, + $this->From + ); + if ($result != 0) { + throw new phpmailerException($this->lang('execute') . $this->Sendmail, self::STOP_CRITICAL); + } + } + return true; + } + + /** + * Send mail using the PHP mail() function. + * @param string $header The message headers + * @param string $body The message body + * @link http://www.php.net/manual/en/book.mail.php + * @throws phpmailerException + * @access protected + * @return boolean + */ + protected function mailSend($header, $body) + { + $toArr = array(); + foreach ($this->to as $toaddr) { + $toArr[] = $this->addrFormat($toaddr); + } + $to = implode(', ', $toArr); + + $params = null; + //This sets the SMTP envelope sender which gets turned into a return-path header by the receiver + if (!empty($this->Sender)) { + $params = sprintf('-f%s', $this->Sender); + } + if ($this->Sender != '' and !ini_get('safe_mode')) { + $old_from = ini_get('sendmail_from'); + ini_set('sendmail_from', $this->Sender); + } + $result = false; + if ($this->SingleTo and count($toArr) > 1) { + foreach ($toArr as $toAddr) { + $result = $this->mailPassthru($toAddr, $this->Subject, $body, $header, $params); + $this->doCallback($result, array($toAddr), $this->cc, $this->bcc, $this->Subject, $body, $this->From); + } + } else { + $result = $this->mailPassthru($to, $this->Subject, $body, $header, $params); + $this->doCallback($result, $this->to, $this->cc, $this->bcc, $this->Subject, $body, $this->From); + } + if (isset($old_from)) { + ini_set('sendmail_from', $old_from); + } + if (!$result) { + throw new phpmailerException($this->lang('instantiate'), self::STOP_CRITICAL); + } + return true; + } + + /** + * Get an instance to use for SMTP operations. + * Override this function to load your own SMTP implementation + * @return SMTP + */ + public function getSMTPInstance() + { + if (!is_object($this->smtp)) { + $this->smtp = new SMTP; + } + return $this->smtp; + } + + /** + * Send mail via SMTP. + * Returns false if there is a bad MAIL FROM, RCPT, or DATA input. + * Uses the PHPMailerSMTP class by default. + * @see PHPMailer::getSMTPInstance() to use a different class. + * @param string $header The message headers + * @param string $body The message body + * @throws phpmailerException + * @uses SMTP + * @access protected + * @return boolean + */ + protected function smtpSend($header, $body) + { + $bad_rcpt = array(); + if (!$this->smtpConnect($this->SMTPOptions)) { + throw new phpmailerException($this->lang('smtp_connect_failed'), self::STOP_CRITICAL); + } + if ('' == $this->Sender) { + $smtp_from = $this->From; + } else { + $smtp_from = $this->Sender; + } + if (!$this->smtp->mail($smtp_from)) { + $this->setError($this->lang('from_failed') . $smtp_from . ' : ' . implode(',', $this->smtp->getError())); + throw new phpmailerException($this->ErrorInfo, self::STOP_CRITICAL); + } + + // Attempt to send to all recipients + foreach (array($this->to, $this->cc, $this->bcc) as $togroup) { + foreach ($togroup as $to) { + if (!$this->smtp->recipient($to[0])) { + $error = $this->smtp->getError(); + $bad_rcpt[] = array('to' => $to[0], 'error' => $error['detail']); + $isSent = false; + } else { + $isSent = true; + } + $this->doCallback($isSent, array($to[0]), array(), array(), $this->Subject, $body, $this->From); + } + } + + // Only send the DATA command if we have viable recipients + if ((count($this->all_recipients) > count($bad_rcpt)) and !$this->smtp->data($header . $body)) { + throw new phpmailerException($this->lang('data_not_accepted'), self::STOP_CRITICAL); + } + if ($this->SMTPKeepAlive) { + $this->smtp->reset(); + } else { + $this->smtp->quit(); + $this->smtp->close(); + } + //Create error message for any bad addresses + if (count($bad_rcpt) > 0) { + $errstr = ''; + foreach ($bad_rcpt as $bad) { + $errstr .= $bad['to'] . ': ' . $bad['error']; + } + throw new phpmailerException( + $this->lang('recipients_failed') . $errstr, + self::STOP_CONTINUE + ); + } + return true; + } + + /** + * Initiate a connection to an SMTP server. + * Returns false if the operation failed. + * @param array $options An array of options compatible with stream_context_create() + * @uses SMTP + * @access public + * @throws phpmailerException + * @return boolean + */ + public function smtpConnect($options = null) + { + if (is_null($this->smtp)) { + $this->smtp = $this->getSMTPInstance(); + } + + //If no options are provided, use whatever is set in the instance + if (is_null($options)) { + $options = $this->SMTPOptions; + } + + // Already connected? + if ($this->smtp->connected()) { + return true; + } + + $this->smtp->setTimeout($this->Timeout); + $this->smtp->setDebugLevel($this->SMTPDebug); + $this->smtp->setDebugOutput($this->Debugoutput); + $this->smtp->setVerp($this->do_verp); + $hosts = explode(';', $this->Host); + $lastexception = null; + + foreach ($hosts as $hostentry) { + $hostinfo = array(); + if (!preg_match('/^((ssl|tls):\/\/)*([a-zA-Z0-9\.-]*):?([0-9]*)$/', trim($hostentry), $hostinfo)) { + // Not a valid host entry + continue; + } + // $hostinfo[2]: optional ssl or tls prefix + // $hostinfo[3]: the hostname + // $hostinfo[4]: optional port number + // The host string prefix can temporarily override the current setting for SMTPSecure + // If it's not specified, the default value is used + $prefix = ''; + $secure = $this->SMTPSecure; + $tls = ($this->SMTPSecure == 'tls'); + if ('ssl' == $hostinfo[2] or ('' == $hostinfo[2] and 'ssl' == $this->SMTPSecure)) { + $prefix = 'ssl://'; + $tls = false; // Can't have SSL and TLS at the same time + $secure = 'ssl'; + } elseif ($hostinfo[2] == 'tls') { + $tls = true; + // tls doesn't use a prefix + $secure = 'tls'; + } + //Do we need the OpenSSL extension? + $sslext = defined('OPENSSL_ALGO_SHA1'); + if ('tls' === $secure or 'ssl' === $secure) { + //Check for an OpenSSL constant rather than using extension_loaded, which is sometimes disabled + if (!$sslext) { + throw new phpmailerException($this->lang('extension_missing').'openssl', self::STOP_CRITICAL); + } + } + $host = $hostinfo[3]; + $port = $this->Port; + $tport = (integer)$hostinfo[4]; + if ($tport > 0 and $tport < 65536) { + $port = $tport; + } + if ($this->smtp->connect($prefix . $host, $port, $this->Timeout, $options)) { + try { + if ($this->Helo) { + $hello = $this->Helo; + } else { + $hello = $this->serverHostname(); + } + $this->smtp->hello($hello); + //Automatically enable TLS encryption if: + // * it's not disabled + // * we have openssl extension + // * we are not already using SSL + // * the server offers STARTTLS + if ($this->SMTPAutoTLS and $sslext and $secure != 'ssl' and $this->smtp->getServerExt('STARTTLS')) { + $tls = true; + } + if ($tls) { + if (!$this->smtp->startTLS()) { + throw new phpmailerException($this->lang('connect_host')); + } + // We must resend EHLO after TLS negotiation + $this->smtp->hello($hello); + } + if ($this->SMTPAuth) { + if (!$this->smtp->authenticate( + $this->Username, + $this->Password, + $this->AuthType, + $this->Realm, + $this->Workstation + ) + ) { + throw new phpmailerException($this->lang('authenticate')); + } + } + return true; + } catch (phpmailerException $exc) { + $lastexception = $exc; + $this->edebug($exc->getMessage()); + // We must have connected, but then failed TLS or Auth, so close connection nicely + $this->smtp->quit(); + } + } + } + // If we get here, all connection attempts have failed, so close connection hard + $this->smtp->close(); + // As we've caught all exceptions, just report whatever the last one was + if ($this->exceptions and !is_null($lastexception)) { + throw $lastexception; + } + return false; + } + + /** + * Close the active SMTP session if one exists. + * @return void + */ + public function smtpClose() + { + if (is_a($this->smtp, 'SMTP')) { + if ($this->smtp->connected()) { + $this->smtp->quit(); + $this->smtp->close(); + } + } + } + + /** + * Set the language for error messages. + * Returns false if it cannot load the language file. + * The default language is English. + * @param string $langcode ISO 639-1 2-character language code (e.g. French is "fr") + * @param string $lang_path Path to the language file directory, with trailing separator (slash) + * @return boolean + * @access public + */ + public function setLanguage($langcode = 'en', $lang_path = '') + { + // Define full set of translatable strings in English + $PHPMAILER_LANG = array( + 'authenticate' => 'SMTP Error: Could not authenticate.', + 'connect_host' => 'SMTP Error: Could not connect to SMTP host.', + 'data_not_accepted' => 'SMTP Error: data not accepted.', + 'empty_message' => 'Message body empty', + 'encoding' => 'Unknown encoding: ', + 'execute' => 'Could not execute: ', + 'file_access' => 'Could not access file: ', + 'file_open' => 'File Error: Could not open file: ', + 'from_failed' => 'The following From address failed: ', + 'instantiate' => 'Could not instantiate mail function.', + 'invalid_address' => 'Invalid address: ', + 'mailer_not_supported' => ' mailer is not supported.', + 'provide_address' => 'You must provide at least one recipient email address.', + 'recipients_failed' => 'SMTP Error: The following recipients failed: ', + 'signing' => 'Signing Error: ', + 'smtp_connect_failed' => 'SMTP connect() failed.', + 'smtp_error' => 'SMTP server error: ', + 'variable_set' => 'Cannot set or reset variable: ', + 'extension_missing' => 'Extension missing: ' + ); + if (empty($lang_path)) { + // Calculate an absolute path so it can work if CWD is not here + $lang_path = dirname(__FILE__). DIRECTORY_SEPARATOR . 'language'. DIRECTORY_SEPARATOR; + } + $foundlang = true; + $lang_file = $lang_path . 'phpmailer.lang-' . $langcode . '.php'; + // There is no English translation file + if ($langcode != 'en') { + // Make sure language file path is readable + if (!is_readable($lang_file)) { + $foundlang = false; + } else { + // Overwrite language-specific strings. + // This way we'll never have missing translation keys. + $foundlang = include $lang_file; + } + } + $this->language = $PHPMAILER_LANG; + return (boolean)$foundlang; // Returns false if language not found + } + + /** + * Get the array of strings for the current language. + * @return array + */ + public function getTranslations() + { + return $this->language; + } + + /** + * Create recipient headers. + * @access public + * @param string $type + * @param array $addr An array of recipient, + * where each recipient is a 2-element indexed array with element 0 containing an address + * and element 1 containing a name, like: + * array(array('joe@example.com', 'Joe User'), array('zoe@example.com', 'Zoe User')) + * @return string + */ + public function addrAppend($type, $addr) + { + $addresses = array(); + foreach ($addr as $address) { + $addresses[] = $this->addrFormat($address); + } + return $type . ': ' . implode(', ', $addresses) . $this->LE; + } + + /** + * Format an address for use in a message header. + * @access public + * @param array $addr A 2-element indexed array, element 0 containing an address, element 1 containing a name + * like array('joe@example.com', 'Joe User') + * @return string + */ + public function addrFormat($addr) + { + if (empty($addr[1])) { // No name provided + return $this->secureHeader($addr[0]); + } else { + return $this->encodeHeader($this->secureHeader($addr[1]), 'phrase') . ' <' . $this->secureHeader( + $addr[0] + ) . '>'; + } + } + + /** + * Word-wrap message. + * For use with mailers that do not automatically perform wrapping + * and for quoted-printable encoded messages. + * Original written by philippe. + * @param string $message The message to wrap + * @param integer $length The line length to wrap to + * @param boolean $qp_mode Whether to run in Quoted-Printable mode + * @access public + * @return string + */ + public function wrapText($message, $length, $qp_mode = false) + { + if ($qp_mode) { + $soft_break = sprintf(' =%s', $this->LE); + } else { + $soft_break = $this->LE; + } + // If utf-8 encoding is used, we will need to make sure we don't + // split multibyte characters when we wrap + $is_utf8 = (strtolower($this->CharSet) == 'utf-8'); + $lelen = strlen($this->LE); + $crlflen = strlen(self::CRLF); + + $message = $this->fixEOL($message); + //Remove a trailing line break + if (substr($message, -$lelen) == $this->LE) { + $message = substr($message, 0, -$lelen); + } + + //Split message into lines + $lines = explode($this->LE, $message); + //Message will be rebuilt in here + $message = ''; + foreach ($lines as $line) { + $words = explode(' ', $line); + $buf = ''; + $firstword = true; + foreach ($words as $word) { + if ($qp_mode and (strlen($word) > $length)) { + $space_left = $length - strlen($buf) - $crlflen; + if (!$firstword) { + if ($space_left > 20) { + $len = $space_left; + if ($is_utf8) { + $len = $this->utf8CharBoundary($word, $len); + } elseif (substr($word, $len - 1, 1) == '=') { + $len--; + } elseif (substr($word, $len - 2, 1) == '=') { + $len -= 2; + } + $part = substr($word, 0, $len); + $word = substr($word, $len); + $buf .= ' ' . $part; + $message .= $buf . sprintf('=%s', self::CRLF); + } else { + $message .= $buf . $soft_break; + } + $buf = ''; + } + while (strlen($word) > 0) { + if ($length <= 0) { + break; + } + $len = $length; + if ($is_utf8) { + $len = $this->utf8CharBoundary($word, $len); + } elseif (substr($word, $len - 1, 1) == '=') { + $len--; + } elseif (substr($word, $len - 2, 1) == '=') { + $len -= 2; + } + $part = substr($word, 0, $len); + $word = substr($word, $len); + + if (strlen($word) > 0) { + $message .= $part . sprintf('=%s', self::CRLF); + } else { + $buf = $part; + } + } + } else { + $buf_o = $buf; + if (!$firstword) { + $buf .= ' '; + } + $buf .= $word; + + if (strlen($buf) > $length and $buf_o != '') { + $message .= $buf_o . $soft_break; + $buf = $word; + } + } + $firstword = false; + } + $message .= $buf . self::CRLF; + } + + return $message; + } + + /** + * Find the last character boundary prior to $maxLength in a utf-8 + * quoted-printable encoded string. + * Original written by Colin Brown. + * @access public + * @param string $encodedText utf-8 QP text + * @param integer $maxLength Find the last character boundary prior to this length + * @return integer + */ + public function utf8CharBoundary($encodedText, $maxLength) + { + $foundSplitPos = false; + $lookBack = 3; + while (!$foundSplitPos) { + $lastChunk = substr($encodedText, $maxLength - $lookBack, $lookBack); + $encodedCharPos = strpos($lastChunk, '='); + if (false !== $encodedCharPos) { + // Found start of encoded character byte within $lookBack block. + // Check the encoded byte value (the 2 chars after the '=') + $hex = substr($encodedText, $maxLength - $lookBack + $encodedCharPos + 1, 2); + $dec = hexdec($hex); + if ($dec < 128) { + // Single byte character. + // If the encoded char was found at pos 0, it will fit + // otherwise reduce maxLength to start of the encoded char + if ($encodedCharPos > 0) { + $maxLength = $maxLength - ($lookBack - $encodedCharPos); + } + $foundSplitPos = true; + } elseif ($dec >= 192) { + // First byte of a multi byte character + // Reduce maxLength to split at start of character + $maxLength = $maxLength - ($lookBack - $encodedCharPos); + $foundSplitPos = true; + } elseif ($dec < 192) { + // Middle byte of a multi byte character, look further back + $lookBack += 3; + } + } else { + // No encoded character found + $foundSplitPos = true; + } + } + return $maxLength; + } + + /** + * Apply word wrapping to the message body. + * Wraps the message body to the number of chars set in the WordWrap property. + * You should only do this to plain-text bodies as wrapping HTML tags may break them. + * This is called automatically by createBody(), so you don't need to call it yourself. + * @access public + * @return void + */ + public function setWordWrap() + { + if ($this->WordWrap < 1) { + return; + } + + switch ($this->message_type) { + case 'alt': + case 'alt_inline': + case 'alt_attach': + case 'alt_inline_attach': + $this->AltBody = $this->wrapText($this->AltBody, $this->WordWrap); + break; + default: + $this->Body = $this->wrapText($this->Body, $this->WordWrap); + break; + } + } + + /** + * Assemble message headers. + * @access public + * @return string The assembled headers + */ + public function createHeader() + { + $result = ''; + + if ($this->MessageDate == '') { + $this->MessageDate = self::rfcDate(); + } + $result .= $this->headerLine('Date', $this->MessageDate); + + // To be created automatically by mail() + if ($this->SingleTo) { + if ($this->Mailer != 'mail') { + foreach ($this->to as $toaddr) { + $this->SingleToArray[] = $this->addrFormat($toaddr); + } + } + } else { + if (count($this->to) > 0) { + if ($this->Mailer != 'mail') { + $result .= $this->addrAppend('To', $this->to); + } + } elseif (count($this->cc) == 0) { + $result .= $this->headerLine('To', 'undisclosed-recipients:;'); + } + } + + $result .= $this->addrAppend('From', array(array(trim($this->From), $this->FromName))); + + // sendmail and mail() extract Cc from the header before sending + if (count($this->cc) > 0) { + $result .= $this->addrAppend('Cc', $this->cc); + } + + // sendmail and mail() extract Bcc from the header before sending + if (( + $this->Mailer == 'sendmail' or $this->Mailer == 'qmail' or $this->Mailer == 'mail' + ) + and count($this->bcc) > 0 + ) { + $result .= $this->addrAppend('Bcc', $this->bcc); + } + + if (count($this->ReplyTo) > 0) { + $result .= $this->addrAppend('Reply-To', $this->ReplyTo); + } + + // mail() sets the subject itself + if ($this->Mailer != 'mail') { + $result .= $this->headerLine('Subject', $this->encodeHeader($this->secureHeader($this->Subject))); + } + + if ('' != $this->MessageID and preg_match('/^<.*@.*>$/', $this->MessageID)) { + $this->lastMessageID = $this->MessageID; + } else { + $this->lastMessageID = sprintf('<%s@%s>', $this->uniqueid, $this->serverHostname()); + } + $result .= $this->headerLine('Message-ID', $this->lastMessageID); + if (!is_null($this->Priority)) { + $result .= $this->headerLine('X-Priority', $this->Priority); + } + if ($this->XMailer == '') { + $result .= $this->headerLine( + 'X-Mailer', + 'PHPMailer ' . $this->Version . ' (https://github.com/PHPMailer/PHPMailer)' + ); + } else { + $myXmailer = trim($this->XMailer); + if ($myXmailer) { + $result .= $this->headerLine('X-Mailer', $myXmailer); + } + } + + if ($this->ConfirmReadingTo != '') { + $result .= $this->headerLine('Disposition-Notification-To', '<' . $this->ConfirmReadingTo . '>'); + } + + // Add custom headers + foreach ($this->CustomHeader as $header) { + $result .= $this->headerLine( + trim($header[0]), + $this->encodeHeader(trim($header[1])) + ); + } + if (!$this->sign_key_file) { + $result .= $this->headerLine('MIME-Version', '1.0'); + $result .= $this->getMailMIME(); + } + + return $result; + } + + /** + * Get the message MIME type headers. + * @access public + * @return string + */ + public function getMailMIME() + { + $result = ''; + $ismultipart = true; + switch ($this->message_type) { + case 'inline': + $result .= $this->headerLine('Content-Type', 'multipart/related;'); + $result .= $this->textLine("\tboundary=\"" . $this->boundary[1] . '"'); + break; + case 'attach': + case 'inline_attach': + case 'alt_attach': + case 'alt_inline_attach': + $result .= $this->headerLine('Content-Type', 'multipart/mixed;'); + $result .= $this->textLine("\tboundary=\"" . $this->boundary[1] . '"'); + break; + case 'alt': + case 'alt_inline': + $result .= $this->headerLine('Content-Type', 'multipart/alternative;'); + $result .= $this->textLine("\tboundary=\"" . $this->boundary[1] . '"'); + break; + default: + // Catches case 'plain': and case '': + $result .= $this->textLine('Content-Type: ' . $this->ContentType . '; charset=' . $this->CharSet); + $ismultipart = false; + break; + } + // RFC1341 part 5 says 7bit is assumed if not specified + if ($this->Encoding != '7bit') { + // RFC 2045 section 6.4 says multipart MIME parts may only use 7bit, 8bit or binary CTE + if ($ismultipart) { + if ($this->Encoding == '8bit') { + $result .= $this->headerLine('Content-Transfer-Encoding', '8bit'); + } + // The only remaining alternatives are quoted-printable and base64, which are both 7bit compatible + } else { + $result .= $this->headerLine('Content-Transfer-Encoding', $this->Encoding); + } + } + + if ($this->Mailer != 'mail') { + $result .= $this->LE; + } + + return $result; + } + + /** + * Returns the whole MIME message. + * Includes complete headers and body. + * Only valid post preSend(). + * @see PHPMailer::preSend() + * @access public + * @return string + */ + public function getSentMIMEMessage() + { + return rtrim($this->MIMEHeader . $this->mailHeader, "\n\r") . self::CRLF . self::CRLF . $this->MIMEBody; + } + + /** + * Assemble the message body. + * Returns an empty string on failure. + * @access public + * @throws phpmailerException + * @return string The assembled message body + */ + public function createBody() + { + $body = ''; + //Create unique IDs and preset boundaries + $this->uniqueid = md5(uniqid(time())); + $this->boundary[1] = 'b1_' . $this->uniqueid; + $this->boundary[2] = 'b2_' . $this->uniqueid; + $this->boundary[3] = 'b3_' . $this->uniqueid; + + if ($this->sign_key_file) { + $body .= $this->getMailMIME() . $this->LE; + } + + $this->setWordWrap(); + + $bodyEncoding = $this->Encoding; + $bodyCharSet = $this->CharSet; + //Can we do a 7-bit downgrade? + if ($bodyEncoding == '8bit' and !$this->has8bitChars($this->Body)) { + $bodyEncoding = '7bit'; + //All ISO 8859, Windows codepage and UTF-8 charsets are ascii compatible up to 7-bit + $bodyCharSet = 'us-ascii'; + } + //If lines are too long, and we're not already using an encoding that will shorten them, + //change to quoted-printable transfer encoding for the body part only + if ('base64' != $this->Encoding and self::hasLineLongerThanMax($this->Body)) { + $bodyEncoding = 'quoted-printable'; + } + + $altBodyEncoding = $this->Encoding; + $altBodyCharSet = $this->CharSet; + //Can we do a 7-bit downgrade? + if ($altBodyEncoding == '8bit' and !$this->has8bitChars($this->AltBody)) { + $altBodyEncoding = '7bit'; + //All ISO 8859, Windows codepage and UTF-8 charsets are ascii compatible up to 7-bit + $altBodyCharSet = 'us-ascii'; + } + //If lines are too long, and we're not already using an encoding that will shorten them, + //change to quoted-printable transfer encoding for the alt body part only + if ('base64' != $altBodyEncoding and self::hasLineLongerThanMax($this->AltBody)) { + $altBodyEncoding = 'quoted-printable'; + } + //Use this as a preamble in all multipart message types + $mimepre = "This is a multi-part message in MIME format." . $this->LE . $this->LE; + switch ($this->message_type) { + case 'inline': + $body .= $mimepre; + $body .= $this->getBoundary($this->boundary[1], $bodyCharSet, '', $bodyEncoding); + $body .= $this->encodeString($this->Body, $bodyEncoding); + $body .= $this->LE . $this->LE; + $body .= $this->attachAll('inline', $this->boundary[1]); + break; + case 'attach': + $body .= $mimepre; + $body .= $this->getBoundary($this->boundary[1], $bodyCharSet, '', $bodyEncoding); + $body .= $this->encodeString($this->Body, $bodyEncoding); + $body .= $this->LE . $this->LE; + $body .= $this->attachAll('attachment', $this->boundary[1]); + break; + case 'inline_attach': + $body .= $mimepre; + $body .= $this->textLine('--' . $this->boundary[1]); + $body .= $this->headerLine('Content-Type', 'multipart/related;'); + $body .= $this->textLine("\tboundary=\"" . $this->boundary[2] . '"'); + $body .= $this->LE; + $body .= $this->getBoundary($this->boundary[2], $bodyCharSet, '', $bodyEncoding); + $body .= $this->encodeString($this->Body, $bodyEncoding); + $body .= $this->LE . $this->LE; + $body .= $this->attachAll('inline', $this->boundary[2]); + $body .= $this->LE; + $body .= $this->attachAll('attachment', $this->boundary[1]); + break; + case 'alt': + $body .= $mimepre; + $body .= $this->getBoundary($this->boundary[1], $altBodyCharSet, 'text/plain', $altBodyEncoding); + $body .= $this->encodeString($this->AltBody, $altBodyEncoding); + $body .= $this->LE . $this->LE; + $body .= $this->getBoundary($this->boundary[1], $bodyCharSet, 'text/html', $bodyEncoding); + $body .= $this->encodeString($this->Body, $bodyEncoding); + $body .= $this->LE . $this->LE; + if (!empty($this->Ical)) { + $body .= $this->getBoundary($this->boundary[1], '', 'text/calendar; method=REQUEST', ''); + $body .= $this->encodeString($this->Ical, $this->Encoding); + $body .= $this->LE . $this->LE; + } + $body .= $this->endBoundary($this->boundary[1]); + break; + case 'alt_inline': + $body .= $mimepre; + $body .= $this->getBoundary($this->boundary[1], $altBodyCharSet, 'text/plain', $altBodyEncoding); + $body .= $this->encodeString($this->AltBody, $altBodyEncoding); + $body .= $this->LE . $this->LE; + $body .= $this->textLine('--' . $this->boundary[1]); + $body .= $this->headerLine('Content-Type', 'multipart/related;'); + $body .= $this->textLine("\tboundary=\"" . $this->boundary[2] . '"'); + $body .= $this->LE; + $body .= $this->getBoundary($this->boundary[2], $bodyCharSet, 'text/html', $bodyEncoding); + $body .= $this->encodeString($this->Body, $bodyEncoding); + $body .= $this->LE . $this->LE; + $body .= $this->attachAll('inline', $this->boundary[2]); + $body .= $this->LE; + $body .= $this->endBoundary($this->boundary[1]); + break; + case 'alt_attach': + $body .= $mimepre; + $body .= $this->textLine('--' . $this->boundary[1]); + $body .= $this->headerLine('Content-Type', 'multipart/alternative;'); + $body .= $this->textLine("\tboundary=\"" . $this->boundary[2] . '"'); + $body .= $this->LE; + $body .= $this->getBoundary($this->boundary[2], $altBodyCharSet, 'text/plain', $altBodyEncoding); + $body .= $this->encodeString($this->AltBody, $altBodyEncoding); + $body .= $this->LE . $this->LE; + $body .= $this->getBoundary($this->boundary[2], $bodyCharSet, 'text/html', $bodyEncoding); + $body .= $this->encodeString($this->Body, $bodyEncoding); + $body .= $this->LE . $this->LE; + $body .= $this->endBoundary($this->boundary[2]); + $body .= $this->LE; + $body .= $this->attachAll('attachment', $this->boundary[1]); + break; + case 'alt_inline_attach': + $body .= $mimepre; + $body .= $this->textLine('--' . $this->boundary[1]); + $body .= $this->headerLine('Content-Type', 'multipart/alternative;'); + $body .= $this->textLine("\tboundary=\"" . $this->boundary[2] . '"'); + $body .= $this->LE; + $body .= $this->getBoundary($this->boundary[2], $altBodyCharSet, 'text/plain', $altBodyEncoding); + $body .= $this->encodeString($this->AltBody, $altBodyEncoding); + $body .= $this->LE . $this->LE; + $body .= $this->textLine('--' . $this->boundary[2]); + $body .= $this->headerLine('Content-Type', 'multipart/related;'); + $body .= $this->textLine("\tboundary=\"" . $this->boundary[3] . '"'); + $body .= $this->LE; + $body .= $this->getBoundary($this->boundary[3], $bodyCharSet, 'text/html', $bodyEncoding); + $body .= $this->encodeString($this->Body, $bodyEncoding); + $body .= $this->LE . $this->LE; + $body .= $this->attachAll('inline', $this->boundary[3]); + $body .= $this->LE; + $body .= $this->endBoundary($this->boundary[2]); + $body .= $this->LE; + $body .= $this->attachAll('attachment', $this->boundary[1]); + break; + default: + // Catch case 'plain' and case '', applies to simple `text/plain` and `text/html` body content types + //Reset the `Encoding` property in case we changed it for line length reasons + $this->Encoding = $bodyEncoding; + $body .= $this->encodeString($this->Body, $this->Encoding); + break; + } + + if ($this->isError()) { + $body = ''; + } elseif ($this->sign_key_file) { + try { + if (!defined('PKCS7_TEXT')) { + throw new phpmailerException($this->lang('extension_missing') . 'openssl'); + } + // @TODO would be nice to use php://temp streams here, but need to wrap for PHP < 5.1 + $file = tempnam(sys_get_temp_dir(), 'mail'); + if (false === file_put_contents($file, $body)) { + throw new phpmailerException($this->lang('signing') . ' Could not write temp file'); + } + $signed = tempnam(sys_get_temp_dir(), 'signed'); + //Workaround for PHP bug https://bugs.php.net/bug.php?id=69197 + if (empty($this->sign_extracerts_file)) { + $sign = @openssl_pkcs7_sign( + $file, + $signed, + 'file://' . realpath($this->sign_cert_file), + array('file://' . realpath($this->sign_key_file), $this->sign_key_pass), + null + ); + } else { + $sign = @openssl_pkcs7_sign( + $file, + $signed, + 'file://' . realpath($this->sign_cert_file), + array('file://' . realpath($this->sign_key_file), $this->sign_key_pass), + null, + PKCS7_DETACHED, + $this->sign_extracerts_file + ); + } + if ($sign) { + @unlink($file); + $body = file_get_contents($signed); + @unlink($signed); + //The message returned by openssl contains both headers and body, so need to split them up + $parts = explode("\n\n", $body, 2); + $this->MIMEHeader .= $parts[0] . $this->LE . $this->LE; + $body = $parts[1]; + } else { + @unlink($file); + @unlink($signed); + throw new phpmailerException($this->lang('signing') . openssl_error_string()); + } + } catch (phpmailerException $exc) { + $body = ''; + if ($this->exceptions) { + throw $exc; + } + } + } + return $body; + } + + /** + * Return the start of a message boundary. + * @access protected + * @param string $boundary + * @param string $charSet + * @param string $contentType + * @param string $encoding + * @return string + */ + protected function getBoundary($boundary, $charSet, $contentType, $encoding) + { + $result = ''; + if ($charSet == '') { + $charSet = $this->CharSet; + } + if ($contentType == '') { + $contentType = $this->ContentType; + } + if ($encoding == '') { + $encoding = $this->Encoding; + } + $result .= $this->textLine('--' . $boundary); + $result .= sprintf('Content-Type: %s; charset=%s', $contentType, $charSet); + $result .= $this->LE; + // RFC1341 part 5 says 7bit is assumed if not specified + if ($encoding != '7bit') { + $result .= $this->headerLine('Content-Transfer-Encoding', $encoding); + } + $result .= $this->LE; + + return $result; + } + + /** + * Return the end of a message boundary. + * @access protected + * @param string $boundary + * @return string + */ + protected function endBoundary($boundary) + { + return $this->LE . '--' . $boundary . '--' . $this->LE; + } + + /** + * Set the message type. + * PHPMailer only supports some preset message types, not arbitrary MIME structures. + * @access protected + * @return void + */ + protected function setMessageType() + { + $type = array(); + if ($this->alternativeExists()) { + $type[] = 'alt'; + } + if ($this->inlineImageExists()) { + $type[] = 'inline'; + } + if ($this->attachmentExists()) { + $type[] = 'attach'; + } + $this->message_type = implode('_', $type); + if ($this->message_type == '') { + //The 'plain' message_type refers to the message having a single body element, not that it is plain-text + $this->message_type = 'plain'; + } + } + + /** + * Format a header line. + * @access public + * @param string $name + * @param string $value + * @return string + */ + public function headerLine($name, $value) + { + return $name . ': ' . $value . $this->LE; + } + + /** + * Return a formatted mail line. + * @access public + * @param string $value + * @return string + */ + public function textLine($value) + { + return $value . $this->LE; + } + + /** + * Add an attachment from a path on the filesystem. + * Returns false if the file could not be found or read. + * @param string $path Path to the attachment. + * @param string $name Overrides the attachment name. + * @param string $encoding File encoding (see $Encoding). + * @param string $type File extension (MIME) type. + * @param string $disposition Disposition to use + * @throws phpmailerException + * @return boolean + */ + public function addAttachment($path, $name = '', $encoding = 'base64', $type = '', $disposition = 'attachment') + { + try { + if (!@is_file($path)) { + throw new phpmailerException($this->lang('file_access') . $path, self::STOP_CONTINUE); + } + + // If a MIME type is not specified, try to work it out from the file name + if ($type == '') { + $type = self::filenameToType($path); + } + + $filename = basename($path); + if ($name == '') { + $name = $filename; + } + + $this->attachment[] = array( + 0 => $path, + 1 => $filename, + 2 => $name, + 3 => $encoding, + 4 => $type, + 5 => false, // isStringAttachment + 6 => $disposition, + 7 => 0 + ); + + } catch (phpmailerException $exc) { + $this->setError($exc->getMessage()); + $this->edebug($exc->getMessage()); + if ($this->exceptions) { + throw $exc; + } + return false; + } + return true; + } + + /** + * Return the array of attachments. + * @return array + */ + public function getAttachments() + { + return $this->attachment; + } + + /** + * Attach all file, string, and binary attachments to the message. + * Returns an empty string on failure. + * @access protected + * @param string $disposition_type + * @param string $boundary + * @return string + */ + protected function attachAll($disposition_type, $boundary) + { + // Return text of body + $mime = array(); + $cidUniq = array(); + $incl = array(); + + // Add all attachments + foreach ($this->attachment as $attachment) { + // Check if it is a valid disposition_filter + if ($attachment[6] == $disposition_type) { + // Check for string attachment + $string = ''; + $path = ''; + $bString = $attachment[5]; + if ($bString) { + $string = $attachment[0]; + } else { + $path = $attachment[0]; + } + + $inclhash = md5(serialize($attachment)); + if (in_array($inclhash, $incl)) { + continue; + } + $incl[] = $inclhash; + $name = $attachment[2]; + $encoding = $attachment[3]; + $type = $attachment[4]; + $disposition = $attachment[6]; + $cid = $attachment[7]; + if ($disposition == 'inline' && array_key_exists($cid, $cidUniq)) { + continue; + } + $cidUniq[$cid] = true; + + $mime[] = sprintf('--%s%s', $boundary, $this->LE); + //Only include a filename property if we have one + if (!empty($name)) { + $mime[] = sprintf( + 'Content-Type: %s; name="%s"%s', + $type, + $this->encodeHeader($this->secureHeader($name)), + $this->LE + ); + } else { + $mime[] = sprintf( + 'Content-Type: %s%s', + $type, + $this->LE + ); + } + // RFC1341 part 5 says 7bit is assumed if not specified + if ($encoding != '7bit') { + $mime[] = sprintf('Content-Transfer-Encoding: %s%s', $encoding, $this->LE); + } + + if ($disposition == 'inline') { + $mime[] = sprintf('Content-ID: <%s>%s', $cid, $this->LE); + } + + // If a filename contains any of these chars, it should be quoted, + // but not otherwise: RFC2183 & RFC2045 5.1 + // Fixes a warning in IETF's msglint MIME checker + // Allow for bypassing the Content-Disposition header totally + if (!(empty($disposition))) { + $encoded_name = $this->encodeHeader($this->secureHeader($name)); + if (preg_match('/[ \(\)<>@,;:\\"\/\[\]\?=]/', $encoded_name)) { + $mime[] = sprintf( + 'Content-Disposition: %s; filename="%s"%s', + $disposition, + $encoded_name, + $this->LE . $this->LE + ); + } else { + if (!empty($encoded_name)) { + $mime[] = sprintf( + 'Content-Disposition: %s; filename=%s%s', + $disposition, + $encoded_name, + $this->LE . $this->LE + ); + } else { + $mime[] = sprintf( + 'Content-Disposition: %s%s', + $disposition, + $this->LE . $this->LE + ); + } + } + } else { + $mime[] = $this->LE; + } + + // Encode as string attachment + if ($bString) { + $mime[] = $this->encodeString($string, $encoding); + if ($this->isError()) { + return ''; + } + $mime[] = $this->LE . $this->LE; + } else { + $mime[] = $this->encodeFile($path, $encoding); + if ($this->isError()) { + return ''; + } + $mime[] = $this->LE . $this->LE; + } + } + } + + $mime[] = sprintf('--%s--%s', $boundary, $this->LE); + + return implode('', $mime); + } + + /** + * Encode a file attachment in requested format. + * Returns an empty string on failure. + * @param string $path The full path to the file + * @param string $encoding The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable' + * @throws phpmailerException + * @access protected + * @return string + */ + protected function encodeFile($path, $encoding = 'base64') + { + try { + if (!is_readable($path)) { + throw new phpmailerException($this->lang('file_open') . $path, self::STOP_CONTINUE); + } + $magic_quotes = get_magic_quotes_runtime(); + if ($magic_quotes) { + if (version_compare(PHP_VERSION, '5.3.0', '<')) { + set_magic_quotes_runtime(false); + } else { + //Doesn't exist in PHP 5.4, but we don't need to check because + //get_magic_quotes_runtime always returns false in 5.4+ + //so it will never get here + ini_set('magic_quotes_runtime', false); + } + } + $file_buffer = file_get_contents($path); + $file_buffer = $this->encodeString($file_buffer, $encoding); + if ($magic_quotes) { + if (version_compare(PHP_VERSION, '5.3.0', '<')) { + set_magic_quotes_runtime($magic_quotes); + } else { + ini_set('magic_quotes_runtime', $magic_quotes); + } + } + return $file_buffer; + } catch (Exception $exc) { + $this->setError($exc->getMessage()); + return ''; + } + } + + /** + * Encode a string in requested format. + * Returns an empty string on failure. + * @param string $str The text to encode + * @param string $encoding The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable' + * @access public + * @return string + */ + public function encodeString($str, $encoding = 'base64') + { + $encoded = ''; + switch (strtolower($encoding)) { + case 'base64': + $encoded = chunk_split(base64_encode($str), 76, $this->LE); + break; + case '7bit': + case '8bit': + $encoded = $this->fixEOL($str); + // Make sure it ends with a line break + if (substr($encoded, -(strlen($this->LE))) != $this->LE) { + $encoded .= $this->LE; + } + break; + case 'binary': + $encoded = $str; + break; + case 'quoted-printable': + $encoded = $this->encodeQP($str); + break; + default: + $this->setError($this->lang('encoding') . $encoding); + break; + } + return $encoded; + } + + /** + * Encode a header string optimally. + * Picks shortest of Q, B, quoted-printable or none. + * @access public + * @param string $str + * @param string $position + * @return string + */ + public function encodeHeader($str, $position = 'text') + { + $matchcount = 0; + switch (strtolower($position)) { + case 'phrase': + if (!preg_match('/[\200-\377]/', $str)) { + // Can't use addslashes as we don't know the value of magic_quotes_sybase + $encoded = addcslashes($str, "\0..\37\177\\\""); + if (($str == $encoded) && !preg_match('/[^A-Za-z0-9!#$%&\'*+\/=?^_`{|}~ -]/', $str)) { + return ($encoded); + } else { + return ("\"$encoded\""); + } + } + $matchcount = preg_match_all('/[^\040\041\043-\133\135-\176]/', $str, $matches); + break; + /** @noinspection PhpMissingBreakStatementInspection */ + case 'comment': + $matchcount = preg_match_all('/[()"]/', $str, $matches); + // Intentional fall-through + case 'text': + default: + $matchcount += preg_match_all('/[\000-\010\013\014\016-\037\177-\377]/', $str, $matches); + break; + } + + //There are no chars that need encoding + if ($matchcount == 0) { + return ($str); + } + + $maxlen = 75 - 7 - strlen($this->CharSet); + // Try to select the encoding which should produce the shortest output + if ($matchcount > strlen($str) / 3) { + // More than a third of the content will need encoding, so B encoding will be most efficient + $encoding = 'B'; + if (function_exists('mb_strlen') && $this->hasMultiBytes($str)) { + // Use a custom function which correctly encodes and wraps long + // multibyte strings without breaking lines within a character + $encoded = $this->base64EncodeWrapMB($str, "\n"); + } else { + $encoded = base64_encode($str); + $maxlen -= $maxlen % 4; + $encoded = trim(chunk_split($encoded, $maxlen, "\n")); + } + } else { + $encoding = 'Q'; + $encoded = $this->encodeQ($str, $position); + $encoded = $this->wrapText($encoded, $maxlen, true); + $encoded = str_replace('=' . self::CRLF, "\n", trim($encoded)); + } + + $encoded = preg_replace('/^(.*)$/m', ' =?' . $this->CharSet . "?$encoding?\\1?=", $encoded); + $encoded = trim(str_replace("\n", $this->LE, $encoded)); + + return $encoded; + } + + /** + * Check if a string contains multi-byte characters. + * @access public + * @param string $str multi-byte text to wrap encode + * @return boolean + */ + public function hasMultiBytes($str) + { + if (function_exists('mb_strlen')) { + return (strlen($str) > mb_strlen($str, $this->CharSet)); + } else { // Assume no multibytes (we can't handle without mbstring functions anyway) + return false; + } + } + + /** + * Does a string contain any 8-bit chars (in any charset)? + * @param string $text + * @return boolean + */ + public function has8bitChars($text) + { + return (boolean)preg_match('/[\x80-\xFF]/', $text); + } + + /** + * Encode and wrap long multibyte strings for mail headers + * without breaking lines within a character. + * Adapted from a function by paravoid + * @link http://www.php.net/manual/en/function.mb-encode-mimeheader.php#60283 + * @access public + * @param string $str multi-byte text to wrap encode + * @param string $linebreak string to use as linefeed/end-of-line + * @return string + */ + public function base64EncodeWrapMB($str, $linebreak = null) + { + $start = '=?' . $this->CharSet . '?B?'; + $end = '?='; + $encoded = ''; + if ($linebreak === null) { + $linebreak = $this->LE; + } + + $mb_length = mb_strlen($str, $this->CharSet); + // Each line must have length <= 75, including $start and $end + $length = 75 - strlen($start) - strlen($end); + // Average multi-byte ratio + $ratio = $mb_length / strlen($str); + // Base64 has a 4:3 ratio + $avgLength = floor($length * $ratio * .75); + + for ($i = 0; $i < $mb_length; $i += $offset) { + $lookBack = 0; + do { + $offset = $avgLength - $lookBack; + $chunk = mb_substr($str, $i, $offset, $this->CharSet); + $chunk = base64_encode($chunk); + $lookBack++; + } while (strlen($chunk) > $length); + $encoded .= $chunk . $linebreak; + } + + // Chomp the last linefeed + $encoded = substr($encoded, 0, -strlen($linebreak)); + return $encoded; + } + + /** + * Encode a string in quoted-printable format. + * According to RFC2045 section 6.7. + * @access public + * @param string $string The text to encode + * @param integer $line_max Number of chars allowed on a line before wrapping + * @return string + * @link http://www.php.net/manual/en/function.quoted-printable-decode.php#89417 Adapted from this comment + */ + public function encodeQP($string, $line_max = 76) + { + // Use native function if it's available (>= PHP5.3) + if (function_exists('quoted_printable_encode')) { + return quoted_printable_encode($string); + } + // Fall back to a pure PHP implementation + $string = str_replace( + array('%20', '%0D%0A.', '%0D%0A', '%'), + array(' ', "\r\n=2E", "\r\n", '='), + rawurlencode($string) + ); + return preg_replace('/[^\r\n]{' . ($line_max - 3) . '}[^=\r\n]{2}/', "$0=\r\n", $string); + } + + /** + * Backward compatibility wrapper for an old QP encoding function that was removed. + * @see PHPMailer::encodeQP() + * @access public + * @param string $string + * @param integer $line_max + * @param boolean $space_conv + * @return string + * @deprecated Use encodeQP instead. + */ + public function encodeQPphp( + $string, + $line_max = 76, + /** @noinspection PhpUnusedParameterInspection */ $space_conv = false + ) { + return $this->encodeQP($string, $line_max); + } + + /** + * Encode a string using Q encoding. + * @link http://tools.ietf.org/html/rfc2047 + * @param string $str the text to encode + * @param string $position Where the text is going to be used, see the RFC for what that means + * @access public + * @return string + */ + public function encodeQ($str, $position = 'text') + { + // There should not be any EOL in the string + $pattern = ''; + $encoded = str_replace(array("\r", "\n"), '', $str); + switch (strtolower($position)) { + case 'phrase': + // RFC 2047 section 5.3 + $pattern = '^A-Za-z0-9!*+\/ -'; + break; + /** @noinspection PhpMissingBreakStatementInspection */ + case 'comment': + // RFC 2047 section 5.2 + $pattern = '\(\)"'; + // intentional fall-through + // for this reason we build the $pattern without including delimiters and [] + case 'text': + default: + // RFC 2047 section 5.1 + // Replace every high ascii, control, =, ? and _ characters + $pattern = '\000-\011\013\014\016-\037\075\077\137\177-\377' . $pattern; + break; + } + $matches = array(); + if (preg_match_all("/[{$pattern}]/", $encoded, $matches)) { + // If the string contains an '=', make sure it's the first thing we replace + // so as to avoid double-encoding + $eqkey = array_search('=', $matches[0]); + if (false !== $eqkey) { + unset($matches[0][$eqkey]); + array_unshift($matches[0], '='); + } + foreach (array_unique($matches[0]) as $char) { + $encoded = str_replace($char, '=' . sprintf('%02X', ord($char)), $encoded); + } + } + // Replace every spaces to _ (more readable than =20) + return str_replace(' ', '_', $encoded); + } + + /** + * Add a string or binary attachment (non-filesystem). + * This method can be used to attach ascii or binary data, + * such as a BLOB record from a database. + * @param string $string String attachment data. + * @param string $filename Name of the attachment. + * @param string $encoding File encoding (see $Encoding). + * @param string $type File extension (MIME) type. + * @param string $disposition Disposition to use + * @return void + */ + public function addStringAttachment( + $string, + $filename, + $encoding = 'base64', + $type = '', + $disposition = 'attachment' + ) { + // If a MIME type is not specified, try to work it out from the file name + if ($type == '') { + $type = self::filenameToType($filename); + } + // Append to $attachment array + $this->attachment[] = array( + 0 => $string, + 1 => $filename, + 2 => basename($filename), + 3 => $encoding, + 4 => $type, + 5 => true, // isStringAttachment + 6 => $disposition, + 7 => 0 + ); + } + + /** + * Add an embedded (inline) attachment from a file. + * This can include images, sounds, and just about any other document type. + * These differ from 'regular' attachments in that they are intended to be + * displayed inline with the message, not just attached for download. + * This is used in HTML messages that embed the images + * the HTML refers to using the $cid value. + * @param string $path Path to the attachment. + * @param string $cid Content ID of the attachment; Use this to reference + * the content when using an embedded image in HTML. + * @param string $name Overrides the attachment name. + * @param string $encoding File encoding (see $Encoding). + * @param string $type File MIME type. + * @param string $disposition Disposition to use + * @return boolean True on successfully adding an attachment + */ + public function addEmbeddedImage($path, $cid, $name = '', $encoding = 'base64', $type = '', $disposition = 'inline') + { + if (!@is_file($path)) { + $this->setError($this->lang('file_access') . $path); + return false; + } + + // If a MIME type is not specified, try to work it out from the file name + if ($type == '') { + $type = self::filenameToType($path); + } + + $filename = basename($path); + if ($name == '') { + $name = $filename; + } + + // Append to $attachment array + $this->attachment[] = array( + 0 => $path, + 1 => $filename, + 2 => $name, + 3 => $encoding, + 4 => $type, + 5 => false, // isStringAttachment + 6 => $disposition, + 7 => $cid + ); + return true; + } + + /** + * Add an embedded stringified attachment. + * This can include images, sounds, and just about any other document type. + * Be sure to set the $type to an image type for images: + * JPEG images use 'image/jpeg', GIF uses 'image/gif', PNG uses 'image/png'. + * @param string $string The attachment binary data. + * @param string $cid Content ID of the attachment; Use this to reference + * the content when using an embedded image in HTML. + * @param string $name + * @param string $encoding File encoding (see $Encoding). + * @param string $type MIME type. + * @param string $disposition Disposition to use + * @return boolean True on successfully adding an attachment + */ + public function addStringEmbeddedImage( + $string, + $cid, + $name = '', + $encoding = 'base64', + $type = '', + $disposition = 'inline' + ) { + // If a MIME type is not specified, try to work it out from the name + if ($type == '' and !empty($name)) { + $type = self::filenameToType($name); + } + + // Append to $attachment array + $this->attachment[] = array( + 0 => $string, + 1 => $name, + 2 => $name, + 3 => $encoding, + 4 => $type, + 5 => true, // isStringAttachment + 6 => $disposition, + 7 => $cid + ); + return true; + } + + /** + * Check if an inline attachment is present. + * @access public + * @return boolean + */ + public function inlineImageExists() + { + foreach ($this->attachment as $attachment) { + if ($attachment[6] == 'inline') { + return true; + } + } + return false; + } + + /** + * Check if an attachment (non-inline) is present. + * @return boolean + */ + public function attachmentExists() + { + foreach ($this->attachment as $attachment) { + if ($attachment[6] == 'attachment') { + return true; + } + } + return false; + } + + /** + * Check if this message has an alternative body set. + * @return boolean + */ + public function alternativeExists() + { + return !empty($this->AltBody); + } + + /** + * Clear queued addresses of given kind. + * @access protected + * @param string $kind 'to', 'cc', or 'bcc' + * @return void + */ + public function clearQueuedAddresses($kind) + { + $RecipientsQueue = $this->RecipientsQueue; + foreach ($RecipientsQueue as $address => $params) { + if ($params[0] == $kind) { + unset($this->RecipientsQueue[$address]); + } + } + } + + /** + * Clear all To recipients. + * @return void + */ + public function clearAddresses() + { + foreach ($this->to as $to) { + unset($this->all_recipients[strtolower($to[0])]); + } + $this->to = array(); + $this->clearQueuedAddresses('to'); + } + + /** + * Clear all CC recipients. + * @return void + */ + public function clearCCs() + { + foreach ($this->cc as $cc) { + unset($this->all_recipients[strtolower($cc[0])]); + } + $this->cc = array(); + $this->clearQueuedAddresses('cc'); + } + + /** + * Clear all BCC recipients. + * @return void + */ + public function clearBCCs() + { + foreach ($this->bcc as $bcc) { + unset($this->all_recipients[strtolower($bcc[0])]); + } + $this->bcc = array(); + $this->clearQueuedAddresses('bcc'); + } + + /** + * Clear all ReplyTo recipients. + * @return void + */ + public function clearReplyTos() + { + $this->ReplyTo = array(); + $this->ReplyToQueue = array(); + } + + /** + * Clear all recipient types. + * @return void + */ + public function clearAllRecipients() + { + $this->to = array(); + $this->cc = array(); + $this->bcc = array(); + $this->all_recipients = array(); + $this->RecipientsQueue = array(); + } + + /** + * Clear all filesystem, string, and binary attachments. + * @return void + */ + public function clearAttachments() + { + $this->attachment = array(); + } + + /** + * Clear all custom headers. + * @return void + */ + public function clearCustomHeaders() + { + $this->CustomHeader = array(); + } + + /** + * Add an error message to the error container. + * @access protected + * @param string $msg + * @return void + */ + protected function setError($msg) + { + $this->error_count++; + if ($this->Mailer == 'smtp' and !is_null($this->smtp)) { + $lasterror = $this->smtp->getError(); + if (!empty($lasterror['error'])) { + $msg .= $this->lang('smtp_error') . $lasterror['error']; + if (!empty($lasterror['detail'])) { + $msg .= ' Detail: '. $lasterror['detail']; + } + if (!empty($lasterror['smtp_code'])) { + $msg .= ' SMTP code: ' . $lasterror['smtp_code']; + } + if (!empty($lasterror['smtp_code_ex'])) { + $msg .= ' Additional SMTP info: ' . $lasterror['smtp_code_ex']; + } + } + } + $this->ErrorInfo = $msg; + } + + /** + * Return an RFC 822 formatted date. + * @access public + * @return string + * @static + */ + public static function rfcDate() + { + // Set the time zone to whatever the default is to avoid 500 errors + // Will default to UTC if it's not set properly in php.ini + date_default_timezone_set(@date_default_timezone_get()); + return date('D, j M Y H:i:s O'); + } + + /** + * Get the server hostname. + * Returns 'localhost.localdomain' if unknown. + * @access protected + * @return string + */ + protected function serverHostname() + { + $result = 'localhost.localdomain'; + if (!empty($this->Hostname)) { + $result = $this->Hostname; + } elseif (isset($_SERVER) and array_key_exists('SERVER_NAME', $_SERVER) and !empty($_SERVER['SERVER_NAME'])) { + $result = $_SERVER['SERVER_NAME']; + } elseif (function_exists('gethostname') && gethostname() !== false) { + $result = gethostname(); + } elseif (php_uname('n') !== false) { + $result = php_uname('n'); + } + return $result; + } + + /** + * Get an error message in the current language. + * @access protected + * @param string $key + * @return string + */ + protected function lang($key) + { + if (count($this->language) < 1) { + $this->setLanguage('en'); // set the default language + } + + if (array_key_exists($key, $this->language)) { + if ($key == 'smtp_connect_failed') { + //Include a link to troubleshooting docs on SMTP connection failure + //this is by far the biggest cause of support questions + //but it's usually not PHPMailer's fault. + return $this->language[$key] . ' https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting'; + } + return $this->language[$key]; + } else { + //Return the key as a fallback + return $key; + } + } + + /** + * Check if an error occurred. + * @access public + * @return boolean True if an error did occur. + */ + public function isError() + { + return ($this->error_count > 0); + } + + /** + * Ensure consistent line endings in a string. + * Changes every end of line from CRLF, CR or LF to $this->LE. + * @access public + * @param string $str String to fixEOL + * @return string + */ + public function fixEOL($str) + { + // Normalise to \n + $nstr = str_replace(array("\r\n", "\r"), "\n", $str); + // Now convert LE as needed + if ($this->LE !== "\n") { + $nstr = str_replace("\n", $this->LE, $nstr); + } + return $nstr; + } + + /** + * Add a custom header. + * $name value can be overloaded to contain + * both header name and value (name:value) + * @access public + * @param string $name Custom header name + * @param string $value Header value + * @return void + */ + public function addCustomHeader($name, $value = null) + { + if ($value === null) { + // Value passed in as name:value + $this->CustomHeader[] = explode(':', $name, 2); + } else { + $this->CustomHeader[] = array($name, $value); + } + } + + /** + * Returns all custom headers. + * @return array + */ + public function getCustomHeaders() + { + return $this->CustomHeader; + } + + /** + * Create a message from an HTML string. + * Automatically makes modifications for inline images and backgrounds + * and creates a plain-text version by converting the HTML. + * Overwrites any existing values in $this->Body and $this->AltBody + * @access public + * @param string $message HTML message string + * @param string $basedir baseline directory for path + * @param boolean|callable $advanced Whether to use the internal HTML to text converter + * or your own custom converter @see PHPMailer::html2text() + * @return string $message + */ + public function msgHTML($message, $basedir = '', $advanced = false) + { + preg_match_all('/(src|background)=["\'](.*)["\']/Ui', $message, $images); + if (array_key_exists(2, $images)) { + foreach ($images[2] as $imgindex => $url) { + // Convert data URIs into embedded images + if (preg_match('#^data:(image[^;,]*)(;base64)?,#', $url, $match)) { + $data = substr($url, strpos($url, ',')); + if ($match[2]) { + $data = base64_decode($data); + } else { + $data = rawurldecode($data); + } + $cid = md5($url) . '@phpmailer.0'; // RFC2392 S 2 + if ($this->addStringEmbeddedImage($data, $cid, 'embed' . $imgindex, 'base64', $match[1])) { + $message = str_replace( + $images[0][$imgindex], + $images[1][$imgindex] . '="cid:' . $cid . '"', + $message + ); + } + } elseif (substr($url, 0, 4) !== 'cid:' && !preg_match('#^[a-z][a-z0-9+.-]*://#i', $url)) { + // Do not change urls for absolute images (thanks to corvuscorax) + // Do not change urls that are already inline images + $filename = basename($url); + $directory = dirname($url); + if ($directory == '.') { + $directory = ''; + } + $cid = md5($url) . '@phpmailer.0'; // RFC2392 S 2 + if (strlen($basedir) > 1 && substr($basedir, -1) != '/') { + $basedir .= '/'; + } + if (strlen($directory) > 1 && substr($directory, -1) != '/') { + $directory .= '/'; + } + if ($this->addEmbeddedImage( + $basedir . $directory . $filename, + $cid, + $filename, + 'base64', + self::_mime_types((string)self::mb_pathinfo($filename, PATHINFO_EXTENSION)) + ) + ) { + $message = preg_replace( + '/' . $images[1][$imgindex] . '=["\']' . preg_quote($url, '/') . '["\']/Ui', + $images[1][$imgindex] . '="cid:' . $cid . '"', + $message + ); + } + } + } + } + $this->isHTML(true); + // Convert all message body line breaks to CRLF, makes quoted-printable encoding work much better + $this->Body = $this->normalizeBreaks($message); + $this->AltBody = $this->normalizeBreaks($this->html2text($message, $advanced)); + if (!$this->alternativeExists()) { + $this->AltBody = 'To view this email message, open it in a program that understands HTML!' . + self::CRLF . self::CRLF; + } + return $this->Body; + } + + /** + * Convert an HTML string into plain text. + * This is used by msgHTML(). + * Note - older versions of this function used a bundled advanced converter + * which was been removed for license reasons in #232 + * Example usage: + * + * // Use default conversion + * $plain = $mail->html2text($html); + * // Use your own custom converter + * $plain = $mail->html2text($html, function($html) { + * $converter = new MyHtml2text($html); + * return $converter->get_text(); + * }); + * + * @param string $html The HTML text to convert + * @param boolean|callable $advanced Any boolean value to use the internal converter, + * or provide your own callable for custom conversion. + * @return string + */ + public function html2text($html, $advanced = false) + { + if (is_callable($advanced)) { + return call_user_func($advanced, $html); + } + return html_entity_decode( + trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/si', '', $html))), + ENT_QUOTES, + $this->CharSet + ); + } + + /** + * Get the MIME type for a file extension. + * @param string $ext File extension + * @access public + * @return string MIME type of file. + * @static + */ + public static function _mime_types($ext = '') + { + $mimes = array( + 'xl' => 'application/excel', + 'js' => 'application/javascript', + 'hqx' => 'application/mac-binhex40', + 'cpt' => 'application/mac-compactpro', + 'bin' => 'application/macbinary', + 'doc' => 'application/msword', + 'word' => 'application/msword', + 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', + 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', + 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', + 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide', + 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', + 'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12', + 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12', + 'class' => 'application/octet-stream', + 'dll' => 'application/octet-stream', + 'dms' => 'application/octet-stream', + 'exe' => 'application/octet-stream', + 'lha' => 'application/octet-stream', + 'lzh' => 'application/octet-stream', + 'psd' => 'application/octet-stream', + 'sea' => 'application/octet-stream', + 'so' => 'application/octet-stream', + 'oda' => 'application/oda', + 'pdf' => 'application/pdf', + 'ai' => 'application/postscript', + 'eps' => 'application/postscript', + 'ps' => 'application/postscript', + 'smi' => 'application/smil', + 'smil' => 'application/smil', + 'mif' => 'application/vnd.mif', + 'xls' => 'application/vnd.ms-excel', + 'ppt' => 'application/vnd.ms-powerpoint', + 'wbxml' => 'application/vnd.wap.wbxml', + 'wmlc' => 'application/vnd.wap.wmlc', + 'dcr' => 'application/x-director', + 'dir' => 'application/x-director', + 'dxr' => 'application/x-director', + 'dvi' => 'application/x-dvi', + 'gtar' => 'application/x-gtar', + 'php3' => 'application/x-httpd-php', + 'php4' => 'application/x-httpd-php', + 'php' => 'application/x-httpd-php', + 'phtml' => 'application/x-httpd-php', + 'phps' => 'application/x-httpd-php-source', + 'swf' => 'application/x-shockwave-flash', + 'sit' => 'application/x-stuffit', + 'tar' => 'application/x-tar', + 'tgz' => 'application/x-tar', + 'xht' => 'application/xhtml+xml', + 'xhtml' => 'application/xhtml+xml', + 'zip' => 'application/zip', + 'mid' => 'audio/midi', + 'midi' => 'audio/midi', + 'mp2' => 'audio/mpeg', + 'mp3' => 'audio/mpeg', + 'mpga' => 'audio/mpeg', + 'aif' => 'audio/x-aiff', + 'aifc' => 'audio/x-aiff', + 'aiff' => 'audio/x-aiff', + 'ram' => 'audio/x-pn-realaudio', + 'rm' => 'audio/x-pn-realaudio', + 'rpm' => 'audio/x-pn-realaudio-plugin', + 'ra' => 'audio/x-realaudio', + 'wav' => 'audio/x-wav', + 'bmp' => 'image/bmp', + 'gif' => 'image/gif', + 'jpeg' => 'image/jpeg', + 'jpe' => 'image/jpeg', + 'jpg' => 'image/jpeg', + 'png' => 'image/png', + 'tiff' => 'image/tiff', + 'tif' => 'image/tiff', + 'eml' => 'message/rfc822', + 'css' => 'text/css', + 'html' => 'text/html', + 'htm' => 'text/html', + 'shtml' => 'text/html', + 'log' => 'text/plain', + 'text' => 'text/plain', + 'txt' => 'text/plain', + 'rtx' => 'text/richtext', + 'rtf' => 'text/rtf', + 'vcf' => 'text/vcard', + 'vcard' => 'text/vcard', + 'xml' => 'text/xml', + 'xsl' => 'text/xml', + 'mpeg' => 'video/mpeg', + 'mpe' => 'video/mpeg', + 'mpg' => 'video/mpeg', + 'mov' => 'video/quicktime', + 'qt' => 'video/quicktime', + 'rv' => 'video/vnd.rn-realvideo', + 'avi' => 'video/x-msvideo', + 'movie' => 'video/x-sgi-movie' + ); + if (array_key_exists(strtolower($ext), $mimes)) { + return $mimes[strtolower($ext)]; + } + return 'application/octet-stream'; + } + + /** + * Map a file name to a MIME type. + * Defaults to 'application/octet-stream', i.e.. arbitrary binary data. + * @param string $filename A file name or full path, does not need to exist as a file + * @return string + * @static + */ + public static function filenameToType($filename) + { + // In case the path is a URL, strip any query string before getting extension + $qpos = strpos($filename, '?'); + if (false !== $qpos) { + $filename = substr($filename, 0, $qpos); + } + $pathinfo = self::mb_pathinfo($filename); + return self::_mime_types($pathinfo['extension']); + } + + /** + * Multi-byte-safe pathinfo replacement. + * Drop-in replacement for pathinfo(), but multibyte-safe, cross-platform-safe, old-version-safe. + * Works similarly to the one in PHP >= 5.2.0 + * @link http://www.php.net/manual/en/function.pathinfo.php#107461 + * @param string $path A filename or path, does not need to exist as a file + * @param integer|string $options Either a PATHINFO_* constant, + * or a string name to return only the specified piece, allows 'filename' to work on PHP < 5.2 + * @return string|array + * @static + */ + public static function mb_pathinfo($path, $options = null) + { + $ret = array('dirname' => '', 'basename' => '', 'extension' => '', 'filename' => ''); + $pathinfo = array(); + if (preg_match('%^(.*?)[\\\\/]*(([^/\\\\]*?)(\.([^\.\\\\/]+?)|))[\\\\/\.]*$%im', $path, $pathinfo)) { + if (array_key_exists(1, $pathinfo)) { + $ret['dirname'] = $pathinfo[1]; + } + if (array_key_exists(2, $pathinfo)) { + $ret['basename'] = $pathinfo[2]; + } + if (array_key_exists(5, $pathinfo)) { + $ret['extension'] = $pathinfo[5]; + } + if (array_key_exists(3, $pathinfo)) { + $ret['filename'] = $pathinfo[3]; + } + } + switch ($options) { + case PATHINFO_DIRNAME: + case 'dirname': + return $ret['dirname']; + case PATHINFO_BASENAME: + case 'basename': + return $ret['basename']; + case PATHINFO_EXTENSION: + case 'extension': + return $ret['extension']; + case PATHINFO_FILENAME: + case 'filename': + return $ret['filename']; + default: + return $ret; + } + } + + /** + * Set or reset instance properties. + * You should avoid this function - it's more verbose, less efficient, more error-prone and + * harder to debug than setting properties directly. + * Usage Example: + * `$mail->set('SMTPSecure', 'tls');` + * is the same as: + * `$mail->SMTPSecure = 'tls';` + * @access public + * @param string $name The property name to set + * @param mixed $value The value to set the property to + * @return boolean + * @TODO Should this not be using the __set() magic function? + */ + public function set($name, $value = '') + { + if (property_exists($this, $name)) { + $this->$name = $value; + return true; + } else { + $this->setError($this->lang('variable_set') . $name); + return false; + } + } + + /** + * Strip newlines to prevent header injection. + * @access public + * @param string $str + * @return string + */ + public function secureHeader($str) + { + return trim(str_replace(array("\r", "\n"), '', $str)); + } + + /** + * Normalize line breaks in a string. + * Converts UNIX LF, Mac CR and Windows CRLF line breaks into a single line break format. + * Defaults to CRLF (for message bodies) and preserves consecutive breaks. + * @param string $text + * @param string $breaktype What kind of line break to use, defaults to CRLF + * @return string + * @access public + * @static + */ + public static function normalizeBreaks($text, $breaktype = "\r\n") + { + return preg_replace('/(\r\n|\r|\n)/ms', $breaktype, $text); + } + + /** + * Set the public and private key files and password for S/MIME signing. + * @access public + * @param string $cert_filename + * @param string $key_filename + * @param string $key_pass Password for private key + * @param string $extracerts_filename Optional path to chain certificate + */ + public function sign($cert_filename, $key_filename, $key_pass, $extracerts_filename = '') + { + $this->sign_cert_file = $cert_filename; + $this->sign_key_file = $key_filename; + $this->sign_key_pass = $key_pass; + $this->sign_extracerts_file = $extracerts_filename; + } + + /** + * Quoted-Printable-encode a DKIM header. + * @access public + * @param string $txt + * @return string + */ + public function DKIM_QP($txt) + { + $line = ''; + for ($i = 0; $i < strlen($txt); $i++) { + $ord = ord($txt[$i]); + if (((0x21 <= $ord) && ($ord <= 0x3A)) || $ord == 0x3C || ((0x3E <= $ord) && ($ord <= 0x7E))) { + $line .= $txt[$i]; + } else { + $line .= '=' . sprintf('%02X', $ord); + } + } + return $line; + } + + /** + * Generate a DKIM signature. + * @access public + * @param string $signHeader + * @throws phpmailerException + * @return string + */ + public function DKIM_Sign($signHeader) + { + if (!defined('PKCS7_TEXT')) { + if ($this->exceptions) { + throw new phpmailerException($this->lang('extension_missing') . 'openssl'); + } + return ''; + } + $privKeyStr = file_get_contents($this->DKIM_private); + if ($this->DKIM_passphrase != '') { + $privKey = openssl_pkey_get_private($privKeyStr, $this->DKIM_passphrase); + } else { + $privKey = openssl_pkey_get_private($privKeyStr); + } + if (openssl_sign($signHeader, $signature, $privKey, 'sha256WithRSAEncryption')) { //sha1WithRSAEncryption + openssl_pkey_free($privKey); + return base64_encode($signature); + } + openssl_pkey_free($privKey); + return ''; + } + + /** + * Generate a DKIM canonicalization header. + * @access public + * @param string $signHeader Header + * @return string + */ + public function DKIM_HeaderC($signHeader) + { + $signHeader = preg_replace('/\r\n\s+/', ' ', $signHeader); + $lines = explode("\r\n", $signHeader); + foreach ($lines as $key => $line) { + list($heading, $value) = explode(':', $line, 2); + $heading = strtolower($heading); + $value = preg_replace('/\s{2,}/', ' ', $value); // Compress useless spaces + $lines[$key] = $heading . ':' . trim($value); // Don't forget to remove WSP around the value + } + $signHeader = implode("\r\n", $lines); + return $signHeader; + } + + /** + * Generate a DKIM canonicalization body. + * @access public + * @param string $body Message Body + * @return string + */ + public function DKIM_BodyC($body) + { + if ($body == '') { + return "\r\n"; + } + // stabilize line endings + $body = str_replace("\r\n", "\n", $body); + $body = str_replace("\n", "\r\n", $body); + // END stabilize line endings + while (substr($body, strlen($body) - 4, 4) == "\r\n\r\n") { + $body = substr($body, 0, strlen($body) - 2); + } + return $body; + } + + /** + * Create the DKIM header and body in a new message header. + * @access public + * @param string $headers_line Header lines + * @param string $subject Subject + * @param string $body Body + * @return string + */ + public function DKIM_Add($headers_line, $subject, $body) + { + $DKIMsignatureType = 'rsa-sha256'; // Signature & hash algorithms + $DKIMcanonicalization = 'relaxed/simple'; // Canonicalization of header/body + $DKIMquery = 'dns/txt'; // Query method + $DKIMtime = time(); // Signature Timestamp = seconds since 00:00:00 - Jan 1, 1970 (UTC time zone) + $subject_header = "Subject: $subject"; + $headers = explode($this->LE, $headers_line); + $from_header = ''; + $to_header = ''; + $date_header = ''; + $current = ''; + foreach ($headers as $header) { + if (strpos($header, 'From:') === 0) { + $from_header = $header; + $current = 'from_header'; + } elseif (strpos($header, 'To:') === 0) { + $to_header = $header; + $current = 'to_header'; + } elseif (strpos($header, 'Date:') === 0) { + $date_header = $header; + $current = 'date_header'; + } else { + if (!empty($$current) && strpos($header, ' =?') === 0) { + $$current .= $header; + } else { + $current = ''; + } + } + } + $from = str_replace('|', '=7C', $this->DKIM_QP($from_header)); + $to = str_replace('|', '=7C', $this->DKIM_QP($to_header)); + $date = str_replace('|', '=7C', $this->DKIM_QP($date_header)); + $subject = str_replace( + '|', + '=7C', + $this->DKIM_QP($subject_header) + ); // Copied header fields (dkim-quoted-printable) + $body = $this->DKIM_BodyC($body); + $DKIMlen = strlen($body); // Length of body + $DKIMb64 = base64_encode(pack('H*', hash('sha256', $body))); // Base64 of packed binary SHA-256 hash of body + if ('' == $this->DKIM_identity) { + $ident = ''; + } else { + $ident = ' i=' . $this->DKIM_identity . ';'; + } + $dkimhdrs = 'DKIM-Signature: v=1; a=' . + $DKIMsignatureType . '; q=' . + $DKIMquery . '; l=' . + $DKIMlen . '; s=' . + $this->DKIM_selector . + ";\r\n" . + "\tt=" . $DKIMtime . '; c=' . $DKIMcanonicalization . ";\r\n" . + "\th=From:To:Date:Subject;\r\n" . + "\td=" . $this->DKIM_domain . ';' . $ident . "\r\n" . + "\tz=$from\r\n" . + "\t|$to\r\n" . + "\t|$date\r\n" . + "\t|$subject;\r\n" . + "\tbh=" . $DKIMb64 . ";\r\n" . + "\tb="; + $toSign = $this->DKIM_HeaderC( + $from_header . "\r\n" . + $to_header . "\r\n" . + $date_header . "\r\n" . + $subject_header . "\r\n" . + $dkimhdrs + ); + $signed = $this->DKIM_Sign($toSign); + return $dkimhdrs . $signed . "\r\n"; + } + + /** + * Detect if a string contains a line longer than the maximum line length allowed. + * @param string $str + * @return boolean + * @static + */ + public static function hasLineLongerThanMax($str) + { + //+2 to include CRLF line break for a 1000 total + return (boolean)preg_match('/^(.{'.(self::MAX_LINE_LENGTH + 2).',})/m', $str); + } + + /** + * Allows for public read access to 'to' property. + * @note: Before the send() call, queued addresses (i.e. with IDN) are not yet included. + * @access public + * @return array + */ + public function getToAddresses() + { + return $this->to; + } + + /** + * Allows for public read access to 'cc' property. + * @note: Before the send() call, queued addresses (i.e. with IDN) are not yet included. + * @access public + * @return array + */ + public function getCcAddresses() + { + return $this->cc; + } + + /** + * Allows for public read access to 'bcc' property. + * @note: Before the send() call, queued addresses (i.e. with IDN) are not yet included. + * @access public + * @return array + */ + public function getBccAddresses() + { + return $this->bcc; + } + + /** + * Allows for public read access to 'ReplyTo' property. + * @note: Before the send() call, queued addresses (i.e. with IDN) are not yet included. + * @access public + * @return array + */ + public function getReplyToAddresses() + { + return $this->ReplyTo; + } + + /** + * Allows for public read access to 'all_recipients' property. + * @note: Before the send() call, queued addresses (i.e. with IDN) are not yet included. + * @access public + * @return array + */ + public function getAllRecipientAddresses() + { + return $this->all_recipients; + } + + /** + * Perform a callback. + * @param boolean $isSent + * @param array $to + * @param array $cc + * @param array $bcc + * @param string $subject + * @param string $body + * @param string $from + */ + protected function doCallback($isSent, $to, $cc, $bcc, $subject, $body, $from) + { + if (!empty($this->action_function) && is_callable($this->action_function)) { + $params = array($isSent, $to, $cc, $bcc, $subject, $body, $from); + call_user_func_array($this->action_function, $params); + } + } +} + +/** + * PHPMailer exception handler + * @package PHPMailer + */ +class phpmailerException extends Exception +{ + /** + * Prettify error message output + * @return string + */ + public function errorMessage() + { + $errorMsg = '' . $this->getMessage() . "
\n"; + return $errorMsg; + } +} \ No newline at end of file diff --git a/phpmailer/class.pop3.php b/phpmailer/class.pop3.php new file mode 100644 index 0000000..f9fd3b2 --- /dev/null +++ b/phpmailer/class.pop3.php @@ -0,0 +1,407 @@ +pop_conn = 0; + $this->connected = false; + $this->error = null; + } + + /** + * Combination of public events - connect, login, disconnect + * @access public + * @param string $host + * @param integer $port + * @param integer $tval + * @param string $username + * @param string $password + */ + public function Authorise ($host, $port = false, $tval = false, $username, $password, $debug_level = 0) { + $this->host = $host; + + // If no port value is passed, retrieve it + if ($port == false) { + $this->port = $this->POP3_PORT; + } else { + $this->port = $port; + } + + // If no port value is passed, retrieve it + if ($tval == false) { + $this->tval = $this->POP3_TIMEOUT; + } else { + $this->tval = $tval; + } + + $this->do_debug = $debug_level; + $this->username = $username; + $this->password = $password; + + // Refresh the error log + $this->error = null; + + // Connect + $result = $this->Connect($this->host, $this->port, $this->tval); + + if ($result) { + $login_result = $this->Login($this->username, $this->password); + + if ($login_result) { + $this->Disconnect(); + + return true; + } + + } + + // We need to disconnect regardless if the login succeeded + $this->Disconnect(); + + return false; + } + + /** + * Connect to the POP3 server + * @access public + * @param string $host + * @param integer $port + * @param integer $tval + * @return boolean + */ + public function Connect ($host, $port = false, $tval = 30) { + // Are we already connected? + if ($this->connected) { + return true; + } + + /* + On Windows this will raise a PHP Warning error if the hostname doesn't exist. + Rather than supress it with @fsockopen, let's capture it cleanly instead + */ + + set_error_handler(array(&$this, 'catchWarning')); + + // Connect to the POP3 server + $this->pop_conn = fsockopen($host, // POP3 Host + $port, // Port # + $errno, // Error Number + $errstr, // Error Message + $tval); // Timeout (seconds) + + // Restore the error handler + restore_error_handler(); + + // Does the Error Log now contain anything? + if ($this->error && $this->do_debug >= 1) { + $this->displayErrors(); + } + + // Did we connect? + if ($this->pop_conn == false) { + // It would appear not... + $this->error = array( + 'error' => "Failed to connect to server $host on port $port", + 'errno' => $errno, + 'errstr' => $errstr + ); + + if ($this->do_debug >= 1) { + $this->displayErrors(); + } + + return false; + } + + // Increase the stream time-out + + // Check for PHP 4.3.0 or later + if (version_compare(phpversion(), '5.0.0', 'ge')) { + stream_set_timeout($this->pop_conn, $tval, 0); + } else { + // Does not work on Windows + if (substr(PHP_OS, 0, 3) !== 'WIN') { + socket_set_timeout($this->pop_conn, $tval, 0); + } + } + + // Get the POP3 server response + $pop3_response = $this->getResponse(); + + // Check for the +OK + if ($this->checkResponse($pop3_response)) { + // The connection is established and the POP3 server is talking + $this->connected = true; + return true; + } + + } + + /** + * Login to the POP3 server (does not support APOP yet) + * @access public + * @param string $username + * @param string $password + * @return boolean + */ + public function Login ($username = '', $password = '') { + if ($this->connected == false) { + $this->error = 'Not connected to POP3 server'; + + if ($this->do_debug >= 1) { + $this->displayErrors(); + } + } + + if (empty($username)) { + $username = $this->username; + } + + if (empty($password)) { + $password = $this->password; + } + + $pop_username = "USER $username" . $this->CRLF; + $pop_password = "PASS $password" . $this->CRLF; + + // Send the Username + $this->sendString($pop_username); + $pop3_response = $this->getResponse(); + + if ($this->checkResponse($pop3_response)) { + // Send the Password + $this->sendString($pop_password); + $pop3_response = $this->getResponse(); + + if ($this->checkResponse($pop3_response)) { + return true; + } else { + return false; + } + } else { + return false; + } + } + + /** + * Disconnect from the POP3 server + * @access public + */ + public function Disconnect () { + $this->sendString('QUIT'); + + fclose($this->pop_conn); + } + + ///////////////////////////////////////////////// + // Private Methods + ///////////////////////////////////////////////// + + /** + * Get the socket response back. + * $size is the maximum number of bytes to retrieve + * @access private + * @param integer $size + * @return string + */ + private function getResponse ($size = 128) { + $pop3_response = fgets($this->pop_conn, $size); + + return $pop3_response; + } + + /** + * Send a string down the open socket connection to the POP3 server + * @access private + * @param string $string + * @return integer + */ + private function sendString ($string) { + $bytes_sent = fwrite($this->pop_conn, $string, strlen($string)); + + return $bytes_sent; + } + + /** + * Checks the POP3 server response for +OK or -ERR + * @access private + * @param string $string + * @return boolean + */ + private function checkResponse ($string) { + if (substr($string, 0, 3) !== '+OK') { + $this->error = array( + 'error' => "Server reported an error: $string", + 'errno' => 0, + 'errstr' => '' + ); + + if ($this->do_debug >= 1) { + $this->displayErrors(); + } + + return false; + } else { + return true; + } + + } + + /** + * If debug is enabled, display the error message array + * @access private + */ + private function displayErrors () { + echo '
';
+
+    foreach ($this->error as $single_error) {
+      print_r($single_error);
+    }
+
+    echo '
'; + } + + /** + * Takes over from PHP for the socket warning handler + * @access private + * @param integer $errno + * @param string $errstr + * @param string $errfile + * @param integer $errline + */ + private function catchWarning ($errno, $errstr, $errfile, $errline) { + $this->error[] = array( + 'error' => "Connecting to the POP3 server raised a PHP warning: ", + 'errno' => $errno, + 'errstr' => $errstr + ); + } + + // End of class +} +?> \ No newline at end of file diff --git a/phpmailer/class.smtp.php b/phpmailer/class.smtp.php new file mode 100644 index 0000000..1f0f3e0 --- /dev/null +++ b/phpmailer/class.smtp.php @@ -0,0 +1,1192 @@ + + * @author Jim Jagielski (jimjag) + * @author Andy Prevost (codeworxtech) + * @author Brent R. Matzelle (original founder) + * @copyright 2014 Marcus Bointon + * @copyright 2010 - 2012 Jim Jagielski + * @copyright 2004 - 2009 Andy Prevost + * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License + * @note This program is distributed in the hope that it will be useful - WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. + */ + +/** + * PHPMailer RFC821 SMTP email transport class. + * Implements RFC 821 SMTP commands and provides some utility methods for sending mail to an SMTP server. + * @package PHPMailer + * @author Chris Ryan + * @author Marcus Bointon + */ +class SMTP +{ + /** + * The PHPMailer SMTP version number. + * @var string + */ + const VERSION = '5.2.15'; + + /** + * SMTP line break constant. + * @var string + */ + const CRLF = "\r\n"; + + /** + * The SMTP port to use if one is not specified. + * @var integer + */ + const DEFAULT_SMTP_PORT = 25; + + /** + * The maximum line length allowed by RFC 2822 section 2.1.1 + * @var integer + */ + const MAX_LINE_LENGTH = 998; + + /** + * Debug level for no output + */ + const DEBUG_OFF = 0; + + /** + * Debug level to show client -> server messages + */ + const DEBUG_CLIENT = 1; + + /** + * Debug level to show client -> server and server -> client messages + */ + const DEBUG_SERVER = 2; + + /** + * Debug level to show connection status, client -> server and server -> client messages + */ + const DEBUG_CONNECTION = 3; + + /** + * Debug level to show all messages + */ + const DEBUG_LOWLEVEL = 4; + + /** + * The PHPMailer SMTP Version number. + * @var string + * @deprecated Use the `VERSION` constant instead + * @see SMTP::VERSION + */ + public $Version = '5.2.15'; + + /** + * SMTP server port number. + * @var integer + * @deprecated This is only ever used as a default value, so use the `DEFAULT_SMTP_PORT` constant instead + * @see SMTP::DEFAULT_SMTP_PORT + */ + public $SMTP_PORT = 25; + + /** + * SMTP reply line ending. + * @var string + * @deprecated Use the `CRLF` constant instead + * @see SMTP::CRLF + */ + public $CRLF = "\r\n"; + + /** + * Debug output level. + * Options: + * * self::DEBUG_OFF (`0`) No debug output, default + * * self::DEBUG_CLIENT (`1`) Client commands + * * self::DEBUG_SERVER (`2`) Client commands and server responses + * * self::DEBUG_CONNECTION (`3`) As DEBUG_SERVER plus connection status + * * self::DEBUG_LOWLEVEL (`4`) Low-level data output, all messages + * @var integer + */ + public $do_debug = self::DEBUG_OFF; + + /** + * How to handle debug output. + * Options: + * * `echo` Output plain-text as-is, appropriate for CLI + * * `html` Output escaped, line breaks converted to `
`, appropriate for browser output + * * `error_log` Output to error log as configured in php.ini + * + * Alternatively, you can provide a callable expecting two params: a message string and the debug level: + * + * $smtp->Debugoutput = function($str, $level) {echo "debug level $level; message: $str";}; + * + * @var string|callable + */ + public $Debugoutput = 'echo'; + + /** + * Whether to use VERP. + * @link http://en.wikipedia.org/wiki/Variable_envelope_return_path + * @link http://www.postfix.org/VERP_README.html Info on VERP + * @var boolean + */ + public $do_verp = false; + + /** + * The timeout value for connection, in seconds. + * Default of 5 minutes (300sec) is from RFC2821 section 4.5.3.2 + * This needs to be quite high to function correctly with hosts using greetdelay as an anti-spam measure. + * @link http://tools.ietf.org/html/rfc2821#section-4.5.3.2 + * @var integer + */ + public $Timeout = 300; + + /** + * How long to wait for commands to complete, in seconds. + * Default of 5 minutes (300sec) is from RFC2821 section 4.5.3.2 + * @var integer + */ + public $Timelimit = 300; + + /** + * The socket for the server connection. + * @var resource + */ + protected $smtp_conn; + + /** + * Error information, if any, for the last SMTP command. + * @var array + */ + protected $error = array( + 'error' => '', + 'detail' => '', + 'smtp_code' => '', + 'smtp_code_ex' => '' + ); + + /** + * The reply the server sent to us for HELO. + * If null, no HELO string has yet been received. + * @var string|null + */ + protected $helo_rply = null; + + /** + * The set of SMTP extensions sent in reply to EHLO command. + * Indexes of the array are extension names. + * Value at index 'HELO' or 'EHLO' (according to command that was sent) + * represents the server name. In case of HELO it is the only element of the array. + * Other values can be boolean TRUE or an array containing extension options. + * If null, no HELO/EHLO string has yet been received. + * @var array|null + */ + protected $server_caps = null; + + /** + * The most recent reply received from the server. + * @var string + */ + protected $last_reply = ''; + + /** + * Output debugging info via a user-selected method. + * @see SMTP::$Debugoutput + * @see SMTP::$do_debug + * @param string $str Debug string to output + * @param integer $level The debug level of this message; see DEBUG_* constants + * @return void + */ + protected function edebug($str, $level = 0) + { + if ($level > $this->do_debug) { + return; + } + //Avoid clash with built-in function names + if (!in_array($this->Debugoutput, array('error_log', 'html', 'echo')) and is_callable($this->Debugoutput)) { + call_user_func($this->Debugoutput, $str, $this->do_debug); + return; + } + switch ($this->Debugoutput) { + case 'error_log': + //Don't output, just log + error_log($str); + break; + case 'html': + //Cleans up output a bit for a better looking, HTML-safe output + echo htmlentities( + preg_replace('/[\r\n]+/', '', $str), + ENT_QUOTES, + 'UTF-8' + ) + . "
\n"; + break; + case 'echo': + default: + //Normalize line breaks + $str = preg_replace('/(\r\n|\r|\n)/ms', "\n", $str); + echo gmdate('Y-m-d H:i:s') . "\t" . str_replace( + "\n", + "\n \t ", + trim($str) + )."\n"; + } + } + + /** + * Connect to an SMTP server. + * @param string $host SMTP server IP or host name + * @param integer $port The port number to connect to + * @param integer $timeout How long to wait for the connection to open + * @param array $options An array of options for stream_context_create() + * @access public + * @return boolean + */ + public function connect($host, $port = null, $timeout = 30, $options = array()) + { + static $streamok; + //This is enabled by default since 5.0.0 but some providers disable it + //Check this once and cache the result + if (is_null($streamok)) { + $streamok = function_exists('stream_socket_client'); + } + // Clear errors to avoid confusion + $this->setError(''); + // Make sure we are __not__ connected + if ($this->connected()) { + // Already connected, generate error + $this->setError('Already connected to a server'); + return false; + } + if (empty($port)) { + $port = self::DEFAULT_SMTP_PORT; + } + // Connect to the SMTP server + $this->edebug( + "Connection: opening to $host:$port, timeout=$timeout, options=".var_export($options, true), + self::DEBUG_CONNECTION + ); + $errno = 0; + $errstr = ''; + if ($streamok) { + $socket_context = stream_context_create($options); + //Suppress errors; connection failures are handled at a higher level + $this->smtp_conn = @stream_socket_client( + $host . ":" . $port, + $errno, + $errstr, + $timeout, + STREAM_CLIENT_CONNECT, + $socket_context + ); + } else { + //Fall back to fsockopen which should work in more places, but is missing some features + $this->edebug( + "Connection: stream_socket_client not available, falling back to fsockopen", + self::DEBUG_CONNECTION + ); + $this->smtp_conn = fsockopen( + $host, + $port, + $errno, + $errstr, + $timeout + ); + } + // Verify we connected properly + if (!is_resource($this->smtp_conn)) { + $this->setError( + 'Failed to connect to server', + $errno, + $errstr + ); + $this->edebug( + 'SMTP ERROR: ' . $this->error['error'] + . ": $errstr ($errno)", + self::DEBUG_CLIENT + ); + return false; + } + $this->edebug('Connection: opened', self::DEBUG_CONNECTION); + // SMTP server can take longer to respond, give longer timeout for first read + // Windows does not have support for this timeout function + if (substr(PHP_OS, 0, 3) != 'WIN') { + $max = ini_get('max_execution_time'); + // Don't bother if unlimited + if ($max != 0 && $timeout > $max) { + @set_time_limit($timeout); + } + stream_set_timeout($this->smtp_conn, $timeout, 0); + } + // Get any announcement + $announce = $this->get_lines(); + $this->edebug('SERVER -> CLIENT: ' . $announce, self::DEBUG_SERVER); + return true; + } + + /** + * Initiate a TLS (encrypted) session. + * @access public + * @return boolean + */ + public function startTLS() + { + if (!$this->sendCommand('STARTTLS', 'STARTTLS', 220)) { + return false; + } + + //Allow the best TLS version(s) we can + $crypto_method = STREAM_CRYPTO_METHOD_TLS_CLIENT; + + //PHP 5.6.7 dropped inclusion of TLS 1.1 and 1.2 in STREAM_CRYPTO_METHOD_TLS_CLIENT + //so add them back in manually if we can + if (defined('STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT')) { + $crypto_method |= STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT; + $crypto_method |= STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT; + } + + // Begin encrypted connection + if (!stream_socket_enable_crypto( + $this->smtp_conn, + true, + $crypto_method + )) { + return false; + } + return true; + } + + /** + * Perform SMTP authentication. + * Must be run after hello(). + * @see hello() + * @param string $username The user name + * @param string $password The password + * @param string $authtype The auth type (PLAIN, LOGIN, NTLM, CRAM-MD5, XOAUTH2) + * @param string $realm The auth realm for NTLM + * @param string $workstation The auth workstation for NTLM + * @param null|OAuth $OAuth An optional OAuth instance (@see PHPMailerOAuth) + * @return bool True if successfully authenticated.* @access public + */ + public function authenticate( + $username, + $password, + $authtype = null, + $realm = '', + $workstation = '', + $OAuth = null + ) { + if (!$this->server_caps) { + $this->setError('Authentication is not allowed before HELO/EHLO'); + return false; + } + + if (array_key_exists('EHLO', $this->server_caps)) { + // SMTP extensions are available. Let's try to find a proper authentication method + + if (!array_key_exists('AUTH', $this->server_caps)) { + $this->setError('Authentication is not allowed at this stage'); + // 'at this stage' means that auth may be allowed after the stage changes + // e.g. after STARTTLS + return false; + } + + self::edebug('Auth method requested: ' . ($authtype ? $authtype : 'UNKNOWN'), self::DEBUG_LOWLEVEL); + self::edebug( + 'Auth methods available on the server: ' . implode(',', $this->server_caps['AUTH']), + self::DEBUG_LOWLEVEL + ); + + if (empty($authtype)) { + foreach (array('CRAM-MD5', 'LOGIN', 'PLAIN', 'NTLM', 'XOAUTH2') as $method) { + if (in_array($method, $this->server_caps['AUTH'])) { + $authtype = $method; + break; + } + } + if (empty($authtype)) { + $this->setError('No supported authentication methods found'); + return false; + } + self::edebug('Auth method selected: '.$authtype, self::DEBUG_LOWLEVEL); + } + + if (!in_array($authtype, $this->server_caps['AUTH'])) { + $this->setError("The requested authentication method \"$authtype\" is not supported by the server"); + return false; + } + } elseif (empty($authtype)) { + $authtype = 'LOGIN'; + } + switch ($authtype) { + case 'PLAIN': + // Start authentication + if (!$this->sendCommand('AUTH', 'AUTH PLAIN', 334)) { + return false; + } + // Send encoded username and password + if (!$this->sendCommand( + 'User & Password', + base64_encode("\0" . $username . "\0" . $password), + 235 + ) + ) { + return false; + } + break; + case 'LOGIN': + // Start authentication + if (!$this->sendCommand('AUTH', 'AUTH LOGIN', 334)) { + return false; + } + if (!$this->sendCommand("Username", base64_encode($username), 334)) { + return false; + } + if (!$this->sendCommand("Password", base64_encode($password), 235)) { + return false; + } + break; + case 'XOAUTH2': + //If the OAuth Instance is not set. Can be a case when PHPMailer is used + //instead of PHPMailerOAuth + if (is_null($OAuth)) { + return false; + } + $oauth = $OAuth->getOauth64(); + + // Start authentication + if (!$this->sendCommand('AUTH', 'AUTH XOAUTH2 ' . $oauth, 235)) { + return false; + } + break; + case 'NTLM': + /* + * ntlm_sasl_client.php + * Bundled with Permission + * + * How to telnet in windows: + * http://technet.microsoft.com/en-us/library/aa995718%28EXCHG.65%29.aspx + * PROTOCOL Docs http://curl.haxx.se/rfc/ntlm.html#ntlmSmtpAuthentication + */ + require_once 'extras/ntlm_sasl_client.php'; + $temp = new stdClass; + $ntlm_client = new ntlm_sasl_client_class; + //Check that functions are available + if (!$ntlm_client->Initialize($temp)) { + $this->setError($temp->error); + $this->edebug( + 'You need to enable some modules in your php.ini file: ' + . $this->error['error'], + self::DEBUG_CLIENT + ); + return false; + } + //msg1 + $msg1 = $ntlm_client->TypeMsg1($realm, $workstation); //msg1 + + if (!$this->sendCommand( + 'AUTH NTLM', + 'AUTH NTLM ' . base64_encode($msg1), + 334 + ) + ) { + return false; + } + //Though 0 based, there is a white space after the 3 digit number + //msg2 + $challenge = substr($this->last_reply, 3); + $challenge = base64_decode($challenge); + $ntlm_res = $ntlm_client->NTLMResponse( + substr($challenge, 24, 8), + $password + ); + //msg3 + $msg3 = $ntlm_client->TypeMsg3( + $ntlm_res, + $username, + $realm, + $workstation + ); + // send encoded username + return $this->sendCommand('Username', base64_encode($msg3), 235); + case 'CRAM-MD5': + // Start authentication + if (!$this->sendCommand('AUTH CRAM-MD5', 'AUTH CRAM-MD5', 334)) { + return false; + } + // Get the challenge + $challenge = base64_decode(substr($this->last_reply, 4)); + + // Build the response + $response = $username . ' ' . $this->hmac($challenge, $password); + + // send encoded credentials + return $this->sendCommand('Username', base64_encode($response), 235); + default: + $this->setError("Authentication method \"$authtype\" is not supported"); + return false; + } + return true; + } + + /** + * Calculate an MD5 HMAC hash. + * Works like hash_hmac('md5', $data, $key) + * in case that function is not available + * @param string $data The data to hash + * @param string $key The key to hash with + * @access protected + * @return string + */ + protected function hmac($data, $key) + { + if (function_exists('hash_hmac')) { + return hash_hmac('md5', $data, $key); + } + + // The following borrowed from + // http://php.net/manual/en/function.mhash.php#27225 + + // RFC 2104 HMAC implementation for php. + // Creates an md5 HMAC. + // Eliminates the need to install mhash to compute a HMAC + // by Lance Rushing + + $bytelen = 64; // byte length for md5 + if (strlen($key) > $bytelen) { + $key = pack('H*', md5($key)); + } + $key = str_pad($key, $bytelen, chr(0x00)); + $ipad = str_pad('', $bytelen, chr(0x36)); + $opad = str_pad('', $bytelen, chr(0x5c)); + $k_ipad = $key ^ $ipad; + $k_opad = $key ^ $opad; + + return md5($k_opad . pack('H*', md5($k_ipad . $data))); + } + + /** + * Check connection state. + * @access public + * @return boolean True if connected. + */ + public function connected() + { + if (is_resource($this->smtp_conn)) { + $sock_status = stream_get_meta_data($this->smtp_conn); + if ($sock_status['eof']) { + // The socket is valid but we are not connected + $this->edebug( + 'SMTP NOTICE: EOF caught while checking if connected', + self::DEBUG_CLIENT + ); + $this->close(); + return false; + } + return true; // everything looks good + } + return false; + } + + /** + * Close the socket and clean up the state of the class. + * Don't use this function without first trying to use QUIT. + * @see quit() + * @access public + * @return void + */ + public function close() + { + $this->setError(''); + $this->server_caps = null; + $this->helo_rply = null; + if (is_resource($this->smtp_conn)) { + // close the connection and cleanup + fclose($this->smtp_conn); + $this->smtp_conn = null; //Makes for cleaner serialization + $this->edebug('Connection: closed', self::DEBUG_CONNECTION); + } + } + + /** + * Send an SMTP DATA command. + * Issues a data command and sends the msg_data to the server, + * finializing the mail transaction. $msg_data is the message + * that is to be send with the headers. Each header needs to be + * on a single line followed by a with the message headers + * and the message body being separated by and additional . + * Implements rfc 821: DATA + * @param string $msg_data Message data to send + * @access public + * @return boolean + */ + public function data($msg_data) + { + //This will use the standard timelimit + if (!$this->sendCommand('DATA', 'DATA', 354)) { + return false; + } + + /* The server is ready to accept data! + * According to rfc821 we should not send more than 1000 characters on a single line (including the CRLF) + * so we will break the data up into lines by \r and/or \n then if needed we will break each of those into + * smaller lines to fit within the limit. + * We will also look for lines that start with a '.' and prepend an additional '.'. + * NOTE: this does not count towards line-length limit. + */ + + // Normalize line breaks before exploding + $lines = explode("\n", str_replace(array("\r\n", "\r"), "\n", $msg_data)); + + /* To distinguish between a complete RFC822 message and a plain message body, we check if the first field + * of the first line (':' separated) does not contain a space then it _should_ be a header and we will + * process all lines before a blank line as headers. + */ + + $field = substr($lines[0], 0, strpos($lines[0], ':')); + $in_headers = false; + if (!empty($field) && strpos($field, ' ') === false) { + $in_headers = true; + } + + foreach ($lines as $line) { + $lines_out = array(); + if ($in_headers and $line == '') { + $in_headers = false; + } + //Break this line up into several smaller lines if it's too long + //Micro-optimisation: isset($str[$len]) is faster than (strlen($str) > $len), + while (isset($line[self::MAX_LINE_LENGTH])) { + //Working backwards, try to find a space within the last MAX_LINE_LENGTH chars of the line to break on + //so as to avoid breaking in the middle of a word + $pos = strrpos(substr($line, 0, self::MAX_LINE_LENGTH), ' '); + //Deliberately matches both false and 0 + if (!$pos) { + //No nice break found, add a hard break + $pos = self::MAX_LINE_LENGTH - 1; + $lines_out[] = substr($line, 0, $pos); + $line = substr($line, $pos); + } else { + //Break at the found point + $lines_out[] = substr($line, 0, $pos); + //Move along by the amount we dealt with + $line = substr($line, $pos + 1); + } + //If processing headers add a LWSP-char to the front of new line RFC822 section 3.1.1 + if ($in_headers) { + $line = "\t" . $line; + } + } + $lines_out[] = $line; + + //Send the lines to the server + foreach ($lines_out as $line_out) { + //RFC2821 section 4.5.2 + if (!empty($line_out) and $line_out[0] == '.') { + $line_out = '.' . $line_out; + } + $this->client_send($line_out . self::CRLF); + } + } + + //Message data has been sent, complete the command + //Increase timelimit for end of DATA command + $savetimelimit = $this->Timelimit; + $this->Timelimit = $this->Timelimit * 2; + $result = $this->sendCommand('DATA END', '.', 250); + //Restore timelimit + $this->Timelimit = $savetimelimit; + return $result; + } + + /** + * Send an SMTP HELO or EHLO command. + * Used to identify the sending server to the receiving server. + * This makes sure that client and server are in a known state. + * Implements RFC 821: HELO + * and RFC 2821 EHLO. + * @param string $host The host name or IP to connect to + * @access public + * @return boolean + */ + public function hello($host = '') + { + //Try extended hello first (RFC 2821) + return (boolean)($this->sendHello('EHLO', $host) or $this->sendHello('HELO', $host)); + } + + /** + * Send an SMTP HELO or EHLO command. + * Low-level implementation used by hello() + * @see hello() + * @param string $hello The HELO string + * @param string $host The hostname to say we are + * @access protected + * @return boolean + */ + protected function sendHello($hello, $host) + { + $noerror = $this->sendCommand($hello, $hello . ' ' . $host, 250); + $this->helo_rply = $this->last_reply; + if ($noerror) { + $this->parseHelloFields($hello); + } else { + $this->server_caps = null; + } + return $noerror; + } + + /** + * Parse a reply to HELO/EHLO command to discover server extensions. + * In case of HELO, the only parameter that can be discovered is a server name. + * @access protected + * @param string $type - 'HELO' or 'EHLO' + */ + protected function parseHelloFields($type) + { + $this->server_caps = array(); + $lines = explode("\n", $this->helo_rply); + + foreach ($lines as $n => $s) { + //First 4 chars contain response code followed by - or space + $s = trim(substr($s, 4)); + if (empty($s)) { + continue; + } + $fields = explode(' ', $s); + if (!empty($fields)) { + if (!$n) { + $name = $type; + $fields = $fields[0]; + } else { + $name = array_shift($fields); + switch ($name) { + case 'SIZE': + $fields = ($fields ? $fields[0] : 0); + break; + case 'AUTH': + if (!is_array($fields)) { + $fields = array(); + } + break; + default: + $fields = true; + } + } + $this->server_caps[$name] = $fields; + } + } + } + + /** + * Send an SMTP MAIL command. + * Starts a mail transaction from the email address specified in + * $from. Returns true if successful or false otherwise. If True + * the mail transaction is started and then one or more recipient + * commands may be called followed by a data command. + * Implements rfc 821: MAIL FROM: + * @param string $from Source address of this message + * @access public + * @return boolean + */ + public function mail($from) + { + $useVerp = ($this->do_verp ? ' XVERP' : ''); + return $this->sendCommand( + 'MAIL FROM', + 'MAIL FROM:<' . $from . '>' . $useVerp, + 250 + ); + } + + /** + * Send an SMTP QUIT command. + * Closes the socket if there is no error or the $close_on_error argument is true. + * Implements from rfc 821: QUIT + * @param boolean $close_on_error Should the connection close if an error occurs? + * @access public + * @return boolean + */ + public function quit($close_on_error = true) + { + $noerror = $this->sendCommand('QUIT', 'QUIT', 221); + $err = $this->error; //Save any error + if ($noerror or $close_on_error) { + $this->close(); + $this->error = $err; //Restore any error from the quit command + } + return $noerror; + } + + /** + * Send an SMTP RCPT command. + * Sets the TO argument to $toaddr. + * Returns true if the recipient was accepted false if it was rejected. + * Implements from rfc 821: RCPT TO: + * @param string $address The address the message is being sent to + * @access public + * @return boolean + */ + public function recipient($address) + { + return $this->sendCommand( + 'RCPT TO', + 'RCPT TO:<' . $address . '>', + array(250, 251) + ); + } + + /** + * Send an SMTP RSET command. + * Abort any transaction that is currently in progress. + * Implements rfc 821: RSET + * @access public + * @return boolean True on success. + */ + public function reset() + { + return $this->sendCommand('RSET', 'RSET', 250); + } + + /** + * Send a command to an SMTP server and check its return code. + * @param string $command The command name - not sent to the server + * @param string $commandstring The actual command to send + * @param integer|array $expect One or more expected integer success codes + * @access protected + * @return boolean True on success. + */ + protected function sendCommand($command, $commandstring, $expect) + { + if (!$this->connected()) { + $this->setError("Called $command without being connected"); + return false; + } + //Reject line breaks in all commands + if (strpos($commandstring, "\n") !== false or strpos($commandstring, "\r") !== false) { + $this->setError("Command '$command' contained line breaks"); + return false; + } + $this->client_send($commandstring . self::CRLF); + + $this->last_reply = $this->get_lines(); + // Fetch SMTP code and possible error code explanation + $matches = array(); + if (preg_match("/^([0-9]{3})[ -](?:([0-9]\\.[0-9]\\.[0-9]) )?/", $this->last_reply, $matches)) { + $code = $matches[1]; + $code_ex = (count($matches) > 2 ? $matches[2] : null); + // Cut off error code from each response line + $detail = preg_replace( + "/{$code}[ -]".($code_ex ? str_replace('.', '\\.', $code_ex).' ' : '')."/m", + '', + $this->last_reply + ); + } else { + // Fall back to simple parsing if regex fails + $code = substr($this->last_reply, 0, 3); + $code_ex = null; + $detail = substr($this->last_reply, 4); + } + + $this->edebug('SERVER -> CLIENT: ' . $this->last_reply, self::DEBUG_SERVER); + + if (!in_array($code, (array)$expect)) { + $this->setError( + "$command command failed", + $detail, + $code, + $code_ex + ); + $this->edebug( + 'SMTP ERROR: ' . $this->error['error'] . ': ' . $this->last_reply, + self::DEBUG_CLIENT + ); + return false; + } + + $this->setError(''); + return true; + } + + /** + * Send an SMTP SAML command. + * Starts a mail transaction from the email address specified in $from. + * Returns true if successful or false otherwise. If True + * the mail transaction is started and then one or more recipient + * commands may be called followed by a data command. This command + * will send the message to the users terminal if they are logged + * in and send them an email. + * Implements rfc 821: SAML FROM: + * @param string $from The address the message is from + * @access public + * @return boolean + */ + public function sendAndMail($from) + { + return $this->sendCommand('SAML', "SAML FROM:$from", 250); + } + + /** + * Send an SMTP VRFY command. + * @param string $name The name to verify + * @access public + * @return boolean + */ + public function verify($name) + { + return $this->sendCommand('VRFY', "VRFY $name", array(250, 251)); + } + + /** + * Send an SMTP NOOP command. + * Used to keep keep-alives alive, doesn't actually do anything + * @access public + * @return boolean + */ + public function noop() + { + return $this->sendCommand('NOOP', 'NOOP', 250); + } + + /** + * Send an SMTP TURN command. + * This is an optional command for SMTP that this class does not support. + * This method is here to make the RFC821 Definition complete for this class + * and _may_ be implemented in future + * Implements from rfc 821: TURN + * @access public + * @return boolean + */ + public function turn() + { + $this->setError('The SMTP TURN command is not implemented'); + $this->edebug('SMTP NOTICE: ' . $this->error['error'], self::DEBUG_CLIENT); + return false; + } + + /** + * Send raw data to the server. + * @param string $data The data to send + * @access public + * @return integer|boolean The number of bytes sent to the server or false on error + */ + public function client_send($data) + { + $this->edebug("CLIENT -> SERVER: $data", self::DEBUG_CLIENT); + return fwrite($this->smtp_conn, $data); + } + + /** + * Get the latest error. + * @access public + * @return array + */ + public function getError() + { + return $this->error; + } + + /** + * Get SMTP extensions available on the server + * @access public + * @return array|null + */ + public function getServerExtList() + { + return $this->server_caps; + } + + /** + * A multipurpose method + * The method works in three ways, dependent on argument value and current state + * 1. HELO/EHLO was not sent - returns null and set up $this->error + * 2. HELO was sent + * $name = 'HELO': returns server name + * $name = 'EHLO': returns boolean false + * $name = any string: returns null and set up $this->error + * 3. EHLO was sent + * $name = 'HELO'|'EHLO': returns server name + * $name = any string: if extension $name exists, returns boolean True + * or its options. Otherwise returns boolean False + * In other words, one can use this method to detect 3 conditions: + * - null returned: handshake was not or we don't know about ext (refer to $this->error) + * - false returned: the requested feature exactly not exists + * - positive value returned: the requested feature exists + * @param string $name Name of SMTP extension or 'HELO'|'EHLO' + * @return mixed + */ + public function getServerExt($name) + { + if (!$this->server_caps) { + $this->setError('No HELO/EHLO was sent'); + return null; + } + + // the tight logic knot ;) + if (!array_key_exists($name, $this->server_caps)) { + if ($name == 'HELO') { + return $this->server_caps['EHLO']; + } + if ($name == 'EHLO' || array_key_exists('EHLO', $this->server_caps)) { + return false; + } + $this->setError('HELO handshake was used. Client knows nothing about server extensions'); + return null; + } + + return $this->server_caps[$name]; + } + + /** + * Get the last reply from the server. + * @access public + * @return string + */ + public function getLastReply() + { + return $this->last_reply; + } + + /** + * Read the SMTP server's response. + * Either before eof or socket timeout occurs on the operation. + * With SMTP we can tell if we have more lines to read if the + * 4th character is '-' symbol. If it is a space then we don't + * need to read anything else. + * @access protected + * @return string + */ + protected function get_lines() + { + // If the connection is bad, give up straight away + if (!is_resource($this->smtp_conn)) { + return ''; + } + $data = ''; + $endtime = 0; + stream_set_timeout($this->smtp_conn, $this->Timeout); + if ($this->Timelimit > 0) { + $endtime = time() + $this->Timelimit; + } + while (is_resource($this->smtp_conn) && !feof($this->smtp_conn)) { + $str = @fgets($this->smtp_conn, 515); + $this->edebug("SMTP -> get_lines(): \$data is \"$data\"", self::DEBUG_LOWLEVEL); + $this->edebug("SMTP -> get_lines(): \$str is \"$str\"", self::DEBUG_LOWLEVEL); + $data .= $str; + // If 4th character is a space, we are done reading, break the loop, micro-optimisation over strlen + if ((isset($str[3]) and $str[3] == ' ')) { + break; + } + // Timed-out? Log and break + $info = stream_get_meta_data($this->smtp_conn); + if ($info['timed_out']) { + $this->edebug( + 'SMTP -> get_lines(): timed-out (' . $this->Timeout . ' sec)', + self::DEBUG_LOWLEVEL + ); + break; + } + // Now check if reads took too long + if ($endtime and time() > $endtime) { + $this->edebug( + 'SMTP -> get_lines(): timelimit reached ('. + $this->Timelimit . ' sec)', + self::DEBUG_LOWLEVEL + ); + break; + } + } + return $data; + } + + /** + * Enable or disable VERP address generation. + * @param boolean $enabled + */ + public function setVerp($enabled = false) + { + $this->do_verp = $enabled; + } + + /** + * Get VERP address generation mode. + * @return boolean + */ + public function getVerp() + { + return $this->do_verp; + } + + /** + * Set error messages and codes. + * @param string $message The error message + * @param string $detail Further detail on the error + * @param string $smtp_code An associated SMTP error code + * @param string $smtp_code_ex Extended SMTP code + */ + protected function setError($message, $detail = '', $smtp_code = '', $smtp_code_ex = '') + { + $this->error = array( + 'error' => $message, + 'detail' => $detail, + 'smtp_code' => $smtp_code, + 'smtp_code_ex' => $smtp_code_ex + ); + } + + /** + * Set debug output method. + * @param string|callable $method The name of the mechanism to use for debugging output, or a callable to handle it. + */ + public function setDebugOutput($method = 'echo') + { + $this->Debugoutput = $method; + } + + /** + * Get debug output method. + * @return string + */ + public function getDebugOutput() + { + return $this->Debugoutput; + } + + /** + * Set debug output level. + * @param integer $level + */ + public function setDebugLevel($level = 0) + { + $this->do_debug = $level; + } + + /** + * Get debug output level. + * @return integer + */ + public function getDebugLevel() + { + return $this->do_debug; + } + + /** + * Set SMTP timeout. + * @param integer $timeout + */ + public function setTimeout($timeout = 0) + { + $this->Timeout = $timeout; + } + + /** + * Get SMTP timeout. + * @return integer + */ + public function getTimeout() + { + return $this->Timeout; + } +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/.ftp-deploy-sync-state.json b/wp-content/themes/ostal_WP/.ftp-deploy-sync-state.json new file mode 100644 index 0000000..3362ae4 --- /dev/null +++ b/wp-content/themes/ostal_WP/.ftp-deploy-sync-state.json @@ -0,0 +1,993 @@ +{ + "description": "DO NOT DELETE THIS FILE. This file is used to keep track of which files have been synced in the most recent deployment. If you delete this file a resync will need to be done (which can take a while) - read more: https://github.com/SamKirkland/FTP-Deploy-Action", + "version": "1.0.0", + "generatedTime": 1700653837748, + "data": [ + { + "type": "file", + "name": "README.md", + "size": 92, + "hash": "15a358f7c875eb44de14b6f3ff4f12b9e9a876ce446e6db52ced4cc206739556" + }, + { + "type": "folder", + "name": "acf-json" + }, + { + "type": "file", + "name": "archive-realizacje.php", + "size": 1676, + "hash": "72f6236eac9ffdbb599f065b1789e7936ed5f71ac6b2209ce357c7d6743c8fdd" + }, + { + "type": "folder", + "name": "fonts" + }, + { + "type": "file", + "name": "footer.php", + "size": 2974, + "hash": "ff3518312b74ea43a4fbff85b6d136e9b64d4769747eed2f0e1774af371f8e91" + }, + { + "type": "file", + "name": "functions.php", + "size": 7432, + "hash": "ef6c9280d5e214d00297ab6dc508983e04db4ea85c3c7fc648dcf1d5ddc460b5" + }, + { + "type": "file", + "name": "header.php", + "size": 5452, + "hash": "373d330718e72bf970298a07a889b335ce84e811774a401ce0ddf0e66036b979" + }, + { + "type": "folder", + "name": "images" + }, + { + "type": "file", + "name": "index.php", + "size": 85, + "hash": "8b8b7e33b93ec4907a9c2ab9534002bb34bfa2b52fbfc0f204596d555e7ecfbe" + }, + { + "type": "folder", + "name": "js" + }, + { + "type": "folder", + "name": "ostal-front" + }, + { + "type": "file", + "name": "package-lock.json", + "size": 127872, + "hash": "eae82a3ed052649a3a24b49d7cd9864683a0a69655ee3215e066e2d56cc8084a" + }, + { + "type": "file", + "name": "package.json", + "size": 1099, + "hash": "9f33e99d2db10b4cf4f2f42caffe1cdf330ffe6f2eddc1c05389c9151434980e" + }, + { + "type": "file", + "name": "page-2101.php", + "size": 20042, + "hash": "d70fccfdadbab5b9bf42a69343242d88ab070bf0f3742f323dfaf7759da9364f" + }, + { + "type": "file", + "name": "page-2161.php", + "size": 641, + "hash": "e34e05927ba5a9b3d09c5130af96eadbdf53962b5b319e0bfd106abfa2afc723" + }, + { + "type": "folder", + "name": "page-templates" + }, + { + "type": "file", + "name": "page.php", + "size": 1004, + "hash": "51f71842cd98a29c1b9871de45e0ada8ceaaf6352f4a91fd1ce3a2dbb721f263" + }, + { + "type": "folder", + "name": "partials" + }, + { + "type": "file", + "name": "postcss.config.js", + "size": 85, + "hash": "1629ddf3a294fb05440f67443142b8aa4a9d36c8cea78b813f8e21caf465cbc0" + }, + { + "type": "folder", + "name": "sass" + }, + { + "type": "file", + "name": "screenshot.png", + "size": 6360, + "hash": "97fd96f343f5dffea01b8a1515a15afa378f851ff8166847b617b6673786c3a9" + }, + { + "type": "file", + "name": "sections.php", + "size": 1721, + "hash": "13fde8d864ee046e1c5e1917706dc1ec0543ed6772a246912505909b42a6e03b" + }, + { + "type": "file", + "name": "sidebar.php", + "size": 538, + "hash": "32464a982eb4497ffe41e9a4ad0d525a30521d9d993e102a15d8f90cbeda9fd5" + }, + { + "type": "file", + "name": "single-realizacje.php", + "size": 3059, + "hash": "727325601ec04c3638f14594be19cee897e193644a4315a0788977ff0d54f247" + }, + { + "type": "file", + "name": "single.php", + "size": 1327, + "hash": "e352e2001919cf16c088b83ed8c0af0b970079add9a5be77bc1650b37494a982" + }, + { + "type": "file", + "name": "style.css", + "size": 41562, + "hash": "b1fda9890fab6f69ba5e137ad99af0f6f86a5dc02300e1e237934e64fd1ed5d5" + }, + { + "type": "file", + "name": "style.css.map", + "size": 10458, + "hash": "21a4d73731d242f976e669d75c3626c480d1f6fe0cecd2afb256a1d480cf48ac" + }, + { + "type": "folder", + "name": "styles" + }, + { + "type": "folder", + "name": "template-parts" + }, + { + "type": "file", + "name": "tailwind.config.js", + "size": 127, + "hash": "132a5d1df49fe6e29cb7955ca6ee828c98a06d0f752d5ae64119aae2ed3f1183" + }, + { + "type": "file", + "name": "acf-json/group_60b34b88a53ae.json", + "size": 5085, + "hash": "ce594f6d5e409b673e9b5f8848d1b609d04afd76321dbf9c2a0b59fb23cbfd8c" + }, + { + "type": "file", + "name": "acf-json/group_60b37eb040953.json", + "size": 6361, + "hash": "ed6c27f3766907b3be8016f32a60fa6bd36e6e3d7a3691b200e9816d89f7bc68" + }, + { + "type": "file", + "name": "acf-json/group_60b38f95d8d80.json", + "size": 10408, + "hash": "b398b0bf68f79218ab396f59bf2522f1e02cbbbdf6f1892b67864b02f9a8a72b" + }, + { + "type": "file", + "name": "acf-json/group_6255547350b60.json", + "size": 1061, + "hash": "07e7c0b7d5ad8d564df4fc7cc1cf9d53ab6df35b287968837932050ce96088a1" + }, + { + "type": "file", + "name": "acf-json/group_6494221367141.json", + "size": 132069, + "hash": "71f1eedabfcf0339fba35c305e0c1f429c472a797cc6183ee2775b012251d460" + }, + { + "type": "file", + "name": "fonts/SpaceGrotesk-Light.woff2", + "size": 30996, + "hash": "fe331dd09ac6aff8bf56a6d829863ed59059f8682d81c1164b9455f799497863" + }, + { + "type": "file", + "name": "fonts/SpaceGrotesk-Bold.woff2", + "size": 30872, + "hash": "cd39582e3480492d971a6c109864dc52880c381236d12fa387d8f6aba13b9e76" + }, + { + "type": "file", + "name": "fonts/SpaceGrotesk-Regular.woff2", + "size": 32116, + "hash": "fe95c67db2034f73ca16c8e02f72cc1236d18ef5eba8906e24befe78cc3fa195" + }, + { + "type": "file", + "name": "fonts/fonts.css", + "size": 450, + "hash": "e314ccf4f12afe0beeb801b4bfbb8389c12f4749c681362b60972af9a375820d" + }, + { + "type": "file", + "name": "images/arrow-right.png", + "size": 373, + "hash": "fcd3c52425bfae94b07ac8cd0b39d6fa3c543b130a0d6ad0e1d0507f35b54289" + }, + { + "type": "file", + "name": "js/main.js", + "size": 1485, + "hash": "f5e29addf74e69b1147614731f4bf23bfc1e3d28b2d1db26c08625c35482b3b8" + }, + { + "type": "file", + "name": "ostal-front/carporty.html", + "size": 9269, + "hash": "5aefce60369b7fd785af26905a9bf473727058106d9c9bfcc7f15d85185b94d5" + }, + { + "type": "file", + "name": "ostal-front/favicon.svg", + "size": 1524, + "hash": "17e50649ce0babbf448e8a728d4475192b60b4d096a7d9414df727128435519e" + }, + { + "type": "file", + "name": "ostal-front/index.html", + "size": 12235, + "hash": "874356d59395cfe0923015f9769adb97615fe556c3357a8a47a802b322b0a787" + }, + { + "type": "file", + "name": "ostal-front/kontakt.html", + "size": 5963, + "hash": "641bfa56873e7044d673af515d53eecd9f5878840230cdf919b3d46938955eb9" + }, + { + "type": "file", + "name": "ostal-front/lightbox.html", + "size": 1377, + "hash": "78894c611a91eeec22fe7feb874f675d4374adb6ac14c1d6e9000c9511bb4f3f" + }, + { + "type": "file", + "name": "ostal-front/main.js", + "size": 200, + "hash": "b3eb7b3505419d8d7d13a3cbd88971d0e91362c75d84fafee53bd4f15f5648a5" + }, + { + "type": "file", + "name": "ostal-front/nasze-realizacje.html", + "size": 9788, + "hash": "e68458f475687a70b406d3674ef400945e2654ca2a974d425e6ce228eee7d3e3" + }, + { + "type": "file", + "name": "ostal-front/ogrody-zimowe.html", + "size": 17187, + "hash": "5a836dc2a77dcc71815a4e3e77726ccb7ea9445985cc66f2766af58efce876ba" + }, + { + "type": "file", + "name": "ostal-front/onas.html", + "size": 7908, + "hash": "19682a81821e41a1bd4bdfabdbe25f970f0d22a19d7c6695c9c1f43a34f901d1" + }, + { + "type": "file", + "name": "ostal-front/package-lock.json", + "size": 69188, + "hash": "e50084d198146715fd00ed9cd532a68fbf1f92eb0c359119b4304cecf7c64c1c" + }, + { + "type": "file", + "name": "ostal-front/polityka-prywatnosci.html", + "size": 27749, + "hash": "212ebe264a9f1481042e96e1ff3f1632054c147d628578a2aa7cc3fad9e7541a" + }, + { + "type": "file", + "name": "ostal-front/package.json", + "size": 353, + "hash": "edcddcaad6f1ba5c0f36c55dd719a64a244d64c5b176aeef634d46f0afad335d" + }, + { + "type": "file", + "name": "ostal-front/poradniki.html", + "size": 8632, + "hash": "cd4c84ec8bb94d0b2fdae8380829f3f554e651ab041ad552be789efd00b2f257" + }, + { + "type": "file", + "name": "ostal-front/postcss.config.js", + "size": 82, + "hash": "251ecddd4672c9cf467547e3dc535de00ad2129df26e7e7ae728fa4e5ac45fc5" + }, + { + "type": "folder", + "name": "ostal-front/public" + }, + { + "type": "folder", + "name": "ostal-front/src" + }, + { + "type": "file", + "name": "ostal-front/realizacja.html", + "size": 6723, + "hash": "726d7c03e3f05bf0074a728eef64103031f60d352dd4165ff5c074588da2e7bd" + }, + { + "type": "file", + "name": "ostal-front/tailwind.config.js", + "size": 1948, + "hash": "b2c3904fa0ab3e19b1920892ee73f2ed266fdfaef903dfe2bebde389f137201f" + }, + { + "type": "file", + "name": "ostal-front/vite.config.js", + "size": 879, + "hash": "c040ea2505ded9e594517b63d837eceeb08ac131ed06cab515cd590a2ee17762" + }, + { + "type": "file", + "name": "ostal-front/vue-slider.js", + "size": 815, + "hash": "d0974cec9c21169fb6f2c3fede4cd24a8c45adb0fd1a297ee3cea0a70601a504" + }, + { + "type": "file", + "name": "ostal-front/yarn.lock", + "size": 38499, + "hash": "aa4aa4a19d3a5121ff3488cfe083f6674f063d8462b11afdaf0a4570776b2399" + }, + { + "type": "file", + "name": "page-templates/template-about.php", + "size": 4790, + "hash": "cacc3c36ab31432e6c3b9a3e6aba6e10a9be6d0763afa6dbd90a4fc64efa37b3" + }, + { + "type": "file", + "name": "page-templates/template-carporty.php", + "size": 2988, + "hash": "fbb40f2cb175497f27a9ef4213f09dfb463cb50f3740d68fd4fee07938d58789" + }, + { + "type": "file", + "name": "page-templates/template-contact.php", + "size": 3443, + "hash": "935feb23079bda1da70d48269f9bf4cbe030353a762a63aa1382b542def29667" + }, + { + "type": "file", + "name": "page-templates/template-gardens.php", + "size": 2568, + "hash": "35043e3c5e0a4162f93cd8e3de5aa97864ff4fb85e2dae80738b2e26c753b940" + }, + { + "type": "file", + "name": "page-templates/template-poradniki.php", + "size": 5371, + "hash": "a6f8aa52a35038be811e2f94ef6879de587c19d611cda5bdb3dc12638db327d5" + }, + { + "type": "file", + "name": "page-templates/template-home.php", + "size": 2153, + "hash": "20f8f22150dfda91d6214ec695da82e01a932db8e5d0a511bfe7622f20ba9aa4" + }, + { + "type": "file", + "name": "partials/cta.php", + "size": 418, + "hash": "176ca575da95d463d2d9a47d18c7c4bceaa908b903c590c5d748d3c957b8eae9" + }, + { + "type": "folder", + "name": "sass/01-base" + }, + { + "type": "folder", + "name": "sass/02-abstracts" + }, + { + "type": "folder", + "name": "sass/03-vendors" + }, + { + "type": "folder", + "name": "sass/04-layout" + }, + { + "type": "folder", + "name": "sass/06-pages" + }, + { + "type": "folder", + "name": "sass/05-components" + }, + { + "type": "folder", + "name": "sass/07-themes" + }, + { + "type": "file", + "name": "sass/_shame.scss", + "size": 0, + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "type": "file", + "name": "sass/main.scss", + "size": 178, + "hash": "8039ddd2ca1db9743a78449a53398a2f77a3b50084984c2837fbb857e6f6a4fb" + }, + { + "type": "file", + "name": "styles/boots-bones.css", + "size": 18615, + "hash": "4c206ec53ef5b67043810531a0ec371c3b8e41e4898b5fd60bf4e9f07346406e" + }, + { + "type": "file", + "name": "styles/input.css", + "size": 59, + "hash": "cc1a7ad0d019ddb1d32d0ecb588ba0ac26ce41d8625dd6c366348b25f83a28ec" + }, + { + "type": "folder", + "name": "template-parts/sections" + }, + { + "type": "folder", + "name": "ostal-front/public/assets" + }, + { + "type": "folder", + "name": "ostal-front/src/scss" + }, + { + "type": "file", + "name": "sass/01-base/_animations.scss", + "size": 0, + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "type": "file", + "name": "sass/01-base/_breakpoints.scss", + "size": 441, + "hash": "e46912813befa0c1ce04a3575e09321ca1b9dc068d9ef2971f2955b1c0c3c834" + }, + { + "type": "file", + "name": "sass/01-base/_colors.scss", + "size": 108, + "hash": "29f53f53d9f49c91d26bef58b965ad8afae000bcb3fc91f8e3c860aefcaa0b3d" + }, + { + "type": "file", + "name": "sass/01-base/_global.scss", + "size": 630, + "hash": "f58eeeb80c294a7442ece63a7654f83ea8b06bc3af4163ad5ed963d599ce98cd" + }, + { + "type": "file", + "name": "sass/01-base/_reset.scss", + "size": 7786, + "hash": "5e7f0bb2e9370f0f80bf5535ecf8e6aee8cfa5ab44d0448200307ccc104bf0bd" + }, + { + "type": "file", + "name": "sass/01-base/_index.scss", + "size": 128, + "hash": "310ef63591c002277fdd0e575fe330230ac3f45db97cd501b9e3c8459e89478c" + }, + { + "type": "file", + "name": "sass/01-base/_typography.scss", + "size": 1647, + "hash": "7defeecdda8d33c58014e3acfab4ee4c86dcf9a65bfa01ce257badaf188c0ff7" + }, + { + "type": "file", + "name": "sass/02-abstracts/_helpers.scss", + "size": 1127, + "hash": "1f84ef3fd7c4ead67ef62374afafa7a0d34b2ab9e091b80aa3230852fedbce37" + }, + { + "type": "file", + "name": "sass/02-abstracts/_mixins.scss", + "size": 468, + "hash": "b19374ff24bff4d842996c477e2c53533a46e124a7cdd59c7678937b85de6c98" + }, + { + "type": "file", + "name": "sass/02-abstracts/_index.scss", + "size": 62, + "hash": "d8acec4f5aef478d7d3d3b7f414700a330a38a87dd1328fc6412b68191ce1622" + }, + { + "type": "file", + "name": "sass/02-abstracts/_variables.scss", + "size": 0, + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "type": "file", + "name": "sass/03-vendors/_index.scss", + "size": 21, + "hash": "0e496e44ff9cfe9bef98cf21dd80df16ea24a27f94182949b2632d20ec38ed8e" + }, + { + "type": "file", + "name": "sass/03-vendors/_lightbox.scss", + "size": 1010, + "hash": "6955fcdd10521e80863449e84db78e1009494938637359cd8ce7845e95bdfa0a" + }, + { + "type": "file", + "name": "sass/04-layout/_forms.scss", + "size": 0, + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "type": "file", + "name": "sass/04-layout/_footer.scss", + "size": 1894, + "hash": "361161ac27938b366f4744f85a47d8995f46743f8f132ec40a9789a4622e42d5" + }, + { + "type": "file", + "name": "sass/04-layout/_grid.scss", + "size": 0, + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "type": "file", + "name": "sass/04-layout/_header.scss", + "size": 244, + "hash": "a932f837438f69c7ed269275a12efed0ff3ced934ef8a6dd23371fd93ba4a0ed" + }, + { + "type": "file", + "name": "sass/04-layout/_index.scss", + "size": 194, + "hash": "ab948890644b16d36cce17dac7d93d21d4dd0e93739fff1904380cddf5e3a8dc" + }, + { + "type": "file", + "name": "sass/04-layout/_navigation.scss", + "size": 2580, + "hash": "fc3dcefbbafcc157ccea07bf1c2f9b6a68988208a0591bd9a38665b2eefb358c" + }, + { + "type": "file", + "name": "sass/04-layout/_sidebar.scss", + "size": 0, + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "type": "file", + "name": "sass/06-pages/_configurator.scss", + "size": 10893, + "hash": "81a937a94e7a78681ef74d41707db9d89793cacf342044598f46d98d60975cbb" + }, + { + "type": "file", + "name": "sass/06-pages/_contact.scss", + "size": 358, + "hash": "a6d7d68a4e2637b4925607afb401f0fd0ff10b4e99534f9f5e8d79c6c39fe988" + }, + { + "type": "file", + "name": "sass/06-pages/_home.scss", + "size": 0, + "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "type": "file", + "name": "sass/06-pages/_index.scss", + "size": 100, + "hash": "a2fd3c42dc358f5cf46000e8825a1bd188d68751b23394075a010cc60b44a90a" + }, + { + "type": "file", + "name": "sass/05-components/_box.scss", + "size": 270, + "hash": "89cb8ec71417b1c65aa23c7f9f9ca43069ff6ea1129a356d6a0fde3ec4a7174c" + }, + { + "type": "file", + "name": "sass/05-components/_boxes-repeater.scss", + "size": 4958, + "hash": "0779d164d913e3cf05587006bbabc6e9cb2c7152e218de738c77bd701eddc36f" + }, + { + "type": "file", + "name": "sass/05-components/_buttons.scss", + "size": 1912, + "hash": "629fd86f3b234a8d6c3bd796022d517a5e4cb549695226bf664b72ac9782df16" + }, + { + "type": "file", + "name": "sass/05-components/_forms.scss", + "size": 2951, + "hash": "0142a0c83f9e8bab317b875edc53b9d671e50f8ed13aea0fcd72c582210cd2e0" + }, + { + "type": "file", + "name": "sass/05-components/_hero-slider.scss", + "size": 3345, + "hash": "ee51be7c3847d7679b2a65dc1a6e3b3d6b5efe1537ef1d90bd9d30d1a225d6c6" + }, + { + "type": "file", + "name": "sass/05-components/_hero-with-form.scss", + "size": 2140, + "hash": "e193fa08b3aca00e7e43576662490d76a29725eb4f91cc2af0ad72325243d9cb" + }, + { + "type": "file", + "name": "sass/05-components/_index.scss", + "size": 545, + "hash": "8661731d424f2b7ce8070f762f0dfa09b85c8be853394d8c3c8f42210c0320d5" + }, + { + "type": "file", + "name": "sass/05-components/_lists.scss", + "size": 224, + "hash": "5f3ff187e3e38e9e1e2ddc11147557f51a867bfaab4c50c0c0692c7877cea28f" + }, + { + "type": "file", + "name": "sass/05-components/_one_col_cta.scss", + "size": 2105, + "hash": "b6f4836b357ca8a020b040fdac3666ccb2b16ba1aeba4c4d641ba388dbda52cc" + }, + { + "type": "file", + "name": "sass/05-components/_one_col_cta_images.scss", + "size": 3309, + "hash": "f3a3c248e8bb955408e147ce8ceaf51d45b849cc091c0421f966a078c57565f6" + }, + { + "type": "file", + "name": "sass/05-components/_section-gallery.scss", + "size": 3007, + "hash": "27e174fa0a4194692df6c0db27d5412ddc05aa60d6b4cd9ec0ca322b3222656e" + }, + { + "type": "file", + "name": "sass/05-components/_social-media.scss", + "size": 1060, + "hash": "852ff038700fcf0b8e459831d9cd150fb7e3bb13011fe62fd2db7b5da73b8344" + }, + { + "type": "file", + "name": "sass/05-components/_two-col-section-with-bg.scss", + "size": 989, + "hash": "527016311d50375162b3acfb65d21b04e2b55102fc7dd2561b8f061b91b1d4fa" + }, + { + "type": "file", + "name": "sass/05-components/_two-col-section.scss", + "size": 2144, + "hash": "314c73ce2f14f00367982d21c5c9c4f1e7355fff2bbb5fa46bd784d66e32e489" + }, + { + "type": "file", + "name": "sass/07-themes/_index.scss", + "size": 31, + "hash": "1e332c1c19f3afff93e1d33207309a1fdf0107f254be706f2f288ba783c4183e" + }, + { + "type": "file", + "name": "sass/07-themes/_theme.scss", + "size": 349, + "hash": "688fb70e8bb5f7e84f2c06d96925b9df2ad9d5159b1f95e0bd160f3664beed0f" + }, + { + "type": "file", + "name": "template-parts/sections/section-boxes_repeater_img_title_text_cta.php", + "size": 3345, + "hash": "64d0a238b523b2969ad5b4c0d33e3fccbfb361577a45c87d66710cd711da7ea3" + }, + { + "type": "file", + "name": "template-parts/sections/section-faq.php", + "size": 4801, + "hash": "12b9e2666dbb254fcc49dacd1074548dd028bbeb05e0130b699d5be6f54b09d8" + }, + { + "type": "file", + "name": "template-parts/sections/section-gallery.php", + "size": 1419, + "hash": "18b54f6ab25cb94f87a539430f6d075fee2fb4fae8cd6876eecf639a016f7240" + }, + { + "type": "file", + "name": "template-parts/sections/section-hero-slider.php", + "size": 3236, + "hash": "1074b73a7eeb84de2dfa58c0d8eb3321dc32de21abf660ed0ade65a2f7157351" + }, + { + "type": "file", + "name": "template-parts/sections/section-hero-with-form.php", + "size": 871, + "hash": "ba1f68b64214990975ab9d81baa8043f21c024f37b74e9c709d31d32950f5443" + }, + { + "type": "file", + "name": "template-parts/sections/section-hero.php", + "size": 614, + "hash": "a2f0d5a14c7c7da1012ba6e567e9e5f1049f99395a942bec13436d273808496d" + }, + { + "type": "file", + "name": "template-parts/sections/section-one-col-cta-images.php", + "size": 1790, + "hash": "7e64d8a35aadcd7668c5839a36072c0a21d9be990decbe1b8a78b31d6a4bdbb4" + }, + { + "type": "file", + "name": "template-parts/sections/section-one-col-cta.php", + "size": 1165, + "hash": "1130b28e3a20f186aadf7d1b78c6b173ffc5905f8833955203252b2fe90232d1" + }, + { + "type": "file", + "name": "template-parts/sections/section-three-col-repeater.php", + "size": 1618, + "hash": "53f882f374e837e0eeb2f4ec02abdcf438e6d6407d232bae00f353c16e029a79" + }, + { + "type": "file", + "name": "template-parts/sections/section-two-col-with-bg.php", + "size": 1345, + "hash": "151de32395c88d9e2f6075063f37214a22c867abff717b9f69b4e80aec1db632" + }, + { + "type": "file", + "name": "template-parts/sections/section-two-col.php", + "size": 1661, + "hash": "45dd068cc6fcc738de73ed60e1f8b04c2f3b0877baf8daa9e10d40a476f49f4c" + }, + { + "type": "file", + "name": "template-parts/sections/section-wysiwyg.php", + "size": 284, + "hash": "28a8a7a56d0d5eb25e0c704431a991e075e6662a252fbb767bda92ca2cf074a5" + }, + { + "type": "folder", + "name": "ostal-front/public/assets/images" + }, + { + "type": "file", + "name": "ostal-front/src/scss/index.scss", + "size": 1286, + "hash": "dfc6b6ed494e8c99532cf14593625f1917937b4bed79e4008769cdb78a8cdfe7" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/12.jpg", + "size": 29614, + "hash": "12924d1ffe6c9369d3d379b56889947514ac51b9058a46fb31843092527dd684" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/121-150x150.jpg", + "size": 19925, + "hash": "3cefe94a1f8aa9f61d123e7f9d9e735df2a8793c211631aebb3711e8ddf5568f" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/2-150x150.jpg", + "size": 26227, + "hash": "67459ddf3c08d900e1e90722e99820fa27847e46aafcf11fdf3c0a97e56aac02" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/25wat-logo.svg", + "size": 4049, + "hash": "a85376cc5c70d7c39ff6b3ef67dc68eac484d47978229cc662122359633b2325" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/4-150x150.jpg", + "size": 25063, + "hash": "1f559b5a23dd25492fb51bca6aee823d32ca819f1e0857b791aa5fa8cd06bdc7" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/51-150x150.jpg", + "size": 22013, + "hash": "9dcd9f54d6b6b67d81699618b92244905db7020afb9374be28c9e79c3ebe74d8" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/6-150x150.jpg", + "size": 20625, + "hash": "977016d183723f29778073cf4c1b068ae10f6ed743ff4a3722ccd038dc361fb1" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/7-150x150.jpg", + "size": 20913, + "hash": "a7fb052df061a78193157c2960410c8c582b9852a3edf31ddd1978c12c9e9d06" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/8-150x150.jpg", + "size": 21608, + "hash": "39a2488243fe91867a6a5eab167e3e5aca00f9d278d11f422c1e2decef1add4f" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/9-150x150.jpg", + "size": 21011, + "hash": "8aa7af3158973da96d794451498ce6438ffed022f435f1fd04daa71c761346e1" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/dach-jednospadowy.jpg", + "size": 10349, + "hash": "b7aede46a1b060c5b6a2839e5e92198dd90a3d65c5faf6361ef9a18bf0100afb" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/domek-2-150x150.jpg", + "size": 22325, + "hash": "0e4f6ca934a144476040451617855f8e0af0b30f80d40e327523ada32f9f88ee" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/domek-3-150x150.jpg", + "size": 21755, + "hash": "8a3c297efca346fa4246380801f7035cd4fff5ca9f1b07a5f39985c311e046e3" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/domek-4-150x150.jpg", + "size": 20474, + "hash": "57c947e03a4ccdbd1bff864f838742ea97f60e3e485bab389e189853db846dfd" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/domek-5-150x150.jpg", + "size": 23601, + "hash": "f13fd3351cadb1383d84a6ebf43f0d5bf285bbac3879badf01f89c5d4c5b88b8" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/hero-about.jpg", + "size": 122510, + "hash": "a80042b1ff5e83b83176839b486cc56e59672546e1c91038087f6d5460f8687f" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/hero-carports.jpg", + "size": 347972, + "hash": "76db085df157d2d812210a6ae72ea569a73d59093965d628d9e6b3538ef25044" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/hero-gardens.jpg", + "size": 143350, + "hash": "c8df0dba4cced523d88b8964de06bc51aa0f8e58c9e2a562421714110d1eb330" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/icon1.svg", + "size": 2518, + "hash": "1ca7216e3518ef6d1932030df003f4be98ca2518012849204f92619ca3ccc6ae" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/icon2.svg", + "size": 3220, + "hash": "a640e9be0c33cc77c6bf93930d508579dd5307ce1abbdfeaaab4604badcd2ee2" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/icon3.svg", + "size": 7928, + "hash": "ae1f4860d509d067c8cbc9fa5e38680aa9080b39814d78b5590fa93b3a9f60ca" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/logo.svg", + "size": 102744, + "hash": "4b7da075f5464a0d9ab8de9fd65199555228c33f0673da97804e29c690d1bcf4" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/next.svg", + "size": 918, + "hash": "2f276821cb00f504d52632e9bb93324483725ee63f91af4eea422c5c6001c0f0" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/pdf.svg", + "size": 17914, + "hash": "5d5e58eac3ffeafc25711dce0f4463838d8634292760c37e682acbe342a48232" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/print-icon.png", + "size": 307, + "hash": "eced6eb88f76265a949dfdd62165b4b223936e6c83d3326ae401831457b5185a" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/realizacja.jpg", + "size": 178310, + "hash": "d34ae4a79c30567aef9e5d2bb0891c2af63dde37a4cd623cd8825d6f8dcdba19" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/slide-1.jpg", + "size": 638270, + "hash": "05443a4f51cb74b00aaaab8a408877a3f7d9e775c0804dc3701e6f65eb0169e3" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/slide-2.jpg", + "size": 502477, + "hash": "6bcc4335df2289671e6a3888ca0c5d2f5e9b1d19d5665677a0474a6348fedcd3" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/slide-3.jpg", + "size": 626045, + "hash": "3c1bc48bd647a869d3a00619ad2331f886c0081c253184053c2974a74e8378a2" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/slider-sec-2.jpg", + "size": 66306, + "hash": "bce1fc0095251fd5b0b85ca73d2fcdeebbb0379579f132b2724fcd68ac941b87" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/slider-sec-3.jpg", + "size": 228004, + "hash": "6db47b569af67af7f9985329bb51de733154389cef329a8412a97bd6723f1673" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/slider-sec.jpg", + "size": 185614, + "hash": "2450a3edcbde92c500c194c160846b4e1c9a485a6e9db22c11e7702f65f4ae58" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/vid1.jpg", + "size": 180963, + "hash": "877e051e03aefc4a122bcd7a3d3de76aa2d1de7f1781f3f8728d9e776e72b629" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/vid2.jpg", + "size": 184090, + "hash": "d0854a01872c8cf3d3ac7f16c1bfa25331453f4f96b368e58350cb528f109c73" + }, + { + "type": "file", + "name": "ostal-front/public/assets/images/3-150x150.jpg", + "size": 24977, + "hash": "8b47adbe5e69bae9b3826a9ac184fedac55f76dda4ee46fb9c890ba1b0c8909b" + } + ] +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/.github/workflows/ftp-dev.yml b/wp-content/themes/ostal_WP/.github/workflows/ftp-dev.yml new file mode 100644 index 0000000..f607035 --- /dev/null +++ b/wp-content/themes/ostal_WP/.github/workflows/ftp-dev.yml @@ -0,0 +1,20 @@ +on: + push: + branches: + - dev +name: 🚀 Deploy DEVELOPMENT VERSION website +jobs: + web-deploy: + name: 🎉 Deploy + runs-on: ubuntu-latest + steps: + - name: 🚚 Get latest code + uses: actions/checkout@v2 + + - name: 📂 Sync files + uses: SamKirkland/FTP-Deploy-Action@4.1.0 + with: + server-dir: /domains/ostaldev.efficientweb.com.pl/public_html/wp-content/themes/ostal_WP/ + server: ${{ secrets.hostdev }} + username: ${{ secrets.userdev }} + password: ${{ secrets.passdev }} diff --git a/wp-content/themes/ostal_WP/.gitignore b/wp-content/themes/ostal_WP/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/wp-content/themes/ostal_WP/README.md b/wp-content/themes/ostal_WP/README.md new file mode 100644 index 0000000..61f4790 --- /dev/null +++ b/wp-content/themes/ostal_WP/README.md @@ -0,0 +1,7 @@ +OSTAL WP theme +=============== + +ostal-front + - bundler: vite.js + - css framework: tailwind + diff --git a/wp-content/themes/ostal_WP/acf-json/group_60b34b88a53ae.json b/wp-content/themes/ostal_WP/acf-json/group_60b34b88a53ae.json new file mode 100644 index 0000000..ab008ac --- /dev/null +++ b/wp-content/themes/ostal_WP/acf-json/group_60b34b88a53ae.json @@ -0,0 +1,208 @@ +{ + "key": "group_60b34b88a53ae", + "title": "O nas", + "fields": [ + { + "key": "field_60b34bbe66d05", + "label": "Tekst", + "name": "about_content", + "aria-label": "", + "type": "wysiwyg", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "tabs": "all", + "toolbar": "full", + "media_upload": 1, + "delay": 0, + "acfe_wysiwyg_auto_init": 0, + "acfe_wysiwyg_height": 300, + "acfe_wysiwyg_min_height": 300, + "acfe_wysiwyg_max_height": "", + "acfe_wysiwyg_valid_elements": "", + "acfe_wysiwyg_custom_style": "", + "acfe_wysiwyg_disable_wp_style": 0, + "acfe_wysiwyg_autoresize": 0, + "acfe_wysiwyg_disable_resize": 0, + "acfe_wysiwyg_remove_path": 0, + "acfe_wysiwyg_menubar": 0, + "acfe_wysiwyg_transparent": 0, + "acfe_wysiwyg_merge_toolbar": 0, + "acfe_wysiwyg_custom_toolbar": 0, + "acfe_wysiwyg_toolbar_buttons": [] + }, + { + "key": "field_60b34cfcb67af", + "label": "Obrazek", + "name": "about_photo", + "aria-label": "", + "type": "image", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "return_format": "url", + "preview_size": "medium", + "library": "all", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "", + "uploader": "", + "acfe_thumbnail": 0 + }, + { + "key": "field_60b34d6c37481", + "label": "Filmy", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0 + }, + { + "key": "field_60b34d9f37482", + "label": "Filmy", + "name": "movies_repeater", + "aria-label": "", + "type": "repeater", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "collapsed": "", + "min": 0, + "max": 0, + "layout": "table", + "button_label": "Dodaj wiersz", + "sub_fields": [ + { + "key": "field_60b34db937483", + "label": "miniaturka", + "name": "movie_thumbnail", + "aria-label": "", + "type": "image", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "return_format": "url", + "preview_size": "medium", + "library": "all", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "", + "uploader": "", + "acfe_thumbnail": 0, + "parent_repeater": "field_60b34d9f37482" + }, + { + "key": "field_60b34e6037484", + "label": "Plik video", + "name": "video_item", + "aria-label": "", + "type": "file", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "return_format": "url", + "library": "all", + "min_size": "", + "max_size": "", + "mime_types": "", + "uploader": "", + "preview_style": "default", + "placeholder": "Select", + "upload_folder": "", + "button_label": "Dodaj plik", + "stylised_button": 0, + "file_count": 0, + "multiple": 0, + "min": "", + "max": "", + "parent_repeater": "field_60b34d9f37482" + } + ], + "rows_per_page": 20, + "acfe_repeater_stylised_button": 0 + } + ], + "location": [ + [ + { + "param": "post_template", + "operator": "==", + "value": "page-templates\/template-about.php" + } + ] + ], + "menu_order": 0, + "position": "normal", + "style": "default", + "label_placement": "top", + "instruction_placement": "label", + "hide_on_screen": [ + "page_attributes", + "author", + "discussion", + "format", + "categories", + "comments", + "permalink", + "slug", + "tags", + "revisions", + "excerpt", + "send-trackbacks" + ], + "active": true, + "description": "", + "show_in_rest": 0, + "acfe_autosync": [ + "json" + ], + "acfe_form": 0, + "acfe_display_title": "", + "acfe_meta": "", + "acfe_note": "", + "modified": 1698218619 +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/acf-json/group_60b37eb040953.json b/wp-content/themes/ostal_WP/acf-json/group_60b37eb040953.json new file mode 100644 index 0000000..6b3bca8 --- /dev/null +++ b/wp-content/themes/ostal_WP/acf-json/group_60b37eb040953.json @@ -0,0 +1,221 @@ +{ + "key": "group_60b37eb040953", + "title": "Ogrody zimowe", + "fields": [ + { + "key": "field_60b37f42c7aae", + "label": " Nagłówek strony", + "name": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0 + }, + { + "key": "field_6215f155fbd70", + "label": "EFS", + "name": "efsFE", + "type": "wysiwyg", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "tabs": "all", + "toolbar": "full", + "media_upload": 1, + "delay": 0 + }, + { + "key": "field_6227313602f77", + "label": "tekst", + "name": "tekst", + "type": "textarea", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "placeholder": "", + "maxlength": "", + "rows": "", + "new_lines": "" + }, + { + "key": "field_60b37ed0c7aab", + "label": "Zdjęcie", + "name": "winter_gardens_img", + "type": "image", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "return_format": "url", + "preview_size": "medium", + "library": "all", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "" + }, + { + "key": "field_60b37ee2c7aac", + "label": "Główny tekst", + "name": "winter_gardens_excerpt", + "type": "wysiwyg", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "tabs": "all", + "toolbar": "full", + "media_upload": 1, + "delay": 0 + }, + { + "key": "field_60b37f0bc7aad", + "label": "Box \"co ważne\"", + "name": "winter_gardens_infobox", + "type": "wysiwyg", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "tabs": "all", + "toolbar": "full", + "media_upload": 1, + "delay": 0 + }, + { + "key": "field_60b37f66c7aaf", + "label": "Rodzaje ogrodów (lista)", + "name": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0 + }, + { + "key": "field_60b37f70c7ab0", + "label": "Rodzaje", + "name": "rodzaje", + "type": "repeater", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "collapsed": "", + "min": 0, + "max": 0, + "layout": "table", + "button_label": "", + "sub_fields": [ + { + "key": "field_60b37f85c7ab1", + "label": "Ikona", + "name": "gardens_type_icon", + "type": "image", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "return_format": "url", + "preview_size": "thumbnail", + "library": "all", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "" + }, + { + "key": "field_60b37f96c7ab2", + "label": "Opis", + "name": "gardens_type_content", + "type": "wysiwyg", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "tabs": "all", + "toolbar": "full", + "media_upload": 1, + "delay": 0 + } + ] + } + ], + "location": [ + [ + { + "param": "post_template", + "operator": "==", + "value": "page-templates\/template-gardens.php" + } + ] + ], + "menu_order": 0, + "position": "normal", + "style": "default", + "label_placement": "top", + "instruction_placement": "label", + "hide_on_screen": "", + "active": true, + "description": "", + "show_in_rest": 0, + "modified": 1646735700 +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/acf-json/group_6494221367141.json b/wp-content/themes/ostal_WP/acf-json/group_6494221367141.json new file mode 100644 index 0000000..292e63a --- /dev/null +++ b/wp-content/themes/ostal_WP/acf-json/group_6494221367141.json @@ -0,0 +1,2883 @@ +{ + "key": "group_6494221367141", + "title": "Home page", + "fields": [ + { + "key": "field_649427129a8f3", + "label": "Sections", + "name": "sections", + "aria-label": "", + "type": "flexible_content", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_flexible_advanced": 0, + "layouts": { + "layout_649427242dc23": { + "key": "layout_649427242dc23", + "name": "hero_section", + "label": "Sekcja hero", + "display": "block", + "sub_fields": [ + { + "key": "field_6494259e7f536", + "label": "Heading", + "name": "heading", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "default_value": "", + "placeholder": "", + "prepend": "", + "append": "", + "maxlength": "" + }, + { + "key": "field_6494233f517e7", + "label": "Sub heading", + "name": "sub_heading", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "default_value": "", + "placeholder": "", + "prepend": "", + "append": "", + "maxlength": "" + }, + { + "key": "field_6494235d517e8", + "label": "Sub heading after image", + "name": "sub_heading_after_image", + "aria-label": "", + "type": "image", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "uploader": "", + "acfe_thumbnail": 0, + "return_format": "url", + "preview_size": "medium", + "library": "all", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "" + }, + { + "key": "field_6494237f517e9", + "label": "Background", + "name": "background", + "aria-label": "", + "type": "image", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "uploader": "", + "acfe_thumbnail": 0, + "return_format": "url", + "preview_size": "medium", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "", + "acfe_field_group_condition": 0, + "library": "all" + } + ], + "min": "", + "max": "", + "acfe_flexible_render_template": false, + "acfe_flexible_render_style": false, + "acfe_flexible_render_script": false, + "acfe_flexible_thumbnail": false, + "acfe_flexible_settings": false, + "acfe_flexible_settings_size": "medium", + "acfe_layout_locations": [], + "acfe_flexible_modal_edit_size": false, + "acfe_flexible_category": false, + "acfe_layout_col": "auto", + "acfe_layout_allowed_col": false + }, + "layout_649427b19a8f6": { + "key": "layout_649427b19a8f6", + "name": "three_col_repeater_section", + "label": "Three col repeater section", + "display": "block", + "sub_fields": [ + { + "key": "field_64942433f8ff1", + "label": "Section heading", + "name": "section_heading", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "default_value": "", + "placeholder": "", + "prepend": "", + "append": "", + "maxlength": "" + }, + { + "key": "field_64942447f8ff2", + "label": "Item repeater", + "name": "item_repeater", + "aria-label": "", + "type": "repeater", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "acfe_repeater_stylised_button": 0, + "collapsed": "", + "min": 0, + "max": 0, + "layout": "table", + "button_label": "Dodaj wiersz", + "rows_per_page": 20, + "sub_fields": [ + { + "key": "field_64942466f8ff3", + "label": "Item image", + "name": "item_image", + "aria-label": "", + "type": "image", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "uploader": "", + "acfe_thumbnail": 0, + "return_format": "url", + "preview_size": "medium", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "", + "acfe_field_group_condition": 0, + "library": "all", + "parent_repeater": "field_64942447f8ff2" + }, + { + "key": "field_649424cbf8ff5", + "label": "Item text", + "name": "item_text", + "aria-label": "", + "type": "textarea", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "placeholder": "", + "maxlength": "", + "rows": "", + "new_lines": "", + "acfe_textarea_code": 0, + "acfe_field_group_condition": 0, + "parent_repeater": "field_64942447f8ff2" + } + ] + }, + { + "key": "field_649424f4f8ff6", + "label": "Section text", + "name": "section_text", + "aria-label": "", + "type": "textarea", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "default_value": "", + "placeholder": "", + "maxlength": "", + "rows": "", + "new_lines": "", + "acfe_textarea_code": 0 + }, + { + "key": "field_64942502f8ff7", + "label": "CTA", + "name": "cta", + "aria-label": "", + "type": "url", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "placeholder": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_64954c31aec59", + "label": "CTA text", + "name": "cta_text", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "placeholder": "", + "prepend": "", + "append": "", + "maxlength": "", + "acfe_field_group_condition": 0 + } + ], + "min": "", + "max": "", + "acfe_flexible_render_template": false, + "acfe_flexible_render_style": false, + "acfe_flexible_render_script": false, + "acfe_flexible_thumbnail": false, + "acfe_flexible_settings": false, + "acfe_flexible_settings_size": "medium", + "acfe_layout_locations": [], + "acfe_flexible_modal_edit_size": false, + "acfe_flexible_category": false, + "acfe_layout_col": "auto", + "acfe_layout_allowed_col": false + }, + "layout_6494280d0c698": { + "key": "layout_6494280d0c698", + "name": "two_col_section", + "label": "Sekcja z dwiema kolumnami", + "display": "block", + "sub_fields": [ + { + "key": "field_6494281d0c699", + "label": "Nagłówek sekcji", + "name": "section_heading", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_649428250c69a", + "label": "Tekst", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_649428450c69b", + "label": "Tekst", + "name": "text", + "aria-label": "", + "type": "wysiwyg", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "acfe_wysiwyg_height": 300, + "acfe_wysiwyg_max_height": "", + "acfe_wysiwyg_valid_elements": "", + "acfe_wysiwyg_custom_style": "", + "acfe_wysiwyg_disable_wp_style": 0, + "acfe_wysiwyg_autoresize": 0, + "acfe_wysiwyg_disable_resize": 0, + "acfe_wysiwyg_remove_path": 0, + "acfe_wysiwyg_menubar": 0, + "acfe_wysiwyg_transparent": 0, + "acfe_wysiwyg_merge_toolbar": 0, + "acfe_wysiwyg_custom_toolbar": 0, + "tabs": "all", + "toolbar": "full", + "media_upload": 1, + "delay": 0, + "acfe_field_group_condition": 0, + "acfe_wysiwyg_auto_init": 0, + "acfe_wysiwyg_min_height": 300, + "acfe_wysiwyg_toolbar_buttons": [] + }, + { + "key": "field_649428590c69c", + "label": "CTA", + "name": "cta", + "aria-label": "", + "type": "link", + "instructions": "adres do jakiego ma odwoływać przycisk (pole opcjonalne nieuzupełnione nie będzie widoczne na stronie)", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "return_format": "url", + "acfe_field_group_condition": 0 + }, + { + "key": "field_6495572a8355f", + "label": "CTA tekst", + "name": "cta_text", + "aria-label": "", + "type": "text", + "instructions": "Tekst widoczny na przycisku", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_649428710c69d", + "label": "Zdjęcie", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_649428960c69e", + "label": "Zdjęcie", + "name": "image", + "aria-label": "", + "type": "image", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "uploader": "", + "acfe_thumbnail": 0, + "return_format": "url", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "", + "preview_size": "medium", + "acfe_field_group_condition": 0, + "library": "all" + }, + { + "key": "field_649428a00c69f", + "label": "Settings", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_649428bb0c6a0", + "label": "Kolejność kolumn", + "name": "additional_class", + "aria-label": "", + "type": "radio", + "instructions": "Ustawienie układu elementów sekcji\r\n(This is additional class on section - flex-row\/flex-row-reverse)", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "choices": { + "imageLeft": "Zdjęcie po lewej", + "imageRight": "Zdjęcie po prawej" + }, + "default_value": "", + "return_format": "value", + "allow_null": 0, + "other_choice": 0, + "layout": "vertical", + "acfe_field_group_condition": 0, + "save_other_choice": 0 + }, + { + "key": "field_655dd769a92af", + "label": "Choose heading", + "name": "choose_heading", + "aria-label": "", + "type": "radio", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "choices": { + "h1": "H1", + "h2": "H2" + }, + "default_value": "h2", + "return_format": "value", + "allow_null": 0, + "other_choice": 0, + "layout": "vertical", + "acfe_field_group_condition": 0, + "save_other_choice": 0 + }, + { + "key": "field_6499dc3023ef7", + "label": "Heading position", + "name": "heading_position", + "aria-label": "", + "type": "radio", + "instructions": "This is additional class on h2 element - justify-end", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "choices": { + "textRight": "Heading right", + "textLeft": "Heading left" + }, + "allow_null": 0, + "other_choice": 0, + "default_value": "", + "layout": "vertical", + "return_format": "value", + "acfe_field_group_condition": 0, + "save_other_choice": 0 + }, + { + "key": "field_65168a6809f20", + "label": "Section ID", + "name": "section_id", + "aria-label": "", + "type": "text", + "instructions": "ID dla sekcji (przydatne np. do odwoływania się do sekcji przy pomocy innego przycisku na tej samej stronie)", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "#", + "append": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_649c09ce23361", + "label": "Additional section class", + "name": "additional_section_class", + "aria-label": "", + "type": "text", + "instructions": "Dodatkowa klasa dla sekcji (zapytaj programistę)", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_649c0bf8cc762", + "label": "Additional wrapper class", + "name": "additional_wrapper_class", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "placeholder": "", + "prepend": "", + "append": "", + "maxlength": "", + "acfe_field_group_condition": 0 + } + ], + "min": "", + "max": "", + "acfe_flexible_render_template": false, + "acfe_flexible_render_style": false, + "acfe_flexible_render_script": false, + "acfe_flexible_thumbnail": false, + "acfe_flexible_settings": false, + "acfe_flexible_settings_size": "medium", + "acfe_layout_locations": [], + "acfe_flexible_modal_edit_size": false, + "acfe_flexible_category": false, + "acfe_layout_col": "auto", + "acfe_layout_allowed_col": false + }, + "layout_65169c94d7927": { + "key": "layout_65169c94d7927", + "name": "two_col_section_with_bg", + "label": "Sekcja z dwiema kolumnami i zdjęciem w tle", + "display": "block", + "sub_fields": [ + { + "key": "field_65169c94d7928", + "label": "Section heading", + "name": "section_heading", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "" + }, + { + "key": "field_65169cd6d7935", + "label": "Background image", + "name": "background_image", + "aria-label": "", + "type": "image", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "uploader": "", + "acfe_thumbnail": 0, + "return_format": "url", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "", + "preview_size": "medium", + "acfe_field_group_condition": 0, + "library": "all" + }, + { + "key": "field_65169c94d7929", + "label": "Text", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "placement": "top", + "endpoint": 0, + "no_preference": 0 + }, + { + "key": "field_65169c94d792a", + "label": "Text", + "name": "text", + "aria-label": "", + "type": "textarea", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "default_value": "", + "acfe_textarea_code": 0, + "maxlength": "", + "rows": "", + "placeholder": "", + "new_lines": "" + }, + { + "key": "field_65169c94d792b", + "label": "CTA", + "name": "cta", + "aria-label": "", + "type": "url", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "default_value": "", + "placeholder": "" + }, + { + "key": "field_65169c94d792c", + "label": "CTA text", + "name": "cta_text", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "" + }, + { + "key": "field_65169c94d792d", + "label": "Image", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "placement": "top", + "endpoint": 0, + "no_preference": 0 + }, + { + "key": "field_65169c94d792e", + "label": "Image", + "name": "image", + "aria-label": "", + "type": "image", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "uploader": "", + "acfe_thumbnail": 0, + "return_format": "url", + "library": "all", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "", + "preview_size": "medium" + }, + { + "key": "field_65169c94d792f", + "label": "Settings", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "placement": "top", + "endpoint": 0, + "no_preference": 0 + }, + { + "key": "field_65169c94d7930", + "label": "Columns order", + "name": "additional_class", + "aria-label": "", + "type": "radio", + "instructions": "This is additional class on section - flex-row\/flex-row-reverse", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "choices": { + "imageLeft": "Image left", + "imageRight": "Image right" + }, + "default_value": "", + "return_format": "value", + "allow_null": 0, + "other_choice": 0, + "save_other_choice": 0, + "layout": "vertical" + }, + { + "key": "field_65169c94d7931", + "label": "Heading position", + "name": "heading_position", + "aria-label": "", + "type": "radio", + "instructions": "This is additional class on h2 element - justify-end", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "choices": { + "textRight": "Heading right", + "textLeft": "Heading left" + }, + "default_value": "", + "return_format": "value", + "allow_null": 0, + "other_choice": 0, + "save_other_choice": 0, + "layout": "vertical" + }, + { + "key": "field_65169c94d7932", + "label": "Section ID", + "name": "section_id", + "aria-label": "", + "type": "text", + "instructions": "ID dla sekcji (przydatne np. do odwoływania się do sekcji przy pomocy innego przycisku na tej samej stronie)", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "#", + "append": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_65169c94d7933", + "label": "Additional section class", + "name": "additional_section_class", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "" + }, + { + "key": "field_65169c94d7934", + "label": "Additional wrapper class", + "name": "additional_wrapper_class", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "" + } + ], + "min": "", + "max": "", + "acfe_flexible_render_template": false, + "acfe_flexible_render_style": false, + "acfe_flexible_render_script": false, + "acfe_flexible_thumbnail": false, + "acfe_flexible_settings": false, + "acfe_flexible_settings_size": "medium", + "acfe_layout_locations": [], + "acfe_flexible_modal_edit_size": false, + "acfe_flexible_category": false, + "acfe_layout_col": "auto", + "acfe_layout_allowed_col": false + }, + "layout_6494297979698": { + "key": "layout_6494297979698", + "name": "one_col_2_cta", + "label": "Sekcja z jedną kolumną. Tekst i CTA.", + "display": "block", + "sub_fields": [ + { + "key": "field_65168d982455b", + "label": "Content", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_6494299379699", + "label": "Section heading", + "name": "section_heading", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "placeholder": "", + "prepend": "", + "append": "", + "maxlength": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_649429a37969a", + "label": "Text", + "name": "text", + "aria-label": "", + "type": "textarea", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "placeholder": "", + "maxlength": "", + "rows": "", + "new_lines": "", + "acfe_textarea_code": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_649429b47969b", + "label": "CTA repeater", + "name": "cta_repeater", + "aria-label": "", + "type": "repeater", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_repeater_stylised_button": 0, + "collapsed": "", + "min": 0, + "max": 0, + "layout": "table", + "button_label": "Dodaj wiersz", + "acfe_field_group_condition": 0, + "rows_per_page": 20, + "sub_fields": [ + { + "key": "field_649429c27969c", + "label": "CTA", + "name": "cta", + "aria-label": "", + "type": "link", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "return_format": "url", + "parent_repeater": "field_649429b47969b" + }, + { + "key": "field_649559ef2d7b9", + "label": "CTA text", + "name": "cta_text", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "placeholder": "", + "prepend": "", + "append": "", + "maxlength": "", + "acfe_field_group_condition": 0, + "parent_repeater": "field_649429b47969b" + } + ] + }, + { + "key": "field_65168d862455a", + "label": "Settings", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_65168dae2455c", + "label": "Additional section class", + "name": "additional_section_class", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_651bbbe344959", + "label": "Pozycja sekcji", + "name": "section_position", + "aria-label": "", + "type": "radio", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "choices": { + "align-left": "Wyrównanie do lewej", + "align-center": "Wyrównanie do środka", + "align-right": "Wyrównanie do prawej" + }, + "default_value": "", + "return_format": "value", + "allow_null": 0, + "other_choice": 0, + "layout": "vertical", + "acfe_field_group_condition": 0, + "save_other_choice": 0 + } + ], + "min": "", + "max": "", + "acfe_flexible_render_template": false, + "acfe_flexible_render_style": false, + "acfe_flexible_render_script": false, + "acfe_flexible_thumbnail": false, + "acfe_flexible_settings": false, + "acfe_flexible_settings_size": "medium", + "acfe_layout_locations": [], + "acfe_flexible_modal_edit_size": false, + "acfe_flexible_category": false, + "acfe_layout_col": "auto", + "acfe_layout_allowed_col": false + }, + "layout_651e61f55a6ed": { + "key": "layout_651e61f55a6ed", + "name": "one_col_cta_images", + "label": "Sekcja z jedną kolumną. Tekst, CTA i zdjęcia.", + "display": "block", + "sub_fields": [ + { + "key": "field_651e61f55a6ee", + "label": "Content", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "placement": "top", + "endpoint": 0, + "no_preference": 0 + }, + { + "key": "field_651e61f55a6ef", + "label": "Section heading", + "name": "section_heading", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "" + }, + { + "key": "field_651e61f55a6f0", + "label": "Text", + "name": "text", + "aria-label": "", + "type": "textarea", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "default_value": "", + "acfe_textarea_code": 0, + "maxlength": "", + "rows": "", + "placeholder": "", + "new_lines": "" + }, + { + "key": "field_651e61f55a6f1", + "label": "CTA repeater", + "name": "cta_repeater", + "aria-label": "", + "type": "repeater", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "acfe_repeater_stylised_button": 0, + "layout": "table", + "min": 0, + "max": 0, + "collapsed": "", + "button_label": "Dodaj wiersz", + "rows_per_page": 20, + "sub_fields": [ + { + "key": "field_651e61f55a6f2", + "label": "CTA", + "name": "cta", + "aria-label": "", + "type": "link", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "return_format": "url", + "parent_repeater": "field_651e61f55a6f1" + }, + { + "key": "field_651e61f55a6f3", + "label": "CTA text", + "name": "cta_text", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "", + "parent_repeater": "field_651e61f55a6f1" + } + ] + }, + { + "key": "field_651e625987796", + "label": "gallery", + "name": "gallery", + "aria-label": "", + "type": "gallery", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "return_format": "array", + "library": "all", + "min": "", + "max": "", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "", + "insert": "append", + "preview_size": "medium", + "acfe_field_group_condition": 0 + }, + { + "key": "field_651e61f55a6f4", + "label": "Settings", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "placement": "top", + "endpoint": 0, + "no_preference": 0 + }, + { + "key": "field_651e61f55a6f5", + "label": "Additional section class", + "name": "additional_section_class", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "" + }, + { + "key": "field_651e61f55a6f6", + "label": "Pozycja sekcji", + "name": "section_position", + "aria-label": "", + "type": "radio", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "choices": { + "align-left": "Wyrównanie do lewej", + "align-center": "Wyrównanie do środka", + "align-right": "Wyrównanie do prawej" + }, + "default_value": "", + "return_format": "value", + "allow_null": 0, + "other_choice": 0, + "save_other_choice": 0, + "layout": "vertical" + } + ], + "min": "", + "max": "", + "acfe_flexible_render_template": false, + "acfe_flexible_render_style": false, + "acfe_flexible_render_script": false, + "acfe_flexible_thumbnail": false, + "acfe_flexible_settings": false, + "acfe_flexible_settings_size": "medium", + "acfe_layout_locations": [], + "acfe_flexible_modal_edit_size": false, + "acfe_flexible_category": false, + "acfe_layout_col": "auto", + "acfe_layout_allowed_col": false + }, + "layout_649c2979a694f": { + "key": "layout_649c2979a694f", + "name": "boxes_repeater_img_title_text_cta", + "label": "Sekcja z opisem i kartami", + "display": "block", + "sub_fields": [ + { + "key": "field_649c2b62266ad", + "label": "Content", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "placement": "top", + "endpoint": 0, + "no_preference": 0 + }, + { + "key": "field_6516a83814168", + "label": "Section heading", + "name": "section_heading", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_651a7da530f1f", + "label": "Opis sekcji", + "name": "section_description", + "aria-label": "", + "type": "textarea", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "acfe_textarea_code": 0, + "maxlength": "", + "rows": "", + "placeholder": "", + "new_lines": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_649c2a39a6950", + "label": "Repeater", + "name": "repeater", + "aria-label": "", + "type": "repeater", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_repeater_stylised_button": 0, + "collapsed": "", + "min": 0, + "max": 0, + "layout": "table", + "button_label": "Dodaj wiersz", + "acfe_field_group_condition": 0, + "rows_per_page": 20, + "sub_fields": [ + { + "key": "field_649c2a83a6951", + "label": "Nagłówek", + "name": "heading", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "", + "parent_repeater": "field_649c2a39a6950" + }, + { + "key": "field_649c2a95a6952", + "label": "Tekst", + "name": "text", + "aria-label": "", + "type": "textarea", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "default_value": "", + "acfe_textarea_code": 0, + "maxlength": "", + "rows": "", + "placeholder": "", + "new_lines": "", + "parent_repeater": "field_649c2a39a6950" + }, + { + "key": "field_649c2ac5a6954", + "label": "CTA", + "name": "cta", + "aria-label": "", + "type": "text", + "instructions": "Pole opcjonalne - nieuzupełnione nie będzie widoczne", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "", + "parent_repeater": "field_649c2a39a6950" + }, + { + "key": "field_649c2acda6955", + "label": "CTA url", + "name": "cta_url", + "aria-label": "", + "type": "url", + "instructions": "Pole opcjonalne - nieuzupełnione nie będzie widoczne", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "default_value": "", + "placeholder": "", + "parent_repeater": "field_649c2a39a6950" + }, + { + "key": "field_649c2be4fa208", + "label": "Zdjęcie", + "name": "image", + "aria-label": "", + "type": "image", + "instructions": "Pole opcjonalne - nieuzupełnione nie będzie widoczne", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "uploader": "", + "acfe_thumbnail": 0, + "return_format": "array", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "", + "preview_size": "medium", + "library": "all", + "parent_repeater": "field_649c2a39a6950" + }, + { + "key": "field_649c2cdf93fe3", + "label": "Additional box class", + "name": "additional_box_class", + "aria-label": "", + "type": "text", + "instructions": "Pole opcjonalne - dodatkowe klasy mogą wpływać na wygląd karty (zapytaj programisty)", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "", + "parent_repeater": "field_649c2a39a6950" + } + ] + }, + { + "key": "field_651bb2d18056d", + "label": "Tło sekcji", + "name": "section_bg", + "aria-label": "", + "type": "image", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "uploader": "", + "acfe_thumbnail": 0, + "return_format": "url", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "", + "preview_size": "medium", + "acfe_field_group_condition": 0, + "library": "all" + }, + { + "key": "field_649c2adba6956", + "label": "Settings", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "placement": "top", + "endpoint": 0, + "no_preference": 0 + }, + { + "key": "field_649c2aefa6957", + "label": "Section id", + "name": "section_id", + "aria-label": "", + "type": "text", + "instructions": "ID dla sekcji (przydatne np. do odwoływania się do sekcji przy pomocy innego przycisku na tej samej stronie)", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "#", + "append": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_649c2afda6958", + "label": "Section additional class", + "name": "section_additional_class", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "required_message": "", + "default_value": "", + "placeholder": "", + "prepend": "", + "append": "", + "maxlength": "" + }, + { + "key": "field_651a7dd630f20", + "label": "Styl elementów", + "name": "cards-style", + "aria-label": "", + "type": "radio", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "choices": { + "simple-cards": "Simple cards", + "numbered-cards": "Numbered cards" + }, + "default_value": "", + "return_format": "value", + "allow_null": 0, + "other_choice": 0, + "layout": "vertical", + "acfe_field_group_condition": 0, + "save_other_choice": 0 + } + ], + "min": "", + "max": "", + "acfe_flexible_render_template": false, + "acfe_flexible_render_style": false, + "acfe_flexible_render_script": false, + "acfe_flexible_thumbnail": false, + "acfe_flexible_settings": false, + "acfe_flexible_settings_size": "medium", + "acfe_layout_locations": [], + "acfe_flexible_modal_edit_size": false, + "acfe_flexible_category": false, + "acfe_layout_col": "auto", + "acfe_layout_allowed_col": false + }, + "layout_64a14a75aeeb4": { + "key": "layout_64a14a75aeeb4", + "name": "hero_slider", + "label": "Sekcja hero ze slajdami", + "display": "block", + "sub_fields": [ + { + "key": "field_64a14a88aeeb5", + "label": "Slajdy", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_64a14a94aeeb6", + "label": "Pojedynczy slajd", + "name": "single-slide", + "aria-label": "", + "type": "repeater", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_repeater_stylised_button": 0, + "layout": "table", + "min": 0, + "max": 0, + "collapsed": "", + "button_label": "Dodaj wiersz", + "acfe_field_group_condition": 0, + "rows_per_page": 20, + "sub_fields": [ + { + "key": "field_64a14aa7aeeb7", + "label": "Zdjęcie w tle", + "name": "background", + "aria-label": "", + "type": "image", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "uploader": "", + "acfe_thumbnail": 0, + "return_format": "url", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "", + "preview_size": "medium", + "library": "all", + "parent_repeater": "field_64a14a94aeeb6" + }, + { + "key": "field_655de4cb66f69", + "label": "Główny nagłówek slajdu", + "name": "slide_main_heading", + "aria-label": "", + "type": "group", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "layout": "block", + "acfe_seamless_style": 0, + "acfe_group_modal": 0, + "sub_fields": [ + { + "key": "field_655de4ed66f6a", + "label": "Nagłówek", + "name": "heading", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "" + }, + { + "key": "field_655de50a66f6b", + "label": "Wybór nagłówka", + "name": "choose_heading", + "aria-label": "", + "type": "radio", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "choices": { + "h1": "H1", + "h2": "H2" + }, + "default_value": "h1", + "return_format": "value", + "allow_null": 0, + "other_choice": 0, + "layout": "vertical", + "save_other_choice": 0 + } + ], + "acfe_group_modal_close": 0, + "acfe_group_modal_button": "", + "acfe_group_modal_size": "large", + "parent_repeater": "field_64a14a94aeeb6" + }, + { + "key": "field_65166b7f51cac", + "label": "Zawartość slajdu", + "name": "slide_content", + "aria-label": "", + "type": "group", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "layout": "block", + "acfe_seamless_style": 0, + "acfe_group_modal": 0, + "sub_fields": [ + { + "key": "field_64a14af0aeeb8", + "label": "Nagłówek", + "name": "heading", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "" + }, + { + "key": "field_64a14afaaeeb9", + "label": "Tekst", + "name": "description", + "aria-label": "", + "type": "textarea", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "default_value": "", + "acfe_textarea_code": 0, + "maxlength": "", + "rows": "", + "placeholder": "", + "new_lines": "" + }, + { + "key": "field_64a14b07aeeba", + "label": "CTA", + "name": "cta", + "aria-label": "", + "type": "acfe_advanced_link", + "instructions": "Kliknij, aby edytować tekst na przycisku oraz adres do jakiego ma prowadzić", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "post_type": "", + "taxonomy": "" + } + ], + "acfe_group_modal_close": 0, + "acfe_group_modal_button": "", + "acfe_group_modal_size": "large", + "parent_repeater": "field_64a14a94aeeb6" + } + ] + }, + { + "key": "field_65166e41e0a3c", + "label": "Settings", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_65166e4ee0a3d", + "label": "Section ID", + "name": "section_id", + "aria-label": "", + "type": "text", + "instructions": "ID dla sekcji (przydatne np. do odwoływania się do sekcji przy pomocy innego przycisku na tej samej stronie)", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "#", + "append": "", + "acfe_field_group_condition": 0 + } + ], + "min": "", + "max": "", + "acfe_flexible_render_template": false, + "acfe_flexible_render_style": false, + "acfe_flexible_render_script": false, + "acfe_flexible_thumbnail": false, + "acfe_flexible_settings": false, + "acfe_flexible_settings_size": "medium", + "acfe_layout_locations": [], + "acfe_flexible_modal_edit_size": false, + "acfe_flexible_category": false, + "acfe_layout_col": "auto", + "acfe_layout_allowed_col": false + }, + "layout_651d52150b787": { + "key": "layout_651d52150b787", + "name": "hero_with_form", + "label": "Sekcja hero z formularzem", + "display": "block", + "sub_fields": [ + { + "key": "field_651d52150b788", + "label": "Zawartość", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_651d52750b792", + "label": "Nagłówek", + "name": "heading", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_651d52880b793", + "label": "Tekst", + "name": "text", + "aria-label": "", + "type": "textarea", + "instructions": "Tekst pod nagłówkiem", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "acfe_textarea_code": 0, + "maxlength": "", + "rows": "", + "placeholder": "", + "new_lines": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_651d5e7b0b795", + "label": "Shortcode formularza", + "name": "form_shortcode", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_651d5ecc0b796", + "label": "Zdjęcie w tle", + "name": "background_image", + "aria-label": "", + "type": "image", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "uploader": "", + "acfe_thumbnail": 0, + "return_format": "url", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "", + "preview_size": "medium", + "acfe_field_group_condition": 0, + "library": "all" + }, + { + "key": "field_651d52150b790", + "label": "Settings", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_651d52150b791", + "label": "Section ID", + "name": "section_id", + "aria-label": "", + "type": "text", + "instructions": "ID dla sekcji (przydatne np. do odwoływania się do sekcji przy pomocy innego przycisku na tej samej stronie)", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "#", + "append": "", + "acfe_field_group_condition": 0 + } + ], + "min": "", + "max": "", + "acfe_flexible_render_template": false, + "acfe_flexible_render_style": false, + "acfe_flexible_render_script": false, + "acfe_flexible_thumbnail": false, + "acfe_flexible_settings": false, + "acfe_flexible_settings_size": "medium", + "acfe_layout_locations": [], + "acfe_flexible_modal_edit_size": false, + "acfe_flexible_category": false, + "acfe_layout_col": "auto", + "acfe_layout_allowed_col": false + }, + "layout_64b53cbd44b28": { + "key": "layout_64b53cbd44b28", + "name": "faq", + "label": "FAQ", + "display": "block", + "sub_fields": [ + { + "key": "field_64b53cc744b29", + "label": "Content", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_64b634660092c", + "label": "Section heading", + "name": "section_heading", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "placeholder": "", + "prepend": "", + "append": "", + "maxlength": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_64b635d2faaae", + "label": "Section description", + "name": "section_description", + "aria-label": "", + "type": "textarea", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "placeholder": "", + "maxlength": "", + "rows": "", + "new_lines": "", + "acfe_textarea_code": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_64b53e1a44b2e", + "label": "FAQ items", + "name": "faq_items", + "aria-label": "", + "type": "repeater", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_repeater_stylised_button": 0, + "collapsed": "", + "min": 0, + "max": 0, + "layout": "table", + "button_label": "Dodaj wiersz", + "acfe_field_group_condition": 0, + "rows_per_page": 20, + "sub_fields": [ + { + "key": "field_64b540d7d61b7", + "label": "Single item", + "name": "single_item", + "aria-label": "", + "type": "group", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "acfe_field_group_condition": 0, + "layout": "block", + "acfe_seamless_style": 0, + "acfe_group_modal": 0, + "acfe_group_modal_close": 0, + "acfe_group_modal_button": "", + "acfe_group_modal_size": "large", + "sub_fields": [ + { + "key": "field_64b5413068520", + "label": "Accordion", + "name": "", + "aria-label": "", + "type": "accordion", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "open": 1, + "multi_expand": 0, + "endpoint": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_64b53ded44b2c", + "label": "Single question", + "name": "single_question", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "placeholder": "", + "prepend": "", + "append": "", + "maxlength": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_64b53dfb44b2d", + "label": "Single answer", + "name": "single_answer", + "aria-label": "", + "type": "wysiwyg", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "tabs": "all", + "toolbar": "basic", + "media_upload": 1, + "delay": 0, + "acfe_wysiwyg_height": 120, + "acfe_wysiwyg_max_height": "", + "acfe_wysiwyg_valid_elements": "", + "acfe_wysiwyg_custom_style": "", + "acfe_wysiwyg_disable_wp_style": 0, + "acfe_wysiwyg_autoresize": 0, + "acfe_wysiwyg_disable_resize": 0, + "acfe_wysiwyg_remove_path": 0, + "acfe_wysiwyg_menubar": 0, + "acfe_wysiwyg_transparent": 0, + "acfe_wysiwyg_merge_toolbar": 0, + "acfe_wysiwyg_custom_toolbar": 0, + "acfe_field_group_condition": 0, + "acfe_wysiwyg_auto_init": 0, + "acfe_wysiwyg_min_height": 300, + "acfe_wysiwyg_toolbar_buttons": [] + } + ], + "parent_repeater": "field_64b53e1a44b2e" + } + ] + }, + { + "key": "field_64b53cd944b2a", + "label": "Settings", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_64b636f9599dd", + "label": "ID", + "name": "id", + "aria-label": "", + "type": "text", + "instructions": "Section ID", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "placeholder": "", + "prepend": "", + "append": "", + "maxlength": "", + "acfe_field_group_condition": 0 + } + ], + "min": "", + "max": "", + "acfe_flexible_render_template": false, + "acfe_flexible_render_style": false, + "acfe_flexible_render_script": false, + "acfe_flexible_thumbnail": false, + "acfe_flexible_settings": false, + "acfe_flexible_settings_size": "medium", + "acfe_layout_locations": [], + "acfe_flexible_modal_edit_size": false, + "acfe_flexible_category": false, + "acfe_layout_col": "auto", + "acfe_layout_allowed_col": false + }, + "layout_6516b8bf07adc": { + "key": "layout_6516b8bf07adc", + "name": "gallery", + "label": "Galeria", + "display": "block", + "sub_fields": [ + { + "key": "field_6516b8cb07ade", + "label": "Content", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_6516b8d707adf", + "label": "Section heading", + "name": "section_heading", + "aria-label": "", + "type": "text", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "", + "append": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_6516b92307ae2", + "label": "Galeria", + "name": "gallery", + "aria-label": "", + "type": "gallery", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "return_format": "array", + "library": "all", + "min": "", + "max": "", + "min_width": "", + "min_height": "", + "min_size": "", + "max_width": "", + "max_height": "", + "max_size": "", + "mime_types": "", + "insert": "append", + "preview_size": "medium", + "acfe_field_group_condition": 0 + }, + { + "key": "field_6516bd08e48ba", + "label": "CTA button", + "name": "cta", + "aria-label": "", + "type": "acfe_advanced_link", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "post_type": "", + "taxonomy": "", + "acfe_field_group_condition": 0 + }, + { + "key": "field_6516b92f07ae3", + "label": "Settings", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_6516b94307ae4", + "label": "Section ID", + "name": "section_id", + "aria-label": "", + "type": "text", + "instructions": "ID dla sekcji (przydatne np. do odwoływania się do sekcji przy pomocy innego przycisku na tej samej stronie)", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "#", + "append": "", + "acfe_field_group_condition": 0 + } + ], + "min": "", + "max": "", + "acfe_flexible_render_template": false, + "acfe_flexible_render_style": false, + "acfe_flexible_render_script": false, + "acfe_flexible_thumbnail": false, + "acfe_flexible_settings": false, + "acfe_flexible_settings_size": "medium", + "acfe_layout_locations": [], + "acfe_flexible_modal_edit_size": false, + "acfe_flexible_category": false, + "acfe_layout_col": "auto", + "acfe_layout_allowed_col": false + }, + "layout_651ea252e0451": { + "key": "layout_651ea252e0451", + "name": "wysiwyg", + "label": "Wysiwyg", + "display": "block", + "sub_fields": [ + { + "key": "field_651ea260e0453", + "label": "Content", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_651ea26fe0454", + "label": "Wysiwyg", + "name": "wysiwyg", + "aria-label": "", + "type": "wysiwyg", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "acfe_wysiwyg_height": 300, + "acfe_wysiwyg_max_height": "", + "acfe_wysiwyg_valid_elements": "", + "acfe_wysiwyg_custom_style": "", + "acfe_wysiwyg_disable_wp_style": 0, + "acfe_wysiwyg_autoresize": 0, + "acfe_wysiwyg_disable_resize": 0, + "acfe_wysiwyg_remove_path": 0, + "acfe_wysiwyg_menubar": 0, + "acfe_wysiwyg_transparent": 0, + "acfe_wysiwyg_merge_toolbar": 0, + "acfe_wysiwyg_custom_toolbar": 0, + "tabs": "all", + "toolbar": "full", + "media_upload": 1, + "delay": 0, + "acfe_field_group_condition": 0, + "acfe_wysiwyg_auto_init": 0, + "acfe_wysiwyg_min_height": 300, + "acfe_wysiwyg_toolbar_buttons": [] + }, + { + "key": "field_651ea287e0455", + "label": "Settings", + "name": "", + "aria-label": "", + "type": "tab", + "instructions": "", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "placement": "top", + "endpoint": 0, + "no_preference": 0, + "acfe_field_group_condition": 0 + }, + { + "key": "field_651ea29be0456", + "label": "Section ID", + "name": "section_id", + "aria-label": "", + "type": "text", + "instructions": "ID dla sekcji (przydatne np. do odwoływania się do sekcji przy pomocy innego przycisku na tej samej stronie)", + "required": 0, + "conditional_logic": 0, + "wrapper": { + "width": "", + "class": "", + "id": "" + }, + "default_value": "", + "maxlength": "", + "placeholder": "", + "prepend": "#", + "append": "", + "acfe_field_group_condition": 0 + } + ], + "min": "", + "max": "", + "acfe_flexible_render_template": false, + "acfe_flexible_render_style": false, + "acfe_flexible_render_script": false, + "acfe_flexible_thumbnail": false, + "acfe_flexible_settings": false, + "acfe_flexible_settings_size": "medium", + "acfe_layout_locations": [], + "acfe_flexible_modal_edit_size": false, + "acfe_flexible_category": false, + "acfe_layout_col": "auto", + "acfe_layout_allowed_col": false + } + }, + "min": "", + "max": "", + "button_label": "Dodaj sekcję", + "acfe_field_group_condition": 0, + "acfe_flexible_stylised_button": false, + "acfe_flexible_hide_empty_message": false, + "acfe_flexible_empty_message": "", + "acfe_flexible_layouts_templates": false, + "acfe_flexible_layouts_previews": false, + "acfe_flexible_layouts_placeholder": false, + "acfe_flexible_layouts_thumbnails": false, + "acfe_flexible_layouts_settings": false, + "acfe_flexible_layouts_locations": false, + "acfe_flexible_async": [], + "acfe_flexible_add_actions": [], + "acfe_flexible_remove_button": [], + "acfe_flexible_layouts_state": false, + "acfe_flexible_modal_edit": { + "acfe_flexible_modal_edit_enabled": false, + "acfe_flexible_modal_edit_size": "large" + }, + "acfe_flexible_modal": { + "acfe_flexible_modal_enabled": false, + "acfe_flexible_modal_title": false, + "acfe_flexible_modal_size": "full", + "acfe_flexible_modal_col": "4", + "acfe_flexible_modal_categories": false + }, + "acfe_flexible_grid": { + "acfe_flexible_grid_enabled": false, + "acfe_flexible_grid_align": "center", + "acfe_flexible_grid_valign": "stretch", + "acfe_flexible_grid_wrap": false + }, + "acfe_flexible_grid_container": false + } + ], + "location": [ + [ + { + "param": "page_type", + "operator": "==", + "value": "top_level" + } + ] + ], + "menu_order": 0, + "position": "acf_after_title", + "style": "seamless", + "label_placement": "left", + "instruction_placement": "label", + "hide_on_screen": "", + "active": true, + "description": "", + "show_in_rest": 0, + "acfe_autosync": [ + "json" + ], + "acfe_form": 0, + "acfe_display_title": "", + "acfe_meta": "", + "acfe_note": "", + "modified": 1700652362 +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/archive-realizacje.php b/wp-content/themes/ostal_WP/archive-realizacje.php new file mode 100644 index 0000000..3a81cde --- /dev/null +++ b/wp-content/themes/ostal_WP/archive-realizacje.php @@ -0,0 +1,63 @@ + + +
+
+
+
+

Nasze realizacje

+
+ +
+ array('realizacje'), + 'nopaging' => false, + 'posts_per_page' => '24', + 'posts_per_archive_page' => '24', + 'paged' => get_query_var('paged') ? get_query_var('paged') : 1, // Dodano obsługę stronicowania + ); + + $query = new WP_Query($args); + if ($query->have_posts()) { + while ($query->have_posts()) { + $query->the_post(); ?> + + +
+
+

+
+ + + + + +
+
+
+
+ + diff --git a/wp-content/themes/ostal_WP/css/custom.css b/wp-content/themes/ostal_WP/css/custom.css new file mode 100644 index 0000000..f8737c0 --- /dev/null +++ b/wp-content/themes/ostal_WP/css/custom.css @@ -0,0 +1 @@ +#home-page-seo .wrapper{padding-top:75px;padding-bottom:0}#home-page-seo .wrapper h2{margin-left:0;max-width:100%}#garden-page-seo .wrapper{padding-top:0;padding-bottom:75px}#garden-page-seo .wrapper h2{margin-left:0;max-width:100%}.pagination{display:flex;align-items:center;margin:25px 0 50px;justify-content:center;width:100%;font-size:16px;gap:10px}.pagination a{font-size:16px}/*# sourceMappingURL=custom.css.map */ \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/css/custom.css.map b/wp-content/themes/ostal_WP/css/custom.css.map new file mode 100644 index 0000000..d96f88c --- /dev/null +++ b/wp-content/themes/ostal_WP/css/custom.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["custom.scss"],"names":[],"mappings":"AACE,wBACE,gBAAA,CACA,gBAAA,CAEA,2BACE,aAAA,CACA,cAAA,CAMJ,0BACE,aAAA,CACA,mBAAA,CAEA,6BACE,aAAA,CACA,cAAA,CAKN,YACE,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,cAAA,CACA,QAAA,CAEA,cACE,cAAA","file":"custom.css","sourcesContent":["#home-page-seo {\r\n .wrapper {\r\n padding-top: 75px;\r\n padding-bottom: 0;\r\n\r\n h2 {\r\n margin-left: 0;\r\n max-width: 100%;\r\n }\r\n }\r\n}\r\n\r\n#garden-page-seo {\r\n .wrapper {\r\n padding-top: 0;\r\n padding-bottom: 75px;\r\n\r\n h2 {\r\n margin-left: 0;\r\n max-width: 100%;\r\n }\r\n }\r\n}\r\n\r\n.pagination {\r\n display: flex;\r\n align-items: center;\r\n margin: 25px 0 50px;\r\n justify-content: center;\r\n width: 100%;\r\n font-size: 16px;\r\n gap: 10px;\r\n\r\n a {\r\n font-size: 16px;\r\n }\r\n}"]} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/css/custom.scss b/wp-content/themes/ostal_WP/css/custom.scss new file mode 100644 index 0000000..c5d671a --- /dev/null +++ b/wp-content/themes/ostal_WP/css/custom.scss @@ -0,0 +1,37 @@ +#home-page-seo { + .wrapper { + padding-top: 75px; + padding-bottom: 0; + + h2 { + margin-left: 0; + max-width: 100%; + } + } +} + +#garden-page-seo { + .wrapper { + padding-top: 0; + padding-bottom: 75px; + + h2 { + margin-left: 0; + max-width: 100%; + } + } +} + +.pagination { + display: flex; + align-items: center; + margin: 25px 0 50px; + justify-content: center; + width: 100%; + font-size: 16px; + gap: 10px; + + a { + font-size: 16px; + } +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/custom.css b/wp-content/themes/ostal_WP/custom.css new file mode 100644 index 0000000..6a99a43 --- /dev/null +++ b/wp-content/themes/ostal_WP/custom.css @@ -0,0 +1 @@ +#app .section-header{text-align:center;margin-bottom:60px}#app .section-header .title{margin-bottom:0;margin-top:0;padding-top:0 !important;padding-bottom:0 !important}#app .section-realizacje .recent-realizations-item{width:25%}#app .section-realizacje .recent-realizations-item>p{background:rgba(86,165,61,.8)}@media(min-width: 1536px){#app .section-realizacje .recent-realizations-item{padding-bottom:20rem}}@media(max-width: 1000px){#app .section-realizacje .recent-realizations-item{width:50%;margin:0}}@media(max-width: 640px){#app .section-realizacje .recent-realizations-item{padding-bottom:10rem}}#app .section-contact{display:grid;grid-template-columns:2fr 1fr}@media(max-width: 1300px){#app .section-contact{grid-template-columns:1fr;row-gap:30px}}#app .section-contact .section-contact-texts{display:grid;grid-template-columns:auto 1fr}@media(max-width: 900px){#app .section-contact .section-contact-texts{grid-template-columns:1fr}}#app .section-contact .section-contact-texts .section-contact-texts-img img{width:100%;max-width:-moz-fit-content;max-width:fit-content}@media(max-width: 900px){#app .section-contact .section-contact-texts .section-contact-texts-img img{margin-left:auto;margin-right:auto}}#app .section-contact .section-contact-texts .section-contact-texts-txt{padding:25px;color:#1d293f;font-size:15px;font-style:normal;font-weight:400;line-height:32px}@media(max-width: 900px){#app .section-contact .section-contact-texts .section-contact-texts-txt{padding-left:0;padding-right:0}}#app .section-contact .section-contact-form{width:100%;max-width:400px}@media(max-width: 1300px){#app .section-contact .section-contact-form{max-width:unset}}#app .section-contact .section-contact-form .section-contact-form-wrapper{padding:10px}#app .section-contact .section-contact-form .section-contact-form-wrapper h3{font-size:21px;font-style:normal;font-weight:400;line-height:normal}#app .section-contact .section-contact-form .section-contact-form-wrapper h3 strong{font-weight:700}@media(max-width: 1300px){#app .section-contact .section-contact-form .section-contact-form-wrapper h3{text-align:center}}#app .section-contact .section-contact-form .section-contact-form-wrapper form .wpforms-field{padding:7px 0;border-color:#bcbcbc;outline:none !important}#app .section-contact .section-contact-form .section-contact-form-wrapper form .wpforms-field input{border-radius:0;color:#000;font-size:11px;font-style:normal;font-weight:400;line-height:normal}#app .section-contact .section-contact-form .section-contact-form-wrapper form .wpforms-field input::-moz-placeholder{color:#000}#app .section-contact .section-contact-form .section-contact-form-wrapper form .wpforms-field input::placeholder{color:#000}#app .section-contact .section-contact-form .section-contact-form-wrapper form .required-alert p{color:#cd1f27;font-size:12px;font-style:normal;font-weight:400;line-height:normal;margin-bottom:0}#app .section-contact .section-contact-form .section-contact-form-wrapper form .marketing input[type=checkbox]::before{border-radius:0}#app .section-contact .section-contact-form .section-contact-form-wrapper form .marketing label{font-size:10px;font-style:normal;font-weight:400;line-height:normal}#app .section-contact .section-contact-form .section-contact-form-wrapper form .wpforms-submit{display:block;margin-left:auto;border-radius:0;background-color:#88b14b;height:49px;padding:0 30px;color:#fff;text-align:center;font-size:14px;font-style:normal;font-weight:400;line-height:normal}#app #calc-container .calc-bar-fix{overflow:hidden;padding:20px 0}#app #calc-container .calc-bar-fix #progress-bar{max-width:1000px;margin:50px auto 30px auto}#app #calc-container .calc-bar-fix #progress-bar .progress-bar{background:#ddd}#app #calc-container .calc-bar-fix #progress-bar .progress-bar .progress-bar-line{background:#88b14b;display:block;height:10px;width:0;transition:all 250ms ease-in-out}#app #calc-container .calc-bar-fix #calc-bar{display:flex;flex-direction:row;width:350%;margin-left:0%;transition:all 500ms ease-in-out;margin-left:-55%}@media(max-width: 1000px){#app #calc-container .calc-bar-fix #calc-bar{width:400%;margin-left:0%}}#app #calc-container .calc-bar-fix #calc-bar .calc-s{width:100%;max-width:70%;padding:0 20px;opacity:.2;transition:all 500ms ease-in-out;pointer-events:none}@media(max-width: 1000px){#app #calc-container .calc-bar-fix #calc-bar .calc-s{max-width:100%}#app #calc-container .calc-bar-fix #calc-bar .calc-s.calc-placeholder{display:none}}#app #calc-container .calc-bar-fix #calc-bar .calc-s.active{opacity:1;pointer-events:initial}#app #calc-container .calc-bar-fix #calc-bar .calc-s#calc-ch-1 .slide-data{display:flex;flex-direction:row;row-gap:20px}#app #calc-container .calc-bar-fix #calc-bar .calc-s#calc-ch-1 .slide-data img{width:100%;max-width:200px;height:-moz-fit-content;height:fit-content}#app #calc-container .calc-bar-fix #calc-bar .calc-s#calc-ch-1 .slide-data .calc-texts{width:100%}@media(max-width: 767px){#app #calc-container .calc-bar-fix #calc-bar .calc-s#calc-ch-1 .slide-data{flex-direction:column;align-items:center}}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box{position:relative;padding:25px 70px 65px 70px;box-sizing:border-box;height:100%;position:relative;border:2px solid #88b14b;background:#fff}@media(max-width: 640px){#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box{padding:25px 20px 65px 20px}}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box::before{content:"";position:absolute;width:100%;height:100%;opacity:100%;display:block;z-index:-1;background-color:#88b14b;-webkit-clip-path:polygon(0% 0%, 97% 0, 100% 4%, 100% 100%, 0% 100%);clip-path:polygon(0% 0%, 97% 0, 100% 4%, 100% 100%, 0% 100%);top:-12px;left:inherit;right:-12px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-radio{list-style:none;margin:0}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-radio li{display:flex;flex-direction:row;align-items:center;-moz-column-gap:1rem;column-gap:1rem;margin:0;width:100%;padding:12.5px 0;transition:.3s;box-shadow:1px 1px 0px rgba(0,0,0,0);cursor:pointer}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-radio li:hover{box-shadow:1px 1px 2px rgba(0,0,0,.5);background-color:#eee}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-radio li.selected .radio::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:8px;height:8px;border-radius:100%;background:#88b14b}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-radio li .radio{position:relative;width:20px;height:20px;background-color:#ddd;border-radius:50%;box-shadow:1px 1px 2px rgba(0,0,0,.5);margin-left:20px;flex-shrink:0}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-radio li .radio-text .radio-title{font-weight:600;font-size:16px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts{list-style:none;margin:0}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li{margin-right:1.75rem}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li:not(:last-child){margin-bottom:10px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li p{font-weight:600;font-size:16px;margin-bottom:0}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input.input{background-color:#f7f7f7;padding:4px 10px;border:1px solid #eee;width:100%}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input.input:focus{outline:none}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(0,0,0,0);cursor:pointer;width:100%}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input[type=range]:focus{outline:none}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input[type=range]::-webkit-slider-runnable-track{background-color:#ddd;border-radius:.5rem;height:.5rem;box-shadow:1px 1px 2px rgba(0,0,0,.5)}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-6px;border-radius:4px;background-color:#121e23;border:1px solid #fff;height:20px;width:10px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input[type=range]::-moz-range-track{background-color:#ddd;border-radius:.5rem;height:.5rem;box-shadow:1px 1px 2px rgba(0,0,0,.5);border-radius:4px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input[type=range]::-moz-range-thumb{border:none;border-radius:0px;background-color:#121e23;border:1px solid #fff;height:20px;width:10px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data .btn_send{max-width:-moz-fit-content;max-width:fit-content;margin:30px auto 0}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data .btn_send:disabled{cursor:progress;background:#cdcdcd}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--title{position:relative;display:block;width:100%;max-width:-moz-fit-content;max-width:fit-content;margin:0 auto 30px auto;text-align:center;padding-bottom:8px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--title h2{margin:0;padding:0}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .prev,#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .next{background:#88b14b;top:50%;margin:-15px;position:absolute;transition:.3s;cursor:pointer;border-radius:100%}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .prev.disabled,#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .next.disabled{background:#ddd;cursor:default}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .prev .svg-arrow,#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .next .svg-arrow{margin:0;width:48px;height:48px;display:block;padding:7px;top:0}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .prev .svg-arrow path,#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .next .svg-arrow path{transition:.3s}@media(max-width: 640px){#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .prev,#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .next{top:40px}}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .prev{left:25px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .prev .svg-arrow{transform:rotate(180deg)}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .next{right:25px}#configurator_sended{padding:40px 70px;box-sizing:border-box;height:100%;position:relative;border:2px solid #88b14b;width:100%;max-width:700px;margin:50px auto;background:#fff}#configurator_sended::before{content:"";position:absolute;width:100%;height:100%;opacity:100%;display:block;z-index:-1;background-color:#88b14b;-webkit-clip-path:polygon(0% 0%, 98% 0, 100% 4%, 100% 100%, 0% 100%);clip-path:polygon(0% 0%, 98% 0, 100% 4%, 100% 100%, 0% 100%);top:-12px;left:inherit;right:-12px}#configurator_sended h2{position:relative;display:block;width:100%;max-width:-moz-fit-content;max-width:fit-content;margin:0 auto 50px auto;text-align:center;padding-bottom:8px}#configurator_sended .configurator_sended_text{text-align:center}.step-info{display:block;font-size:14px;margin-left:39px;margin-top:20px}#home-page-seo{padding-top:50px;padding-bottom:50px}/*# sourceMappingURL=custom.css.map */ \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/custom.css.map b/wp-content/themes/ostal_WP/custom.css.map new file mode 100644 index 0000000..22f2ffa --- /dev/null +++ b/wp-content/themes/ostal_WP/custom.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["custom.scss"],"names":[],"mappings":"AACE,qBACE,iBAAA,CACA,kBAAA,CAEA,4BACE,eAAA,CACA,YAAA,CACA,wBAAA,CACA,2BAAA,CAKF,mDACE,SAAA,CAEA,qDACE,6BAAA,CAGF,0BAPF,mDAQI,oBAAA,CAAA,CAGF,0BAXF,mDAYI,SAAA,CACA,QAAA,CAAA,CAGF,yBAhBF,mDAiBI,oBAAA,CAAA,CAKN,sBACE,YAAA,CACA,6BAAA,CAEA,0BAJF,sBAKI,yBAAA,CACA,YAAA,CAAA,CAGF,6CACE,YAAA,CACA,8BAAA,CAEA,yBAJF,6CAKI,yBAAA,CAAA,CAIA,4EACE,UAAA,CACA,0BAAA,CAAA,qBAAA,CAEA,yBAJF,4EAKI,gBAAA,CACA,iBAAA,CAAA,CAKN,wEACE,YAAA,CACA,aAAA,CACA,cAAA,CACA,iBAAA,CACA,eAAA,CACA,gBAAA,CAEA,yBARF,wEASI,cAAA,CACA,eAAA,CAAA,CAKN,4CACE,UAAA,CACA,eAAA,CAEA,0BAJF,4CAKI,eAAA,CAAA,CAGF,0EACE,YAAA,CAEA,6EACE,cAAA,CACA,iBAAA,CACA,eAAA,CACA,kBAAA,CAEA,oFACE,eAAA,CAGF,0BAVF,6EAWI,iBAAA,CAAA,CAKF,8FACE,aAAA,CACA,oBAAA,CACA,uBAAA,CAEA,oGACE,eAAA,CACA,UAAA,CACA,cAAA,CACA,iBAAA,CACA,eAAA,CACA,kBAAA,CAEA,sHACE,UAAA,CADF,iHACE,UAAA,CAMJ,iGACE,aAAA,CACA,cAAA,CACA,iBAAA,CACA,eAAA,CACA,kBAAA,CACA,eAAA,CAMA,uHACE,eAAA,CAIJ,gGACE,cAAA,CACA,iBAAA,CACA,eAAA,CACA,kBAAA,CAIJ,+FACE,aAAA,CACA,gBAAA,CACA,eAAA,CACA,wBAAA,CACA,WAAA,CACA,cAAA,CACA,UAAA,CACA,iBAAA,CACA,cAAA,CACA,iBAAA,CACA,eAAA,CACA,kBAAA,CAQR,mCACE,eAAA,CACA,cAAA,CAEA,iDACE,gBAAA,CACA,0BAAA,CAEA,+DACE,eAAA,CAEA,kFACE,kBAAA,CACA,aAAA,CACA,WAAA,CACA,OAAA,CACA,gCAAA,CAKN,6CACE,YAAA,CACA,kBAAA,CAEA,UAAA,CACA,cAAA,CACA,gCAAA,CAEA,gBAAA,CAEA,0BAVF,6CAWI,UAAA,CACA,cAAA,CAAA,CAGF,qDACE,UAAA,CACA,aAAA,CACA,cAAA,CACA,UAAA,CACA,gCAAA,CACA,mBAAA,CAEA,0BARF,qDASI,cAAA,CAEA,sEACE,YAAA,CAAA,CAIJ,4DACE,SAAA,CAEA,sBAAA,CAIA,2EACE,YAAA,CACA,kBAAA,CACA,YAAA,CAEA,+EACE,UAAA,CACA,eAAA,CACA,uBAAA,CAAA,kBAAA,CAGF,uFACE,UAAA,CAGF,yBAfF,2EAgBI,qBAAA,CACA,kBAAA,CAAA,CAKN,+DACE,iBAAA,CACA,2BAAA,CACA,qBAAA,CACA,WAAA,CACA,iBAAA,CACA,wBAAA,CACA,eAAA,CAEA,yBATF,+DAUI,2BAAA,CAAA,CAGF,uEACE,UAAA,CACA,iBAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CACA,aAAA,CACA,UAAA,CAEA,wBAAA,CACA,oEAAA,CAAA,4DAAA,CACA,SAAA,CACA,YAAA,CACA,WAAA,CAIA,mFACE,eAAA,CACA,QAAA,CAEA,sFACE,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,oBAAA,CAAA,eAAA,CACA,QAAA,CACA,UAAA,CACA,gBAAA,CACA,cAAA,CACA,oCAAA,CACA,cAAA,CAEA,4FACE,qCAAA,CACA,qBAAA,CAKE,8GACE,UAAA,CACA,iBAAA,CACA,OAAA,CACA,QAAA,CACA,+BAAA,CACA,SAAA,CACA,UAAA,CACA,kBAAA,CACA,kBAAA,CAKN,6FACE,iBAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CACA,iBAAA,CACA,qCAAA,CACA,gBAAA,CACA,aAAA,CAIA,+GACE,eAAA,CACA,cAAA,CAMR,mFACE,eAAA,CACA,QAAA,CAEA,sFACE,oBAAA,CAEA,uGACE,kBAAA,CAGF,wFACE,eAAA,CACA,cAAA,CACA,eAAA,CAGF,kGACE,wBAAA,CACA,gBAAA,CACA,qBAAA,CACA,UAAA,CAEA,wGACE,YAAA,CAMJ,wGACE,uBAAA,CACA,oBAAA,CAAA,eAAA,CACA,wBAAA,CACA,cAAA,CACA,UAAA,CAIF,8GACE,YAAA,CAKF,uIACE,qBAAA,CACA,mBAAA,CACA,YAAA,CACA,qCAAA,CAIF,8HACE,uBAAA,CAEA,eAAA,CACA,eAAA,CAEA,iBAAA,CAEA,wBAAA,CACA,qBAAA,CACA,WAAA,CACA,UAAA,CAKF,0HACE,qBAAA,CACA,mBAAA,CACA,YAAA,CACA,qCAAA,CACA,iBAAA,CAIF,0HACE,WAAA,CAEA,iBAAA,CAIA,wBAAA,CACA,qBAAA,CACA,WAAA,CACA,UAAA,CAKN,+EAME,0BAAA,CAAA,qBAAA,CACA,kBAAA,CAIA,wFACE,eAAA,CACA,kBAAA,CAKN,sEACE,iBAAA,CACA,aAAA,CACA,UAAA,CACA,0BAAA,CAAA,qBAAA,CACA,uBAAA,CACA,iBAAA,CACA,kBAAA,CAaA,yEACE,QAAA,CACA,SAAA,CAIJ,0IAEE,kBAAA,CACA,OAAA,CACA,YAAA,CACA,iBAAA,CACA,cAAA,CACA,cAAA,CACA,kBAAA,CAEA,4JACE,eAAA,CACA,cAAA,CAGF,gKACE,QAAA,CACA,UAAA,CACA,WAAA,CACA,aAAA,CACA,WAAA,CACA,KAAA,CAEA,0KACE,cAAA,CAIJ,yBA5BF,0IA6BI,QAAA,CAAA,CAIJ,qEACE,SAAA,CAEA,gFACE,wBAAA,CAIJ,qEACE,UAAA,CASd,qBACE,iBAAA,CACA,qBAAA,CACA,WAAA,CACA,iBAAA,CACA,wBAAA,CACA,UAAA,CACA,eAAA,CACA,gBAAA,CACA,eAAA,CAEA,6BACE,UAAA,CACA,iBAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CACA,aAAA,CACA,UAAA,CAEA,wBAAA,CACA,oEAAA,CAAA,4DAAA,CACA,SAAA,CACA,YAAA,CACA,WAAA,CAGF,wBACE,iBAAA,CACA,aAAA,CACA,UAAA,CACA,0BAAA,CAAA,qBAAA,CACA,uBAAA,CACA,iBAAA,CACA,kBAAA,CAGF,+CACE,iBAAA,CAIJ,WACE,aAAA,CACA,cAAA,CACA,gBAAA,CACA,eAAA,CAGF,eACE,gBAAA,CACA,mBAAA","file":"custom.css","sourcesContent":["#app {\n .section-header {\n text-align: center;\n margin-bottom: 60px;\n\n .title {\n margin-bottom: 0;\n margin-top: 0;\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n }\n\n .section-realizacje {\n .recent-realizations-item {\n width: 25%;\n\n >p {\n background: rgba(86, 165, 61, 0.8);\n }\n\n @media (min-width: 1536px) {\n padding-bottom: 20rem;\n }\n\n @media (max-width: 1000px) {\n width: 50%;\n margin: 0;\n }\n\n @media (max-width: 640px) {\n padding-bottom: 10rem;\n }\n }\n }\n\n .section-contact {\n display: grid;\n grid-template-columns: 2fr 1fr;\n\n @media (max-width: 1300px) {\n grid-template-columns: 1fr;\n row-gap: 30px;\n }\n\n .section-contact-texts {\n display: grid;\n grid-template-columns: auto 1fr;\n\n @media (max-width: 900px) {\n grid-template-columns: 1fr;\n }\n\n .section-contact-texts-img {\n img {\n width: 100%;\n max-width: fit-content;\n\n @media (max-width: 900px) {\n margin-left: auto;\n margin-right: auto;\n }\n }\n }\n\n .section-contact-texts-txt {\n padding: 25px;\n color: #1d293f;\n font-size: 15px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px;\n\n @media (max-width: 900px) {\n padding-left: 0;\n padding-right: 0;\n }\n }\n }\n\n .section-contact-form {\n width: 100%;\n max-width: 400px;\n\n @media (max-width: 1300px) {\n max-width: unset;\n }\n\n .section-contact-form-wrapper {\n padding: 10px;\n\n h3 {\n font-size: 21px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n\n strong {\n font-weight: 700;\n }\n\n @media (max-width: 1300px) {\n text-align: center;\n }\n }\n\n form {\n .wpforms-field {\n padding: 7px 0;\n border-color: #bcbcbc;\n outline: none !important;\n\n input {\n border-radius: 0;\n color: #000;\n font-size: 11px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n\n &::placeholder {\n color: #000;\n }\n }\n }\n\n .required-alert {\n p {\n color: #cd1f27;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n margin-bottom: 0;\n }\n }\n\n .marketing {\n input[type=\"checkbox\"] {\n &::before {\n border-radius: 0;\n }\n }\n\n label {\n font-size: 10px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n }\n }\n\n .wpforms-submit {\n display: block;\n margin-left: auto;\n border-radius: 0;\n background-color: #88b14b;\n height: 49px;\n padding: 0 30px;\n color: #fff;\n text-align: center;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n }\n }\n }\n }\n }\n\n #calc-container {\n .calc-bar-fix {\n overflow: hidden;\n padding: 20px 0;\n\n #progress-bar {\n max-width: 1000px;\n margin: 50px auto 30px auto;\n\n .progress-bar {\n background: #ddd;\n\n .progress-bar-line {\n background: #88b14b;\n display: block;\n height: 10px;\n width: 0;\n transition: all 250ms ease-in-out;\n }\n }\n }\n\n #calc-bar {\n display: flex;\n flex-direction: row;\n // width: 250%;\n width: 350%;\n margin-left: 0%;\n transition: all 500ms ease-in-out;\n // margin-left: -25%;\n margin-left: -55%;\n\n @media (max-width: 1000px) {\n width: 400%;\n margin-left: 0%;\n }\n\n .calc-s {\n width: 100%;\n max-width: 70%;\n padding: 0 20px;\n opacity: 0.2;\n transition: all 500ms ease-in-out;\n pointer-events: none;\n\n @media (max-width: 1000px) {\n max-width: 100%;\n\n &.calc-placeholder {\n display: none;\n }\n }\n\n &.active {\n opacity: 1;\n // transform: scale(1);\n pointer-events: initial;\n }\n\n &#calc-ch-1 {\n .slide-data {\n display: flex;\n flex-direction: row;\n row-gap: 20px;\n\n img {\n width: 100%;\n max-width: 200px;\n height: fit-content;\n }\n\n .calc-texts {\n width: 100%;\n }\n\n @media (max-width: 767px) {\n flex-direction: column;\n align-items: center;\n }\n }\n }\n\n .calc-box {\n position: relative;\n padding: 25px 70px 65px 70px;\n box-sizing: border-box;\n height: 100%;\n position: relative;\n border: 2px solid #88b14b;\n background: #fff;\n\n @media (max-width: 640px) {\n padding: 25px 20px 65px 20px;\n }\n\n &::before {\n content: \"\";\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 100%;\n display: block;\n z-index: -1;\n\n background-color: #88b14b;\n clip-path: polygon(0% 0%, 97% 0, 100% 4%, 100% 100%, 0% 100%);\n top: -12px;\n left: inherit;\n right: -12px;\n }\n\n &--data {\n ul.calc-radio {\n list-style: none;\n margin: 0;\n\n li {\n display: flex;\n flex-direction: row;\n align-items: center;\n column-gap: 1rem;\n margin: 0;\n width: 100%;\n padding: 12.5px 0;\n transition: 0.3s;\n box-shadow: 1px 1px 0px rgba(0, 0, 0, 0);\n cursor: pointer;\n\n &:hover {\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);\n background-color: #eee;\n }\n\n &.selected {\n .radio {\n &::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 8px;\n height: 8px;\n border-radius: 100%;\n background: #88b14b;\n }\n }\n }\n\n .radio {\n position: relative;\n width: 20px;\n height: 20px;\n background-color: #ddd;\n border-radius: 50%;\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);\n margin-left: 20px;\n flex-shrink: 0;\n }\n\n .radio-text {\n .radio-title {\n font-weight: 600;\n font-size: 16px;\n }\n }\n }\n }\n\n ul.calc-texts {\n list-style: none;\n margin: 0;\n\n li {\n margin-right: 1.75rem;\n\n &:not(:last-child) {\n margin-bottom: 10px;\n }\n\n p {\n font-weight: 600;\n font-size: 16px;\n margin-bottom: 0;\n }\n\n input.input {\n background-color: #f7f7f7;\n padding: 4px 10px;\n border: 1px solid #eee;\n width: 100%;\n\n &:focus {\n outline: none;\n }\n }\n\n /********** Range Input Styles **********/\n /*Range Reset*/\n input[type=\"range\"] {\n -webkit-appearance: none;\n appearance: none;\n background: transparent;\n cursor: pointer;\n width: 100%;\n }\n\n /* Removes default focus */\n input[type=\"range\"]:focus {\n outline: none;\n }\n\n /***** Chrome, Safari, Opera and Edge Chromium styles *****/\n /* slider track */\n input[type=\"range\"]::-webkit-slider-runnable-track {\n background-color: #ddd;\n border-radius: 0.5rem;\n height: 0.5rem;\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);\n }\n\n /* slider thumb */\n input[type=\"range\"]::-webkit-slider-thumb {\n -webkit-appearance: none;\n /* Override default look */\n appearance: none;\n margin-top: -6px;\n /* Centers thumb on the track */\n border-radius: 4px;\n /*custom styles*/\n background-color: #121e23;\n border: 1px solid #fff;\n height: 20px;\n width: 10px;\n }\n\n /******** Firefox styles ********/\n /* slider track */\n input[type=\"range\"]::-moz-range-track {\n background-color: #ddd;\n border-radius: 0.5rem;\n height: 0.5rem;\n box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);\n border-radius: 4px;\n }\n\n /* slider thumb */\n input[type=\"range\"]::-moz-range-thumb {\n border: none;\n /*Removes extra border that FF applies*/\n border-radius: 0px;\n /*Removes default border-radius that FF applies*/\n\n /*custom styles*/\n background-color: #121e23;\n border: 1px solid #fff;\n height: 20px;\n width: 10px;\n }\n }\n }\n\n .btn_send {\n // color: #fff;\n // padding: 5px 15px;\n // background: #56a53d;\n // font-size: 14px;\n // display: block;\n max-width: fit-content;\n margin: 30px auto 0;\n // outline: none;\n // transition: all 250ms ease-in-out;\n\n &:disabled {\n cursor: progress;\n background: #cdcdcd;\n }\n }\n }\n\n &--title {\n position: relative;\n display: block;\n width: 100%;\n max-width: fit-content;\n margin: 0 auto 30px auto;\n text-align: center;\n padding-bottom: 8px;\n\n // &::before {\n // \tcontent: '';\n // \tposition: absolute;\n // \tbottom: 0;\n // \tleft: 50%;\n // \theight: 2px;\n // \twidth: calc(100% + 60px);\n // \tbackground: #132473;\n // \ttransform: translateX(-50%);\n // }\n\n h2 {\n margin: 0;\n padding: 0;\n }\n }\n\n .prev,\n .next {\n background: #88b14b;\n top: 50%;\n margin: -15px;\n position: absolute;\n transition: 0.3s;\n cursor: pointer;\n border-radius: 100%;\n\n &.disabled {\n background: #ddd;\n cursor: default;\n }\n\n .svg-arrow {\n margin: 0;\n width: 48px;\n height: 48px;\n display: block;\n padding: 7px;\n top: 0;\n\n path {\n transition: 0.3s;\n }\n }\n\n @media (max-width: 640px) {\n top: 40px;\n }\n }\n\n .prev {\n left: 25px;\n\n .svg-arrow {\n transform: rotate(180deg);\n }\n }\n\n .next {\n right: 25px;\n }\n }\n }\n }\n }\n }\n}\n\n#configurator_sended {\n padding: 40px 70px;\n box-sizing: border-box;\n height: 100%;\n position: relative;\n border: 2px solid #88b14b;\n width: 100%;\n max-width: 700px;\n margin: 50px auto;\n background: #fff;\n\n &::before {\n content: \"\";\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 100%;\n display: block;\n z-index: -1;\n\n background-color: #88b14b;\n clip-path: polygon(0% 0%, 98% 0, 100% 4%, 100% 100%, 0% 100%);\n top: -12px;\n left: inherit;\n right: -12px;\n }\n\n h2 {\n position: relative;\n display: block;\n width: 100%;\n max-width: fit-content;\n margin: 0 auto 50px auto;\n text-align: center;\n padding-bottom: 8px;\n }\n\n .configurator_sended_text {\n text-align: center;\n }\n}\n\n.step-info {\n display: block;\n font-size: 14px;\n margin-left: 39px;\n margin-top: 20px;\n}\n\n#home-page-seo {\n padding-top: 50px;\n padding-bottom: 50px;\n}"]} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/custom.scss b/wp-content/themes/ostal_WP/custom.scss new file mode 100644 index 0000000..9ce624f --- /dev/null +++ b/wp-content/themes/ostal_WP/custom.scss @@ -0,0 +1,576 @@ +#app { + .section-header { + text-align: center; + margin-bottom: 60px; + + .title { + margin-bottom: 0; + margin-top: 0; + padding-top: 0 !important; + padding-bottom: 0 !important; + } + } + + .section-realizacje { + .recent-realizations-item { + width: 25%; + + >p { + background: rgba(86, 165, 61, 0.8); + } + + @media (min-width: 1536px) { + padding-bottom: 20rem; + } + + @media (max-width: 1000px) { + width: 50%; + margin: 0; + } + + @media (max-width: 640px) { + padding-bottom: 10rem; + } + } + } + + .section-contact { + display: grid; + grid-template-columns: 2fr 1fr; + + @media (max-width: 1300px) { + grid-template-columns: 1fr; + row-gap: 30px; + } + + .section-contact-texts { + display: grid; + grid-template-columns: auto 1fr; + + @media (max-width: 900px) { + grid-template-columns: 1fr; + } + + .section-contact-texts-img { + img { + width: 100%; + max-width: fit-content; + + @media (max-width: 900px) { + margin-left: auto; + margin-right: auto; + } + } + } + + .section-contact-texts-txt { + padding: 25px; + color: #1d293f; + font-size: 15px; + font-style: normal; + font-weight: 400; + line-height: 32px; + + @media (max-width: 900px) { + padding-left: 0; + padding-right: 0; + } + } + } + + .section-contact-form { + width: 100%; + max-width: 400px; + + @media (max-width: 1300px) { + max-width: unset; + } + + .section-contact-form-wrapper { + padding: 10px; + + h3 { + font-size: 21px; + font-style: normal; + font-weight: 400; + line-height: normal; + + strong { + font-weight: 700; + } + + @media (max-width: 1300px) { + text-align: center; + } + } + + form { + .wpforms-field { + padding: 7px 0; + border-color: #bcbcbc; + outline: none !important; + + input { + border-radius: 0; + color: #000; + font-size: 11px; + font-style: normal; + font-weight: 400; + line-height: normal; + + &::placeholder { + color: #000; + } + } + } + + .required-alert { + p { + color: #cd1f27; + font-size: 12px; + font-style: normal; + font-weight: 400; + line-height: normal; + margin-bottom: 0; + } + } + + .marketing { + input[type="checkbox"] { + &::before { + border-radius: 0; + } + } + + label { + font-size: 10px; + font-style: normal; + font-weight: 400; + line-height: normal; + } + } + + .wpforms-submit { + display: block; + margin-left: auto; + border-radius: 0; + background-color: #88b14b; + height: 49px; + padding: 0 30px; + color: #fff; + text-align: center; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: normal; + } + } + } + } + } + + #calc-container { + .calc-bar-fix { + overflow: hidden; + padding: 20px 0; + + #progress-bar { + max-width: 1000px; + margin: 50px auto 30px auto; + + .progress-bar { + background: #ddd; + + .progress-bar-line { + background: #88b14b; + display: block; + height: 10px; + width: 0; + transition: all 250ms ease-in-out; + } + } + } + + #calc-bar { + display: flex; + flex-direction: row; + // width: 250%; + width: 350%; + margin-left: 0%; + transition: all 500ms ease-in-out; + // margin-left: -25%; + margin-left: -55%; + + @media (max-width: 1000px) { + width: 400%; + margin-left: 0%; + } + + .calc-s { + width: 100%; + max-width: 70%; + padding: 0 20px; + opacity: 0.2; + transition: all 500ms ease-in-out; + pointer-events: none; + + @media (max-width: 1000px) { + max-width: 100%; + + &.calc-placeholder { + display: none; + } + } + + &.active { + opacity: 1; + // transform: scale(1); + pointer-events: initial; + } + + &#calc-ch-1 { + .slide-data { + display: flex; + flex-direction: row; + row-gap: 20px; + + img { + width: 100%; + max-width: 200px; + height: fit-content; + } + + .calc-texts { + width: 100%; + } + + @media (max-width: 767px) { + flex-direction: column; + align-items: center; + } + } + } + + .calc-box { + position: relative; + padding: 25px 70px 65px 70px; + box-sizing: border-box; + height: 100%; + position: relative; + border: 2px solid #88b14b; + background: #fff; + + @media (max-width: 640px) { + padding: 25px 20px 65px 20px; + } + + &::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + opacity: 100%; + display: block; + z-index: -1; + + background-color: #88b14b; + clip-path: polygon(0% 0%, 97% 0, 100% 4%, 100% 100%, 0% 100%); + top: -12px; + left: inherit; + right: -12px; + } + + &--data { + ul.calc-radio { + list-style: none; + margin: 0; + + li { + display: flex; + flex-direction: row; + align-items: center; + column-gap: 1rem; + margin: 0; + width: 100%; + padding: 12.5px 0; + transition: 0.3s; + box-shadow: 1px 1px 0px rgba(0, 0, 0, 0); + cursor: pointer; + + &:hover { + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + background-color: #eee; + } + + &.selected { + .radio { + &::before { + content: ""; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 8px; + height: 8px; + border-radius: 100%; + background: #88b14b; + } + } + } + + .radio { + position: relative; + width: 20px; + height: 20px; + background-color: #ddd; + border-radius: 50%; + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + margin-left: 20px; + flex-shrink: 0; + } + + .radio-text { + .radio-title { + font-weight: 600; + font-size: 16px; + } + } + } + } + + ul.calc-texts { + list-style: none; + margin: 0; + + li { + margin-right: 1.75rem; + + &:not(:last-child) { + margin-bottom: 10px; + } + + p { + font-weight: 600; + font-size: 16px; + margin-bottom: 0; + } + + input.input { + background-color: #f7f7f7; + padding: 4px 10px; + border: 1px solid #eee; + width: 100%; + + &:focus { + outline: none; + } + } + + /********** Range Input Styles **********/ + /*Range Reset*/ + input[type="range"] { + -webkit-appearance: none; + appearance: none; + background: transparent; + cursor: pointer; + width: 100%; + } + + /* Removes default focus */ + input[type="range"]:focus { + outline: none; + } + + /***** Chrome, Safari, Opera and Edge Chromium styles *****/ + /* slider track */ + input[type="range"]::-webkit-slider-runnable-track { + background-color: #ddd; + border-radius: 0.5rem; + height: 0.5rem; + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + } + + /* slider thumb */ + input[type="range"]::-webkit-slider-thumb { + -webkit-appearance: none; + /* Override default look */ + appearance: none; + margin-top: -6px; + /* Centers thumb on the track */ + border-radius: 4px; + /*custom styles*/ + background-color: #121e23; + border: 1px solid #fff; + height: 20px; + width: 10px; + } + + /******** Firefox styles ********/ + /* slider track */ + input[type="range"]::-moz-range-track { + background-color: #ddd; + border-radius: 0.5rem; + height: 0.5rem; + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + border-radius: 4px; + } + + /* slider thumb */ + input[type="range"]::-moz-range-thumb { + border: none; + /*Removes extra border that FF applies*/ + border-radius: 0px; + /*Removes default border-radius that FF applies*/ + + /*custom styles*/ + background-color: #121e23; + border: 1px solid #fff; + height: 20px; + width: 10px; + } + } + } + + .btn_send { + // color: #fff; + // padding: 5px 15px; + // background: #56a53d; + // font-size: 14px; + // display: block; + max-width: fit-content; + margin: 30px auto 0; + // outline: none; + // transition: all 250ms ease-in-out; + + &:disabled { + cursor: progress; + background: #cdcdcd; + } + } + } + + &--title { + position: relative; + display: block; + width: 100%; + max-width: fit-content; + margin: 0 auto 30px auto; + text-align: center; + padding-bottom: 8px; + + // &::before { + // content: ''; + // position: absolute; + // bottom: 0; + // left: 50%; + // height: 2px; + // width: calc(100% + 60px); + // background: #132473; + // transform: translateX(-50%); + // } + + h2 { + margin: 0; + padding: 0; + } + } + + .prev, + .next { + background: #88b14b; + top: 50%; + margin: -15px; + position: absolute; + transition: 0.3s; + cursor: pointer; + border-radius: 100%; + + &.disabled { + background: #ddd; + cursor: default; + } + + .svg-arrow { + margin: 0; + width: 48px; + height: 48px; + display: block; + padding: 7px; + top: 0; + + path { + transition: 0.3s; + } + } + + @media (max-width: 640px) { + top: 40px; + } + } + + .prev { + left: 25px; + + .svg-arrow { + transform: rotate(180deg); + } + } + + .next { + right: 25px; + } + } + } + } + } + } +} + +#configurator_sended { + padding: 40px 70px; + box-sizing: border-box; + height: 100%; + position: relative; + border: 2px solid #88b14b; + width: 100%; + max-width: 700px; + margin: 50px auto; + background: #fff; + + &::before { + content: ""; + position: absolute; + width: 100%; + height: 100%; + opacity: 100%; + display: block; + z-index: -1; + + background-color: #88b14b; + clip-path: polygon(0% 0%, 98% 0, 100% 4%, 100% 100%, 0% 100%); + top: -12px; + left: inherit; + right: -12px; + } + + h2 { + position: relative; + display: block; + width: 100%; + max-width: fit-content; + margin: 0 auto 50px auto; + text-align: center; + padding-bottom: 8px; + } + + .configurator_sended_text { + text-align: center; + } +} + +.step-info { + display: block; + font-size: 14px; + margin-left: 39px; + margin-top: 20px; +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/fonts/SpaceGrotesk-Bold.woff2 b/wp-content/themes/ostal_WP/fonts/SpaceGrotesk-Bold.woff2 new file mode 100644 index 0000000..b06c814 Binary files /dev/null and b/wp-content/themes/ostal_WP/fonts/SpaceGrotesk-Bold.woff2 differ diff --git a/wp-content/themes/ostal_WP/fonts/SpaceGrotesk-Light.woff2 b/wp-content/themes/ostal_WP/fonts/SpaceGrotesk-Light.woff2 new file mode 100644 index 0000000..233c45b Binary files /dev/null and b/wp-content/themes/ostal_WP/fonts/SpaceGrotesk-Light.woff2 differ diff --git a/wp-content/themes/ostal_WP/fonts/SpaceGrotesk-Regular.woff2 b/wp-content/themes/ostal_WP/fonts/SpaceGrotesk-Regular.woff2 new file mode 100644 index 0000000..b72d5f4 Binary files /dev/null and b/wp-content/themes/ostal_WP/fonts/SpaceGrotesk-Regular.woff2 differ diff --git a/wp-content/themes/ostal_WP/fonts/fonts.css b/wp-content/themes/ostal_WP/fonts/fonts.css new file mode 100644 index 0000000..4b6d338 --- /dev/null +++ b/wp-content/themes/ostal_WP/fonts/fonts.css @@ -0,0 +1,18 @@ +@font-face { + font-family: 'Space Grotesk'; + src: url('./SpaceGrotesk-Light.woff2') format('woff2'); + font-weight: 300; + font-style: normal; +} +@font-face { + font-family: 'Space Grotesk'; + src: url('./SpaceGrotesk-Regular.woff2') format('woff2'); + font-weight: 400; + font-style: normal; +} +@font-face { + font-family: 'Space Grotesk'; + src: url('./SpaceGrotesk-Bold.woff2') format('woff2'); + font-weight: 700; + font-style: normal; +} diff --git a/wp-content/themes/ostal_WP/footer.php b/wp-content/themes/ostal_WP/footer.php new file mode 100644 index 0000000..5cf11fa --- /dev/null +++ b/wp-content/themes/ostal_WP/footer.php @@ -0,0 +1,101 @@ +
+
+ +
+ + + + + + + + + + + + + +
+ + + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/functions.php b/wp-content/themes/ostal_WP/functions.php new file mode 100644 index 0000000..a0d2410 --- /dev/null +++ b/wp-content/themes/ostal_WP/functions.php @@ -0,0 +1,190 @@ + __( 'Primary Menu', 'ostal' ), + ) +); + +/*-----------------------------------------------------------------------------------*/ +/* Set filter for nav_menu_css_class. +/*-----------------------------------------------------------------------------------*/ + +function add_additional_class_on_li($classes, $item, $args) { + if(isset($args->add_li_class)) { + $classes[] = $args->add_li_class; + } + return $classes; +} +add_filter('nav_menu_css_class', 'add_additional_class_on_li', 1, 3); + +/*-----------------------------------------------------------------------------------*/ +/* Enqueue Styles and Scripts +/*-----------------------------------------------------------------------------------*/ + +function add_custom_fonts() { + wp_enqueue_style( 'custom-fonts', get_template_directory_uri() . '/fonts/fonts.css', array(), null ); +} +add_action( 'wp_enqueue_scripts', 'add_custom_fonts' ); + +function ostal_scripts() { + + wp_enqueue_style('ostal-styles', get_theme_file_uri() . '/ostal-front/dist/assets/main.css',array(), OSTAL_VERSION, 'all'); + wp_enqueue_style('style.css', get_stylesheet_directory_uri() . '/style.css'); + + // wp_enqueue_script( 'ostal-js', get_theme_file_uri() . '/ostal-front/dist/assets/main.js', array( 'jquery' ), OSTAL_VERSION, true ); + + wp_enqueue_script( 'main-js', get_stylesheet_directory_uri().'/js/main.js', array(), filemtime(get_stylesheet_directory() . '/js/main.js'), true ); + + if(is_page_template( 'page-templates/template-about.php' )) { + wp_enqueue_style('video-js-styles', 'https://vjs.zencdn.net/7.11.4/video-js.css'); + wp_enqueue_script( 'video-js', 'https://vjs.zencdn.net/7.11.4/video.min.js', array( ), OSTAL_VERSION, true ); + } + + // if(is_singular('realizacje')) { + // wp_enqueue_script( 'vue', 'https://unpkg.com/vue@next', array( ), NULL, true ); + // wp_enqueue_script( 'vue-lightbox', 'https://unpkg.com/vue-easy-lightbox@next/dist/vue-easy-lightbox.umd.min.js', array( ), NULL, true ); + // // wp_enqueue_script( 'vue-slider', get_theme_file_uri() . '/ostal-front/dist/assets/vue-slider.js', array( ), OSTAL_VERSION, true ); + // } + + +} +add_action( 'wp_enqueue_scripts', 'ostal_scripts' ); + +// Allow SVG +function cc_mime_types($mimes) { + $mimes['svg'] = 'image/svg+xml'; + return $mimes; + } +add_filter('upload_mimes', 'cc_mime_types'); + +// remove extra p and br on contact form 7 +add_filter( 'wpcf7_autop_or_not', '__return_false' ); + +/*-----------------------------------------------------------------------------------*/ +/* Custom post types +/*-----------------------------------------------------------------------------------*/ + +function realizacje() { + + $labels = array( + 'name' => _x( 'Realizacje', 'Post Type General Name', 'text_domain' ), + 'singular_name' => _x( 'Realizacja', 'Post Type Singular Name', 'text_domain' ), + 'menu_name' => __( 'Realizacje', 'text_domain' ), + 'name_admin_bar' => __( 'Realizacje', 'text_domain' ), + 'archives' => __( 'Item Archives', 'text_domain' ), + 'attributes' => __( 'Item Attributes', 'text_domain' ), + 'parent_item_colon' => __( 'Parent Item:', 'text_domain' ), + 'all_items' => __( 'All Items', 'text_domain' ), + 'add_new_item' => __( 'Add New Item', 'text_domain' ), + 'add_new' => __( 'Add New', 'text_domain' ), + 'new_item' => __( 'New Item', 'text_domain' ), + 'edit_item' => __( 'Edit Item', 'text_domain' ), + 'update_item' => __( 'Update Item', 'text_domain' ), + 'view_item' => __( 'View Item', 'text_domain' ), + 'view_items' => __( 'View Items', 'text_domain' ), + 'search_items' => __( 'Search Item', 'text_domain' ), + 'not_found' => __( 'Not found', 'text_domain' ), + 'not_found_in_trash' => __( 'Not found in Trash', 'text_domain' ), + 'featured_image' => __( 'Featured Image', 'text_domain' ), + 'set_featured_image' => __( 'Set featured image', 'text_domain' ), + 'remove_featured_image' => __( 'Remove featured image', 'text_domain' ), + 'use_featured_image' => __( 'Use as featured image', 'text_domain' ), + 'insert_into_item' => __( 'Insert into item', 'text_domain' ), + 'uploaded_to_this_item' => __( 'Uploaded to this item', 'text_domain' ), + 'items_list' => __( 'Items list', 'text_domain' ), + 'items_list_navigation' => __( 'Items list navigation', 'text_domain' ), + 'filter_items_list' => __( 'Filter items list', 'text_domain' ), + ); + $args = array( + 'label' => __( 'Realizacja', 'text_domain' ), + 'description' => __( 'Post Type Description', 'text_domain' ), + 'labels' => $labels, + 'supports' => array( 'title','thumbnail' ), + // 'taxonomies' => array( 'category', 'post_tag' ), + 'hierarchical' => false, + 'public' => true, + 'show_ui' => true, + 'show_in_menu' => true, + 'menu_position' => 5, + 'show_in_admin_bar' => true, + 'show_in_nav_menus' => true, + 'can_export' => true, + 'has_archive' => true, + 'exclude_from_search' => false, + 'publicly_queryable' => true, + 'capability_type' => 'page', + 'show_in_rest' => true, + ); + register_post_type( 'realizacje', $args ); + +} +add_action( 'init', 'realizacje', 0 ); + + +/*-----------------------------------------------------------------------------------*/ +/* Dashboard +/*-----------------------------------------------------------------------------------*/ + +function remove_admin_menus () { + global $menu; + $removed = array( + //__('Posts'), + __('Comments') + ); + end ($menu); + while (prev($menu)){ + $value = explode( + ' ', + $menu[key($menu)][0]); + if(in_array($value[0] != NULL?$value[0]:"" , $removed)){ + unset($menu[key($menu)]); + } + } +} +//add_action('admin_menu', 'remove_admin_menus'); + + +/*-----------------------------------------------------------------------------------*/ +/* Options page +/*-----------------------------------------------------------------------------------*/ + +if( function_exists('acf_add_options_page') ) { + + acf_add_options_page(array( + 'page_title' => 'Ostal ustawienia', + 'menu_title' => 'Ostal', + 'menu_slug' => 'ostal-settings', + 'capability' => 'edit_posts', + 'redirect' => false + )); + + +} + +/*-----------------------------------------------------------------------------------*/ +/* Sierotki +/*-----------------------------------------------------------------------------------*/ + +function acf_orphans($value, $post_id, $field) { + if ( class_exists( 'iworks_orphan' ) ) { + $orphan = new \iworks_orphan(); + $value = $orphan->replace( $value ); + } + return $value; + } + add_filter('acf/format_value/type=textarea', 'acf_orphans', 10, 3); + add_filter('acf/format_value/type=wysiwyg', 'acf_orphans', 10, 3); + +function my_theme_enqueue_styles() { + wp_enqueue_style('custom', get_stylesheet_directory_uri() . '/css/custom.css', array(), '1.0.0', 'all'); +} + +add_action('wp_enqueue_scripts', 'my_theme_enqueue_styles'); diff --git a/wp-content/themes/ostal_WP/header.php b/wp-content/themes/ostal_WP/header.php new file mode 100644 index 0000000..a706327 --- /dev/null +++ b/wp-content/themes/ostal_WP/header.php @@ -0,0 +1,126 @@ + +> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +> + + + + +
+ + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/images/arrow-right.png b/wp-content/themes/ostal_WP/images/arrow-right.png new file mode 100644 index 0000000..fa3d4bb Binary files /dev/null and b/wp-content/themes/ostal_WP/images/arrow-right.png differ diff --git a/wp-content/themes/ostal_WP/index.php b/wp-content/themes/ostal_WP/index.php new file mode 100644 index 0000000..2e99f70 --- /dev/null +++ b/wp-content/themes/ostal_WP/index.php @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/js/main.js b/wp-content/themes/ostal_WP/js/main.js new file mode 100644 index 0000000..bd37e97 --- /dev/null +++ b/wp-content/themes/ostal_WP/js/main.js @@ -0,0 +1,53 @@ +const navbarBtn = document.querySelector('#navbar-btn'); +const mainMenu = document.querySelector('.main-menu'); +navbarBtn.addEventListener('click', () => { + mainMenu.classList.toggle('active'); + if(mainMenu.classList.contains('active')) { + disableScroll(); + } + else { + enableScroll(); + } +}); + +function disableScroll() { + document.body.style.overflow = 'hidden'; +} +function enableScroll() { + document.body.style.overflow = 'auto'; +} + +//Gallery lightbox +document.addEventListener("DOMContentLoaded", () => { + // ===> DOM elements <=== // + + const $imagesContainer = document.getElementById('gallery-lightbox'); + const $lightbox = document.getElementById('lightbox'); + + // ===> Event listeners and triggers <=== // + + // Show lightbox + $imagesContainer.addEventListener('click', e => { + const imageWrapper = e.target.closest('.gallery-image'); + if (imageWrapper) { + const image = imageWrapper.querySelector('img'); + if (image) { + $lightbox.innerHTML = '
' + image.outerHTML; + $lightbox.classList.add('show'); + } + } + }); + + // Hide Lightbox + $lightbox.addEventListener('click', (e) => { + if (!e.target.hasAttribute('src')) { + $lightbox.classList.remove('show'); + } + }); + + // Loading... + setTimeout(() => + $imagesContainer.classList.remove('loading') + , 1500); + +}); \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/.gitattributes b/wp-content/themes/ostal_WP/ostal-front/.gitattributes new file mode 100644 index 0000000..f8ff2b5 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/.gitattributes @@ -0,0 +1 @@ +*.mp4 filter=lfs diff=lfs merge=lfs -text diff --git a/wp-content/themes/ostal_WP/ostal-front/.gitignore b/wp-content/themes/ostal_WP/ostal-front/.gitignore new file mode 100644 index 0000000..7bcb7c4 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/.gitignore @@ -0,0 +1,5 @@ +node_modules +.DS_Store +dist-ssr +*.local +.mp4 \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/carporty.html b/wp-content/themes/ostal_WP/ostal-front/carporty.html new file mode 100644 index 0000000..31774d0 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/carporty.html @@ -0,0 +1,222 @@ + + + + + + + + Ostal + + + + + + + +
+ + +
+ +
+
+ + + +
+

Carporty

+

Carport to nowoczesna wiata samochodowa, której dach pokryty jest panelami + fotowoltaicznymi. Pozwala zbudować zadaszenie, które chroni samochód przed czynnikami + atmosferycznymi i + jednocześnie wykorzystuje energię słoneczną do pozyskania energii elektrycznej. +

+

Stabilna konstrukcja carportu posiada instalację PV, złożoną z 9 modułów PV i z + powodzeniem zastępuje montaż instalacji na dachu budynku. Co więcej w każdej chwili możesz ją + rozbudować + o kolejne stanowiska, jeśli tylko masz na to przestrzeń.

+
+ +
+ + +
+ +
+

+ Budujemy carporty z aluminium +

+

Nasze konstrukcje są stabilne, wykonane z aluminiowych profili. Mają dach + jednospadowy. +

+ +

Stawiamy carporty dla 1 lub 2 pojazdów, wyposażone w moduły PV: +

+
    +
  • Krzemowe – wykonane z krzemu: monokrystaliczne (sprawność w do 21,1%), + pokrystaliczne (stosowane + rzadziej, o sprawności w granicach 17-18%) i amorficzne (sprawność w granicach 6-10%). Są bardzo + wydajne + w słoneczne dni. +
  • +
  • Cienkowarstwowe – wykonane z miedzi, indu, selenu, galu i siarki. Cechuje je + mniejsza sprawność niż ogniwa krzemowe, ale zachowują wysoką wydajność także w pochmurne dni i w + warunkach słabego oświetlenia. +
  • +
+ + +
+ + + +
+

Oferujemy różne modele carportów pod panele fotowoltaiczne: +

+

konstrukcje wolnostojące (4 słupy) + konstrukcje przyścienne (2 słupy, stosowane też jako dodatkowy moduł) + konstrukcje bez słupów – sam dach +

+

+ Szerokość konstrukcji dla 1 pojazdu wynosi: dł. 6,1 m (dł.) x 3,4 m (szer.) x 2,8 m (wys.), albo + alternatywnie: dł. 7,5 m (dł.) x 3,2 m (szer.) x 2,8 m (wys.). +

+ +
+ + +
+ +
+ + +
+

Czy wiesz, że

+

Energia elektryczna, która powstanie dzięki instalacji umieszczonej na wiacie, może + brać udział w aukcjach OZE. +

+
+ + +
+

+ Standardowe wyposażenie wiaty samochodowej z oferty firmy Ostal obejmuje: +

+

konstrukcję pod instalację fotowoltaiczną o mocy Pmax 4,18 kW, złożoną z 9 + modułów + PV lub konstrukcję pod instalację fotowoltaiczną o mocy Pmax 4,74 kW, złożoną z 12 modułów PV + instalację elektryczną z gniazdem 230V +

+

+ W ramach dodatkowego wyposażenia zapewniamy: +

+

rynny odprowadzające wodę z dachu i rurę spustową (ø 50 mm, aluminium) + oświetlenie LED z czujką ruchu i zmierzchu + przesłony na boczne ściany: typu ZIIP120 lub rolety ze sterowaniem elektrycznym + inwerter sieciowy lub wyspowy do pracy z bankiem energii oraz power bank 2,5 kW lub 10 kW +

+
+ + +
+
+
+

Nie wiesz, co wybrać ?

+

Chętnie doradzimy i przygotujemy + Twój wyjątkowy projekt. +

+
+ +
+ + + +
+ + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/favicon.svg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/favicon.svg new file mode 100644 index 0000000..de4aedd --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/assets/favicon.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/home.js b/wp-content/themes/ostal_WP/ostal-front/dist/assets/home.js new file mode 100644 index 0000000..791ee9e --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/assets/home.js @@ -0,0 +1 @@ +import"./main.js";import e from"https://unpkg.com/swiper/swiper-bundle.esm.browser.min.js";new e(".swiper-container",{loop:!0,speed:1e3,autoHeight:!0,slidesPerView:1,autoplay:{delay:3e3,pauseOnMouseEnter:!0},effect:"fade",fadeEffect:{crossFade:!0},navigation:{nextEl:".swiper-button-next"}}); diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/12.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/12.jpg new file mode 100644 index 0000000..e199ca1 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/12.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/121-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/121-150x150.jpg new file mode 100644 index 0000000..0dd3ae9 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/121-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/2-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/2-150x150.jpg new file mode 100644 index 0000000..c1ab6db Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/2-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/25wat-logo.svg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/25wat-logo.svg new file mode 100644 index 0000000..7be4e6b --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/25wat-logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/3-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/3-150x150.jpg new file mode 100644 index 0000000..abd957c Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/3-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/4-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/4-150x150.jpg new file mode 100644 index 0000000..8cd4148 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/4-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/51-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/51-150x150.jpg new file mode 100644 index 0000000..f71e3ea Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/51-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/6-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/6-150x150.jpg new file mode 100644 index 0000000..666b4c6 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/6-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/7-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/7-150x150.jpg new file mode 100644 index 0000000..cbe4444 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/7-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/8-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/8-150x150.jpg new file mode 100644 index 0000000..cd4d230 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/8-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/9-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/9-150x150.jpg new file mode 100644 index 0000000..3ab3822 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/9-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/dach-jednospadowy.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/dach-jednospadowy.jpg new file mode 100644 index 0000000..441dea2 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/dach-jednospadowy.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/domek-2-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/domek-2-150x150.jpg new file mode 100644 index 0000000..c2fbbef Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/domek-2-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/domek-3-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/domek-3-150x150.jpg new file mode 100644 index 0000000..4817593 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/domek-3-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/domek-4-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/domek-4-150x150.jpg new file mode 100644 index 0000000..025fc99 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/domek-4-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/domek-5-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/domek-5-150x150.jpg new file mode 100644 index 0000000..d2f679c Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/domek-5-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/hero-about.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/hero-about.jpg new file mode 100644 index 0000000..926f37a Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/hero-about.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/hero-carports.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/hero-carports.jpg new file mode 100644 index 0000000..57a2be6 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/hero-carports.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/hero-gardens.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/hero-gardens.jpg new file mode 100644 index 0000000..f96a835 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/hero-gardens.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/icon1.svg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/icon1.svg new file mode 100644 index 0000000..8bc9eb6 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/icon1.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/icon2.svg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/icon2.svg new file mode 100644 index 0000000..3ada7d7 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/icon2.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/icon3.svg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/icon3.svg new file mode 100644 index 0000000..bd31d5b --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/icon3.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/logo.svg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/logo.svg new file mode 100644 index 0000000..0f18df9 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/next.svg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/next.svg new file mode 100644 index 0000000..d302243 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/next.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/pdf.svg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/pdf.svg new file mode 100644 index 0000000..960117d --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/pdf.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/print-icon.png b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/print-icon.png new file mode 100644 index 0000000..618216b Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/print-icon.png differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/realizacja.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/realizacja.jpg new file mode 100644 index 0000000..da7c079 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/realizacja.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slide-1.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slide-1.jpg new file mode 100644 index 0000000..e8b79f7 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slide-1.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slide-2.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slide-2.jpg new file mode 100644 index 0000000..d847fa7 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slide-2.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slide-3.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slide-3.jpg new file mode 100644 index 0000000..44959a1 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slide-3.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slider-sec-2.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slider-sec-2.jpg new file mode 100644 index 0000000..d11977a Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slider-sec-2.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slider-sec-3.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slider-sec-3.jpg new file mode 100644 index 0000000..1f01c66 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slider-sec-3.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slider-sec.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slider-sec.jpg new file mode 100644 index 0000000..4a58c5b Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/slider-sec.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/vid1.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/vid1.jpg new file mode 100644 index 0000000..0ef4e84 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/vid1.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/vid2.jpg b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/vid2.jpg new file mode 100644 index 0000000..5d61261 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/dist/assets/images/vid2.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/main.css b/wp-content/themes/ostal_WP/ostal-front/dist/assets/main.css new file mode 100644 index 0000000..e222edd --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/assets/main.css @@ -0,0 +1 @@ +/*! tailwindcss v2.2.19 | MIT License | https://tailwindcss.com *//*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */*,:before,:after{box-sizing:border-box}html{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type=button]{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:Poppins,sans-serif;line-height:1.5}body{font-family:inherit;line-height:inherit}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#a1a1aa}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#a1a1aa}input::placeholder,textarea::placeholder{opacity:1;color:#a1a1aa}button,[role=button]{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{border-color:currentColor}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.btn{font-size:1.25rem;line-height:1.75rem;font-weight:600}.btn-blue{margin-top:.75rem;margin-bottom:.75rem;--tw-bg-opacity: 1;background-color:rgba(19,36,116,var(--tw-bg-opacity));padding:1.5rem 2.5rem;--tw-text-opacity: 1;color:rgba(255,255,255,var(--tw-text-opacity))}.btn-cta{--tw-bg-opacity: 1;background-color:rgba(19,36,116,var(--tw-bg-opacity));text-align:left;--tw-text-opacity: 1;color:rgba(255,255,255,var(--tw-text-opacity))}.gallery-item{display:block;width:100%;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:pointer;border-width:8px;--tw-border-opacity: 1;border-color:rgba(255,255,255,var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgba(19,36,116,var(--tw-bg-opacity));background-size:cover;padding-bottom:16rem}.gallery-item:hover{opacity:.9}.gallery-item{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width: 640px){.gallery-item{width:50%}}@media (min-width: 768px){.gallery-item{width:33.333333%;padding-bottom:14rem}}@media (min-width: 1024px){.gallery-item{height:13rem;width:25%}}@media (min-width: 1280px){.gallery-item{width:33.333333%;padding-bottom:20rem}}@media (min-width: 1536px){.gallery-item{padding-bottom:24rem}}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-0{top:0px}.top-1\/4{top:25%}.right-6{right:1.5rem}.right-7{right:1.75rem}.bottom-7{bottom:1.75rem}.left-0{left:0px}.left-5{left:1.25rem}.z-50{z-index:50}.m-0{margin:0}.m-3{margin:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-12{margin-top:3rem}.-mt-9{margin-top:-2.25rem}.-mt-16{margin-top:-4rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-6{margin-right:1.5rem}.mr-10{margin-right:2.5rem}.mb-2{margin-bottom:.5rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.-ml-5{margin-left:-1.25rem}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.table{display:table}.hidden{display:none}.h-3{height:.75rem}.h-16{height:4rem}.h-60{height:15rem}.h-64{height:16rem}.h-full{height:100%}.min-h-full{min-height:100%}.w-3{width:.75rem}.w-16{width:4rem}.w-80{width:20rem}.w-150{width:150px}.w-11\/12{width:91.666667%}.w-full{width:100%}.min-w-150{min-width:150px}.min-w-200{min-width:200px}.min-w-full{min-width:100%}.max-w-180{max-width:180px}.max-w-200{max-width:200px}.max-w-220{max-width:220px}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.transform{--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.border-8{border-width:8px}.border{border-width:1px}.border-b-2{border-bottom-width:2px}.border-gray-200{--tw-border-opacity: 1;border-color:rgba(224,224,224,var(--tw-border-opacity))}.border-white{--tw-border-opacity: 1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.hover\:border-dark:hover{--tw-border-opacity: 1;border-color:rgba(54,52,52,var(--tw-border-opacity))}.bg-gray{--tw-bg-opacity: 1;background-color:rgba(250,250,250,var(--tw-bg-opacity))}.bg-blue{--tw-bg-opacity: 1;background-color:rgba(19,36,116,var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgba(25,61,193,var(--tw-bg-opacity))}.bg-opacity-90{--tw-bg-opacity: .9}.bg-hero-slide-1{background-image:url(/assets/images/slide-1.jpg)}.bg-hero-slide-2{background-image:url(/assets/images/slide-2.jpg)}.bg-hero-slide-3{background-image:url(/assets/images/slide-3.jpg)}.bg-hero-about{background-image:url(/assets/images/hero-about.jpg)}.bg-hero-gardens{background-image:url(/assets/images/hero-gardens.jpg)}.bg-hero-carports{background-image:url(/assets/images/hero-carports.jpg)}.bg-cover{background-size:cover}.bg-no-repeat{background-repeat:no-repeat}.fill-current{fill:currentColor}.p-0{padding:0}.p-6{padding:1.5rem}.p-10{padding:2.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-0{padding-top:0}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.pt-10{padding-top:2.5rem}.pt-11{padding-top:2.75rem}.pt-12{padding-top:3rem}.pt-14{padding-top:3.5rem}.pt-20{padding-top:5rem}.pr-6{padding-right:1.5rem}.pr-7{padding-right:1.75rem}.pr-10{padding-right:2.5rem}.pb-2{padding-bottom:.5rem}.pb-6{padding-bottom:1.5rem}.pb-7{padding-bottom:1.75rem}.pb-10{padding-bottom:2.5rem}.pb-11{padding-bottom:2.75rem}.pb-12{padding-bottom:3rem}.pb-14{padding-bottom:3.5rem}.pb-16{padding-bottom:4rem}.pb-20{padding-bottom:5rem}.pb-64{padding-bottom:16rem}.pb-72{padding-bottom:18rem}.pb-96{padding-bottom:24rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-12{padding-left:3rem}.text-center{text-align:center}.text-xs{font-size:.75rem;line-height:1rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-semibold{font-weight:600}.text-blue{--tw-text-opacity: 1;color:rgba(19,36,116,var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgba(255,255,255,var(--tw-text-opacity))}.hover\:text-blue:hover{--tw-text-opacity: 1;color:rgba(19,36,116,var(--tw-text-opacity))}.hover\:underline:hover{text-decoration:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-95:hover{opacity:.95}*,:before,:after{--tw-shadow: 0 0 #0000}*,:before,:after{--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgba(59, 130, 246, .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000}.filter{--tw-blur: var(--tw-empty, );--tw-brightness: var(--tw-empty, );--tw-contrast: var(--tw-empty, );--tw-grayscale: var(--tw-empty, );--tw-hue-rotate: var(--tw-empty, );--tw-invert: var(--tw-empty, );--tw-saturate: var(--tw-empty, );--tw-sepia: var(--tw-empty, );--tw-drop-shadow: var(--tw-empty, );filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.feature-box{border-left-width:2px}.feature-box:before{content:"";width:45%;height:2px;position:absolute;display:block;left:0;top:0;--tw-bg-opacity: 1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}@media (min-width: 640px){.feature-box:before{display:none}}@media (min-width: 1280px){.swiper-container{height:930px}}.swiper-button-next:after{display:none}.recent-realizations-item{position:relative;margin-bottom:3.5rem;display:flex;width:100%;flex-direction:column;border-width:8px;--tw-border-opacity: 1;border-color:rgba(255,255,255,var(--tw-border-opacity));background-size:cover;padding-bottom:16rem}.recent-realizations-item:hover{opacity:.9}@media (min-width: 640px){.recent-realizations-item{width:50%}}@media (min-width: 768px){.recent-realizations-item{width:33.333333%;padding-bottom:14rem}}@media (min-width: 1024px){.recent-realizations-item{width:33.333333%;padding-bottom:20rem}}@media (min-width: 1280px){.recent-realizations-item{width:33.333333%;padding-bottom:20rem}}@media (min-width: 1536px){.recent-realizations-item{padding-bottom:24rem}}.recent-realizations-item p{opacity:0}.recent-realizations-item:hover p{opacity:1}.page-template-default h2{margin-top:1.75rem;margin-bottom:1.75rem}.page-template-default ul,.page-template-default ol{margin-bottom:1.75rem;list-style-type:disc}.page-template-default li{margin-left:1.75rem}@media (min-width: 640px){.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:mt-3{margin-top:.75rem}.sm\:w-6\/12{width:50%}.sm\:w-11\/12{width:91.666667%}.sm\:min-w-full{min-width:100%}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:justify-start{justify-content:flex-start}.sm\:pb-0{padding-bottom:0}.sm\:pb-96{padding-bottom:24rem}}@media (min-width: 768px){.md\:container{width:100%}@media (min-width: 640px){.md\:container{max-width:640px}}@media (min-width: 768px){.md\:container{max-width:768px}}@media (min-width: 1024px){.md\:container{max-width:1024px}}@media (min-width: 1280px){.md\:container{max-width:1280px}}@media (min-width: 1536px){.md\:container{max-width:1536px}}.md\:absolute{position:absolute}.md\:m-4{margin:1rem}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:-mt-6{margin-top:-1.5rem}.md\:mb-6{margin-bottom:1.5rem}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-72{width:18rem}.md\:w-1\/3{width:33.333333%}.md\:max-w-md{max-width:28rem}.md\:flex-row{flex-direction:row}.md\:flex-wrap{flex-wrap:wrap}.md\:items-start{align-items:flex-start}.md\:justify-center{justify-content:center}.md\:border-blue{--tw-border-opacity: 1;border-color:rgba(19,36,116,var(--tw-border-opacity))}.md\:bg-blue{--tw-bg-opacity: 1;background-color:rgba(19,36,116,var(--tw-bg-opacity))}.md\:bg-white{--tw-bg-opacity: 1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.md\:p-0{padding:0}.md\:pb-56{padding-bottom:14rem}}@media (min-width: 1024px){.lg\:container{width:100%}@media (min-width: 640px){.lg\:container{max-width:640px}}@media (min-width: 768px){.lg\:container{max-width:768px}}@media (min-width: 1024px){.lg\:container{max-width:1024px}}@media (min-width: 1280px){.lg\:container{max-width:1280px}}@media (min-width: 1536px){.lg\:container{max-width:1536px}}.lg\:absolute{position:absolute}.lg\:relative{position:relative}.lg\:right-1\/3{right:33.333333%}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:mt-0{margin-top:0}.lg\:mt-10{margin-top:2.5rem}.lg\:mt-14{margin-top:3.5rem}.lg\:-mt-14{margin-top:-3.5rem}.lg\:mb-0{margin-bottom:0}.lg\:mb-9{margin-bottom:2.25rem}.lg\:mb-12{margin-bottom:3rem}.lg\:mb-14{margin-bottom:3.5rem}.lg\:mb-16{margin-bottom:4rem}.lg\:mb-64{margin-bottom:16rem}.lg\:ml-10{margin-left:2.5rem}.lg\:inline-block{display:inline-block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-auto{width:auto}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.333333%}.lg\:w-2\/4{width:50%}.lg\:w-2\/5{width:40%}.lg\:w-3\/6,.lg\:w-6\/12{width:50%}.lg\:w-full{width:100%}.lg\:min-w-full{min-width:100%}.lg\:flex-grow{flex-grow:1}.lg\:flex-row{flex-direction:row}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:flex-col{flex-direction:column}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:justify-start{justify-content:flex-start}.lg\:justify-end{justify-content:flex-end}.lg\:justify-center{justify-content:center}.lg\:justify-between{justify-content:space-between}.lg\:justify-around{justify-content:space-around}.lg\:bg-gray{--tw-bg-opacity: 1;background-color:rgba(250,250,250,var(--tw-bg-opacity))}.lg\:p-0{padding:0}.lg\:p-20{padding:5rem}.lg\:pt-0{padding-top:0}.lg\:pt-6{padding-top:1.5rem}.lg\:pt-14{padding-top:3.5rem}.lg\:pr-7{padding-right:1.75rem}.lg\:pr-9{padding-right:2.25rem}.lg\:pb-20{padding-bottom:5rem}.lg\:pb-80{padding-bottom:20rem}.lg\:pb-96{padding-bottom:24rem}.lg\:pl-7{padding-left:1.75rem}.lg\:pl-9{padding-left:2.25rem}.lg\:text-left{text-align:left}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:font-semibold{font-weight:600}}@media (min-width: 1280px){.xl\:container{width:100%}@media (min-width: 640px){.xl\:container{max-width:640px}}@media (min-width: 768px){.xl\:container{max-width:768px}}@media (min-width: 1024px){.xl\:container{max-width:1024px}}@media (min-width: 1280px){.xl\:container{max-width:1280px}}@media (min-width: 1536px){.xl\:container{max-width:1536px}}.xl\:absolute{position:absolute}.xl\:relative{position:relative}.xl\:top-3\/4{top:75%}.xl\:right-0{right:0px}.xl\:right-28{right:7rem}.xl\:mx-auto{margin-left:auto;margin-right:auto}.xl\:mt-12{margin-top:3rem}.xl\:mt-16{margin-top:4rem}.xl\:mt-20{margin-top:5rem}.xl\:-mt-24{margin-top:-6rem}.xl\:-mt-64{margin-top:-16rem}.xl\:-mt-102{margin-top:-37rem}.xl\:mr-28{margin-right:7rem}.xl\:-mr-28{margin-right:-7rem}.xl\:mb-2{margin-bottom:.5rem}.xl\:mb-12{margin-bottom:3rem}.xl\:mb-24{margin-bottom:6rem}.xl\:block{display:block}.xl\:inline-block{display:inline-block}.xl\:flex{display:flex}.xl\:h-480{height:480px}.xl\:w-600{width:600px}.xl\:w-4\/12{width:33.333333%}.xl\:w-11\/12{width:91.666667%}.xl\:min-w-min{min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content}.xl\:max-w-xs{max-width:20rem}.xl\:max-w-md{max-width:28rem}.xl\:max-w-3xl{max-width:48rem}.xl\:max-w-5xl{max-width:64rem}.xl\:flex-row{flex-direction:row}.xl\:items-center{align-items:center}.xl\:justify-end{justify-content:flex-end}.xl\:justify-around{justify-content:space-around}.xl\:border-60{border-width:60px}.xl\:border-blue{--tw-border-opacity: 1;border-color:rgba(19,36,116,var(--tw-border-opacity))}.xl\:bg-slide-small-1{background-image:url(/assets/images/slider-sec.jpg)}.xl\:bg-slide-small-2{background-image:url(/assets/images/slider-sec-2.jpg)}.xl\:bg-slide-small-3{background-image:url(/assets/images/slider-sec-3.jpg)}.xl\:pt-10{padding-top:2.5rem}.xl\:pt-12{padding-top:3rem}.xl\:pt-52{padding-top:13rem}.xl\:pr-12{padding-right:3rem}.xl\:pr-16{padding-right:4rem}.xl\:pr-20{padding-right:5rem}.xl\:pr-28{padding-right:7rem}.xl\:pr-48{padding-right:12rem}.xl\:pr-60{padding-right:15rem}.xl\:pb-0{padding-bottom:0}.xl\:pb-10{padding-bottom:2.5rem}.xl\:pb-20{padding-bottom:5rem}.xl\:pb-32{padding-bottom:8rem}.xl\:pb-80{padding-bottom:20rem}.xl\:pb-99{padding-bottom:27rem}.xl\:pb-100{padding-bottom:30rem}.xl\:pb-101{padding-bottom:32rem}.xl\:pl-7{padding-left:1.75rem}.xl\:pl-9{padding-left:2.25rem}.xl\:text-3xl{font-size:1.875rem;line-height:2.25rem}.xl\:text-4xl{font-size:2.25rem;line-height:2.5rem}.xl\:text-5xl{font-size:3rem;line-height:1}.xl\:font-normal{font-weight:400}.xl\:font-semibold{font-weight:600}.xl\:leading-14{line-height:4rem}}@media (min-width: 1536px){.\32xl\:container{width:100%}@media (min-width: 640px){.\32xl\:container{max-width:640px}}@media (min-width: 768px){.\32xl\:container{max-width:768px}}@media (min-width: 1024px){.\32xl\:container{max-width:1024px}}@media (min-width: 1280px){.\32xl\:container{max-width:1280px}}@media (min-width: 1536px){.\32xl\:container{max-width:1536px}}.\32xl\:right-36{right:9rem}.\32xl\:mx-auto{margin-left:auto;margin-right:auto}.\32xl\:mr-32{margin-right:8rem}.\32xl\:ml-6{margin-left:1.5rem}.\32xl\:max-w-4xl{max-width:56rem}.\32xl\:max-w-6xl{max-width:72rem}.\32xl\:max-w-full{max-width:100%}.\32xl\:pb-96{padding-bottom:24rem}.\32xl\:pb-101{padding-bottom:32rem}} diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/main.js b/wp-content/themes/ostal_WP/ostal-front/dist/assets/main.js new file mode 100644 index 0000000..2ecd17c --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/assets/main.js @@ -0,0 +1 @@ +const c=function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))s(e);new MutationObserver(e=>{for(const o of e)if(o.type==="childList")for(const t of o.addedNodes)t.tagName==="LINK"&&t.rel==="modulepreload"&&s(t)}).observe(document,{childList:!0,subtree:!0});function n(e){const o={};return e.integrity&&(o.integrity=e.integrity),e.referrerpolicy&&(o.referrerPolicy=e.referrerpolicy),e.crossorigin==="use-credentials"?o.credentials="include":e.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(e){if(e.ep)return;e.ep=!0;const o=n(e);fetch(e.href,o)}};c();$(document).ready(function(){var i=$(window);function r(){var n=i.width();n>1e3?$("#navbar").css("display","block"):$("#navbar").css("display","none")}r(),$(window).resize(r)});$("#navbar-btn").click(function(){$("#navbar").toggle()}); diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/assets/vue-slider.js b/wp-content/themes/ostal_WP/ostal-front/dist/assets/vue-slider.js new file mode 100644 index 0000000..60fe3cc --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/assets/vue-slider.js @@ -0,0 +1 @@ +var t=Vue.createApp({el:"#app",data(){return{visible:!1,index:0,items:[]}},async created(){},mounted(){fetch("http://localhost/ostal/wp-json/wp/v2/realizacje"),fetch().then(e=>e.json()).then(e=>this.items=e)},methods:{showImg(e){this.index=e,this.visible=!0},handleHide(){this.visible=!1}},computed:{images(){return this.items.map(e=>e.acf.zdjecia.map(s=>s.sizes.large))}}});t.use(VueEasyLightbox);t.mount("#app"); diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/carporty.html b/wp-content/themes/ostal_WP/ostal-front/dist/carporty.html new file mode 100644 index 0000000..d3b99c0 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/carporty.html @@ -0,0 +1,224 @@ + + + + + + + + Ostal + + + + + + + + + +
+ + +
+ +
+
+ + + +
+

Carporty

+

Carport to nowoczesna wiata samochodowa, której dach pokryty jest panelami + fotowoltaicznymi. Pozwala zbudować zadaszenie, które chroni samochód przed czynnikami + atmosferycznymi i + jednocześnie wykorzystuje energię słoneczną do pozyskania energii elektrycznej. +

+

Stabilna konstrukcja carportu posiada instalację PV, złożoną z 9 modułów PV i z + powodzeniem zastępuje montaż instalacji na dachu budynku. Co więcej w każdej chwili możesz ją + rozbudować + o kolejne stanowiska, jeśli tylko masz na to przestrzeń.

+
+ +
+ + +
+ +
+

+ Budujemy carporty z aluminium +

+

Nasze konstrukcje są stabilne, wykonane z aluminiowych profili. Mają dach + jednospadowy. +

+ +

Stawiamy carporty dla 1 lub 2 pojazdów, wyposażone w moduły PV: +

+
    +
  • Krzemowe – wykonane z krzemu: monokrystaliczne (sprawność w do 21,1%), + pokrystaliczne (stosowane + rzadziej, o sprawności w granicach 17-18%) i amorficzne (sprawność w granicach 6-10%). Są bardzo + wydajne + w słoneczne dni. +
  • +
  • Cienkowarstwowe – wykonane z miedzi, indu, selenu, galu i siarki. Cechuje je + mniejsza sprawność niż ogniwa krzemowe, ale zachowują wysoką wydajność także w pochmurne dni i w + warunkach słabego oświetlenia. +
  • +
+ + +
+ + + +
+

Oferujemy różne modele carportów pod panele fotowoltaiczne: +

+

konstrukcje wolnostojące (4 słupy) + konstrukcje przyścienne (2 słupy, stosowane też jako dodatkowy moduł) + konstrukcje bez słupów – sam dach +

+

+ Szerokość konstrukcji dla 1 pojazdu wynosi: dł. 6,1 m (dł.) x 3,4 m (szer.) x 2,8 m (wys.), albo + alternatywnie: dł. 7,5 m (dł.) x 3,2 m (szer.) x 2,8 m (wys.). +

+ +
+ + +
+ +
+ + +
+

Czy wiesz, że

+

Energia elektryczna, która powstanie dzięki instalacji umieszczonej na wiacie, może + brać udział w aukcjach OZE. +

+
+ + +
+

+ Standardowe wyposażenie wiaty samochodowej z oferty firmy Ostal obejmuje: +

+

konstrukcję pod instalację fotowoltaiczną o mocy Pmax 4,18 kW, złożoną z 9 + modułów + PV lub konstrukcję pod instalację fotowoltaiczną o mocy Pmax 4,74 kW, złożoną z 12 modułów PV + instalację elektryczną z gniazdem 230V +

+

+ W ramach dodatkowego wyposażenia zapewniamy: +

+

rynny odprowadzające wodę z dachu i rurę spustową (ø 50 mm, aluminium) + oświetlenie LED z czujką ruchu i zmierzchu + przesłony na boczne ściany: typu ZIIP120 lub rolety ze sterowaniem elektrycznym + inwerter sieciowy lub wyspowy do pracy z bankiem energii oraz power bank 2,5 kW lub 10 kW +

+
+ + +
+
+
+

Nie wiesz, co wybrać ?

+

Chętnie doradzimy i przygotujemy + Twój wyjątkowy projekt. +

+
+ +
+ + + +
+ + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/index.html b/wp-content/themes/ostal_WP/ostal-front/dist/index.html new file mode 100644 index 0000000..af0b4d0 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/index.html @@ -0,0 +1,299 @@ + + + + + + + + Ostal + + + + + + + + + + + +
+ + + +
+ +
+
+ + +
+ +
+

Marzysz o + własnym + ogrodzie? +

+ + + +
+ + + +
+ + + +
+ +
+

Chcesz chronić swój samochód przed warunkami atmosferycznymi? + +

+ + + +
+ +
+ + + +
+ +
+

Zastanawiasz się, jaki ogród zimowy byłby dla Ciebie najlepszy? + +

+ + + +
+ + +
+ + +
+ + + + + +
+ + +
+
+ + +

Zapoznaj się z naszą ofertą ogrodów zimowych!

+
+
+

Pomagamy Wam stworzyć + oazę spokoju

+

miejsce odpoczynku, relaksu i oderwania od codzienności, a jednocześnie podnosimy wartość Waszej nieruchomości. Tworzymy piękno i funkcjonalność w jednym. +

+
+
+

Nasza oferta

+
+ +
+
+
+ +
+ + + + +

Modele ogrodów

+

Sprawdź, jaki rodzaj ogrodu zimowego najlepiej zaspokaja Twoje potrzeby.

+
+

więcej

+
+ +
+ + + +

Modele carportów

+

Zobacz, jak możesz wykorzystać carporty w swoim domu. +

+
+

więcej

+
+
+ + + +

Nasze realizacje

+

Obejrzyj piękne, funkcjonalne projekty, jakie zrealizowaliśmy dla naszych klientów. +

+
+

więcej

+
+
+ +
+ +
+
+

Nie wiesz, co wybrać ?

+

Chętnie doradzimy i przygotujemy + Twój wyjątkowy projekt. +

+
+ +
+ + + +
+ + + + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/kontakt.html b/wp-content/themes/ostal_WP/ostal-front/dist/kontakt.html new file mode 100644 index 0000000..c030df6 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/kontakt.html @@ -0,0 +1,142 @@ + + + + + + + + Ostal + + + + + + + + + +
+ + + +
+ +
+

Kontakt

+
+ +
+
+
+

OSTAL GROUP Sp. z o.o.
+ ul. Boh II A.W.P. 14F
+ 59-900 Zgorzelec

+
+ +
+

Pytania technicznie , oferta:

+

Mariusz +48 75 640 70 80

+
+ +
+

Współpraca , kariera

+

Krysztof +48 75 640 70 80

+
+
+ +
+ +
+ +
+ +
+ + + +
+ + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/lightbox.html b/wp-content/themes/ostal_WP/ostal-front/dist/lightbox.html new file mode 100644 index 0000000..bf31bbb --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/lightbox.html @@ -0,0 +1,44 @@ + + + + + + + + Ostal + + + + + + + + + + + + + +
+ +
+ + +
+ +
+ + + + + + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/nasze-realizacje.html b/wp-content/themes/ostal_WP/ostal-front/dist/nasze-realizacje.html new file mode 100644 index 0000000..cc319b8 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/nasze-realizacje.html @@ -0,0 +1,232 @@ + + + + + + + + Ostal + + + + + + + + + +
+ + +
+
+

Nasze realizacje

+
+ + + + +
+ + +
+
+

Nie wiesz, co wybrać ?

+

Chętnie doradzimy i przygotujemy + Twój wyjątkowy projekt. +

+
+ +
+ + + +
+ + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/ogrody-zimowe.html b/wp-content/themes/ostal_WP/ostal-front/dist/ogrody-zimowe.html new file mode 100644 index 0000000..cb656a7 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/ogrody-zimowe.html @@ -0,0 +1,360 @@ + + + + + + + + Ostal + + + + + + + + + +
+ + +
+ +
+
+ +
+ + +
+

Ogrody zimowe

+

Ogród zimowy we współczesnym budownictwie spełnia dwie + funkcje. Po pierwsze przeszklone, efektowne pawilony stanowią eleganckie dopełnienie bryły budynku. Mogą być + też wykorzystywane jako: + +

+

oranżerie do całoroczonej uprawy egzotycznych roślin, kolejne + pomieszczenie w domu, na przykład: jadalnia, salon czy nawet pokój z basenem. +

+
+ + + +
+

Co ważne

+

ogrody zimowe obniżają bilans energetyczny budynku. Zimą stanowią termiczny bufor i chronią + dom przed ucieczką ciepła. Wpływa to na obniżenie kosztów eksploatacji budynku. Dodatkowo osłaniają przed + hałasem z zewnątrz. +

+
+ + +
+ +
+ +
+ +
+
+ dach jednospadowy +
+
+

Ogród zimowy z dachem jednospadowym

+

To konstrukcja o prostej bryle, która często jest budowana na tyłach domu. Pozwala cieszyć + się zielenią i spokojem przez cały rok. +

+
+
+ +
+
+ dach jednospadowy +
+
+

Ogród zimowy z dachem jednospadowym

+

To konstrukcja o prostej bryle, która często jest budowana na tyłach domu. Pozwala cieszyć + się zielenią i spokojem przez cały rok. +

+
+
+ + + + + + + + +
+ +
+
+

Nie wiesz, co wybrać ?

+

Chętnie doradzimy i przygotujemy + Twój wyjątkowy projekt. +

+
+ +
+ + + +
+ + + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/onas.html b/wp-content/themes/ostal_WP/ostal-front/dist/onas.html new file mode 100644 index 0000000..71808de --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/onas.html @@ -0,0 +1,190 @@ + + + + + + + + Ostal + + + + + + + + + + +
+ + +
+ + +
+
+ + + + +
+

O nas

+

W Ostal pomagamy Wam stworzyć oazę spokoju, miejsce + odpoczynku, relaksu i oderwania od + codzienności, a + jednocześnie podnosimy wartość Waszej nieruchomości. Tworzymy piękno i funkcjonalność w jednym. +

+

Działamy na polskim i niemieckim rynku od 1999 roku.

+

W tym czasie stworzyliśmy 40 różnych ogrodów. + Od 2020 roku dodatkowo oferujemy carporty produkujące prąd. +

+

Korzystamy ze sprawdzonego, niemieckiego systemu konstrukcji TS Aluminium, + dzięki czemu + gwarantujemy najwyższą + jakość i trwałość.

+

Nasze projekty są zindywidualizowane, dopasowane do wymagań i możliwości + każdego Klienta. +

+
+ + +
+ + +
+

Zobacz jak wygląda proces powstawania niesamowitych ogrodów

+
+ +
+ +
+ +
+ +
+ + + +
+
+ + +
+
+

Nie wiesz, co wybrać ?

+

Chętnie doradzimy i przygotujemy + Twój wyjątkowy projekt. +

+
+ +
+ + + +
+ + + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/poradniki.html b/wp-content/themes/ostal_WP/ostal-front/dist/poradniki.html new file mode 100644 index 0000000..38a8d0e --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/poradniki.html @@ -0,0 +1,181 @@ + + + + + + + + Ostal + + + + + + + + + +
+ + +
+

Poradniki

+
+ +
+
+

O ogrodach zimowych

+

+ Od dawna ogrody zimowe były stosowane w architekturze, głównie pałacowej i dworkowej, + dla stworzenia optymalnych warunków do uprawy egzotycznych roślin – jak drzewka + pomarańczowe, stąd nazywano je również oranżeriami. Współcześnie mogą stać się + dopełnieniem miejskiej, luksusowej willi, jak też wiejskiej rezydencji letniej. +

+

+ Już na początku należy odpowiedzieć sobie na pytanie: do czego ma służyć nasz nowy ogród zimowy oraz co jest dla nas ważniejsze – uzyskanie architektonicznego efektu, czy też powiększenie powierzchni mieszkalnej. +

+ + pdf-icon +

Więcej dowiesz się z naszego poradnika “O ogrodach zimowych”. +

+
+
+ +
+

Przed budową ogrodu zimowego +

+

+ Projektowanie ogrodu zimowego na etapie budowy nowego domu pozwala uniknąć wielu ograniczeń i zyskać całkowitą dowolność w działaniach. Odpowiedni wybór położenia ogrodu i jego formy architektonicznej pozwala na zachowanie stylu całego budynku oraz utrzymanie integralności jego struktury. +

+

+ Przyłączenie ogrodu do już istniejącego budynku z kolei wymaga sprawdzenia, czy konstrukcja nośna wytrzyma dodatkowe obciążenie. + +

+ + pdf-icon +

Więcej dowiesz się z naszego poradnika “Przed budową ogrodu zimowego”. +

+
+
+ +
+

Dodatkowe elementy ogrodu zimowego +

+

+ Współczesne ogrody zimowe pozwalają na wykorzystanie wielu dodatkowych elementów, które zwiększają energooszczędność, zapewniają komfort optyczny i termiczny czy też odpowiadają za skuteczna klimatyzację. +

+

+ W naszych konstrukcjach stosujemy markizy dachowe, żaluzje fasadowe, rolety zewnętrzne oraz automatykę pogodową. + +

+ + pdf-icon +

Więcej dowiesz się z naszego poradnika “Dodatkowe elementy ogrodu zimowego”. + +

+
+
+
+ + + +
+
+

Nie wiesz, co wybrać ?

+

Chętnie doradzimy i przygotujemy + Twój wyjątkowy projekt. +

+
+ +
+ + + +
+ + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/dist/realizacja.html b/wp-content/themes/ostal_WP/ostal-front/dist/realizacja.html new file mode 100644 index 0000000..7dee545 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/dist/realizacja.html @@ -0,0 +1,198 @@ + + + + + + + + Ostal + + + + + + + + + + + + +
+ + +
+

Dach dwuspadowy przylegający do budynku

+
+ +
+ + + + + + + + + +
+ +
+

Pozostałe realizacje

+
+ + + +
+ + + + +

Dach typu mansardowego

+
+ + + +

Dach typu mansardowego

+
+ + + +

Dach jednospadowy wokół naroża budynku

+
+ +
+ + + +
+
+

Nie wiesz, co wybrać ?

+

Chętnie doradzimy i przygotujemy + Twój wyjątkowy projekt. +

+
+ +
+ + + + +
+ + + + + + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/favicon.svg b/wp-content/themes/ostal_WP/ostal-front/favicon.svg new file mode 100644 index 0000000..de4aedd --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/favicon.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/index.html b/wp-content/themes/ostal_WP/ostal-front/index.html new file mode 100644 index 0000000..2b7296e --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/index.html @@ -0,0 +1,320 @@ + + + + + + + + Ostal + + + + + + + + +
+ + + +
+ +
+
+ + +
+ +
+

Marzysz o + własnym + ogrodzie? +

+ + + +
+ + + +
+ + + +
+ +
+

Chcesz chronić swój samochód przed warunkami atmosferycznymi? + +

+ + + +
+ +
+ + + +
+ +
+

Zastanawiasz się, jaki ogród zimowy byłby dla Ciebie najlepszy? + +

+ + + +
+ + +
+ + +
+ + + + + +
+ + +
+
+ + +

Zapoznaj się z naszą ofertą ogrodów zimowych!

+
+
+

Pomagamy Wam stworzyć + oazę spokoju

+

miejsce odpoczynku, relaksu i oderwania od codzienności, a jednocześnie podnosimy wartość Waszej nieruchomości. Tworzymy piękno i funkcjonalność w jednym. +

+
+
+

Nasza oferta

+
+ +
+
+
+ +
+ + + + +

Modele ogrodów

+

Sprawdź, jaki rodzaj ogrodu zimowego najlepiej zaspokaja Twoje potrzeby.

+
+

więcej

+
+ +
+ + + +

Modele carportów

+

Zobacz, jak możesz wykorzystać carporty w swoim domu. +

+
+

więcej

+
+
+ + + +

Nasze realizacje

+

Obejrzyj piękne, funkcjonalne projekty, jakie zrealizowaliśmy dla naszych klientów. +

+
+

więcej

+
+
+ +
+ +
+
+

Nie wiesz, co wybrać ?

+

Chętnie doradzimy i przygotujemy + Twój wyjątkowy projekt. +

+
+ +
+ + + +
+ + + + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/kontakt.html b/wp-content/themes/ostal_WP/ostal-front/kontakt.html new file mode 100644 index 0000000..e1fb20a --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/kontakt.html @@ -0,0 +1,140 @@ + + + + + + + + Ostal + + + + + + + +
+ + + +
+ +
+

Kontakt

+
+ +
+
+
+

OSTAL GROUP Sp. z o.o.
+ ul. Boh II A.W.P. 14F
+ 59-900 Zgorzelec

+
+ +
+

Pytania technicznie , oferta:

+

Mariusz +48 75 640 70 80

+
+ +
+

Współpraca , kariera

+

Krysztof +48 75 640 70 80

+
+
+ +
+ +
+ +
+ +
+ + + +
+ + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/lightbox.html b/wp-content/themes/ostal_WP/ostal-front/lightbox.html new file mode 100644 index 0000000..552e4ad --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/lightbox.html @@ -0,0 +1,41 @@ + + + + + + + + Ostal + + + + + + + + + + +
+ +
+ + +
+ +
+ + + + + + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/main.js b/wp-content/themes/ostal_WP/ostal-front/main.js new file mode 100644 index 0000000..78720b4 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/main.js @@ -0,0 +1,5 @@ +const navbarBtn = document.querySelector('#navbar-btn'); +const mainMenu = document.querySelector('.main-menu'); +navbarBtn.addEventListener('click', () => { + mainMenu.classList.toggle('active'); +}); \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/nasze-realizacje.html b/wp-content/themes/ostal_WP/ostal-front/nasze-realizacje.html new file mode 100644 index 0000000..41218aa --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/nasze-realizacje.html @@ -0,0 +1,190 @@ + + + + + + + + Ostal + + + + + + + +
+ + +
+
+

Nasze realizacje

+
+ + + + +
+ + +
+
+

Nie wiesz, co wybrać ?

+

Chętnie doradzimy i przygotujemy + Twój wyjątkowy projekt. +

+
+ +
+ + + +
+ + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/ogrody-zimowe.html b/wp-content/themes/ostal_WP/ostal-front/ogrody-zimowe.html new file mode 100644 index 0000000..63cdbe3 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/ogrody-zimowe.html @@ -0,0 +1,358 @@ + + + + + + + + Ostal + + + + + + + +
+ + +
+ +
+
+ +
+ + +
+

Ogrody zimowe

+

Ogród zimowy we współczesnym budownictwie spełnia dwie + funkcje. Po pierwsze przeszklone, efektowne pawilony stanowią eleganckie dopełnienie bryły budynku. Mogą być + też wykorzystywane jako: + +

+

oranżerie do całoroczonej uprawy egzotycznych roślin, kolejne + pomieszczenie w domu, na przykład: jadalnia, salon czy nawet pokój z basenem. +

+
+ + + +
+

Co ważne

+

ogrody zimowe obniżają bilans energetyczny budynku. Zimą stanowią termiczny bufor i chronią + dom przed ucieczką ciepła. Wpływa to na obniżenie kosztów eksploatacji budynku. Dodatkowo osłaniają przed + hałasem z zewnątrz. +

+
+ + +
+ +
+ +
+ +
+
+ dach jednospadowy +
+
+

Ogród zimowy z dachem jednospadowym

+

To konstrukcja o prostej bryle, która często jest budowana na tyłach domu. Pozwala cieszyć + się zielenią i spokojem przez cały rok. +

+
+
+ +
+
+ dach jednospadowy +
+
+

Ogród zimowy z dachem jednospadowym

+

To konstrukcja o prostej bryle, która często jest budowana na tyłach domu. Pozwala cieszyć + się zielenią i spokojem przez cały rok. +

+
+
+ + + + + + + + +
+ +
+
+

Nie wiesz, co wybrać ?

+

Chętnie doradzimy i przygotujemy + Twój wyjątkowy projekt. +

+
+ +
+ + + +
+ + + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/onas.html b/wp-content/themes/ostal_WP/ostal-front/onas.html new file mode 100644 index 0000000..6117c8c --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/onas.html @@ -0,0 +1,188 @@ + + + + + + + + Ostal + + + + + + + + +
+ + +
+ + +
+
+ + + + +
+

O nas

+

W Ostal pomagamy Wam stworzyć oazę spokoju, miejsce + odpoczynku, relaksu i oderwania od + codzienności, a + jednocześnie podnosimy wartość Waszej nieruchomości. Tworzymy piękno i funkcjonalność w jednym. +

+

Działamy na polskim i niemieckim rynku od 1999 roku.

+

W tym czasie stworzyliśmy 40 różnych ogrodów. + Od 2020 roku dodatkowo oferujemy carporty produkujące prąd. +

+

Korzystamy ze sprawdzonego, niemieckiego systemu konstrukcji TS Aluminium, + dzięki czemu + gwarantujemy najwyższą + jakość i trwałość.

+

Nasze projekty są zindywidualizowane, dopasowane do wymagań i możliwości + każdego Klienta. +

+
+ + +
+ + +
+

Zobacz jak wygląda proces powstawania niesamowitych ogrodów

+
+ +
+ +
+ +
+ +
+ + + +
+
+ + +
+
+

Nie wiesz, co wybrać ?

+

Chętnie doradzimy i przygotujemy + Twój wyjątkowy projekt. +

+
+ +
+ + + +
+ + + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/package-lock.json b/wp-content/themes/ostal_WP/ostal-front/package-lock.json new file mode 100644 index 0000000..731f7bf --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/package-lock.json @@ -0,0 +1,1911 @@ +{ + "name": "ostal-front", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ostal-front", + "version": "1.0.0", + "dependencies": { + "autoprefixer": "^10.2.5", + "postcss": "^8.2.15", + "print-js": "^1.6.0", + "tailwindcss": "^2.1.2" + }, + "devDependencies": { + "sass": "^1.32.13", + "vite": "^2.3.3" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", + "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/autoprefixer": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.5.tgz", + "integrity": "sha512-7H4AJZXvSsn62SqZyJCP+1AWwOuoYpUfK6ot9vm0e87XD6mT8lDywc9D9OTJPMULyGcvmIxzTAMeG2Cc+YX+fA==", + "dependencies": { + "browserslist": "^4.16.3", + "caniuse-lite": "^1.0.30001196", + "colorette": "^1.2.2", + "fraction.js": "^4.0.13", + "normalize-range": "^0.1.2", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "dependencies": { + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001228", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz", + "integrity": "sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==", + "engines": { + "node": "*" + } + }, + "node_modules/css-unit-converter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==" + }, + "node_modules/detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dependencies": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/electron-to-chromium": { + "version": "1.3.730", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.730.tgz", + "integrity": "sha512-1Tr3h09wXhmqXnvDyrRe6MFgTeU0ZXy3+rMJWTrOHh/HNesWwBBrKnMxRJWZ86dzs8qQdw2c7ZE1/qeGHygImA==" + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/esbuild": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz", + "integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/linux-loong64": "0.14.54", + "esbuild-android-64": "0.14.54", + "esbuild-android-arm64": "0.14.54", + "esbuild-darwin-64": "0.14.54", + "esbuild-darwin-arm64": "0.14.54", + "esbuild-freebsd-64": "0.14.54", + "esbuild-freebsd-arm64": "0.14.54", + "esbuild-linux-32": "0.14.54", + "esbuild-linux-64": "0.14.54", + "esbuild-linux-arm": "0.14.54", + "esbuild-linux-arm64": "0.14.54", + "esbuild-linux-mips64le": "0.14.54", + "esbuild-linux-ppc64le": "0.14.54", + "esbuild-linux-riscv64": "0.14.54", + "esbuild-linux-s390x": "0.14.54", + "esbuild-netbsd-64": "0.14.54", + "esbuild-openbsd-64": "0.14.54", + "esbuild-sunos-64": "0.14.54", + "esbuild-windows-32": "0.14.54", + "esbuild-windows-64": "0.14.54", + "esbuild-windows-arm64": "0.14.54" + } + }, + "node_modules/esbuild-android-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", + "integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", + "integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", + "integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", + "integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", + "integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", + "integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", + "integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", + "integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", + "integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", + "integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", + "integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", + "integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", + "integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", + "integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", + "integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", + "integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", + "integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", + "integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", + "integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", + "integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fraction.js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.0.tgz", + "integrity": "sha512-o9lSKpK0TDqDwTL24Hxqi6I99s942l6TYkfl6WvGWgLOIFz/YonSGKfiSeMadoiNvTfqnfOa9mjb5SGVbBK9/w==", + "engines": { + "node": "*" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + }, + "node_modules/hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==" + }, + "node_modules/hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==" + }, + "node_modules/html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==", + "dependencies": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak= sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/modern-normalize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz", + "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-releases": { + "version": "1.1.72", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.72.tgz", + "integrity": "sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.29", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz", + "integrity": "sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz", + "integrity": "sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==", + "dependencies": { + "camelcase-css": "^2.0.1", + "postcss": "^8.1.6" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "dependencies": { + "postcss-selector-parser": "^6.0.6" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/print-js": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/print-js/-/print-js-1.6.0.tgz", + "integrity": "sha512-BfnOIzSKbqGRtO4o0rnj/K3681BSd2QUrsIZy/+WdCIugjIswjmx3lDEZpXB2ruGf9d4b3YNINri81+J0FsBWg==" + }, + "node_modules/purgecss": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz", + "integrity": "sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==", + "dependencies": { + "commander": "^8.0.0", + "glob": "^7.1.7", + "postcss": "^8.3.5", + "postcss-selector-parser": "^6.0.6" + }, + "bin": { + "purgecss": "bin/purgecss.js" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reduce-css-calc": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", + "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", + "dependencies": { + "css-unit-converter": "^1.1.1", + "postcss-value-parser": "^3.3.0" + } + }, + "node_modules/reduce-css-calc/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==" + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.77.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.77.3.tgz", + "integrity": "sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/sass": { + "version": "1.32.13", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.13.tgz", + "integrity": "sha512-dEgI9nShraqP7cXQH+lEXVf73WOPCse0QlFzSD8k+1TcOxCMwVXfQlr0jtoluZysQOyJGnfr21dLvYKDJq8HkA==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "2.2.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.19.tgz", + "integrity": "sha512-6Ui7JSVtXadtTUo2NtkBBacobzWiQYVjYW0ZnKaP9S1ZCKQ0w7KVNz+YSDI/j7O7KCMHbOkz94ZMQhbT9pOqjw==", + "dependencies": { + "arg": "^5.0.1", + "bytes": "^3.0.0", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "color": "^4.0.1", + "cosmiconfig": "^7.0.1", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "glob-parent": "^6.0.1", + "html-tags": "^3.1.0", + "is-color-stop": "^1.1.0", + "is-glob": "^4.0.1", + "lodash": "^4.17.21", + "lodash.topath": "^4.5.2", + "modern-normalize": "^1.1.0", + "node-emoji": "^1.11.0", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss-js": "^3.0.3", + "postcss-load-config": "^3.1.0", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.6", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "purgecss": "^4.0.3", + "quick-lru": "^5.1.1", + "reduce-css-calc": "^2.1.8", + "resolve": "^1.20.0", + "tmp": "^0.2.1" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "autoprefixer": "^10.0.2", + "postcss": "^8.0.9" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/vite": { + "version": "2.9.16", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.16.tgz", + "integrity": "sha512-X+6q8KPyeuBvTQV8AVSnKDvXoBMnTx8zxh54sOwmmuOdxkjMmEJXH2UEchA+vTMps1xw9vL64uwJOWryULg7nA==", + "dev": true, + "dependencies": { + "esbuild": "^0.14.27", + "postcss": "^8.4.13", + "resolve": "^1.22.0", + "rollup": ">=2.59.0 <2.78.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": ">=12.2.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "less": "*", + "sass": "*", + "stylus": "*" + }, + "peerDependenciesMeta": { + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + } + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + } + } +} diff --git a/wp-content/themes/ostal_WP/ostal-front/package.json b/wp-content/themes/ostal_WP/ostal-front/package.json new file mode 100644 index 0000000..9eef58e --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/package.json @@ -0,0 +1,19 @@ +{ + "name": "ostal-front", + "version": "1.0.0", + "scripts": { + "dev": "vite", + "build": "vite build", + "serve": "vite preview" + }, + "devDependencies": { + "sass": "^1.32.13", + "vite": "^2.3.3" + }, + "dependencies": { + "autoprefixer": "^10.2.5", + "postcss": "^8.2.15", + "print-js": "^1.6.0", + "tailwindcss": "^2.1.2" + } +} diff --git a/wp-content/themes/ostal_WP/ostal-front/polityka-prywatnosci.html b/wp-content/themes/ostal_WP/ostal-front/polityka-prywatnosci.html new file mode 100644 index 0000000..6a73e17 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/polityka-prywatnosci.html @@ -0,0 +1,415 @@ + + + + + + + + Ostal + + + + + + + + +
+ + +
+
+ + + +
+ +

Polityka prywatności

+ +
+ +

Polityka prywatności opisuje zasady przetwarzania przez nas informacji + na Twój temat, w tym danych osobowych oraz ciasteczek, czyli tzw. + cookies.

+ + + +
+ + + +

1. Informacje ogólne

+ + + +
    +
  1. Niniejsza polityka dotyczy Serwisu www, funkcjonującego pod adresem + url: ostal.pl
  2. +
  3. Operatorem serwisu oraz Administratorem danych osobowych jest: OSTAL GROUP Sp. + z o.o. ul. Boh II A.W.P. 14F 59-900 Zgorzelec
  4. +
  5. Adres kontaktowy poczty elektronicznej operatora: kontakt@ostal.pl
  6. +
  7. Operator jest Administratorem Twoich danych osobowych w odniesieniu + do danych podanych dobrowolnie w Serwisie.
  8. +
  9. Serwis wykorzystuje dane osobowe w następujących celach:
      +
    • Obsługa zapytań przez formularz
    • +
    • Prezentacja oferty lub informacji
    • +
    +
  10. +
  11. Serwis realizuje funkcje pozyskiwania informacji o użytkownikach i ich + zachowaniu w następujący sposób:
      +
    1. Poprzez dobrowolnie wprowadzone w formularzach dane, które zostają + wprowadzone do systemów Operatora.
    2. +
    3. Poprzez zapisywanie w urządzeniach końcowych plików cookie (tzw. + „ciasteczka”).
    4. +
    +
  12. +
+ + + +

2. Wybrane metody ochrony danych stosowane przez Operatora

+ + + +
    +
  1. Miejsca logowania i wprowadzania danych osobowych są chronione w warstwie + transmisji (certyfikat SSL). Dzięki temu dane osobowe i dane logowania, wprowadzone + na stronie, zostają zaszyfrowane w komputerze użytkownika i mogą być + odczytane jedynie na docelowym serwerze.
  2. +
  3. Dane osobowe przechowywane w bazie danych są zaszyfrowane w taki sposób, + że jedynie posiadający Operator klucz może je odczytać. Dzięki temu dane są + chronione na wypadek wykradzenia bazy danych z serwera.
  4. +
  5. Hasła użytkowników są przechowywane w postaci hashowanej. Funkcja hashująca działa + jednokierunkowo – nie jest możliwe odwrócenie jej działania, co stanowi + obecnie współczesny standard w zakresie przechowywania haseł użytkowników.
  6. +
  7. Operator okresowo zmienia swoje hasła administracyjne.
  8. +
  9. W celu ochrony danych Operator regularnie wykonuje kopie bezpieczeństwa.
  10. +
  11. Istotnym elementem ochrony danych jest regularna aktualizacja wszelkiego oprogramowania, + wykorzystywanego przez Operatora do przetwarzania danych osobowych, co + w szczególności oznacza regularne aktualizacje komponentów programistycznych.
  12. +
+ + + +

3. Hosting

+ + + +
    +
  1. Serwis jest hostowany (technicznie utrzymywany) na serwera operatora: inna firma +
  2. +
+ + + +

4. Twoje prawa i dodatkowe informacje o sposobie wykorzystania + danych

+ + + +
    +
  1. W niektórych sytuacjach Administrator ma prawo przekazywać Twoje dane osobowe + innym odbiorcom, jeśli będzie to niezbędne do wykonania zawartej z Tobą + umowy lub do zrealizowania obowiązków ciążących na Administratorze. Dotyczy + to takich grup odbiorców:
      +
    • firma hostingowa na zasadzie powierzenia
    • +
    • operatorzy pocztowi
    • +
    • kancelarie prawne i windykatorzy
    • +
    • upoważnieni pracownicy i współpracownicy, którzy korzystają + z danych w celu realizacji celu działania strony
    • +
    • firmy, świadczące usługi marketingu na rzecz Administratora
    • +
    +
  2. +
  3. Twoje dane osobowe przetwarzane przez Administratora nie dłużej, niż jest + to konieczne do wykonania związanych z nimi czynności określonych + osobnymi przepisami (np. o prowadzeniu rachunkowości). W odniesieniu + do danych marketingowych dane nie będą przetwarzane dłużej niż przez 3 + lata.
  4. +
  5. Przysługuje Ci prawo żądania od Administratora:
      +
    • dostępu do danych osobowych Ciebie dotyczących,
    • +
    • ich sprostowania,
    • +
    • usunięcia,
    • +
    • ograniczenia przetwarzania,
    • +
    • oraz przenoszenia danych.
    • +
    +
  6. +
  7. Przysługuje Ci prawo do złożenia sprzeciwu w zakresie przetwarzania wskazanego + w pkt 3.3 c) wobec przetwarzania danych osobowych w celu wykonania prawnie + uzasadnionych interesów realizowanych przez Administratora, w tym + profilowania, przy czym prawo sprzeciwu nie będzie mogło być wykonane + w przypadku istnienia ważnych prawnie uzasadnionych podstaw do przetwarzania, + nadrzędnych wobec Ciebie interesów, praw i wolności, w szczególności + ustalenia, dochodzenia lub obrony roszczeń.
  8. +
  9. Na działania Administratora przysługuje skarga do Prezesa Urzędu Ochrony + Danych Osobowych, ul. Stawki 2, 00-193 Warszawa.
  10. +
  11. Podanie danych osobowych jest dobrowolne, lecz niezbędne do obsługi Serwisu. +
  12. +
  13. W stosunku do Ciebie mogą być podejmowane czynności polegające + na zautomatyzowanym podejmowaniu decyzji, w tym profilowaniu w celu + świadczenia usług w ramach zawartej umowy oraz w celu prowadzenia + przez Administratora marketingu bezpośredniego.
  14. +
  15. Dane osobowe nie są przekazywane od krajów trzecich w rozumieniu + przepisów o ochronie danych osobowych. Oznacza to, że nie przesyłamy ich + poza teren Unii Europejskiej.
  16. +
+ + + +

5. Informacje w formularzach

+ + + +
    +
  1. Serwis zbiera informacje podane dobrowolnie przez użytkownika, w tym dane + osobowe, o ile zostaną one podane.
  2. +
  3. Serwis może zapisać informacje o parametrach połączenia (oznaczenie czasu, adres + IP).
  4. +
  5. Serwis, w niektórych wypadkach, może zapisać informację ułatwiającą powiązanie + danych w formularzu z adresem e-mail użytkownika wypełniającego formularz. + W takim wypadku adres e-mail użytkownika pojawia się wewnątrz adresu url strony + zawierającej formularz.
  6. +
  7. Dane podane w formularzu są przetwarzane w celu wynikającym z funkcji + konkretnego formularza, np. w celu dokonania procesu obsługi zgłoszenia + serwisowego lub kontaktu handlowego, rejestracji usług itp. Każdorazowo kontekst + i opis formularza w czytelny sposób informuje, do czego on służy.
  8. +
+ + + +

6. Logi Administratora

+ + + +
    +
  1. Informacje zachowaniu użytkowników w serwisie mogą podlegać logowaniu. Dane te są + wykorzystywane w celu administrowania serwisem.
  2. +
+ + + +

7. Istotne techniki marketingowe

+ + + +
    +
  1. Operator stosuje analizę statystyczną ruchu na stronie, poprzez Google Analytics + (Google Inc. z siedzibą w USA). Operator nie przekazuje do operatora + tej usługi danych osobowych, a jedynie zanonimizowane informacje. Usługa + bazuje na wykorzystaniu ciasteczek w urządzeniu końcowym użytkownika. + W zakresie informacji o preferencjach użytkownika gromadzonych przez sieć + reklamową Google użytkownik może przeglądać i edytować informacje wynikające + z plików cookies przy pomocy narzędzia: https://www.google.com/ads/preferences/ +
  2. +
  3. Operator stosuje techniki remarketingowe, pozwalające na dopasowanie przekazów + reklamowych do zachowania użytkownika na stronie, co może dawać złudzenie, + że dane osobowe użytkownika są wykorzystywane do jego śledzenia, jednak + w praktyce nie dochodzi do przekazania żadnych danych osobowych + od Operatora do operatorom reklam. Technologicznym warunkiem takich działań + jest włączona obsługa plików cookie.
  4. +
  5. Operator stosuje korzysta z piksela Facebooka. Ta technologia powoduje, + że serwis Facebook (Facebook Inc. z siedzibą w USA) wie, że dana + osoba w nim zarejestrowana korzysta z Serwisu. Bazuje w tym wypadku + na danych, wobec których sam jest administratorem, Operator + nie przekazuje od siebie żadnych dodatkowych danych osobowych serwisowi + Facebook. Usługa bazuje na wykorzystaniu ciasteczek w urządzeniu końcowym + użytkownika.
  6. +
+ + + +

8. Informacja o plikach cookies

+ + + +
    +
  1. Serwis korzysta z plików cookies.
  2. +
  3. Pliki cookies (tzw. „ciasteczka”) stanowią dane informatyczne, w szczególności + pliki tekstowe, które przechowywane są w urządzeniu końcowym Użytkownika Serwisu + i przeznaczone są do korzystania ze stron internetowych Serwisu. Cookies + zazwyczaj zawierają nazwę strony internetowej, z której pochodzą, czas + przechowywania ich na urządzeniu końcowym oraz unikalny numer.
  4. +
  5. Podmiotem zamieszczającym na urządzeniu końcowym Użytkownika Serwisu pliki cookies + oraz uzyskującym do nich dostęp jest operator Serwisu.
  6. +
  7. Pliki cookies wykorzystywane są w następujących celach:
      +
    1. utrzymanie sesji użytkownika Serwisu (po zalogowaniu), dzięki + której użytkownik nie musi na każdej podstronie Serwisu ponownie + wpisywać loginu i hasła;
    2. +
    3. realizacji celów określonych powyżej w części „Istotne techniki + marketingowe”;
    4. +
    +
  8. +
  9. W ramach Serwisu stosowane są dwa zasadnicze rodzaje plików cookies: „sesyjne” + (session cookies) oraz „stałe” (persistent cookies). Cookies „sesyjne” są plikami + tymczasowymi, które przechowywane są w urządzeniu końcowym Użytkownika + do czasu wylogowania, opuszczenia strony internetowej lub wyłączenia oprogramowania + (przeglądarki internetowej). „Stałe” pliki cookies przechowywane są w urządzeniu + końcowym Użytkownika przez czas określony w parametrach plików cookies lub + do czasu ich usunięcia przez Użytkownika.
  10. +
  11. Oprogramowanie do przeglądania stron internetowych (przeglądarka internetowa) + zazwyczaj domyślnie dopuszcza przechowywanie plików cookies w urządzeniu końcowym + Użytkownika. Użytkownicy Serwisu mogą dokonać zmiany ustawień w tym + zakresie. Przeglądarka internetowa umożliwia usunięcie plików cookies. Możliwe jest + także automatyczne blokowanie plików cookies Szczegółowe informacje na ten temat + zawiera pomoc lub dokumentacja przeglądarki internetowej.
  12. +
  13. Ograniczenia stosowania plików cookies mogą wpłynąć na niektóre funkcjonalności + dostępne na stronach internetowych Serwisu.
  14. +
  15. Pliki cookies zamieszczane w urządzeniu końcowym Użytkownika Serwisu wykorzystywane + mogą być również przez współpracujące z operatorem Serwisu podmioty, + w szczególności dotyczy to firm: Google (Google Inc. z siedzibą + w USA), Facebook (Facebook Inc. z siedzibą w USA), Twitter (Twitter Inc. + z siedzibą w USA).
  16. +
+ + + +

9. Zarządzanie plikami cookies – jak w praktyce wyrażać i cofać + zgodę?

+ + + +
    +
  1. Jeśli użytkownik nie chce otrzymywać plików cookies, może zmienić ustawienia + przeglądarki. Zastrzegamy, że wyłączenie obsługi plików cookies niezbędnych dla + procesów uwierzytelniania, bezpieczeństwa, utrzymania preferencji użytkownika może + utrudnić, a w skrajnych przypadkach może uniemożliwić korzystanie + ze stron www
  2. +
  3. W celu zarządzania ustawienia cookies wybierz z listy poniżej przeglądarkę + internetową, której używasz i postępuj zgodnie z instrukcjami:Urządzenia mobilne: +
  4. +
+ + + +

Niniejszy wzór polityki został wygenerowany bezpłatnie, w celach informacyjnych, + w oparciu o naszą wiedzę, branżowe praktyki i przepisy prawa obowiązujące + na dzień 2018-08-14. Zalecamy sprawdzenie wzoru polityki przed użyciem jej + na stronie. Wzór opiera się na najczęściej występujących na stronach + internetowych sytuacjach, ale może nie odzwierciedlać pełnej i dokładnej + specyfiki Twojej strony www. Przeczytaj uważnie wygenerowany dokument + i w razie potrzeb dostosuj go do Twojej sytuacji lub zasięgnij porady + prawnej. Nie bierzemy odpowiedzianości za skutki posługiwania się tym dokumentem, + ponieważ tylko Ty masz wpłw na to, czy wszystkie informacje w nim + zawarte są zgodne z prawdą. Zwróć także uwagę, że Polityka Prywatności, nawet + najlepsza, jest tylko jednym z ekmentów Twojej troski o dane osobowe + i prywatność użytkownika na stronie www.

+ +
+ +
+ + + +
+
+ +
+
+ +
+
logo ostal +
+ +
+

OSTAL GROUP Sp. z o.o.
+ ul. Boh II A.W.P. 14F
+ 59-900 Zgorzelec

+
+ +
+

Biuro czynne:
+ Pn-Czw 10-17
+ Pt 8-15

+
+ + +
+ +
+
+

© All right reserved 2021 || Realizacja:

+ Creative and Digital Agency for Game Changers + ️ +
+
+ +
+ + +
+ +
+ + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/poradniki.html b/wp-content/themes/ostal_WP/ostal-front/poradniki.html new file mode 100644 index 0000000..d441bd6 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/poradniki.html @@ -0,0 +1,179 @@ + + + + + + + + Ostal + + + + + + + +
+ + +
+

Poradniki

+
+ +
+
+

O ogrodach zimowych

+

+ Od dawna ogrody zimowe były stosowane w architekturze, głównie pałacowej i dworkowej, + dla stworzenia optymalnych warunków do uprawy egzotycznych roślin – jak drzewka + pomarańczowe, stąd nazywano je również oranżeriami. Współcześnie mogą stać się + dopełnieniem miejskiej, luksusowej willi, jak też wiejskiej rezydencji letniej. +

+

+ Już na początku należy odpowiedzieć sobie na pytanie: do czego ma służyć nasz nowy ogród zimowy oraz co jest dla nas ważniejsze – uzyskanie architektonicznego efektu, czy też powiększenie powierzchni mieszkalnej. +

+ + pdf-icon +

Więcej dowiesz się z naszego poradnika “O ogrodach zimowych”. +

+
+
+ +
+

Przed budową ogrodu zimowego +

+

+ Projektowanie ogrodu zimowego na etapie budowy nowego domu pozwala uniknąć wielu ograniczeń i zyskać całkowitą dowolność w działaniach. Odpowiedni wybór położenia ogrodu i jego formy architektonicznej pozwala na zachowanie stylu całego budynku oraz utrzymanie integralności jego struktury. +

+

+ Przyłączenie ogrodu do już istniejącego budynku z kolei wymaga sprawdzenia, czy konstrukcja nośna wytrzyma dodatkowe obciążenie. + +

+ + pdf-icon +

Więcej dowiesz się z naszego poradnika “Przed budową ogrodu zimowego”. +

+
+
+ +
+

Dodatkowe elementy ogrodu zimowego +

+

+ Współczesne ogrody zimowe pozwalają na wykorzystanie wielu dodatkowych elementów, które zwiększają energooszczędność, zapewniają komfort optyczny i termiczny czy też odpowiadają za skuteczna klimatyzację. +

+

+ W naszych konstrukcjach stosujemy markizy dachowe, żaluzje fasadowe, rolety zewnętrzne oraz automatykę pogodową. + +

+ + pdf-icon +

Więcej dowiesz się z naszego poradnika “Dodatkowe elementy ogrodu zimowego”. + +

+
+
+
+ + + +
+
+

Nie wiesz, co wybrać ?

+

Chętnie doradzimy i przygotujemy + Twój wyjątkowy projekt. +

+
+ +
+ + + +
+ + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/postcss.config.js b/wp-content/themes/ostal_WP/ostal-front/postcss.config.js new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/12.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/12.jpg new file mode 100644 index 0000000..e199ca1 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/12.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/121-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/121-150x150.jpg new file mode 100644 index 0000000..0dd3ae9 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/121-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/2-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/2-150x150.jpg new file mode 100644 index 0000000..c1ab6db Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/2-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/25wat-logo.svg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/25wat-logo.svg new file mode 100644 index 0000000..7be4e6b --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/25wat-logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/3-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/3-150x150.jpg new file mode 100644 index 0000000..abd957c Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/3-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/4-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/4-150x150.jpg new file mode 100644 index 0000000..8cd4148 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/4-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/51-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/51-150x150.jpg new file mode 100644 index 0000000..f71e3ea Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/51-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/6-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/6-150x150.jpg new file mode 100644 index 0000000..666b4c6 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/6-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/7-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/7-150x150.jpg new file mode 100644 index 0000000..cbe4444 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/7-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/8-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/8-150x150.jpg new file mode 100644 index 0000000..cd4d230 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/8-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/9-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/9-150x150.jpg new file mode 100644 index 0000000..3ab3822 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/9-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/dach-jednospadowy.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/dach-jednospadowy.jpg new file mode 100644 index 0000000..441dea2 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/dach-jednospadowy.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/domek-2-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/domek-2-150x150.jpg new file mode 100644 index 0000000..c2fbbef Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/domek-2-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/domek-3-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/domek-3-150x150.jpg new file mode 100644 index 0000000..4817593 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/domek-3-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/domek-4-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/domek-4-150x150.jpg new file mode 100644 index 0000000..025fc99 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/domek-4-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/domek-5-150x150.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/domek-5-150x150.jpg new file mode 100644 index 0000000..d2f679c Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/domek-5-150x150.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/hero-about.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/hero-about.jpg new file mode 100644 index 0000000..926f37a Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/hero-about.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/hero-carports.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/hero-carports.jpg new file mode 100644 index 0000000..57a2be6 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/hero-carports.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/hero-gardens.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/hero-gardens.jpg new file mode 100644 index 0000000..f96a835 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/hero-gardens.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/icon1.svg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/icon1.svg new file mode 100644 index 0000000..8bc9eb6 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/icon1.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/icon2.svg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/icon2.svg new file mode 100644 index 0000000..3ada7d7 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/icon2.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/icon3.svg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/icon3.svg new file mode 100644 index 0000000..bd31d5b --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/icon3.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/logo.svg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/logo.svg new file mode 100644 index 0000000..0f18df9 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/next.svg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/next.svg new file mode 100644 index 0000000..d302243 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/next.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/pdf.svg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/pdf.svg new file mode 100644 index 0000000..960117d --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/pdf.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/print-icon.png b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/print-icon.png new file mode 100644 index 0000000..618216b Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/print-icon.png differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/realizacja.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/realizacja.jpg new file mode 100644 index 0000000..da7c079 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/realizacja.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slide-1.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slide-1.jpg new file mode 100644 index 0000000..e8b79f7 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slide-1.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slide-2.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slide-2.jpg new file mode 100644 index 0000000..d847fa7 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slide-2.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slide-3.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slide-3.jpg new file mode 100644 index 0000000..44959a1 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slide-3.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slider-sec-2.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slider-sec-2.jpg new file mode 100644 index 0000000..d11977a Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slider-sec-2.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slider-sec-3.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slider-sec-3.jpg new file mode 100644 index 0000000..1f01c66 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slider-sec-3.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slider-sec.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slider-sec.jpg new file mode 100644 index 0000000..4a58c5b Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/slider-sec.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/vid1.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/vid1.jpg new file mode 100644 index 0000000..0ef4e84 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/vid1.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/public/assets/images/vid2.jpg b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/vid2.jpg new file mode 100644 index 0000000..5d61261 Binary files /dev/null and b/wp-content/themes/ostal_WP/ostal-front/public/assets/images/vid2.jpg differ diff --git a/wp-content/themes/ostal_WP/ostal-front/realizacja.html b/wp-content/themes/ostal_WP/ostal-front/realizacja.html new file mode 100644 index 0000000..bd2be15 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/realizacja.html @@ -0,0 +1,151 @@ + + + + + + + + Ostal + + + + + + + + + +
+ + +
+

Dach dwuspadowy przylegający do budynku

+
+ +
+ + + + + + + + + +
+ +
+

Pozostałe realizacje

+
+ + + +
+ + + + +

Dach typu mansardowego

+
+ + + +

Dach typu mansardowego

+
+ + + +

Dach jednospadowy wokół naroża budynku

+
+ +
+ + + +
+
+

Nie wiesz, co wybrać ?

+

Chętnie doradzimy i przygotujemy + Twój wyjątkowy projekt. +

+
+ +
+ + + + +
+ + + + + + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/src/scss/index.scss b/wp-content/themes/ostal_WP/ostal-front/src/scss/index.scss new file mode 100644 index 0000000..6a71b8e --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/src/scss/index.scss @@ -0,0 +1,79 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + + + +@layer components { + .btn { + @apply font-semibold text-xl; + } + + .btn-blue { + @apply bg-blue text-white pl-10 pr-10 p-6 mt-3 mb-3; + } + + .btn-cta { + @apply bg-blue text-white text-left; + } + + .gallery-item { + @apply block bg-cover bg-blue w-full pb-64 sm:w-6/12 md:w-4/12 md:pb-56 lg:w-3/12 lg:h-52 xl:w-4/12 xl:pb-80 2xl:pb-96 border-8 border-white cursor-pointer transition transform hover:opacity-90; + } +} + +@layer utilities { + .feature-box { + @apply border-l-2; + + &::before { + content: ''; + width: 45%; + height: 2px; + position: absolute; + display: block; + left: 0; + top: 0; + @apply sm:hidden bg-white + } + } + + .swiper-container { + @apply xl:h-930 + } + + .swiper-button-next:after { + display: none; + } + + .recent-realizations-item { + @apply flex flex-col bg-cover w-full pb-64 sm:w-6/12 md:w-1/3 md:pb-56 lg:w-1/3 lg:pb-80 xl:w-4/12 xl:pb-80 2xl:pb-96 border-8 border-white relative hover:opacity-90 mb-14; + + p { + opacity: 0; + } + + &:hover { + p { + opacity: 1; + } + } + } + +} + + +.page-template-default { + + h2 { + @apply mb-7 mt-7; + } + + ul, ol { + @apply list-disc mb-7 + } + + li { + @apply ml-7 + } +} diff --git a/wp-content/themes/ostal_WP/ostal-front/tailwind.config.js b/wp-content/themes/ostal_WP/ostal-front/tailwind.config.js new file mode 100644 index 0000000..7040233 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/tailwind.config.js @@ -0,0 +1,76 @@ +module.exports = { + purge: { + content: ['./*.html', '../*.php', './**/*.html', './**/*.php', './**/**/*.html', './**/**/*.php'], + options: { + keyframes: true, + } + }, + darkMode: false, + theme: { + fontFamily: { + sans: ['"Poppins", sans-serif'] + }, + colors: { + 'gray': '#FAFAFA', + 'gray-200': '#e0e0e0', + 'blue': '#132474', + 'blue-100': '#193dc1', + 'dark': '#363434', + 'white': '#FFF' + }, + extend: { + backgroundImage: theme => ({ + 'hero-slide-1': "url('/assets/images/slide-1.jpg')", + 'hero-slide-2': "url('/assets/images/slide-2.jpg')", + 'hero-slide-3': "url('/assets/images/slide-3.jpg')", + 'hero-about': "url('/assets/images/hero-about.jpg')", + 'hero-gardens': "url('/assets/images/hero-gardens.jpg')", + 'hero-carports': "url('/assets/images/hero-carports.jpg')", + 'vid-1': "url('/assets/images/vid1.jpg')", + 'vid-2': "url('/assets/images/vid2.jpg')", + 'slide-small-1': "url('/assets/images/slider-sec.jpg')", + 'slide-small-2': "url('/assets/images/slider-sec-2.jpg')", + 'slide-small-3': "url('/assets/images/slider-sec-3.jpg')", + 'single': "url('/assets/images/realizacja.jpg')", + }), + maxWidth: (theme, {breakpoints}) => ({ + '180': '180px', + '200': '200px', + '220': '220px', + }), + minWidth: (theme, {breakpoints}) => ({ + '150': '150px', + '200': '200px', + }), + width: (theme, {breakpoints}) => ({ + '150': '150px', + '200': '200px', + '600': '600px' + }), + height: (theme, {breakpoints}) => ({ + '480': '480px', + '930': '930px' + }), + borderWidth: { + '60': '60px' + }, + padding: { + '99': '27rem', + '100': '30rem', + '101': '32rem', + '102': '37rem' + }, + margin: { + '-102': '-37rem' + }, + lineHeight: { + '14': '4rem' + } + + } + }, + variants: { + extend: {}, + }, + plugins: [], +} diff --git a/wp-content/themes/ostal_WP/ostal-front/vite.config.js b/wp-content/themes/ostal_WP/ostal-front/vite.config.js new file mode 100644 index 0000000..997a2ac --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/vite.config.js @@ -0,0 +1,24 @@ +const {resolve} = require('path') + +export default { + build: { + rollupOptions: { + input: { + 'home': resolve(__dirname, 'index.html'), + 'ogrody-zimowe': resolve(__dirname, 'ogrody-zimowe.html'), + 'carporty': resolve(__dirname, 'carporty.html'), + 'nasze-realizacje': resolve(__dirname, 'nasze-realizacje.html'), + 'poradniki': resolve(__dirname, 'poradniki.html'), + 'onas': resolve(__dirname, 'onas.html'), + 'kontakt': resolve(__dirname, 'kontakt.html'), + 'realizacja': resolve(__dirname, 'realizacja.html'), + 'lightbox': resolve(__dirname, 'lightbox.html'), + }, + output: { + entryFileNames: `assets/[name].js`, + chunkFileNames: `assets/[name].js`, + assetFileNames: `assets/[name].[ext]` + } + } + } +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/vue-slider.js b/wp-content/themes/ostal_WP/ostal-front/vue-slider.js new file mode 100644 index 0000000..57df209 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/vue-slider.js @@ -0,0 +1,45 @@ + +var app = Vue.createApp({ + el: '#app', + data() { + return { + visible: false, + index: 0, + items: [], + + } + + }, + async created() { + + }, + mounted() { + fetch('http://localhost/ostal/wp-json/wp/v2/realizacje') + fetch() + .then(res => res.json()) + .then(data => this.items = data) + + // this.createImageArr(); + }, + methods: { + showImg(index) { + this.index = index + this.visible = true + }, + handleHide() { + this.visible = false + }, + + }, + computed: { + images() { + return this.items.map(item => item.acf.zdjecia.map(photo => photo.sizes.large)) + } + } + + +}) + + +app.use(VueEasyLightbox) +app.mount('#app') \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/ostal-front/yarn.lock b/wp-content/themes/ostal_WP/ostal-front/yarn.lock new file mode 100644 index 0000000..85fbb68 --- /dev/null +++ b/wp-content/themes/ostal_WP/ostal-front/yarn.lock @@ -0,0 +1,969 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@^7.0.0": + version "7.22.13" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz" + integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== + dependencies: + "@babel/highlight" "^7.22.13" + chalk "^2.4.2" + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/highlight@^7.22.13": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz" + integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +acorn-node@^1.6.1: + version "1.8.2" + resolved "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz" + integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== + dependencies: + acorn "^7.0.0" + acorn-walk "^7.0.0" + xtend "^4.0.2" + +acorn-walk@^7.0.0: + version "7.2.0" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.0.0: + version "7.4.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^5.0.1: + version "5.0.2" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +autoprefixer@^10.0.2, autoprefixer@^10.2.5: + version "10.2.5" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.5.tgz" + integrity sha512-7H4AJZXvSsn62SqZyJCP+1AWwOuoYpUfK6ot9vm0e87XD6mT8lDywc9D9OTJPMULyGcvmIxzTAMeG2Cc+YX+fA== + dependencies: + browserslist "^4.16.3" + caniuse-lite "^1.0.30001196" + colorette "^1.2.2" + fraction.js "^4.0.13" + normalize-range "^0.1.2" + postcss-value-parser "^4.1.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.16.3: + version "4.16.6" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz" + integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== + dependencies: + caniuse-lite "^1.0.30001219" + colorette "^1.2.2" + electron-to-chromium "^1.3.723" + escalade "^3.1.1" + node-releases "^1.1.71" + +bytes@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +caniuse-lite@^1.0.30001196, caniuse-lite@^1.0.30001219: + version "1.0.30001228" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz" + integrity sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A== + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@^3.5.2, "chokidar@>=3.0.0 <4.0.0": + version "3.5.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-string@^1.9.0: + version "1.9.1" + resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^4.0.1: + version "4.2.3" + resolved "https://registry.npmjs.org/color/-/color-4.2.3.tgz" + integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== + dependencies: + color-convert "^2.0.1" + color-string "^1.9.0" + +colorette@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz" + integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + +commander@^8.0.0: + version "8.3.0" + resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +cosmiconfig@^7.0.1: + version "7.1.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz" + integrity sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q== + +css-unit-converter@^1.1.1: + version "1.1.2" + resolved "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz" + integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz" + integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ== + +detective@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz" + integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== + dependencies: + acorn-node "^1.6.1" + defined "^1.0.0" + minimist "^1.1.1" + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +electron-to-chromium@^1.3.723: + version "1.3.730" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.730.tgz" + integrity sha512-1Tr3h09wXhmqXnvDyrRe6MFgTeU0ZXy3+rMJWTrOHh/HNesWwBBrKnMxRJWZ86dzs8qQdw2c7ZE1/qeGHygImA== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +esbuild-linux-64@0.14.54: + version "0.14.54" + resolved "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz" + integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg== + +esbuild@^0.14.27: + version "0.14.54" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz" + integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA== + optionalDependencies: + "@esbuild/linux-loong64" "0.14.54" + esbuild-android-64 "0.14.54" + esbuild-android-arm64 "0.14.54" + esbuild-darwin-64 "0.14.54" + esbuild-darwin-arm64 "0.14.54" + esbuild-freebsd-64 "0.14.54" + esbuild-freebsd-arm64 "0.14.54" + esbuild-linux-32 "0.14.54" + esbuild-linux-64 "0.14.54" + esbuild-linux-arm "0.14.54" + esbuild-linux-arm64 "0.14.54" + esbuild-linux-mips64le "0.14.54" + esbuild-linux-ppc64le "0.14.54" + esbuild-linux-riscv64 "0.14.54" + esbuild-linux-s390x "0.14.54" + esbuild-netbsd-64 "0.14.54" + esbuild-openbsd-64 "0.14.54" + esbuild-sunos-64 "0.14.54" + esbuild-windows-32 "0.14.54" + esbuild-windows-64 "0.14.54" + esbuild-windows-arm64 "0.14.54" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +fast-glob@^3.2.7: + version "3.3.1" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz" + integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +fraction.js@^4.0.13: + version "4.1.0" + resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.0.tgz" + integrity sha512-o9lSKpK0TDqDwTL24Hxqi6I99s942l6TYkfl6WvGWgLOIFz/YonSGKfiSeMadoiNvTfqnfOa9mjb5SGVbBK9/w== + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@^7.1.3, glob@^7.1.7: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.11" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz" + integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz" + integrity sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A== + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz" + integrity sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA== + +html-tags@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz" + integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-color-stop@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz" + integrity sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA== + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + +is-core-module@^2.13.0: + version "2.13.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz" + integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== + dependencies: + has "^1.0.3" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +lilconfig@^2.0.5: + version "2.1.0" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +lodash.topath@^4.5.2: + version "4.5.2" + resolved "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz" + integrity sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak= sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg== + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1: + version "1.2.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +modern-normalize@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz" + integrity sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA== + +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + +node-emoji@^1.11.0: + version "1.11.0" + resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" + integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== + dependencies: + lodash "^4.17.21" + +node-releases@^1.1.71: + version "1.1.72" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.72.tgz" + integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +object-hash@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz" + integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +postcss-js@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz" + integrity sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw== + dependencies: + camelcase-css "^2.0.1" + postcss "^8.1.6" + +postcss-load-config@^3.1.0: + version "3.1.4" + resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz" + integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== + dependencies: + lilconfig "^2.0.5" + yaml "^1.10.2" + +postcss-nested@5.0.6: + version "5.0.6" + resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz" + integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== + dependencies: + postcss-selector-parser "^6.0.6" + +postcss-selector-parser@^6.0.6: + version "6.0.13" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz" + integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^3.3.0: + version "3.3.1" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + +postcss@^8.0.9, postcss@^8.1.0, postcss@^8.1.6, postcss@^8.2.14, postcss@^8.2.15, postcss@^8.3.5, postcss@^8.4.13, postcss@>=8.0.9: + version "8.4.29" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz" + integrity sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +pretty-hrtime@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz" + integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A== + +print-js@^1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/print-js/-/print-js-1.6.0.tgz" + integrity sha512-BfnOIzSKbqGRtO4o0rnj/K3681BSd2QUrsIZy/+WdCIugjIswjmx3lDEZpXB2ruGf9d4b3YNINri81+J0FsBWg== + +purgecss@^4.0.3: + version "4.1.3" + resolved "https://registry.npmjs.org/purgecss/-/purgecss-4.1.3.tgz" + integrity sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw== + dependencies: + commander "^8.0.0" + glob "^7.1.7" + postcss "^8.3.5" + postcss-selector-parser "^6.0.6" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +reduce-css-calc@^2.1.8: + version "2.1.8" + resolved "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz" + integrity sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg== + dependencies: + css-unit-converter "^1.1.1" + postcss-value-parser "^3.3.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.20.0, resolve@^1.22.0: + version "1.22.6" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz" + integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz" + integrity sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w== + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz" + integrity sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg== + +rimraf@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +"rollup@>=2.59.0 <2.78.0": + version "2.77.3" + resolved "https://registry.npmjs.org/rollup/-/rollup-2.77.3.tgz" + integrity sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g== + optionalDependencies: + fsevents "~2.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +sass@*, sass@^1.32.13: + version "1.32.13" + resolved "https://registry.npmjs.org/sass/-/sass-1.32.13.tgz" + integrity sha512-dEgI9nShraqP7cXQH+lEXVf73WOPCse0QlFzSD8k+1TcOxCMwVXfQlr0jtoluZysQOyJGnfr21dLvYKDJq8HkA== + dependencies: + chokidar ">=3.0.0 <4.0.0" + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== + dependencies: + is-arrayish "^0.3.1" + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +tailwindcss@^2.1.2: + version "2.2.19" + resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.19.tgz" + integrity sha512-6Ui7JSVtXadtTUo2NtkBBacobzWiQYVjYW0ZnKaP9S1ZCKQ0w7KVNz+YSDI/j7O7KCMHbOkz94ZMQhbT9pOqjw== + dependencies: + arg "^5.0.1" + bytes "^3.0.0" + chalk "^4.1.2" + chokidar "^3.5.2" + color "^4.0.1" + cosmiconfig "^7.0.1" + detective "^5.2.0" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.2.7" + fs-extra "^10.0.0" + glob-parent "^6.0.1" + html-tags "^3.1.0" + is-color-stop "^1.1.0" + is-glob "^4.0.1" + lodash "^4.17.21" + lodash.topath "^4.5.2" + modern-normalize "^1.1.0" + node-emoji "^1.11.0" + normalize-path "^3.0.0" + object-hash "^2.2.0" + postcss-js "^3.0.3" + postcss-load-config "^3.1.0" + postcss-nested "5.0.6" + postcss-selector-parser "^6.0.6" + postcss-value-parser "^4.1.0" + pretty-hrtime "^1.0.3" + purgecss "^4.0.3" + quick-lru "^5.1.1" + reduce-css-calc "^2.1.8" + resolve "^1.20.0" + tmp "^0.2.1" + +tmp@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +vite@^2.3.3: + version "2.9.16" + resolved "https://registry.npmjs.org/vite/-/vite-2.9.16.tgz" + integrity sha512-X+6q8KPyeuBvTQV8AVSnKDvXoBMnTx8zxh54sOwmmuOdxkjMmEJXH2UEchA+vTMps1xw9vL64uwJOWryULg7nA== + dependencies: + esbuild "^0.14.27" + postcss "^8.4.13" + resolve "^1.22.0" + rollup ">=2.59.0 <2.78.0" + optionalDependencies: + fsevents "~2.3.2" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +xtend@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +yaml@^1.10.0, yaml@^1.10.2: + version "1.10.2" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== diff --git a/wp-content/themes/ostal_WP/package-lock.json b/wp-content/themes/ostal_WP/package-lock.json new file mode 100644 index 0000000..70831a4 --- /dev/null +++ b/wp-content/themes/ostal_WP/package-lock.json @@ -0,0 +1,3484 @@ +{ + "name": "simple-sass-structure", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "simple-sass-structure", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "simplelightbox": "^2.14.2" + }, + "devDependencies": { + "autoprefixer": "^10.4.15", + "css": "^3.0.0", + "postcss": "^8.4.30", + "sass": "^1.56.2", + "tailwind": "^4.0.0", + "tailwindcss": "^3.3.3" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/runtime": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.4.tgz", + "integrity": "sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.12.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ajv": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", + "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/amqplib": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/amqplib/-/amqplib-0.5.2.tgz", + "integrity": "sha512-l9mCs6LbydtHqRniRwYkKdqxVa6XMz3Vw1fh+2gJaaVgTM6Jk3o8RccAKWKtlhT1US5sWrFh+KKxsVUALURSIA==", + "dev": true, + "dependencies": { + "bitsyntax": "~0.0.4", + "bluebird": "^3.4.6", + "buffer-more-ints": "0.0.2", + "readable-stream": "1.x >=1.1.9", + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=0.8 <=9" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/app-root-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.1.0.tgz", + "integrity": "sha512-z5BqVjscbjmJBybKlICogJR2jCr2q/Ixu7Pvui5D4y97i7FLsJlvEG9XOR/KJRlkxxZz7UaaS2TMwQh1dRJ2dA==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha512-6i37w/+EhlWlGUJff3T/Q8u1RGmP5wgbiwYnOnbOqvtrPxT63/sYFyP9RcpxtxGymtfA075IvmOnL7ycNOWl3w==", + "dev": true + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "node_modules/async-retry": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.2.3.tgz", + "integrity": "sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q==", + "dev": true, + "dependencies": { + "retry": "0.12.0" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.15", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz", + "integrity": "sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001520", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bitsyntax": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.0.4.tgz", + "integrity": "sha512-Pav3HSZXD2NLQOWfJldY3bpJLt8+HS2nUo5Z1bLLmHg2vCE/cM1qfEvNjlYo7GgYQPneNr715Bh42i01ZHZPvw==", + "dev": true, + "dependencies": { + "buffer-more-ints": "0.0.2" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/body-parser": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha512-YQyoqQG3sO8iCmf8+hyVpgHHOv0/hCEFiS4zTGUwTA1HjAFX66wRcNQrVCeJq9pgESMRvUAOvSil5MJlmccuKQ==", + "dev": true, + "dependencies": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "~1.6.3", + "iconv-lite": "0.4.23", + "on-finished": "~2.3.0", + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "~1.6.16" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "dev": true + }, + "node_modules/buffer-more-ints": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz", + "integrity": "sha512-PDgX2QJgUc5+Jb2xAoBFP5MxhtVUmZHR33ak+m/SDxRdCrbnX1BggRIaxiW7ImwfmO4iJeCQKN18ToSXWGjYkA==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001538", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz", + "integrity": "sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/commands-events": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/commands-events/-/commands-events-1.0.4.tgz", + "integrity": "sha512-HdP/+1Anoc7z+6L2h7nd4Imz54+LW+BjMGt30riBZrZ3ZeP/8el93wD8Jj8ltAaqVslqNgjX6qlhSBJwuDSmpg==", + "dev": true, + "dependencies": { + "@babel/runtime": "7.2.0", + "formats": "1.0.0", + "uuidv4": "2.0.0" + } + }, + "node_modules/commands-events/node_modules/@babel/runtime": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", + "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.12.0" + } + }, + "node_modules/commands-events/node_modules/uuidv4": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-2.0.0.tgz", + "integrity": "sha512-sAUlwUVepcVk6bwnaW/oi6LCwMdueako5QQzRr90ioAVVcms6p1mV0PaSxK8gyAC4CRvKddsk217uUpZUbKd2Q==", + "dev": true, + "dependencies": { + "sha-1": "0.1.1", + "uuid": "3.3.2" + } + }, + "node_modules/comparejs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/comparejs/-/comparejs-1.0.0.tgz", + "integrity": "sha512-Ue/Zd9aOucHzHXwaCe4yeHR7jypp7TKrIBZ5yls35nPNiVXlW14npmNVKM1ZaLlQTKZ6/4ewA//gYKHHIwCpOw==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", + "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.14", + "debug": "2.6.9", + "on-headers": "~1.0.1", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/crypto2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto2/-/crypto2-2.0.0.tgz", + "integrity": "sha512-jdXdAgdILldLOF53md25FiQ6ybj2kUFTiRjs7msKTUoZrzgT/M1FPX5dYGJjbbwFls+RJIiZxNTC02DE/8y0ZQ==", + "dev": true, + "dependencies": { + "babel-runtime": "6.26.0", + "node-rsa": "0.4.2", + "util.promisify": "1.0.0" + } + }, + "node_modules/css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/datasette": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/datasette/-/datasette-1.0.1.tgz", + "integrity": "sha512-aJdlCBToEJUP4M57r67r4V6tltwGKa3qetnjpBtXYIlqbX9tM9jsoDMxb4xd9AGjpp3282oHRmqI5Z8TVAU0Mg==", + "dev": true, + "dependencies": { + "comparejs": "1.0.0", + "eventemitter2": "5.0.1", + "lodash": "4.17.5" + } + }, + "node_modules/datasette/node_modules/lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==", + "dev": true + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz", + "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==", + "dev": true + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/draht": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/draht/-/draht-1.0.1.tgz", + "integrity": "sha512-yNNHL864dniNmIE9ZKD++mKypiAUAvVZtyV0QrbXH/ak3ebzFqo5xsmRBRqV8pZVhImOSBiyq500Wcmrf44zAg==", + "dev": true, + "dependencies": { + "eventemitter2": "5.0.1" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.525", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.525.tgz", + "integrity": "sha512-GIZ620hDK4YmIqAWkscG4W6RwY6gOx1y5J6f4JUQwctiJrqH2oxZYU4mXHi35oV32tr630UcepBzSBGJ/WYcZA==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-abstract": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", + "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "dev": true + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter2": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-5.0.1.tgz", + "integrity": "sha512-5EM1GHXycJBS6mauYAbVKT1cVs7POKWb2NXD4Vyt8dDqeZa7LaDK1/sjtL+Zb0lzTpSNil4596Dyu97hz37QLg==", + "dev": true + }, + "node_modules/express": { + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", + "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.3", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.4", + "qs": "6.5.2", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.2", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "node_modules/flaschenpost": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/flaschenpost/-/flaschenpost-1.1.3.tgz", + "integrity": "sha512-1VAYPvDsVBGFJyUrOa/6clnJwZYC3qVq9nJLcypy6lvaaNbo1wOQiH8HQ+4Fw/k51pVG7JHzSf5epb8lmIW86g==", + "dev": true, + "dependencies": { + "@babel/runtime": "7.2.0", + "app-root-path": "2.1.0", + "babel-runtime": "6.26.0", + "chalk": "2.4.1", + "find-root": "1.1.0", + "lodash": "4.17.11", + "moment": "2.22.2", + "processenv": "1.1.0", + "split2": "3.0.0", + "stack-trace": "0.0.10", + "stringify-object": "3.3.0", + "untildify": "3.0.3", + "util.promisify": "1.0.0", + "varname": "2.0.3" + }, + "bin": { + "flaschenpost-normalize": "dist/bin/flaschenpost-normalize.js", + "flaschenpost-uncork": "dist/bin/flaschenpost-uncork.js" + } + }, + "node_modules/flaschenpost/node_modules/@babel/runtime": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz", + "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.12.0" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/formats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/formats/-/formats-1.0.0.tgz", + "integrity": "sha512-For0Y8egwEK96JgJo4NONErPhtl7H2QzeB2NYGmzeGeJ8a1JZqPgLYOtM3oJRCYhmgsdDFd6KGRYyfe37XY4Yg==", + "dev": true + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz", + "integrity": "sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hase": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hase/-/hase-2.0.0.tgz", + "integrity": "sha512-L83pBR/oZvQQNjv4kw9aUpTqBxERPiY7B42jsmkt1VDeUaRVhYkEIKzkCqrppjtxHe2EZqzZJzuhMXsWsxYIsw==", + "dev": true, + "dependencies": { + "@babel/runtime": "7.1.2", + "amqplib": "0.5.2" + } + }, + "node_modules/hase/node_modules/@babel/runtime": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.2.tgz", + "integrity": "sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.12.0" + } + }, + "node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/jiti": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", + "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/json-lines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-lines/-/json-lines-1.0.0.tgz", + "integrity": "sha512-ytuLZb4RBQb3bTRsG/QBenyIo5oHLpjeCVph3s2NnoAsZE9K6h+uR+OWpEOWV1UeHdX63tYctGppBpGAc+JNMA==", + "dev": true, + "dependencies": { + "timer2": "1.0.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/jsonwebtoken": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.0.tgz", + "integrity": "sha512-IqEycp0znWHNA11TpYi77bVgyBO/pGESDh7Ajhas+u0ttkGkKYIIAjniL4Bw5+oVejVF+SYkaI7XKfwCCyeTuA==", + "dev": true, + "dependencies": { + "jws": "^3.2.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=4", + "npm": ">=1.4.28" + } + }, + "node_modules/jsonwebtoken/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dev": true, + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dev": true, + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/limes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/limes/-/limes-2.0.0.tgz", + "integrity": "sha512-evWD0pnTgPX7QueaSoJl5JBUL30T1ZVzo34ke97tIKmeagqhBTYK/JkKL0vtG3MpNApw8ZY9TlbybfwEz9knBA==", + "dev": true, + "dependencies": { + "@babel/runtime": "7.3.4", + "jsonwebtoken": "8.5.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "dev": true + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "dev": true + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "dev": true + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "dev": true + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "node_modules/lusca": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/lusca/-/lusca-1.6.1.tgz", + "integrity": "sha512-+JzvUMH/rsE/4XfHdDOl70bip0beRcHSviYATQM0vtls59uVtdn1JMu4iD7ZShBpAmFG8EnaA+PrYG9sECMIOQ==", + "dev": true, + "dependencies": { + "tsscmp": "^1.0.5" + }, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true, + "bin": { + "mime": "cli.js" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/moment": { + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", + "integrity": "sha512-LRvkBHaJGnrcWvqsElsOhHCzj8mU39wLx5pQ0pc6s153GynCTsPdGdqsVNKAQD9sKnWj11iF7TZx9fpLwdD3fw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/morgan": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", + "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "dev": true, + "dependencies": { + "basic-auth": "~2.0.0", + "debug": "2.6.9", + "depd": "~1.1.2", + "on-finished": "~2.3.0", + "on-headers": "~1.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nocache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.0.0.tgz", + "integrity": "sha512-YdKcy2x0dDwOh+8BEuHvA+mnOKAhmMQDgKBOCUGaLpewdmsRYguYZSom3yA+/OrE61O/q+NMQANnun65xpI1Hw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "node_modules/node-rsa": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/node-rsa/-/node-rsa-0.4.2.tgz", + "integrity": "sha512-Bvso6Zi9LY4otIZefYrscsUpo2mUpiAVIEmSZV2q41sP8tHZoert3Yu6zv4f/RXJqMNZQKCtnhDugIuCma23YA==", + "dev": true, + "dependencies": { + "asn1": "0.2.3" + } + }, + "node_modules/node-statsd": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/node-statsd/-/node-statsd-0.1.1.tgz", + "integrity": "sha512-QDf6R8VXF56QVe1boek8an/Rb3rSNaxoFWb7Elpsv2m1+Noua1yy0F1FpKpK5VluF8oymWM4w764A4KsYL4pDg==", + "dev": true, + "engines": { + "node": ">=0.1.97" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "dev": true, + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/partof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/partof/-/partof-1.0.0.tgz", + "integrity": "sha512-+TXdhKCySpJDynCxgAPoGVyAkiK3QPusQ63/BdU5t68QcYzyU6zkP/T7F3gkMQBVUYqdWEADKa6Kx5zg8QIKrg==", + "dev": true + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.30", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz", + "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/processenv": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/processenv/-/processenv-1.1.0.tgz", + "integrity": "sha512-SymqIsn8GjEUy8nG7HiyEjgbfk1xFosRIakUX1NHLpriq3vVpKniGrr9RdMWCaGYWByIovbRt2f/WvmP/IOApQ==", + "dev": true, + "dependencies": { + "babel-runtime": "6.26.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "dev": true, + "dependencies": { + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==", + "dev": true + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.56.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.56.2.tgz", + "integrity": "sha512-ciEJhnyCRwzlBCB+h5cCPM6ie/6f8HrhZMQOf5vlU60Y1bI1rx5Zb0vlDZvaycHsg/MqFfF1Eq2eokAa32iw8w==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/sha-1": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/sha-1/-/sha-1-0.1.1.tgz", + "integrity": "sha512-dexizf3hB7d4Jq6Cd0d/NYQiqgEqIfZIpuMfwPfvSb6h06DZKmHyUe55jYwpHC12R42wpqXO6ouhiBpRzIcD/g==", + "dev": true + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/simplelightbox": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/simplelightbox/-/simplelightbox-2.14.2.tgz", + "integrity": "sha512-6Pm85SEs4sseY/Jf7AeXs8hbxQFv3CV2dXWF+8aZ2T4Rtl//WfVIGWkLTCUZX5hO8kIgHvf//xOjBwmZfx9hjA==" + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "node_modules/split2": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.0.0.tgz", + "integrity": "sha512-Cp7G+nUfKJyHCrAI8kze3Q00PFGEG1pMgrAlTFlDbn+GW24evSZHJuMl+iUJx1w/NTRDeBiTgvwnf6YOt94FMw==", + "dev": true, + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/split2/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/split2/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/split2/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stethoskop": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stethoskop/-/stethoskop-1.0.0.tgz", + "integrity": "sha512-4JnZ+UmTs9SFfDjSHFlD/EoXcb1bfwntkt4h1ipNGrpxtRzmHTxOmdquCJvIrVu608Um7a09cGX0ZSOSllWJNQ==", + "dev": true, + "dependencies": { + "node-statsd": "0.1.1" + } + }, + "node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwind": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tailwind/-/tailwind-4.0.0.tgz", + "integrity": "sha512-LlUNoD/5maFG1h5kQ6/hXfFPdcnYw+1Z7z+kUD/W/E71CUMwcnrskxiBM8c3G8wmPsD1VvCuqGYMHviI8+yrmg==", + "dev": true, + "dependencies": { + "@babel/runtime": "7.3.4", + "ajv": "6.10.0", + "app-root-path": "2.1.0", + "async-retry": "1.2.3", + "body-parser": "1.18.3", + "commands-events": "1.0.4", + "compression": "1.7.3", + "content-type": "1.0.4", + "cors": "2.8.5", + "crypto2": "2.0.0", + "datasette": "1.0.1", + "draht": "1.0.1", + "express": "4.16.4 ", + "flaschenpost": "1.1.3", + "hase": "2.0.0", + "json-lines": "1.0.0", + "limes": "2.0.0", + "lodash": "4.17.11", + "lusca": "1.6.1", + "morgan": "1.9.1", + "nocache": "2.0.0", + "partof": "1.0.0", + "processenv": "1.1.0", + "stethoskop": "1.0.0", + "timer2": "1.0.0", + "uuidv4": "3.0.1", + "ws": "6.2.0" + } + }, + "node_modules/tailwindcss": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", + "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/timer2": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/timer2/-/timer2-1.0.0.tgz", + "integrity": "sha512-UOZql+P2ET0da+B7V3/RImN3IhC5ghb+9cpecfUhmYGIm0z73dDr3A781nBLnFYmRzeT1AmoT4w9Lgr8n7n7xg==", + "dev": true + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/tsscmp": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", + "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==", + "dev": true, + "engines": { + "node": ">=0.6.x" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/untildify": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz", + "integrity": "sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/uuidv4": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-3.0.1.tgz", + "integrity": "sha512-PPzksdWRl2a5C9hrs3OOYrArTeyoR0ftJ3jtOy+BnVHkT2UlrrzPNt9nTdiGuxmQItHM/AcTXahwZZC57Njojg==", + "dev": true, + "dependencies": { + "uuid": "3.3.2" + } + }, + "node_modules/varname": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/varname/-/varname-2.0.3.tgz", + "integrity": "sha512-+DofT9mJAUALhnr9ipZ5Z2icwaEZ7DAajOZT4ffXy3MQqnXtG3b7atItLQEJCkfcJTOf9WcsywneOEibD4eqJg==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.0.tgz", + "integrity": "sha512-deZYUNlt2O4buFCa3t5bKLf8A7FPP/TVjwOeVNpw818Ma5nk4MLXls2eoEGS39o8119QIYxTrTDoPQ5B/gTD6w==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/yaml": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", + "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", + "dev": true, + "engines": { + "node": ">= 14" + } + } + } +} diff --git a/wp-content/themes/ostal_WP/package.json b/wp-content/themes/ostal_WP/package.json new file mode 100644 index 0000000..97ecec5 --- /dev/null +++ b/wp-content/themes/ostal_WP/package.json @@ -0,0 +1,36 @@ +{ + "name": "simple-sass-structure", + "version": "1.0.0", + "description": "Simple SASS folder structure for smaller projects with npm package sass", + "main": "index.js", + "scripts": { + "watch": "sass --source-map sass/main.scss:style.css -w --style compressed", + "build:sass": "sass --source-map sass/main.scss:style.css --style compressed", + "build:prefixes": "postcss style.css --use autoprefixer -o style.css", + "build:styles": "npm run build:sass && npm run build:prefixes" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/KoduKodu/simple-sass-sctructure.git" + }, + "keywords": [ + "sass" + ], + "author": "Rad Skotnicki", + "license": "ISC", + "bugs": { + "url": "https://github.com/KoduKodu/simple-sass-sctructure/issues" + }, + "homepage": "https://github.com/KoduKodu/simple-sass-sctructure#readme", + "devDependencies": { + "autoprefixer": "^10.4.15", + "css": "^3.0.0", + "postcss": "^8.4.30", + "sass": "^1.56.2", + "tailwind": "^4.0.0", + "tailwindcss": "^3.3.3" + }, + "dependencies": { + "simplelightbox": "^2.14.2" + } +} diff --git a/wp-content/themes/ostal_WP/page-2101.php b/wp-content/themes/ostal_WP/page-2101.php new file mode 100644 index 0000000..29563e4 --- /dev/null +++ b/wp-content/themes/ostal_WP/page-2101.php @@ -0,0 +1,448 @@ + +
+
+
+ + +
+

+

+
+ + +
+
+ + +
+

Nothing posted yet

+
+ +
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+
+

Krok 1

+
+
    +
  • +
    +
    +
    {{ step.text }}
    +
    +
  • +
+
+ +
+ + +
+ +
+
+ + +
+
+
+
+

Krok 2

+
+
+ +
    +
  • +

    {{ acfData.acf.step_2.length }} (od 2m do 7m): {{ configData.step_2.length / 1000 }}m

    + +
  • +
  • +

    {{ acfData.acf.step_2.width }} (od 2m do 7m): {{ configData.step_2.width / 1000 }}m

    + +
  • +
  • +

    {{ acfData.acf.step_2.height }} (od 2.5m do 3m): {{ configData.step_2.height / 1000 }}m

    + +
  • +
+
+
+ +
+ + +
+
+ + +
+ +
+
+ + +
+
+
+
+

Krok 3

+
+
    +
  • +
    +
    +
    {{ step.text }}
    +
    +
  • +
+
+ +
+ + + +
+
+ + + +
+
+
+ + +
+
+
+
+

Krok 4

+
+
    +
  • +

    {{acfData.acf.step_4.name}}

    + +
  • +
  • +

    {{acfData.acf.step_4.email}}

    + +
  • +
  • +

    {{acfData.acf.step_4.phone}}

    + +
  • +
+ + +
+ +
+ +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+ +
+

Przykładowe realizacje

+
+
+ wp_get_post_categories($post->ID), + 'numberposts' => 4, + 'post_type' => 'realizacje', + 'post__not_in' => array($post->ID) + ) + ); + + if ($related) foreach ($related as $post) { + setup_postdata($post); ?> + + + +

+

+
+ + +
+
+
+ +
+

Nothing posted yet

+
+ +
+
+ + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/page-2161.php b/wp-content/themes/ostal_WP/page-2161.php new file mode 100644 index 0000000..5225537 --- /dev/null +++ b/wp-content/themes/ostal_WP/page-2161.php @@ -0,0 +1,21 @@ + + + +
+
+ +
+

+
+ +
+ +
+ + + +
+
+ \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/page-templates/template-about.php b/wp-content/themes/ostal_WP/page-templates/template-about.php new file mode 100644 index 0000000..4475963 --- /dev/null +++ b/wp-content/themes/ostal_WP/page-templates/template-about.php @@ -0,0 +1,98 @@ + + + +
+
+

+ +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +

Zobacz, jak wygląda proces powstawania niesamowitych ogrodów.

+
+ + + +
+ +
+ + + +
+
+
+ + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/page-templates/template-carporty.php b/wp-content/themes/ostal_WP/page-templates/template-carporty.php new file mode 100644 index 0000000..ab555bf --- /dev/null +++ b/wp-content/themes/ostal_WP/page-templates/template-carporty.php @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/page-templates/template-contact.php b/wp-content/themes/ostal_WP/page-templates/template-contact.php new file mode 100644 index 0000000..7ce2b1f --- /dev/null +++ b/wp-content/themes/ostal_WP/page-templates/template-contact.php @@ -0,0 +1,77 @@ + + + +
+ +
+ +
+

+ +
+ + +
+
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/page-templates/template-gardens.php b/wp-content/themes/ostal_WP/page-templates/template-gardens.php new file mode 100644 index 0000000..d488baf --- /dev/null +++ b/wp-content/themes/ostal_WP/page-templates/template-gardens.php @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/page-templates/template-home.php b/wp-content/themes/ostal_WP/page-templates/template-home.php new file mode 100644 index 0000000..2496c42 --- /dev/null +++ b/wp-content/themes/ostal_WP/page-templates/template-home.php @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + c + d + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/page-templates/template-poradniki.php b/wp-content/themes/ostal_WP/page-templates/template-poradniki.php new file mode 100644 index 0000000..31f0f26 --- /dev/null +++ b/wp-content/themes/ostal_WP/page-templates/template-poradniki.php @@ -0,0 +1,112 @@ + + + +
+
+

+
+ +
+ + + +
+

+

+ +

+ + pdf-icon +

+
+
+ + + + + + + + +
+
+ + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/page.php b/wp-content/themes/ostal_WP/page.php new file mode 100644 index 0000000..ce16263 --- /dev/null +++ b/wp-content/themes/ostal_WP/page.php @@ -0,0 +1,41 @@ + +
+
+
+ + + + + +
+ +

+ +
+ + + +
+ +
+ + + + + +
+

Nothing posted yet

+
+ + + +
+
+
+ \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/partials/cta.php b/wp-content/themes/ostal_WP/partials/cta.php new file mode 100644 index 0000000..68ce276 --- /dev/null +++ b/wp-content/themes/ostal_WP/partials/cta.php @@ -0,0 +1,13 @@ +
+
+ + + + +
+ + + +
+
+
\ No newline at end of file diff --git a/wp-content/themes/ostal_WP/postcss.config.js b/wp-content/themes/ostal_WP/postcss.config.js new file mode 100644 index 0000000..e04fdcb --- /dev/null +++ b/wp-content/themes/ostal_WP/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + // tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/wp-content/themes/ostal_WP/sass/01-base/_animations.scss b/wp-content/themes/ostal_WP/sass/01-base/_animations.scss new file mode 100644 index 0000000..e69de29 diff --git a/wp-content/themes/ostal_WP/sass/01-base/_breakpoints.scss b/wp-content/themes/ostal_WP/sass/01-base/_breakpoints.scss new file mode 100644 index 0000000..037611a --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/01-base/_breakpoints.scss @@ -0,0 +1,21 @@ +@mixin responsive($breakpoint) { + @if $breakpoint == small-phones { + @media only screen + and (max-height: 667px) { + @content; + } + } + @if $breakpoint == tablet { + @media only screen + and (min-width: 768px) { + @content; + } + } + @if $breakpoint == desktop { + @media only screen + and (min-width: 1366px) + { + @content; + } + } +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/01-base/_colors.scss b/wp-content/themes/ostal_WP/sass/01-base/_colors.scss new file mode 100644 index 0000000..42463bb --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/01-base/_colors.scss @@ -0,0 +1,5 @@ +$white-color: #fff; +$gray-color: #F7F5F5; +$accent-color: #88B14B; +$dark-color: #121E23; +$dark-gray: #5F5F5F; \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/01-base/_global.scss b/wp-content/themes/ostal_WP/sass/01-base/_global.scss new file mode 100644 index 0000000..4037997 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/01-base/_global.scss @@ -0,0 +1,44 @@ +@use "colors" as *; +@use "typography" as *; +@use "breakpoints" as *; +@use "typography" as *; + +body{ + background-color: $white-color; + @include font-primary; +} + +h1, h2, h3, h4, h5, h6{ + @include font-primary; + font-weight: 700; +} + +h1{ + @include heading--xl; +} +h2{ + @include heading--md; +} +h3{ + @include heading--sm; +} + +p{ + font-weight: 400; + font-size: 1.8rem; + line-height: 150%; + letter-spacing: 4%; + margin-bottom: 26px; + @include responsive(tablet){ + margin-bottom: 40px; + } +} + +a{ + transition: all; + color: $dark-color; + &:hover{ + color: $accent-color; + } +} + diff --git a/wp-content/themes/ostal_WP/sass/01-base/_index.scss b/wp-content/themes/ostal_WP/sass/01-base/_index.scss new file mode 100644 index 0000000..b7ac041 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/01-base/_index.scss @@ -0,0 +1,8 @@ +@forward 'reset'; +@forward 'animations'; +@forward 'breakpoints'; +@forward 'colors'; +@forward 'global'; +@forward 'typography'; + + diff --git a/wp-content/themes/ostal_WP/sass/01-base/_reset.scss b/wp-content/themes/ostal_WP/sass/01-base/_reset.scss new file mode 100644 index 0000000..6985f84 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/01-base/_reset.scss @@ -0,0 +1,364 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + + *{ + margin: 0; + padding: 0; + box-sizing: border-box; + &:focus, &:focus-visible{ + outline: none !important; + } + } + + html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + /* 62.5% of 16px browser font size is 10px */ + font-size: 62.5%; + } + + /* Sections + ========================================================================== */ + + /** + * Remove the margin in all browsers. + */ + + body { + margin: 0; + } + + /** + * Render the `main` element consistently in IE. + */ + + main { + display: block; + } + + /** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + + h1 { + font-size: 2em; + } + + /* Grouping content + ========================================================================== */ + + /** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + + hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /* Text-level semantics + ========================================================================== */ + + /** + * Remove the gray background on active links in IE 10. + */ + + a { + background-color: transparent; + text-decoration: none; + } + + /** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + + abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ + } + + /** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + + b, + strong { + font-weight: bolder; + } + + /** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + + code, + kbd, + samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /** + * Add the correct font size in all browsers. + */ + + small { + font-size: 80%; + } + + /** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + sub { + bottom: -0.25em; + } + + sup { + top: -0.5em; + } + + /* Embedded content + ========================================================================== */ + + /** + * Remove the border on images inside links in IE 10. + */ + + img { + border-style: none; + } + + /* Forms + ========================================================================== */ + + /** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + + button, + input, + optgroup, + select, + textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ + } + + /** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + + button, + input { /* 1 */ + overflow: visible; + } + + /** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + + button, + select { /* 1 */ + text-transform: none; + } + + /** + * Correct the inability to style clickable types in iOS and Safari. + */ + + button, + [type="button"], + [type="reset"], + [type="submit"] { + -webkit-appearance: button; + } + + /** + * Remove the inner border and padding in Firefox. + */ + + button::-moz-focus-inner, + [type="button"]::-moz-focus-inner, + [type="reset"]::-moz-focus-inner, + [type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; + } + + /** + * Restore the focus styles unset by the previous rule. + */ + + button:-moz-focusring, + [type="button"]:-moz-focusring, + [type="reset"]:-moz-focusring, + [type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; + } + + /** + * Correct the padding in Firefox. + */ + + fieldset { + padding: 0.35em 0.75em 0.625em; + } + + /** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + + legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ + } + + /** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + + progress { + vertical-align: baseline; + } + + /** + * Remove the default vertical scrollbar in IE 10+. + */ + + textarea { + overflow: auto; + } + + /** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + + [type="checkbox"], + [type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + } + + /** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + + [type="number"]::-webkit-inner-spin-button, + [type="number"]::-webkit-outer-spin-button { + height: auto; + } + + /** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + + [type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ + } + + /** + * Remove the inner padding in Chrome and Safari on macOS. + */ + + [type="search"]::-webkit-search-decoration { + -webkit-appearance: none; + } + + /** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + + ::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ + } + + /* Interactive + ========================================================================== */ + + /* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + + details { + display: block; + } + + /* + * Add the correct display in all browsers. + */ + + summary { + display: list-item; + } + + /* Misc + ========================================================================== */ + + /** + * Add the correct display in IE 10+. + */ + + template { + display: none; + } + + /** + * Add the correct display in IE 10. + */ + + [hidden] { + display: none; + } + + div:focus, div:focus-visible{ + outline: none !important; + } \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/01-base/_typography.scss b/wp-content/themes/ostal_WP/sass/01-base/_typography.scss new file mode 100644 index 0000000..29c2af5 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/01-base/_typography.scss @@ -0,0 +1,79 @@ +@use "../01-base/breakpoints" as *; + +@mixin font-primary{ + font-family: 'Space Grotesk', sans-serif; +} + +.heading{ + @include font-primary; + font-weight: 700; + &--xl{ + font-size: 3.8rem; + line-height: 110%; + @include responsive(tablet){ + font-size: 4.8rem; + } + @include responsive(desktop){ + font-size: 4.8rem; + margin-bottom: 20px; + } + } + &--lg{ + font-size: 3.2rem; + line-height: 110%; + @include responsive(desktop){ + font-size: 3.2rem; + } + } + &--md{ + font-size: 24px; + line-height: 150%; + margin-bottom: 20px; + @include responsive(desktop){ + font-size: 2.4rem; + } + } + &--sm{ + font-size: 1.8rem; + line-height: 150%; + letter-spacing: 4%; + margin-bottom: 8px; + @include responsive(desktop){ + font-size: 1.8rem; + } + } +} + + +@mixin heading--xl{ + @include font-primary; + font-weight: 700; + font-size: 3.8rem; + line-height: 110%; + @include responsive(tablet){ + font-size: 4.8rem; + } + @include responsive(desktop){ + font-size: 4.8rem; + margin-bottom: 20px; + } +} +@mixin heading--md { + @include font-primary; + font-size: 2.4rem; + line-height: 150%; + margin-bottom: 20px; + @include responsive(desktop) { + // font-size: 2.4rem; + } +} +@mixin heading--sm { + @include font-primary; + font-size: 1.8rem; + line-height: 150%; + letter-spacing: 4%; + margin-bottom: 8px; + @include responsive(desktop) { + font-size: 1.8rem; + } +} diff --git a/wp-content/themes/ostal_WP/sass/02-abstracts/_helpers.scss b/wp-content/themes/ostal_WP/sass/02-abstracts/_helpers.scss new file mode 100644 index 0000000..8a62549 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/02-abstracts/_helpers.scss @@ -0,0 +1,65 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; + +.wrapper--inner{ + padding: 0 2rem; + margin: 0 auto; + @include responsive(tablet){ + padding: 0 4rem; + max-width: inherit; + } + @include responsive(desktop){ + padding: 0 0; + max-width: 1200px; + } +} + +.wrapper--default{ + padding: 30px 0; + @include responsive(tablet){ + padding: 40px 0; + } + @include responsive(desktop){ + padding: 50px 0; + } +} + +.text-accent{ + color: $accent-color; + &--lighten{ + color: lighten($accent-color, 20%); + } + &--darken{ + color: darken($accent-color, 20%); + } +} +.text-black{ + color: $dark-color; + &--lighten{ + color: lighten($dark-color, 20%); + } + &--darken{ + color: darken($dark-color, 20%); + } +} +.text-white{ + color: $white-color; + &--lighten{ + color: lighten($white-color, 20%); + } + &--darken{ + color: darken($white-color, 20%); + } +} + +.top-margin-minus{ + margin-top: -46px; + .wrapper{ + padding-top: 46px; + } +} + +.img-auto{ + width: 100%; + height: auto; +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/02-abstracts/_index.scss b/wp-content/themes/ostal_WP/sass/02-abstracts/_index.scss new file mode 100644 index 0000000..4d12cc4 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/02-abstracts/_index.scss @@ -0,0 +1,4 @@ +@forward 'variables'; +@forward 'mixins'; +@forward 'helpers'; + diff --git a/wp-content/themes/ostal_WP/sass/02-abstracts/_mixins.scss b/wp-content/themes/ostal_WP/sass/02-abstracts/_mixins.scss new file mode 100644 index 0000000..d7e8dbb --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/02-abstracts/_mixins.scss @@ -0,0 +1,20 @@ +@use "../01-base/colors" as *; + +@mixin corner-box($percent){ + clip-path: polygon(0% $percent, $percent 0%, 100% 0%, 100% $percent, 100% 100%, 0% 100%, 0% $percent); +} + +@mixin bg-filter{ + position: absolute; + background-color: $dark-color; + opacity: 97%; + display: block; + width: 100%; + height: 100%; + top: 0; + left: 0; +} + +@mixin bg-filter--gradient{ + background: linear-gradient(119deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.00) 90%); +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/02-abstracts/_variables.scss b/wp-content/themes/ostal_WP/sass/02-abstracts/_variables.scss new file mode 100644 index 0000000..e69de29 diff --git a/wp-content/themes/ostal_WP/sass/03-vendors/_index.scss b/wp-content/themes/ostal_WP/sass/03-vendors/_index.scss new file mode 100644 index 0000000..4f2106c --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/03-vendors/_index.scss @@ -0,0 +1 @@ +@forward 'lightbox'; diff --git a/wp-content/themes/ostal_WP/sass/03-vendors/_lightbox.scss b/wp-content/themes/ostal_WP/sass/03-vendors/_lightbox.scss new file mode 100644 index 0000000..9bf2768 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/03-vendors/_lightbox.scss @@ -0,0 +1,58 @@ +/* Lightbox */ + +.lightbox{ + opacity: 0; + visibility: hidden; + position: fixed; + left:0; + right: 0; + top: 0; + bottom: 0; + z-index: -1; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.15s ease-in; +} + +.lightbox.show{ + background-color: rgba(0,0,0, 0.85); + opacity: 1; + visibility: visible; + z-index: 1000; +} + +.lightbox img{ + max-width: 90%; +} + +/* Close lightbox "x" icon */ + +.lightbox .close-lightbox{ + cursor: pointer; + position: absolute; + top: 30px; + right: 50px; + width: 20px; + height: 20px; +} + +.lightbox .close-lightbox::after, +.lightbox .close-lightbox::before{ + content: ''; + width: 3px; + height: 20px; + background-color: #ddd; + position: absolute; + border-radius: 5px; + transform: rotate(45deg); +} + +.lightbox .close-lightbox::before{ + transform: rotate(-45deg); +} + +.lightbox .close-lightbox:hover::after, +.lightbox .close-lightbox:hover::before{ + background-color: #fff; +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/04-layout/_footer.scss b/wp-content/themes/ostal_WP/sass/04-layout/_footer.scss new file mode 100644 index 0000000..b23260a --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/04-layout/_footer.scss @@ -0,0 +1,73 @@ +@use "../01-base/typography" as *; +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; +@use "../02-abstracts/mixins" as *; + +footer{ + .background-image{ + position: relative; + height: 232px; + background-attachment: fixed; + background-position: center; + background-repeat: no-repeat; + background-size: cover; + .bg-filter{ + @include bg-filter; + opacity: .4; + } + } + .footer-row{ + padding: 70px 0; + .logo{ + width: 232px; + height: 50px; + margin-bottom: 50px; + } + .footer-grid{ + display: grid; + gap: 20px; + @include responsive(tablet){ + grid-template-columns: repeat(2, 1fr); + } + @include responsive(desktop){ + grid-template-columns: repeat(4, 1fr); + } + .footer-menu{ + list-style: none; + padding-left: 0; + .menu-item{ + a{ + font-size: 1.8rem; + line-height: 150%; + } + } + } + } + } + .footer-copyright{ + background-color: $white-color; + padding: 22px 0; + &-grid{ + display: flex; + justify-content: space-between; + font-size: 1.2rem; + list-style: none; + color: $dark-color; + @include responsive(tablet){ + font-size: 1.6rem; + } + li{ + font-size: 1rem; + @include responsive(tablet){ + font-size: 1.6rem; + } + } + a{ + color: $dark-color; + &:hover{ + color: $accent-color; + } + } + } + } +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/04-layout/_forms.scss b/wp-content/themes/ostal_WP/sass/04-layout/_forms.scss new file mode 100644 index 0000000..e69de29 diff --git a/wp-content/themes/ostal_WP/sass/04-layout/_grid.scss b/wp-content/themes/ostal_WP/sass/04-layout/_grid.scss new file mode 100644 index 0000000..e69de29 diff --git a/wp-content/themes/ostal_WP/sass/04-layout/_header.scss b/wp-content/themes/ostal_WP/sass/04-layout/_header.scss new file mode 100644 index 0000000..1422b5d --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/04-layout/_header.scss @@ -0,0 +1,13 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; + +.header{ + height: 80px; + display: flex; + justify-content: space-between; + align-items: center; + .header-logo{ + width: 125px; + height: 27px; + } +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/04-layout/_index.scss b/wp-content/themes/ostal_WP/sass/04-layout/_index.scss new file mode 100644 index 0000000..7073516 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/04-layout/_index.scss @@ -0,0 +1,6 @@ +@forward '../04-layout/grid'; +@forward '../04-layout/header'; +@forward '../04-layout/navigation'; +@forward '../04-layout/footer'; +@forward '../04-layout/forms'; +@forward '../04-layout/sidebar'; diff --git a/wp-content/themes/ostal_WP/sass/04-layout/_navigation.scss b/wp-content/themes/ostal_WP/sass/04-layout/_navigation.scss new file mode 100644 index 0000000..ada79f3 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/04-layout/_navigation.scss @@ -0,0 +1,96 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; + +#main-nav{ + overflow: hidden; + nav{ + #navbar-btn{ + cursor: pointer; + height: 27px; + width: 27px; + border: 0px; + overflow: visible; + position: relative; + z-index:9999; + background-color: transparent; + span, + span:before, + span:after { + background: $accent-color; + display: block; + height: 4px; + opacity: 1; + position: absolute; + transition: 0.3s ease-in-out; + } + span:before, + span:after { + content: ""; + } + span { + right: 0px; + top: 13px; + width: 27px; + } + span:before { + left: 0px; + top: -10px; + width: 16px; + } + span:after { + left: 0px; + top: 10px; + width: 20px; + } + @include responsive(desktop){ + display: none; + } + } + + .main-menu{ + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + position: absolute; + width: 100%; + height: 100%; + left: -100%; + top: 0; + transition: all .5s ease-in-out; + list-style: none; + z-index: 999; + gap: 20px; + margin-bottom: 0!important; + @include responsive(desktop){ + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-end; + position: relative; + left: inherit; + top: inherit; + gap: 33px; + } + .menu-item{ + font-size: 1.6rem; + margin-left: 0!important; + } + &.active{ + top: 0; + left: 0; + z-index: 999; + background-color: $dark-color; + color: $white-color; + text-align: center; + transition: all .5s ease-in-out; + .menu-item{ + a{ + color: $white-color!important; + } + } + } + } + } + +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/04-layout/_sidebar.scss b/wp-content/themes/ostal_WP/sass/04-layout/_sidebar.scss new file mode 100644 index 0000000..e69de29 diff --git a/wp-content/themes/ostal_WP/sass/05-components/_box.scss b/wp-content/themes/ostal_WP/sass/05-components/_box.scss new file mode 100644 index 0000000..f6216dd --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/05-components/_box.scss @@ -0,0 +1,14 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; + +.box{ + clip-path: polygon(0% 5%, 5% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%); + background-color: #000000; + &--dark{ + background-color: $dark-color; + + } + &--light{ + + } +} diff --git a/wp-content/themes/ostal_WP/sass/05-components/_boxes-repeater.scss b/wp-content/themes/ostal_WP/sass/05-components/_boxes-repeater.scss new file mode 100644 index 0000000..ee1c43f --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/05-components/_boxes-repeater.scss @@ -0,0 +1,138 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; +@use "../02-abstracts/mixins" as *; + + +.section-boxes-repeater{ + position: relative; + background-repeat: no-repeat; + background-size: cover; + .bg-filter{ + @include bg-filter; + } + .wrapper{ + position: relative; + padding-top: 46px; + padding-bottom: 46px; + z-index: 99; + @include responsive(desktop){ + padding: 146px 0; + } + .section-heading{ + max-width: 520px; + @include responsive(desktop){ + margin-left: 32px; + } + } + .section-description{ + @include responsive(desktop){ + max-width: 60%; + margin-left: 32px; + } + } + .boxes{ + display: grid; + justify-content: center; + gap: 20px; + @include responsive(desktop){ + padding: 14px 50px 0; + grid-template-columns: repeat(auto-fit,minmax(244px,1fr)); + } + .box-single{ + background-color: $gray-color; + clip-path: polygon(0% 5%, 5% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%); + padding: 30px 22px 15px; + @include responsive(tablet){ + clip-path: polygon(0% 12%, 2% 0%, 100% 0%, 100% 2%, 100% 100%, 0% 100%, 0% 12%); + } + @include responsive(desktop){ + padding: 40px 22px 30px; + clip-path: polygon(0% 5%, 5% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%); + } + .box-image{ + max-width: 40px; + max-height: 40px; + aspect-ratio: 1/1; + margin-bottom: 22px; + } + .box-content{ + display: grid; + grid-template-rows: auto 1fr auto; + height: 100%; + .cta{ + align-self: end; + text-align: end; + } + } + } + } + } + &.bg-dark{ + .wrapper{ + .boxes.numbered-cards{ + display: flex; + flex-direction: column; + position: relative; + gap: 20px; + counter-reset: box-counter; + @include responsive(desktop){ + flex-direction: row; + padding: 14px 0 0; + } + .box-single{ + clip-path: inherit; + padding: inherit; + background-color: inherit; + @include responsive(tablet){ + display: flex; + flex-direction: column; + } + @include responsive(desktop){ + min-height: 420px; + height: fit-content; + padding: inherit; + flex: 0 0 33%; + } + .box-content{ + display: grid; + grid-template-rows: auto; + height: auto; + min-height: 300px; + background-color: $gray-color; + clip-path: polygon(0% 5%, 5% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%); + padding: 43px 40px; + @include responsive(tablet){ + min-height: inherit; + flex: 1 0 205px; + clip-path: polygon(0% 10%, 3% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%); + } + @include responsive(desktop){ + flex: 1 0 395px; + clip-path: polygon(0% 5%, 5% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%); + } + &__text{ + color: $dark-color; + @include responsive(tablet){ + margin-bottom: 10px; + } + @include responsive(desktop){ + margin-bootom: inherit; + } + } + } + .box-counter{ + color: $accent-color; + font-size: 7.2rem; + font-weight: 700; + line-height: 110%; + margin-left: 16px; + &:before{ + content: "0" counter(box-counter); + counter-increment: box-counter; + } + } + } + } + } + } +} diff --git a/wp-content/themes/ostal_WP/sass/05-components/_buttons.scss b/wp-content/themes/ostal_WP/sass/05-components/_buttons.scss new file mode 100644 index 0000000..5579d5d --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/05-components/_buttons.scss @@ -0,0 +1,89 @@ +@use "../01-base/typography" as *; +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; + +@mixin button-primary($bg) { + background: $bg; + &:hover { + background:darken($bg,8%); + transition: all 0.3s ease; + } + &:active { + background:darken($bg,25%); + } +} + +@mixin button-secondary($bg) { + background: $bg; + &:hover { + background:darken($bg,8%); + transition: all 0.3s ease; + } + &:active { + background:darken($bg,25%); + } +} + +@mixin button-tertiary($bg) { + background: $bg; + &:hover { + background:darken($bg,8%); + transition: all 0.3s ease; + } + &:active { + background:darken($bg,25%); + } +} + +%btn { + @include font-primary; + font-weight: 400; + display: block; + padding: 15px 68px; + border-radius: 7px; + font-size: 1.6rem; + text-transform: uppercase; + max-width: fit-content; + @include responsive(desktop){ + padding: 15px 68px; + font-size: 1.6rem; + } +} + +.btn-primary, a.btn-primary { + @extend %btn; + background-color: $accent-color; + color: $white-color!important; + border: 2px solid $accent-color; + transition: all 0.3s ease; + &:hover{ + background-color: darken($accent-color, 8%); + border: 2px solid darken($accent-color, 8%); + } +} +.btn-secondary, a.btn-secondary { + @extend %btn; + background-color: $dark-color; + color: $accent-color; + border: 2px solid $white-color; + transition: all 0.3s ease; + &:hover{ + background-color: darken($dark-color, 8%); + border: 2px solid $accent-color; + } +} + +.wp-block-button{ + &__link, a{ + @extend %btn; + background-color: $accent-color!important; + color: $white-color!important; + border: 2px solid $accent-color!important; + } +} + +.btn-link, a.btn-link { + font-size: 1.6rem; + color: $dark-color; + text-decoration: underline; +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/05-components/_forms.scss b/wp-content/themes/ostal_WP/sass/05-components/_forms.scss new file mode 100644 index 0000000..5a61980 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/05-components/_forms.scss @@ -0,0 +1,92 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; +@use "../01-base/typography" as *; + +.wpcf7{ + .wpcf7-form{ + h2{ + @include heading--md; + color: $white-color; + } + label{ + display: block; + font-size: 1.8rem; + line-height: 150%; + color: $white-color; + .wpcf7-form-control-wrap{ + display: block; + height: 40px; + margin: 5px 0px 10px; + input, textarea{ + width: 100%; + background-color: transparent; + color: $white-color; + font-size: 1.4rem; + padding: 5px 15px; + border: 1px solid $white-color; + border-radius: 7px; + &:focus{ + border: 1px solid $accent-color; + } + } + textarea{ + max-height: 82px; + } + .wpcf7-not-valid-tip{ + font-size: 1rem; + } + &[data-name="your-message"]{ + height: 80px; + textarea{ + height: 82px; + } + } + } + &.terms-and-conditions{ + display: flex; + font-size: 1.2rem; + margin-bottom: 10px; + .wpcf7-form-control-wrap{ + display: block; + margin: 0; + .wpcf7-list-item{ + margin-left: 0; + } + } + span{ + display: block; + } + input[type="checkbox"]{ + width: 20px; + height: 20px; + margin: 0 10px 0 0; + background-color: $dark-color!important; + background: transparent; + border: none!important; + border-radius: 20px; + box-shadow: 0 0 0 1px $white-color inset; + outline-color: transparent; + &:checked{ + background-color: $accent-color!important; + border: 1px solid $accent-color!important; + accent-color: $accent-color!important; + } + } + a{ + color: $white-color; + transition: color 0.3s ease; + &:hover{ + color: $accent-color; + } + } + } + } + .wpcf7-response-output{ + border: 1px solid $accent-color!important; + border-radius: 7px; + color: $white-color; + padding: 2px; + margin: 4px 0; + } + } +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/05-components/_hero-slider.scss b/wp-content/themes/ostal_WP/sass/05-components/_hero-slider.scss new file mode 100644 index 0000000..1df8fb1 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/05-components/_hero-slider.scss @@ -0,0 +1,109 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; +@use "../02-abstracts/mixins" as *; + +.hero-slider{ + @include responsive(small-phones){ + height: 100%; + } + height: 90vh; + width: 100%; + @include responsive(desktop){ + height: inherit; + width: inherit; + } + .swiper-wrapper{ + position: relative; + overflow: hidden; + } + .swiper-slide{ + height: 100%; + width: 100%!important; + opacity: 0!important; + padding: 20px; + display: flex; + flex-direction: column; + justify-content: flex-end; + gap: 20px; + padding-bottom: 90px; + background-repeat: no-repeat; + background-size: cover!important; + background-position: center; + @include responsive(desktop){ + flex-direction: row; + justify-content: space-between; + align-items: flex-end; + min-height: 780px; + padding: 102px; + width: 100%; + } + .hero-slider-heading{ + z-index: 99; + @include responsive(tablet){ + max-width: 70%; + align-self: flex-end; + } + @include responsive(desktop){ + max-width: inherit; + flex: 0 0 50%; + } + } + .hero-slider-content{ + z-index: 99; + padding: 20px; + @include responsive(tablet){ + max-width: 70%; + align-self: flex-end; + } + @include responsive(desktop){ + max-width: inherit; + align-self: inherit; + flex: 0 0 50%; + padding: 50px 28px 64px 42px; + } + } + &-active{ + opacity: 1!important; + background-repeat: no-repeat; + background-size: cover; + background-position: center; + } + .bg-filter{ + @include bg-filter; + @include bg-filter--gradient; + } + } + .swiper-nav{ + width: 110px; + height: 50px; + position: absolute; + display: flex; + align-items: initial; + gap: 10px; + bottom: 20px; + right: 65px; + @include responsive(tablet){ + right: 100px; + } + @include responsive(desktop){ + right: 102px; + bottom: 42px; + } + .swiper-button{ + display: block; + background-color: $dark-color; + height: 50px; + width: 50px; + padding: 12px; + content: url("./images/arrow-right.png"); + position: relative; + &-prev{ + transform: rotate(180deg); + left: 0; + } + &-next{ + right: 0; + } + } + } +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/05-components/_hero-with-form.scss b/wp-content/themes/ostal_WP/sass/05-components/_hero-with-form.scss new file mode 100644 index 0000000..a495ea5 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/05-components/_hero-with-form.scss @@ -0,0 +1,74 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; +@use "../02-abstracts/mixins" as *; + +.hero-with-form{ + height: 90vh; + width: 100%; + margin-bottom: 80px; + @include responsive(tablet){ + margin-bottom: 0px; + } + @include responsive(desktop){ + max-height: 780px; + } + .hero-wrapper{ + position: relative; + height: 100%; + width: 100%!important; + background-repeat: no-repeat; + background-size: cover!important; + background-position: center; + display: flex; + flex-direction: column; + @include responsive(tablet){ + flex-direction: row; + align-items: flex-end; + padding-bottom: 90px; + } + @include responsive(desktop){ + padding: 102px; + } + } + .bg-filter{ + @include bg-filter; + @include bg-filter--gradient; + } + .hero-content{ + padding: 20px; + display: flex; + flex-direction: column; + align-content: flex-end; + gap: 20px; + flex: 0 1 50%; + z-index: 998; + @include responsive(tablet){ + align-items: flex-start; + } + .hero-heading{ + z-index: 99; + @include responsive(tablet){ + max-width: 70%; + } + @include responsive(desktop){ + max-width: inherit; + flex: 0 0 50%; + } + } + .hero-text{ + text-shadow: 2px 2px 3px $dark-color; + } + } + .hero-form{ + background-color: $dark-color; + padding: 22px; + clip-path: polygon(0% 4%, 4% 0%, 100% 0%, 100% 4%, 100% 100%, 0% 100%, 0% 4%); + flex: 0 0 50%; + @include responsive(tablet){ + height: fit-content; + } + @include responsive(desktop){ + padding: 28px; + } + } +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/05-components/_index.scss b/wp-content/themes/ostal_WP/sass/05-components/_index.scss new file mode 100644 index 0000000..573ebf0 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/05-components/_index.scss @@ -0,0 +1,15 @@ +@forward '../05-components/buttons'; +@forward '../05-components/forms'; +@forward '../05-components/lists'; +@forward '../05-components/hero-slider'; +@forward '../05-components/box'; +@forward '../05-components/two-col-section'; +@forward '../05-components/two-col-section-with-bg'; +@forward '../05-components/one_col_cta'; +@forward '../05-components/one_col_cta_images'; +@forward '../05-components/boxes-repeater'; +@forward '../05-components/section-gallery'; +@forward '../05-components/hero-with-form'; +@forward '../05-components/social-media'; + + diff --git a/wp-content/themes/ostal_WP/sass/05-components/_lists.scss b/wp-content/themes/ostal_WP/sass/05-components/_lists.scss new file mode 100644 index 0000000..1332833 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/05-components/_lists.scss @@ -0,0 +1,12 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; +@use "../01-base/typography" as *; + +ul{ + list-style: inherit; + padding-left: 20px; + li{ + line-height: 1.5; + font-size: 1.6rem; + } +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/05-components/_one_col_cta.scss b/wp-content/themes/ostal_WP/sass/05-components/_one_col_cta.scss new file mode 100644 index 0000000..661f2eb --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/05-components/_one_col_cta.scss @@ -0,0 +1,80 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; +@use "../02-abstracts/mixins" as *; +@use "../01-base/typography" as *; + + +.one-col-cta{ + .wrapper{ + @include responsive(tablet){ + clip-path: polygon(0% 10%, 3% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%); + } + + @include responsive(desktop){ + clip-path: polygon(0% 10%, 2% 0%, 100% 0%, 100% 2%, 100% 100%, 0% 100%, 0% 12%) + } + } + &.align-left{ + padding: 0px 0px; + @include responsive(tablet){ + padding: 80px 50px; + } + @include responsive(desktop){ + padding: 180px 0; + } + .wrapper{ + padding: 50px 35px; + @include responsive(desktop){ + grid-column: 1 / span 9; + } + .heading{ + @include heading--md; + } + .text{ + padding-right: 100px; + margin-bottom: 10px; + } + .cta{ + margin-bottom: 30px; + @include responsive(desktop){ + margin-bottom: 0px; + } + .btn{ + margin-left: auto; + } + } + } + } + &.align-center{ + padding: 40px 0; + .wrapper{ + padding: 26px 20px 20px; + @include responsive(desktop){ + padding: 50px 90px 9px; + grid-column: 2 / 12; + } + .heading{ + @include heading--md; + text-align: center; + @include responsive(tablet){ + @include heading--xl; + } + } + .text{ + text-align: center; + } + .cta{ + margin-bottom: 30px; + @include responsive(desktop){ + margin-bottom: 40px; + } + .btn{ + margin: 0 auto; + } + } + } + } + &.bg-dark{ + background-color: $dark-color; + } +} diff --git a/wp-content/themes/ostal_WP/sass/05-components/_one_col_cta_images.scss b/wp-content/themes/ostal_WP/sass/05-components/_one_col_cta_images.scss new file mode 100644 index 0000000..e4e99bc --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/05-components/_one_col_cta_images.scss @@ -0,0 +1,116 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; +@use "../02-abstracts/mixins" as *; +@use "../01-base/typography" as *; + + +.one-col-cta-images{ + display: grid; + gap: 20px; + @include responsive(desktop){ + grid-template-columns: repeat(12, 82px); + } + .wrapper{ + @include responsive(tablet){ + clip-path: polygon(0% 2%, 2% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%); + } + + @include responsive(desktop){ + clip-path: polygon(0% 2%, 2% 0%, 100% 0%, 100% 10%, 100% 100%, 0% 100%, 0% 3%); + } + } + &.align-left{ + padding: 0px 0px; + @include responsive(tablet){ + padding: 80px 50px; + } + @include responsive(desktop){ + padding: 145px 0; + } + .wrapper{ + padding: 50px 35px; + @include responsive(desktop){ + grid-column: 1 / span 12; + } + .heading{ + @include heading--md; + } + .text{ + margin-bottom: 10px; + } + .cta{ + margin-bottom: 30px; + @include responsive(desktop){ + margin-bottom: 40px; + } + .btn{ + margin-left: auto; + } + } + .gallery{ + display: grid; + grid-template-columns: 205px; + // grid-template-rows: repeat(auto-fit, 205px); + grid-template-rows: repeat(auto, minmax(205px, 205px)); + + justify-content: center; + gap: 20px; + margin-bottom: 40px; + margin-top: 30px; + @include responsive(tablet){ + grid-template-columns: repeat(auto-fit, 205px); + } + @include responsive(desktop){ + // grid-template-rows: 205px; + grid-template-columns: repeat(4, 245px); + + } + &-image{ + overflow: hidden; + // max-height: 205px; + &:nth-child(2n){ + display: none; + @include responsive(tablet){ + display: block; + } + } + img{ + display: block; + object-fit: cover; + } + } + + } + } + } + &.align-center{ + padding: 40px 0; + .wrapper{ + padding: 26px 20px 0px; + @include responsive(desktop){ + padding: 50px 90px 9px; + grid-column: 2 / 12; + } + .heading{ + @include heading--md; + text-align: center; + @include responsive(tablet){ + @include heading--xl; + } + } + .text{ + text-align: center; + } + .cta{ + margin-bottom: 30px; + @include responsive(desktop){ + margin-bottom: 40px; + } + .btn{ + margin: 0 auto; + } + } + } + } + +} diff --git a/wp-content/themes/ostal_WP/sass/05-components/_section-gallery.scss b/wp-content/themes/ostal_WP/sass/05-components/_section-gallery.scss new file mode 100644 index 0000000..87c2860 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/05-components/_section-gallery.scss @@ -0,0 +1,96 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; +@use "../02-abstracts/mixins" as *; + +.section-gallery{ + padding: 45px 0; + @include responsive(desktop){ + padding: 55px 0 145px; + } + .wrapper{ + .section-heading{ + @include responsive(desktop){ + margin-bottom: 55px; + } + } + .gallery{ + display: grid; + grid-template-columns: 320px; + grid-template-rows: repeat(auto-fill, 260px); + justify-content: center; + gap: 20px; + margin-bottom: 40px; + @include responsive(desktop){ + display: grid; + grid-template-columns: repeat(4, 285px); + justify-content: inherit; + gap: 20px; + margin-bottom: 60px; + } + &-image{ + overflow: hidden; + cursor: pointer; + &:nth-child(1){ + @include responsive(tablet){ + grid-column: 1 / span 2; + grid-row: 1 / 2; + } + } + &:nth-child(2){ + @include responsive(tablet){ + grid-column: 3 / span 2; + grid-row: 1 / span 2; + } + } + &:nth-child(3){ + display: none; + @include responsive(tablet){ + display: block; + grid-column: 1 / 2; + grid-row: 2 / span 1; + } + } + &:nth-child(4){ + display: none; + @include responsive(tablet){ + display: block; + grid-column: 2 / 3; + grid-row: 2 / span 1; + } + } + &:nth-child(5){ + display: none; + @include responsive(tablet){ + display: block; + grid-column: 1 / 3; + grid-row: 3 / 5; + } + } + &:nth-child(6){ + display: none; + @include responsive(tablet){ + display: block; + grid-column: 3 / 5; + grid-row: 3 / 5; + } + } + img{ + display: block; + width: 100%; + height: 101%; + object-fit: cover; + transition: transform 400ms ease-out; + &:hover{ + transform: scale(1.05); + } + } + } + } + .cta{ + display: flex; + justify-content: center; + @include responsive(desktop){ + } + } + } +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/05-components/_social-media.scss b/wp-content/themes/ostal_WP/sass/05-components/_social-media.scss new file mode 100644 index 0000000..9000bea --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/05-components/_social-media.scss @@ -0,0 +1,46 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; +@use "../02-abstracts/mixins" as *; + +.social-media{ + list-style: none!important; + position: fixed; + top: 120px; + right: 0; + height: fit-content; + padding: 9px; + z-index: 998; + background-color: $white-color; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 16px; + box-shadow: -8px 8px 16px -14px $dark-gray; + @include responsive(tablet){ + padding: 16px; + gap: 20px; + box-shadow: -10px 10px 26px -14px $dark-gray; + + } + &__single{ + opacity: .6; + transition: all .3s ease-in-out; + margin-left: 0!important; + a{ + display: grid; + place-items: center; + } + .icon{ + width: 26px; + height: auto; + object-fit: cover; + @include responsive(tablet){ + width: 32px; + } + } + &:hover{ + opacity: 1; + } + } +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/05-components/_two-col-section-with-bg.scss b/wp-content/themes/ostal_WP/sass/05-components/_two-col-section-with-bg.scss new file mode 100644 index 0000000..63d08b4 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/05-components/_two-col-section-with-bg.scss @@ -0,0 +1,48 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; + +.two-cols-with-bg{ + position: relative; + background-repeat: no-repeat; + background-size: cover; + padding: 83px 0; + @include responsive(tablet){ + padding: 153px 0; + } + .bg-filter{ + position: absolute; + background-color: $dark-color; + opacity: 97%; + display: block; + width: 100%; + height: 100%; + top: 0; + left: 0; + } + .wrapper{ + position: relative; + z-index: 99; + @include responsive(tablet){ + display: flex; + justify-content: space-between; + gap: 20px; + } + .col{ + @include responsive(tablet){ + flex: 0 0 50%; + } + } + .col-text{ + @include responsive(desktop){ + padding: 0 35px 0; + } + } + } +} + +.imageLeft{ + flex-flow: row; +} +.imageRight{ + flex-flow: row-reverse; +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/05-components/_two-col-section.scss b/wp-content/themes/ostal_WP/sass/05-components/_two-col-section.scss new file mode 100644 index 0000000..72b8e14 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/05-components/_two-col-section.scss @@ -0,0 +1,86 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; + +.two-cols{ + padding: 45px 0; + @include responsive(tablet){ + padding: 153px 0; + } + .wrapper{ + @include responsive(tablet){ + display: flex; + justify-content: space-between; + gap: 20px; + } + .col{ + @include responsive(tablet){ + flex: 0 0 50%; + } + } + .col-text{ + margin-bottom: 50px; + @include responsive(desktop){ + padding: 0 35px 0; + } + } + .col-image{ + .image-wrapper{ + position: relative; + } + .image-wrapper::before{ + content: ""; + position: absolute; + width: 100%; + height: 100%; + opacity: 100%; + display: block; + top: -12px; + left: -12px; + z-index: 9; + } + img{ + position: relative; + z-index: 990; + } + } + &.imageLeft{ + flex-flow: row-reverse; + .image-wrapper{ + &::before{ + clip-path: polygon(0% 0%, 97% 0, 100% 4%, 100% 100%, 0% 100%); + top: -12px; + left: inherit; + right: -12px; + } + } + } + &.imageRight{ + flex-flow: row; + .image-wrapper{ + &::before{ + clip-path: polygon(0% 4%, 4% 0%, 100% 0%, 100% 4%, 100% 100%, 0% 100%, 0% 4%); + top: -12px; + left: -12px; + } + } + } + } + &.bg-light{ + .wrapper{ + .image-wrapper{ + &::before{ + background-color: $dark-color; + } + } + } + } + &.bg-dark{ + .wrapper{ + .image-wrapper{ + &::before{ + background-color: $accent-color; + } + } + } + } +} diff --git a/wp-content/themes/ostal_WP/sass/06-pages/_configurator.scss b/wp-content/themes/ostal_WP/sass/06-pages/_configurator.scss new file mode 100644 index 0000000..eb238b8 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/06-pages/_configurator.scss @@ -0,0 +1,547 @@ +#app { + .section-header { + text-align: center; + margin-bottom: 60px; + + .title { + margin-bottom: 0; + margin-top: 0; + padding-top: 0 !important; + padding-bottom: 0 !important; + } + } + .section-realizacje { + .recent-realizations-item { + width: 25%; + + > p { + background: rgba(86, 165, 61, 0.8); + } + + @media (min-width: 1536px) { + padding-bottom: 20rem; + } + @media (max-width: 1000px) { + width: 50%; + margin: 0; + } + @media (max-width: 640px) { + padding-bottom: 10rem; + } + } + } + .section-contact { + display: grid; + grid-template-columns: 2fr 1fr; + + @media (max-width: 1300px) { + grid-template-columns: 1fr; + row-gap: 30px; + } + + .section-contact-texts { + display: grid; + grid-template-columns: auto 1fr; + + @media (max-width: 900px) { + grid-template-columns: 1fr; + } + + .section-contact-texts-img { + img { + width: 100%; + max-width: fit-content; + + @media (max-width: 900px) { + margin-left: auto; + margin-right: auto; + } + } + } + .section-contact-texts-txt { + padding: 25px; + color: #1d293f; + font-size: 15px; + font-style: normal; + font-weight: 400; + line-height: 32px; + + @media (max-width: 900px) { + padding-left: 0; + padding-right: 0; + } + } + } + + .section-contact-form { + width: 100%; + max-width: 400px; + + @media (max-width: 1300px) { + max-width: unset; + } + + .section-contact-form-wrapper { + padding: 10px; + + h3 { + font-size: 21px; + font-style: normal; + font-weight: 400; + line-height: normal; + + strong { + font-weight: 700; + } + + @media (max-width: 1300px) { + text-align: center; + } + } + + form { + .wpforms-field { + padding: 7px 0; + border-color: #bcbcbc; + outline: none !important; + + input { + border-radius: 0; + color: #000; + font-size: 11px; + font-style: normal; + font-weight: 400; + line-height: normal; + + &::placeholder { + color: #000; + } + } + } + .required-alert { + p { + color: #cd1f27; + font-size: 12px; + font-style: normal; + font-weight: 400; + line-height: normal; + margin-bottom: 0; + } + } + .marketing { + input[type='checkbox'] { + &::before { + border-radius: 0; + } + } + label { + font-size: 10px; + font-style: normal; + font-weight: 400; + line-height: normal; + } + } + .wpforms-submit { + display: block; + margin-left: auto; + border-radius: 0; + background-color: #88b14b; + height: 49px; + padding: 0 30px; + color: #fff; + text-align: center; + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: normal; + } + } + } + } + } + #calc-container { + .calc-bar-fix { + overflow: hidden; + padding: 20px 0; + + #progress-bar { + max-width: 1000px; + margin: 50px auto 30px auto; + + .progress-bar { + background: #ddd; + .progress-bar-line { + background: #88b14b; + display: block; + height: 10px; + width: 0; + transition: all 250ms ease-in-out; + } + } + } + + #calc-bar { + display: flex; + flex-direction: row; + // width: 250%; + width: 350%; + margin-left: 0%; + transition: all 500ms ease-in-out; + // margin-left: -25%; + margin-left: -55%; + + @media (max-width: 1000px) { + width: 400%; + margin-left: 0%; + } + .calc-s { + width: 100%; + max-width: 70%; + padding: 0 20px; + opacity: 0.2; + transition: all 500ms ease-in-out; + pointer-events: none; + + @media (max-width: 1000px) { + max-width: 100%; + + &.calc-placeholder { + display: none; + } + } + + &.active { + opacity: 1; + // transform: scale(1); + pointer-events: initial; + } + + &#calc-ch-1 { + .slide-data { + display: flex; + flex-direction: row; + row-gap: 20px; + + img { + width: 100%; + max-width: 200px; + height: fit-content; + } + + .calc-texts { + width: 100%; + } + + @media (max-width: 767px) { + flex-direction: column; + align-items: center; + } + } + } + + .calc-box { + position: relative; + padding: 25px 70px 65px 70px; + box-sizing: border-box; + height: 100%; + position: relative; + border: 2px solid #88b14b; + background: #fff; + + @media (max-width: 640px) { + padding: 25px 20px 65px 20px; + } + + &::before { + content: ''; + position: absolute; + width: 100%; + height: 100%; + opacity: 100%; + display: block; + z-index: -1; + + background-color: #88b14b; + clip-path: polygon(0% 0%, 97% 0, 100% 4%, 100% 100%, 0% 100%); + top: -12px; + left: inherit; + right: -12px; + } + + &--data { + ul.calc-radio { + list-style: none; + margin: 0; + + li { + display: flex; + flex-direction: row; + align-items: center; + column-gap: 1rem; + margin: 0; + width: 100%; + padding: 12.5px 0; + transition: 0.3s; + box-shadow: 1px 1px 0px rgba(0, 0, 0, 0); + cursor: pointer; + + &:hover { + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + background-color: #eee; + } + + &.selected { + .radio { + &::before { + content: ''; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 8px; + height: 8px; + border-radius: 100%; + background: #88b14b; + } + } + } + + .radio { + position: relative; + width: 20px; + height: 20px; + background-color: #ddd; + border-radius: 50%; + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + margin-left: 20px; + flex-shrink: 0; + } + .radio-text { + .radio-title { + font-weight: 600; + font-size: 16px; + } + } + } + } + ul.calc-texts { + list-style: none; + margin: 0; + + li { + margin-right: 1.75rem; + + &:not(:last-child) { + margin-bottom: 10px; + } + p { + font-weight: 600; + font-size: 16px; + margin-bottom: 0; + } + + input.input { + background-color: #f7f7f7; + padding: 4px 10px; + border: 1px solid #eee; + width: 100%; + + &:focus { + outline: none; + } + } + /********** Range Input Styles **********/ + /*Range Reset*/ + input[type='range'] { + -webkit-appearance: none; + appearance: none; + background: transparent; + cursor: pointer; + width: 100%; + } + + /* Removes default focus */ + input[type='range']:focus { + outline: none; + } + + /***** Chrome, Safari, Opera and Edge Chromium styles *****/ + /* slider track */ + input[type='range']::-webkit-slider-runnable-track { + background-color: #ddd; + border-radius: 0.5rem; + height: 0.5rem; + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + } + + /* slider thumb */ + input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; /* Override default look */ + appearance: none; + margin-top: -6px; /* Centers thumb on the track */ + border-radius: 4px; + /*custom styles*/ + background-color: #121e23; + border: 1px solid #fff; + height: 20px; + width: 10px; + } + + /******** Firefox styles ********/ + /* slider track */ + input[type='range']::-moz-range-track { + background-color: #ddd; + border-radius: 0.5rem; + height: 0.5rem; + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + border-radius: 4px; + } + + /* slider thumb */ + input[type='range']::-moz-range-thumb { + border: none; /*Removes extra border that FF applies*/ + border-radius: 0px; /*Removes default border-radius that FF applies*/ + + /*custom styles*/ + background-color: #121e23; + border: 1px solid #fff; + height: 20px; + width: 10px; + } + } + } + + .btn_send { + // color: #fff; + // padding: 5px 15px; + // background: #56a53d; + // font-size: 14px; + // display: block; + max-width: fit-content; + margin: 30px auto 0; + // outline: none; + // transition: all 250ms ease-in-out; + + &:disabled { + cursor: progress; + background: #cdcdcd; + } + } + } + + &--title { + position: relative; + display: block; + width: 100%; + max-width: fit-content; + margin: 0 auto 30px auto; + text-align: center; + padding-bottom: 8px; + + // &::before { + // content: ''; + // position: absolute; + // bottom: 0; + // left: 50%; + // height: 2px; + // width: calc(100% + 60px); + // background: #132473; + // transform: translateX(-50%); + // } + + h2 { + margin: 0; + padding: 0; + } + } + + .prev, + .next { + background: #88b14b; + top: 50%; + margin: -15px; + position: absolute; + transition: 0.3s; + cursor: pointer; + border-radius: 100%; + + &.disabled { + background: #ddd; + cursor: default; + } + + .svg-arrow { + margin: 0; + width: 48px; + height: 48px; + display: block; + padding: 7px; + top: 0; + + path { + transition: 0.3s; + } + } + + @media (max-width: 640px) { + top: 40px; + } + } + .prev { + left: 25px; + + .svg-arrow { + transform: rotate(180deg); + } + } + .next { + right: 25px; + } + } + } + } + } + } +} + +#configurator_sended { + padding: 40px 70px; + box-sizing: border-box; + height: 100%; + position: relative; + border: 2px solid #88b14b; + width: 100%; + max-width: 700px; + margin: 50px auto; + background: #fff; + + &::before { + content: ''; + position: absolute; + width: 100%; + height: 100%; + opacity: 100%; + display: block; + z-index: -1; + + background-color: #88b14b; + clip-path: polygon(0% 0%, 98% 0, 100% 4%, 100% 100%, 0% 100%); + top: -12px; + left: inherit; + right: -12px; + } + + h2 { + position: relative; + display: block; + width: 100%; + max-width: fit-content; + margin: 0 auto 50px auto; + text-align: center; + padding-bottom: 8px; + } + + .configurator_sended_text { + text-align: center; + } +} diff --git a/wp-content/themes/ostal_WP/sass/06-pages/_contact.scss b/wp-content/themes/ostal_WP/sass/06-pages/_contact.scss new file mode 100644 index 0000000..af4465f --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/06-pages/_contact.scss @@ -0,0 +1,13 @@ +@use "../01-base/breakpoints" as *; +@use "../01-base/colors" as *; +@use "../02-abstracts/mixins" as *; + +.page-template-template-contact{ + .wpcf7{ + background-color: $dark-color; + padding: 22px; + margin: 50px auto; + clip-path: polygon(0% 4%, 4% 0%, 100% 0%, 100% 4%, 100% 100%, 0% 100%, 0% 4%); + max-width: 500px; + } +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/06-pages/_home.scss b/wp-content/themes/ostal_WP/sass/06-pages/_home.scss new file mode 100644 index 0000000..e69de29 diff --git a/wp-content/themes/ostal_WP/sass/06-pages/_index.scss b/wp-content/themes/ostal_WP/sass/06-pages/_index.scss new file mode 100644 index 0000000..722c552 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/06-pages/_index.scss @@ -0,0 +1,5 @@ +@forward '../06-pages/home'; +@forward '../06-pages/contact'; +@forward '../06-pages/configurator'; + + diff --git a/wp-content/themes/ostal_WP/sass/07-themes/_index.scss b/wp-content/themes/ostal_WP/sass/07-themes/_index.scss new file mode 100644 index 0000000..f712853 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/07-themes/_index.scss @@ -0,0 +1 @@ +@forward '../07-themes/theme'; diff --git a/wp-content/themes/ostal_WP/sass/07-themes/_theme.scss b/wp-content/themes/ostal_WP/sass/07-themes/_theme.scss new file mode 100644 index 0000000..add7386 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/07-themes/_theme.scss @@ -0,0 +1,19 @@ +@use "../01-base/colors" as *; +.bg-dark{ + background-color: $dark-color; + color: $white-color; + a{ + color: $white-color; + &:hover{ + color: $accent-color; + } + } +} +.bg-white{ + background-color: $white-color; + color: $dark-color; +} +.bg-gray{ + background-color: $gray-color; + color: $dark-color; +} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/sass/_shame.scss b/wp-content/themes/ostal_WP/sass/_shame.scss new file mode 100644 index 0000000..e69de29 diff --git a/wp-content/themes/ostal_WP/sass/main.scss b/wp-content/themes/ostal_WP/sass/main.scss new file mode 100644 index 0000000..e233672 --- /dev/null +++ b/wp-content/themes/ostal_WP/sass/main.scss @@ -0,0 +1,9 @@ +@forward "01-base"; +@forward "02-abstracts"; +@forward "03-vendors"; +@forward "04-layout"; +@forward "05-components"; +@forward "06-pages"; +@forward "07-themes"; +@forward "shame"; + diff --git a/wp-content/themes/ostal_WP/screenshot.png b/wp-content/themes/ostal_WP/screenshot.png new file mode 100644 index 0000000..37f480c Binary files /dev/null and b/wp-content/themes/ostal_WP/screenshot.png differ diff --git a/wp-content/themes/ostal_WP/sections.php b/wp-content/themes/ostal_WP/sections.php new file mode 100644 index 0000000..3a69e22 --- /dev/null +++ b/wp-content/themes/ostal_WP/sections.php @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wp-content/themes/ostal_WP/sidebar.php b/wp-content/themes/ostal_WP/sidebar.php new file mode 100644 index 0000000..497388d --- /dev/null +++ b/wp-content/themes/ostal_WP/sidebar.php @@ -0,0 +1,24 @@ + + + + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/single-realizacje.php b/wp-content/themes/ostal_WP/single-realizacje.php new file mode 100644 index 0000000..f7ea67e --- /dev/null +++ b/wp-content/themes/ostal_WP/single-realizacje.php @@ -0,0 +1,106 @@ + +
+
+
+

+
+ +
+ +
czekaj wczytuje dane...
+ + +
+
+ + +
+ + +
+ + wp_get_post_categories($post->ID), 'numberposts' => 3, 'post_type' => 'realizacje', 'post__not_in' => array($post->ID) ) ); + if( $related ) foreach( $related as $post ) { + setup_postdata($post); ?> + + + +

+

+
+ + + +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/single.php b/wp-content/themes/ostal_WP/single.php new file mode 100644 index 0000000..1e2cc2a --- /dev/null +++ b/wp-content/themes/ostal_WP/single.php @@ -0,0 +1,66 @@ + +
+
+
+ + + + + +
+ +

+ + + +
+ + + +
+ +
+
+
+
+ +
+ + + + + + + + +
+

Nothing has been posted like that yet

+
+ + + +
+
+
+ + \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/style.css b/wp-content/themes/ostal_WP/style.css new file mode 100644 index 0000000..46e151f --- /dev/null +++ b/wp-content/themes/ostal_WP/style.css @@ -0,0 +1 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */*{margin:0;padding:0;box-sizing:border-box}*:focus,*:focus-visible{outline:none !important}html{line-height:1.15;-webkit-text-size-adjust:100%;font-size:62.5%}body{margin:0}main{display:block}h1{font-size:2em}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:rgba(0,0,0,0);text-decoration:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}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}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[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:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{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-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}div:focus,div:focus-visible{outline:none !important}.heading{font-family:"Space Grotesk",sans-serif;font-weight:700}.heading--xl{font-size:3.8rem;line-height:110%}@media only screen and (min-width: 768px){.heading--xl{font-size:4.8rem}}@media only screen and (min-width: 1366px){.heading--xl{font-size:4.8rem;margin-bottom:20px}}.heading--lg{font-size:3.2rem;line-height:110%}@media only screen and (min-width: 1366px){.heading--lg{font-size:3.2rem}}.heading--md{font-size:24px;line-height:150%;margin-bottom:20px}@media only screen and (min-width: 1366px){.heading--md{font-size:2.4rem}}.heading--sm{font-size:1.8rem;line-height:150%;letter-spacing:4%;margin-bottom:8px}@media only screen and (min-width: 1366px){.heading--sm{font-size:1.8rem}}body{background-color:#fff;font-family:"Space Grotesk",sans-serif}h1,h2,h3,h4,h5,h6{font-family:"Space Grotesk",sans-serif;font-weight:700}h1{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:3.8rem;line-height:110%}@media only screen and (min-width: 768px){h1{font-size:4.8rem}}@media only screen and (min-width: 1366px){h1{font-size:4.8rem;margin-bottom:20px}}h2{font-family:"Space Grotesk",sans-serif;font-size:2.4rem;line-height:150%;margin-bottom:20px}h3{font-family:"Space Grotesk",sans-serif;font-size:1.8rem;line-height:150%;letter-spacing:4%;margin-bottom:8px}@media only screen and (min-width: 1366px){h3{font-size:1.8rem}}p{font-weight:400;font-size:1.8rem;line-height:150%;letter-spacing:4%;margin-bottom:26px}@media only screen and (min-width: 768px){p{margin-bottom:40px}}a{transition:all;color:#121e23}a:hover{color:#88b14b}.wrapper--inner{padding:0 2rem;margin:0 auto}@media only screen and (min-width: 768px){.wrapper--inner{padding:0 4rem;max-width:inherit}}@media only screen and (min-width: 1366px){.wrapper--inner{padding:0 0;max-width:1200px}}.wrapper--default{padding:30px 0}@media only screen and (min-width: 768px){.wrapper--default{padding:40px 0}}@media only screen and (min-width: 1366px){.wrapper--default{padding:50px 0}}.text-accent{color:#88b14b}.text-accent--lighten{color:#b7d191}.text-accent--darken{color:#51692d}.text-black{color:#121e23}.text-black--lighten{color:#355866}.text-black--darken{color:#000}.text-white{color:#fff}.text-white--lighten{color:#fff}.text-white--darken{color:#ccc}.top-margin-minus{margin-top:-46px}.top-margin-minus .wrapper{padding-top:46px}.img-auto{width:100%;height:auto}.lightbox{opacity:0;visibility:hidden;position:fixed;left:0;right:0;top:0;bottom:0;z-index:-1;display:flex;align-items:center;justify-content:center;transition:all .15s ease-in}.lightbox.show{background-color:rgba(0,0,0,.85);opacity:1;visibility:visible;z-index:1000}.lightbox img{max-width:90%}.lightbox .close-lightbox{cursor:pointer;position:absolute;top:30px;right:50px;width:20px;height:20px}.lightbox .close-lightbox::after,.lightbox .close-lightbox::before{content:"";width:3px;height:20px;background-color:#ddd;position:absolute;border-radius:5px;transform:rotate(45deg)}.lightbox .close-lightbox::before{transform:rotate(-45deg)}.lightbox .close-lightbox:hover::after,.lightbox .close-lightbox:hover::before{background-color:#fff}.header{height:80px;display:flex;justify-content:space-between;align-items:center}.header .header-logo{width:125px;height:27px}#main-nav{overflow:hidden}#main-nav nav #navbar-btn{cursor:pointer;height:27px;width:27px;border:0px;overflow:visible;position:relative;z-index:9999;background-color:rgba(0,0,0,0)}#main-nav nav #navbar-btn span,#main-nav nav #navbar-btn span:before,#main-nav nav #navbar-btn span:after{background:#88b14b;display:block;height:4px;opacity:1;position:absolute;transition:.3s ease-in-out}#main-nav nav #navbar-btn span:before,#main-nav nav #navbar-btn span:after{content:""}#main-nav nav #navbar-btn span{right:0px;top:13px;width:27px}#main-nav nav #navbar-btn span:before{left:0px;top:-10px;width:16px}#main-nav nav #navbar-btn span:after{left:0px;top:10px;width:20px}@media only screen and (min-width: 1366px){#main-nav nav #navbar-btn{display:none}}#main-nav nav .main-menu{display:flex;flex-direction:column;justify-content:center;align-items:center;position:absolute;width:100%;height:100%;left:-100%;top:0;transition:all .5s ease-in-out;list-style:none;z-index:999;gap:20px;margin-bottom:0 !important}@media only screen and (min-width: 1366px){#main-nav nav .main-menu{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;position:relative;left:inherit;top:inherit;gap:33px}}#main-nav nav .main-menu .menu-item{font-size:1.6rem;margin-left:0 !important}#main-nav nav .main-menu.active{top:0;left:0;z-index:999;background-color:#121e23;color:#fff;text-align:center;transition:all .5s ease-in-out}#main-nav nav .main-menu.active .menu-item a{color:#fff !important}footer .background-image{position:relative;height:232px;background-attachment:fixed;background-position:center;background-repeat:no-repeat;background-size:cover}footer .background-image .bg-filter{position:absolute;background-color:#121e23;opacity:97%;display:block;width:100%;height:100%;top:0;left:0;opacity:.4}footer .footer-row{padding:70px 0}footer .footer-row .logo{width:232px;height:50px;margin-bottom:50px}footer .footer-row .footer-grid{display:grid;gap:20px}@media only screen and (min-width: 768px){footer .footer-row .footer-grid{grid-template-columns:repeat(2, 1fr)}}@media only screen and (min-width: 1366px){footer .footer-row .footer-grid{grid-template-columns:repeat(4, 1fr)}}footer .footer-row .footer-grid .footer-menu{list-style:none;padding-left:0}footer .footer-row .footer-grid .footer-menu .menu-item a{font-size:1.8rem;line-height:150%}footer .footer-copyright{background-color:#fff;padding:22px 0}footer .footer-copyright-grid{display:flex;justify-content:space-between;font-size:1.2rem;list-style:none;color:#121e23}@media only screen and (min-width: 768px){footer .footer-copyright-grid{font-size:1.6rem}}footer .footer-copyright-grid li{font-size:1rem}@media only screen and (min-width: 768px){footer .footer-copyright-grid li{font-size:1.6rem}}footer .footer-copyright-grid a{color:#121e23}footer .footer-copyright-grid a:hover{color:#88b14b}.wp-block-button__link,.wp-block-button a,.btn-secondary,a.btn-secondary,.btn-primary,a.btn-primary{font-family:"Space Grotesk",sans-serif;font-weight:400;display:block;padding:15px 68px;border-radius:7px;font-size:1.6rem;text-transform:uppercase;max-width:fit-content}@media only screen and (min-width: 1366px){.wp-block-button__link,.wp-block-button a,.btn-secondary,a.btn-secondary,.btn-primary,a.btn-primary{padding:15px 68px;font-size:1.6rem}}.btn-primary,a.btn-primary{background-color:#88b14b;color:#fff !important;border:2px solid #88b14b;transition:all .3s ease}.btn-primary:hover,a.btn-primary:hover{background-color:#72943f;border:2px solid #72943f}.btn-secondary,a.btn-secondary{background-color:#121e23;color:#88b14b;border:2px solid #fff;transition:all .3s ease}.btn-secondary:hover,a.btn-secondary:hover{background-color:#040708;border:2px solid #88b14b}.wp-block-button__link,.wp-block-button a{background-color:#88b14b !important;color:#fff !important;border:2px solid #88b14b !important}.btn-link,a.btn-link{font-size:1.6rem;color:#121e23;text-decoration:underline}.wpcf7 .wpcf7-form h2{font-family:"Space Grotesk",sans-serif;font-size:2.4rem;line-height:150%;margin-bottom:20px;color:#fff}.wpcf7 .wpcf7-form label{display:block;font-size:1.8rem;line-height:150%;color:#fff}.wpcf7 .wpcf7-form label .wpcf7-form-control-wrap{display:block;height:40px;margin:5px 0px 10px}.wpcf7 .wpcf7-form label .wpcf7-form-control-wrap input,.wpcf7 .wpcf7-form label .wpcf7-form-control-wrap textarea{width:100%;background-color:rgba(0,0,0,0);color:#fff;font-size:1.4rem;padding:5px 15px;border:1px solid #fff;border-radius:7px}.wpcf7 .wpcf7-form label .wpcf7-form-control-wrap input:focus,.wpcf7 .wpcf7-form label .wpcf7-form-control-wrap textarea:focus{border:1px solid #88b14b}.wpcf7 .wpcf7-form label .wpcf7-form-control-wrap textarea{max-height:82px}.wpcf7 .wpcf7-form label .wpcf7-form-control-wrap .wpcf7-not-valid-tip{font-size:1rem}.wpcf7 .wpcf7-form label .wpcf7-form-control-wrap[data-name=your-message]{height:80px}.wpcf7 .wpcf7-form label .wpcf7-form-control-wrap[data-name=your-message] textarea{height:82px}.wpcf7 .wpcf7-form label.terms-and-conditions{display:flex;font-size:1.2rem;margin-bottom:10px}.wpcf7 .wpcf7-form label.terms-and-conditions .wpcf7-form-control-wrap{display:block;margin:0}.wpcf7 .wpcf7-form label.terms-and-conditions .wpcf7-form-control-wrap .wpcf7-list-item{margin-left:0}.wpcf7 .wpcf7-form label.terms-and-conditions span{display:block}.wpcf7 .wpcf7-form label.terms-and-conditions input[type=checkbox]{width:20px;height:20px;margin:0 10px 0 0;background-color:#121e23 !important;background:rgba(0,0,0,0);border:none !important;border-radius:20px;box-shadow:0 0 0 1px #fff inset;outline-color:rgba(0,0,0,0)}.wpcf7 .wpcf7-form label.terms-and-conditions input[type=checkbox]:checked{background-color:#88b14b !important;border:1px solid #88b14b !important;accent-color:#88b14b !important}.wpcf7 .wpcf7-form label.terms-and-conditions a{color:#fff;transition:color .3s ease}.wpcf7 .wpcf7-form label.terms-and-conditions a:hover{color:#88b14b}.wpcf7 .wpcf7-form .wpcf7-response-output{border:1px solid #88b14b !important;border-radius:7px;color:#fff;padding:2px;margin:4px 0}ul{list-style:inherit;padding-left:20px}ul li{line-height:1.5;font-size:1.6rem}.hero-slider{height:90vh;width:100%}@media only screen and (max-height: 667px){.hero-slider{height:100%}}@media only screen and (min-width: 1366px){.hero-slider{height:inherit;width:inherit}}.hero-slider .swiper-wrapper{position:relative;overflow:hidden}.hero-slider .swiper-slide{height:100%;width:100% !important;opacity:0 !important;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;gap:20px;padding-bottom:90px;background-repeat:no-repeat;background-size:cover !important;background-position:center}@media only screen and (min-width: 1366px){.hero-slider .swiper-slide{flex-direction:row;justify-content:space-between;align-items:flex-end;min-height:780px;padding:102px;width:100%}}.hero-slider .swiper-slide .hero-slider-heading{z-index:99}@media only screen and (min-width: 768px){.hero-slider .swiper-slide .hero-slider-heading{max-width:70%;align-self:flex-end}}@media only screen and (min-width: 1366px){.hero-slider .swiper-slide .hero-slider-heading{max-width:inherit;flex:0 0 50%}}.hero-slider .swiper-slide .hero-slider-content{z-index:99;padding:20px}@media only screen and (min-width: 768px){.hero-slider .swiper-slide .hero-slider-content{max-width:70%;align-self:flex-end}}@media only screen and (min-width: 1366px){.hero-slider .swiper-slide .hero-slider-content{max-width:inherit;align-self:inherit;flex:0 0 50%;padding:50px 28px 64px 42px}}.hero-slider .swiper-slide-active{opacity:1 !important;background-repeat:no-repeat;background-size:cover;background-position:center}.hero-slider .swiper-slide .bg-filter{position:absolute;background-color:#121e23;opacity:97%;display:block;width:100%;height:100%;top:0;left:0;background:linear-gradient(119deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 90%)}.hero-slider .swiper-nav{width:110px;height:50px;position:absolute;display:flex;align-items:initial;gap:10px;bottom:20px;right:65px}@media only screen and (min-width: 768px){.hero-slider .swiper-nav{right:100px}}@media only screen and (min-width: 1366px){.hero-slider .swiper-nav{right:102px;bottom:42px}}.hero-slider .swiper-nav .swiper-button{display:block;background-color:#121e23;height:50px;width:50px;padding:12px;content:url("./images/arrow-right.png");position:relative}.hero-slider .swiper-nav .swiper-button-prev{transform:rotate(180deg);left:0}.hero-slider .swiper-nav .swiper-button-next{right:0}.box{clip-path:polygon(0% 5%, 5% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%);background-color:#000}.box--dark{background-color:#121e23}.two-cols{padding:45px 0}@media only screen and (min-width: 768px){.two-cols{padding:153px 0}}@media only screen and (min-width: 768px){.two-cols .wrapper{display:flex;justify-content:space-between;gap:20px}}@media only screen and (min-width: 768px){.two-cols .wrapper .col{flex:0 0 50%}}.two-cols .wrapper .col-text{margin-bottom:50px}@media only screen and (min-width: 1366px){.two-cols .wrapper .col-text{padding:0 35px 0}}.two-cols .wrapper .col-image .image-wrapper{position:relative}.two-cols .wrapper .col-image .image-wrapper::before{content:"";position:absolute;width:100%;height:100%;opacity:100%;display:block;top:-12px;left:-12px;z-index:9}.two-cols .wrapper .col-image img{position:relative;z-index:990}.two-cols .wrapper.imageLeft{flex-flow:row-reverse}.two-cols .wrapper.imageLeft .image-wrapper::before{clip-path:polygon(0% 0%, 97% 0, 100% 4%, 100% 100%, 0% 100%);top:-12px;left:inherit;right:-12px}.two-cols .wrapper.imageRight{flex-flow:row}.two-cols .wrapper.imageRight .image-wrapper::before{clip-path:polygon(0% 4%, 4% 0%, 100% 0%, 100% 4%, 100% 100%, 0% 100%, 0% 4%);top:-12px;left:-12px}.two-cols.bg-light .wrapper .image-wrapper::before{background-color:#121e23}.two-cols.bg-dark .wrapper .image-wrapper::before{background-color:#88b14b}.two-cols-with-bg{position:relative;background-repeat:no-repeat;background-size:cover;padding:83px 0}@media only screen and (min-width: 768px){.two-cols-with-bg{padding:153px 0}}.two-cols-with-bg .bg-filter{position:absolute;background-color:#121e23;opacity:97%;display:block;width:100%;height:100%;top:0;left:0}.two-cols-with-bg .wrapper{position:relative;z-index:99}@media only screen and (min-width: 768px){.two-cols-with-bg .wrapper{display:flex;justify-content:space-between;gap:20px}}@media only screen and (min-width: 768px){.two-cols-with-bg .wrapper .col{flex:0 0 50%}}@media only screen and (min-width: 1366px){.two-cols-with-bg .wrapper .col-text{padding:0 35px 0}}.imageLeft{flex-flow:row}.imageRight{flex-flow:row-reverse}@media only screen and (min-width: 768px){.one-col-cta .wrapper{clip-path:polygon(0% 10%, 3% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%)}}@media only screen and (min-width: 1366px){.one-col-cta .wrapper{clip-path:polygon(0% 10%, 2% 0%, 100% 0%, 100% 2%, 100% 100%, 0% 100%, 0% 12%)}}.one-col-cta.align-left{padding:0px 0px}@media only screen and (min-width: 768px){.one-col-cta.align-left{padding:80px 50px}}@media only screen and (min-width: 1366px){.one-col-cta.align-left{padding:180px 0}}.one-col-cta.align-left .wrapper{padding:50px 35px}@media only screen and (min-width: 1366px){.one-col-cta.align-left .wrapper{grid-column:1/span 9}}.one-col-cta.align-left .wrapper .heading{font-family:"Space Grotesk",sans-serif;font-size:2.4rem;line-height:150%;margin-bottom:20px}.one-col-cta.align-left .wrapper .text{padding-right:100px;margin-bottom:10px}.one-col-cta.align-left .wrapper .cta{margin-bottom:30px}@media only screen and (min-width: 1366px){.one-col-cta.align-left .wrapper .cta{margin-bottom:0px}}.one-col-cta.align-left .wrapper .cta .btn{margin-left:auto}.one-col-cta.align-center{padding:40px 0}.one-col-cta.align-center .wrapper{padding:26px 20px 20px}@media only screen and (min-width: 1366px){.one-col-cta.align-center .wrapper{padding:50px 90px 9px;grid-column:2/12}}.one-col-cta.align-center .wrapper .heading{font-family:"Space Grotesk",sans-serif;font-size:2.4rem;line-height:150%;margin-bottom:20px;text-align:center}@media only screen and (min-width: 768px){.one-col-cta.align-center .wrapper .heading{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:3.8rem;line-height:110%}}@media only screen and (min-width: 768px)and (min-width: 768px){.one-col-cta.align-center .wrapper .heading{font-size:4.8rem}}@media only screen and (min-width: 768px)and (min-width: 1366px){.one-col-cta.align-center .wrapper .heading{font-size:4.8rem;margin-bottom:20px}}.one-col-cta.align-center .wrapper .text{text-align:center}.one-col-cta.align-center .wrapper .cta{margin-bottom:30px}@media only screen and (min-width: 1366px){.one-col-cta.align-center .wrapper .cta{margin-bottom:40px}}.one-col-cta.align-center .wrapper .cta .btn{margin:0 auto}.one-col-cta.bg-dark{background-color:#121e23}.one-col-cta-images{display:grid;gap:20px}@media only screen and (min-width: 1366px){.one-col-cta-images{grid-template-columns:repeat(12, 82px)}}@media only screen and (min-width: 768px){.one-col-cta-images .wrapper{clip-path:polygon(0% 2%, 2% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%)}}@media only screen and (min-width: 1366px){.one-col-cta-images .wrapper{clip-path:polygon(0% 2%, 2% 0%, 100% 0%, 100% 10%, 100% 100%, 0% 100%, 0% 3%)}}.one-col-cta-images.align-left{padding:0px 0px}@media only screen and (min-width: 768px){.one-col-cta-images.align-left{padding:80px 50px}}@media only screen and (min-width: 1366px){.one-col-cta-images.align-left{padding:145px 0}}.one-col-cta-images.align-left .wrapper{padding:50px 35px}@media only screen and (min-width: 1366px){.one-col-cta-images.align-left .wrapper{grid-column:1/span 12}}.one-col-cta-images.align-left .wrapper .heading{font-family:"Space Grotesk",sans-serif;font-size:2.4rem;line-height:150%;margin-bottom:20px}.one-col-cta-images.align-left .wrapper .text{margin-bottom:10px}.one-col-cta-images.align-left .wrapper .cta{margin-bottom:30px}@media only screen and (min-width: 1366px){.one-col-cta-images.align-left .wrapper .cta{margin-bottom:40px}}.one-col-cta-images.align-left .wrapper .cta .btn{margin-left:auto}.one-col-cta-images.align-left .wrapper .gallery{display:grid;grid-template-columns:205px;grid-template-rows:repeat(auto, minmax(205px, 205px));justify-content:center;gap:20px;margin-bottom:40px;margin-top:30px}@media only screen and (min-width: 768px){.one-col-cta-images.align-left .wrapper .gallery{grid-template-columns:repeat(auto-fit, 205px)}}@media only screen and (min-width: 1366px){.one-col-cta-images.align-left .wrapper .gallery{grid-template-columns:repeat(4, 245px)}}.one-col-cta-images.align-left .wrapper .gallery-image{overflow:hidden}.one-col-cta-images.align-left .wrapper .gallery-image:nth-child(2n){display:none}@media only screen and (min-width: 768px){.one-col-cta-images.align-left .wrapper .gallery-image:nth-child(2n){display:block}}.one-col-cta-images.align-left .wrapper .gallery-image img{display:block;object-fit:cover}.one-col-cta-images.align-center{padding:40px 0}.one-col-cta-images.align-center .wrapper{padding:26px 20px 0px}@media only screen and (min-width: 1366px){.one-col-cta-images.align-center .wrapper{padding:50px 90px 9px;grid-column:2/12}}.one-col-cta-images.align-center .wrapper .heading{font-family:"Space Grotesk",sans-serif;font-size:2.4rem;line-height:150%;margin-bottom:20px;text-align:center}@media only screen and (min-width: 768px){.one-col-cta-images.align-center .wrapper .heading{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:3.8rem;line-height:110%}}@media only screen and (min-width: 768px)and (min-width: 768px){.one-col-cta-images.align-center .wrapper .heading{font-size:4.8rem}}@media only screen and (min-width: 768px)and (min-width: 1366px){.one-col-cta-images.align-center .wrapper .heading{font-size:4.8rem;margin-bottom:20px}}.one-col-cta-images.align-center .wrapper .text{text-align:center}.one-col-cta-images.align-center .wrapper .cta{margin-bottom:30px}@media only screen and (min-width: 1366px){.one-col-cta-images.align-center .wrapper .cta{margin-bottom:40px}}.one-col-cta-images.align-center .wrapper .cta .btn{margin:0 auto}.section-boxes-repeater{position:relative;background-repeat:no-repeat;background-size:cover}.section-boxes-repeater .bg-filter{position:absolute;background-color:#121e23;opacity:97%;display:block;width:100%;height:100%;top:0;left:0}.section-boxes-repeater .wrapper{position:relative;padding-top:46px;padding-bottom:46px;z-index:99}@media only screen and (min-width: 1366px){.section-boxes-repeater .wrapper{padding:146px 0}}.section-boxes-repeater .wrapper .section-heading{max-width:520px}@media only screen and (min-width: 1366px){.section-boxes-repeater .wrapper .section-heading{margin-left:32px}}@media only screen and (min-width: 1366px){.section-boxes-repeater .wrapper .section-description{max-width:60%;margin-left:32px}}.section-boxes-repeater .wrapper .boxes{display:grid;justify-content:center;gap:20px}@media only screen and (min-width: 1366px){.section-boxes-repeater .wrapper .boxes{padding:14px 50px 0;grid-template-columns:repeat(auto-fit, minmax(244px, 1fr))}}.section-boxes-repeater .wrapper .boxes .box-single{background-color:#f7f5f5;clip-path:polygon(0% 5%, 5% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%);padding:30px 22px 15px}@media only screen and (min-width: 768px){.section-boxes-repeater .wrapper .boxes .box-single{clip-path:polygon(0% 12%, 2% 0%, 100% 0%, 100% 2%, 100% 100%, 0% 100%, 0% 12%)}}@media only screen and (min-width: 1366px){.section-boxes-repeater .wrapper .boxes .box-single{padding:40px 22px 30px;clip-path:polygon(0% 5%, 5% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%)}}.section-boxes-repeater .wrapper .boxes .box-single .box-image{max-width:40px;max-height:40px;aspect-ratio:1/1;margin-bottom:22px}.section-boxes-repeater .wrapper .boxes .box-single .box-content{display:grid;grid-template-rows:auto 1fr auto;height:100%}.section-boxes-repeater .wrapper .boxes .box-single .box-content .cta{align-self:end;text-align:end}.section-boxes-repeater.bg-dark .wrapper .boxes.numbered-cards{display:flex;flex-direction:column;position:relative;gap:20px;counter-reset:box-counter}@media only screen and (min-width: 1366px){.section-boxes-repeater.bg-dark .wrapper .boxes.numbered-cards{flex-direction:row;padding:14px 0 0}}.section-boxes-repeater.bg-dark .wrapper .boxes.numbered-cards .box-single{clip-path:inherit;padding:inherit;background-color:inherit}@media only screen and (min-width: 768px){.section-boxes-repeater.bg-dark .wrapper .boxes.numbered-cards .box-single{display:flex;flex-direction:column}}@media only screen and (min-width: 1366px){.section-boxes-repeater.bg-dark .wrapper .boxes.numbered-cards .box-single{min-height:420px;height:fit-content;padding:inherit;flex:0 0 33%}}.section-boxes-repeater.bg-dark .wrapper .boxes.numbered-cards .box-single .box-content{display:grid;grid-template-rows:auto;height:auto;min-height:300px;background-color:#f7f5f5;clip-path:polygon(0% 5%, 5% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%);padding:43px 40px}@media only screen and (min-width: 768px){.section-boxes-repeater.bg-dark .wrapper .boxes.numbered-cards .box-single .box-content{min-height:inherit;flex:1 0 205px;clip-path:polygon(0% 10%, 3% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%)}}@media only screen and (min-width: 1366px){.section-boxes-repeater.bg-dark .wrapper .boxes.numbered-cards .box-single .box-content{flex:1 0 395px;clip-path:polygon(0% 5%, 5% 0%, 100% 0%, 100% 5%, 100% 100%, 0% 100%, 0% 5%)}}.section-boxes-repeater.bg-dark .wrapper .boxes.numbered-cards .box-single .box-content__text{color:#121e23}@media only screen and (min-width: 768px){.section-boxes-repeater.bg-dark .wrapper .boxes.numbered-cards .box-single .box-content__text{margin-bottom:10px}}@media only screen and (min-width: 1366px){.section-boxes-repeater.bg-dark .wrapper .boxes.numbered-cards .box-single .box-content__text{margin-bootom:inherit}}.section-boxes-repeater.bg-dark .wrapper .boxes.numbered-cards .box-single .box-counter{color:#88b14b;font-size:7.2rem;font-weight:700;line-height:110%;margin-left:16px}.section-boxes-repeater.bg-dark .wrapper .boxes.numbered-cards .box-single .box-counter:before{content:"0" counter(box-counter);counter-increment:box-counter}.section-gallery{padding:45px 0}@media only screen and (min-width: 1366px){.section-gallery{padding:55px 0 145px}}@media only screen and (min-width: 1366px){.section-gallery .wrapper .section-heading{margin-bottom:55px}}.section-gallery .wrapper .gallery{display:grid;grid-template-columns:320px;grid-template-rows:repeat(auto-fill, 260px);justify-content:center;gap:20px;margin-bottom:40px}@media only screen and (min-width: 1366px){.section-gallery .wrapper .gallery{display:grid;grid-template-columns:repeat(4, 285px);justify-content:inherit;gap:20px;margin-bottom:60px}}.section-gallery .wrapper .gallery-image{overflow:hidden;cursor:pointer}@media only screen and (min-width: 768px){.section-gallery .wrapper .gallery-image:nth-child(1){grid-column:1/span 2;grid-row:1/2}}@media only screen and (min-width: 768px){.section-gallery .wrapper .gallery-image:nth-child(2){grid-column:3/span 2;grid-row:1/span 2}}.section-gallery .wrapper .gallery-image:nth-child(3){display:none}@media only screen and (min-width: 768px){.section-gallery .wrapper .gallery-image:nth-child(3){display:block;grid-column:1/2;grid-row:2/span 1}}.section-gallery .wrapper .gallery-image:nth-child(4){display:none}@media only screen and (min-width: 768px){.section-gallery .wrapper .gallery-image:nth-child(4){display:block;grid-column:2/3;grid-row:2/span 1}}.section-gallery .wrapper .gallery-image:nth-child(5){display:none}@media only screen and (min-width: 768px){.section-gallery .wrapper .gallery-image:nth-child(5){display:block;grid-column:1/3;grid-row:3/5}}.section-gallery .wrapper .gallery-image:nth-child(6){display:none}@media only screen and (min-width: 768px){.section-gallery .wrapper .gallery-image:nth-child(6){display:block;grid-column:3/5;grid-row:3/5}}.section-gallery .wrapper .gallery-image img{display:block;width:100%;height:101%;object-fit:cover;transition:transform 400ms ease-out}.section-gallery .wrapper .gallery-image img:hover{transform:scale(1.05)}.section-gallery .wrapper .cta{display:flex;justify-content:center}.hero-with-form{height:90vh;width:100%;margin-bottom:80px}@media only screen and (min-width: 768px){.hero-with-form{margin-bottom:0px}}@media only screen and (min-width: 1366px){.hero-with-form{max-height:780px}}.hero-with-form .hero-wrapper{position:relative;height:100%;width:100% !important;background-repeat:no-repeat;background-size:cover !important;background-position:center;display:flex;flex-direction:column}@media only screen and (min-width: 768px){.hero-with-form .hero-wrapper{flex-direction:row;align-items:flex-end;padding-bottom:90px}}@media only screen and (min-width: 1366px){.hero-with-form .hero-wrapper{padding:102px}}.hero-with-form .bg-filter{position:absolute;background-color:#121e23;opacity:97%;display:block;width:100%;height:100%;top:0;left:0;background:linear-gradient(119deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 90%)}.hero-with-form .hero-content{padding:20px;display:flex;flex-direction:column;align-content:flex-end;gap:20px;flex:0 1 50%;z-index:998}@media only screen and (min-width: 768px){.hero-with-form .hero-content{align-items:flex-start}}.hero-with-form .hero-content .hero-heading{z-index:99}@media only screen and (min-width: 768px){.hero-with-form .hero-content .hero-heading{max-width:70%}}@media only screen and (min-width: 1366px){.hero-with-form .hero-content .hero-heading{max-width:inherit;flex:0 0 50%}}.hero-with-form .hero-content .hero-text{text-shadow:2px 2px 3px #121e23}.hero-with-form .hero-form{background-color:#121e23;padding:22px;clip-path:polygon(0% 4%, 4% 0%, 100% 0%, 100% 4%, 100% 100%, 0% 100%, 0% 4%);flex:0 0 50%}@media only screen and (min-width: 768px){.hero-with-form .hero-form{height:fit-content}}@media only screen and (min-width: 1366px){.hero-with-form .hero-form{padding:28px}}.social-media{list-style:none !important;position:fixed;top:120px;right:0;height:fit-content;padding:9px;z-index:998;background-color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;box-shadow:-8px 8px 16px -14px #5f5f5f}@media only screen and (min-width: 768px){.social-media{padding:16px;gap:20px;box-shadow:-10px 10px 26px -14px #5f5f5f}}.social-media__single{opacity:.6;transition:all .3s ease-in-out;margin-left:0 !important}.social-media__single a{display:grid;place-items:center}.social-media__single .icon{width:26px;height:auto;object-fit:cover}@media only screen and (min-width: 768px){.social-media__single .icon{width:32px}}.social-media__single:hover{opacity:1}.page-template-template-contact .wpcf7{background-color:#121e23;padding:22px;margin:50px auto;clip-path:polygon(0% 4%, 4% 0%, 100% 0%, 100% 4%, 100% 100%, 0% 100%, 0% 4%);max-width:500px}#app .section-header{text-align:center;margin-bottom:60px}#app .section-header .title{margin-bottom:0;margin-top:0;padding-top:0 !important;padding-bottom:0 !important}#app .section-realizacje .recent-realizations-item{width:25%}#app .section-realizacje .recent-realizations-item>p{background:rgba(86,165,61,.8)}@media(min-width: 1536px){#app .section-realizacje .recent-realizations-item{padding-bottom:20rem}}@media(max-width: 1000px){#app .section-realizacje .recent-realizations-item{width:50%;margin:0}}@media(max-width: 640px){#app .section-realizacje .recent-realizations-item{padding-bottom:10rem}}#app .section-contact{display:grid;grid-template-columns:2fr 1fr}@media(max-width: 1300px){#app .section-contact{grid-template-columns:1fr;row-gap:30px}}#app .section-contact .section-contact-texts{display:grid;grid-template-columns:auto 1fr}@media(max-width: 900px){#app .section-contact .section-contact-texts{grid-template-columns:1fr}}#app .section-contact .section-contact-texts .section-contact-texts-img img{width:100%;max-width:fit-content}@media(max-width: 900px){#app .section-contact .section-contact-texts .section-contact-texts-img img{margin-left:auto;margin-right:auto}}#app .section-contact .section-contact-texts .section-contact-texts-txt{padding:25px;color:#1d293f;font-size:15px;font-style:normal;font-weight:400;line-height:32px}@media(max-width: 900px){#app .section-contact .section-contact-texts .section-contact-texts-txt{padding-left:0;padding-right:0}}#app .section-contact .section-contact-form{width:100%;max-width:400px}@media(max-width: 1300px){#app .section-contact .section-contact-form{max-width:unset}}#app .section-contact .section-contact-form .section-contact-form-wrapper{padding:10px}#app .section-contact .section-contact-form .section-contact-form-wrapper h3{font-size:21px;font-style:normal;font-weight:400;line-height:normal}#app .section-contact .section-contact-form .section-contact-form-wrapper h3 strong{font-weight:700}@media(max-width: 1300px){#app .section-contact .section-contact-form .section-contact-form-wrapper h3{text-align:center}}#app .section-contact .section-contact-form .section-contact-form-wrapper form .wpforms-field{padding:7px 0;border-color:#bcbcbc;outline:none !important}#app .section-contact .section-contact-form .section-contact-form-wrapper form .wpforms-field input{border-radius:0;color:#000;font-size:11px;font-style:normal;font-weight:400;line-height:normal}#app .section-contact .section-contact-form .section-contact-form-wrapper form .wpforms-field input::placeholder{color:#000}#app .section-contact .section-contact-form .section-contact-form-wrapper form .required-alert p{color:#cd1f27;font-size:12px;font-style:normal;font-weight:400;line-height:normal;margin-bottom:0}#app .section-contact .section-contact-form .section-contact-form-wrapper form .marketing input[type=checkbox]::before{border-radius:0}#app .section-contact .section-contact-form .section-contact-form-wrapper form .marketing label{font-size:10px;font-style:normal;font-weight:400;line-height:normal}#app .section-contact .section-contact-form .section-contact-form-wrapper form .wpforms-submit{display:block;margin-left:auto;border-radius:0;background-color:#88b14b;height:49px;padding:0 30px;color:#fff;text-align:center;font-size:14px;font-style:normal;font-weight:400;line-height:normal}#app #calc-container .calc-bar-fix{overflow:hidden;padding:20px 0}#app #calc-container .calc-bar-fix #progress-bar{max-width:1000px;margin:50px auto 30px auto}#app #calc-container .calc-bar-fix #progress-bar .progress-bar{background:#ddd}#app #calc-container .calc-bar-fix #progress-bar .progress-bar .progress-bar-line{background:#88b14b;display:block;height:10px;width:0;transition:all 250ms ease-in-out}#app #calc-container .calc-bar-fix #calc-bar{display:flex;flex-direction:row;width:350%;margin-left:0%;transition:all 500ms ease-in-out;margin-left:-55%}@media(max-width: 1000px){#app #calc-container .calc-bar-fix #calc-bar{width:400%;margin-left:0%}}#app #calc-container .calc-bar-fix #calc-bar .calc-s{width:100%;max-width:70%;padding:0 20px;opacity:.2;transition:all 500ms ease-in-out;pointer-events:none}@media(max-width: 1000px){#app #calc-container .calc-bar-fix #calc-bar .calc-s{max-width:100%}#app #calc-container .calc-bar-fix #calc-bar .calc-s.calc-placeholder{display:none}}#app #calc-container .calc-bar-fix #calc-bar .calc-s.active{opacity:1;pointer-events:initial}#app #calc-container .calc-bar-fix #calc-bar .calc-s#calc-ch-1 .slide-data{display:flex;flex-direction:row;row-gap:20px}#app #calc-container .calc-bar-fix #calc-bar .calc-s#calc-ch-1 .slide-data img{width:100%;max-width:200px;height:fit-content}#app #calc-container .calc-bar-fix #calc-bar .calc-s#calc-ch-1 .slide-data .calc-texts{width:100%}@media(max-width: 767px){#app #calc-container .calc-bar-fix #calc-bar .calc-s#calc-ch-1 .slide-data{flex-direction:column;align-items:center}}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box{position:relative;padding:25px 70px 65px 70px;box-sizing:border-box;height:100%;position:relative;border:2px solid #88b14b;background:#fff}@media(max-width: 640px){#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box{padding:25px 20px 65px 20px}}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box::before{content:"";position:absolute;width:100%;height:100%;opacity:100%;display:block;z-index:-1;background-color:#88b14b;clip-path:polygon(0% 0%, 97% 0, 100% 4%, 100% 100%, 0% 100%);top:-12px;left:inherit;right:-12px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-radio{list-style:none;margin:0}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-radio li{display:flex;flex-direction:row;align-items:center;column-gap:1rem;margin:0;width:100%;padding:12.5px 0;transition:.3s;box-shadow:1px 1px 0px rgba(0,0,0,0);cursor:pointer}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-radio li:hover{box-shadow:1px 1px 2px rgba(0,0,0,.5);background-color:#eee}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-radio li.selected .radio::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:8px;height:8px;border-radius:100%;background:#88b14b}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-radio li .radio{position:relative;width:20px;height:20px;background-color:#ddd;border-radius:50%;box-shadow:1px 1px 2px rgba(0,0,0,.5);margin-left:20px;flex-shrink:0}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-radio li .radio-text .radio-title{font-weight:600;font-size:16px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts{list-style:none;margin:0}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li{margin-right:1.75rem}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li:not(:last-child){margin-bottom:10px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li p{font-weight:600;font-size:16px;margin-bottom:0}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input.input{background-color:#f7f7f7;padding:4px 10px;border:1px solid #eee;width:100%}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input.input:focus{outline:none}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input[type=range]{-webkit-appearance:none;appearance:none;background:rgba(0,0,0,0);cursor:pointer;width:100%}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input[type=range]:focus{outline:none}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input[type=range]::-webkit-slider-runnable-track{background-color:#ddd;border-radius:.5rem;height:.5rem;box-shadow:1px 1px 2px rgba(0,0,0,.5)}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-6px;border-radius:4px;background-color:#121e23;border:1px solid #fff;height:20px;width:10px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input[type=range]::-moz-range-track{background-color:#ddd;border-radius:.5rem;height:.5rem;box-shadow:1px 1px 2px rgba(0,0,0,.5);border-radius:4px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data ul.calc-texts li input[type=range]::-moz-range-thumb{border:none;border-radius:0px;background-color:#121e23;border:1px solid #fff;height:20px;width:10px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data .btn_send{max-width:fit-content;margin:30px auto 0}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--data .btn_send:disabled{cursor:progress;background:#cdcdcd}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--title{position:relative;display:block;width:100%;max-width:fit-content;margin:0 auto 30px auto;text-align:center;padding-bottom:8px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box--title h2{margin:0;padding:0}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .prev,#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .next{background:#88b14b;top:50%;margin:-15px;position:absolute;transition:.3s;cursor:pointer;border-radius:100%}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .prev.disabled,#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .next.disabled{background:#ddd;cursor:default}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .prev .svg-arrow,#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .next .svg-arrow{margin:0;width:48px;height:48px;display:block;padding:7px;top:0}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .prev .svg-arrow path,#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .next .svg-arrow path{transition:.3s}@media(max-width: 640px){#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .prev,#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .next{top:40px}}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .prev{left:25px}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .prev .svg-arrow{transform:rotate(180deg)}#app #calc-container .calc-bar-fix #calc-bar .calc-s .calc-box .next{right:25px}#configurator_sended{padding:40px 70px;box-sizing:border-box;height:100%;position:relative;border:2px solid #88b14b;width:100%;max-width:700px;margin:50px auto;background:#fff}#configurator_sended::before{content:"";position:absolute;width:100%;height:100%;opacity:100%;display:block;z-index:-1;background-color:#88b14b;clip-path:polygon(0% 0%, 98% 0, 100% 4%, 100% 100%, 0% 100%);top:-12px;left:inherit;right:-12px}#configurator_sended h2{position:relative;display:block;width:100%;max-width:fit-content;margin:0 auto 50px auto;text-align:center;padding-bottom:8px}#configurator_sended .configurator_sended_text{text-align:center}.bg-dark{background-color:#121e23;color:#fff}.bg-dark a{color:#fff}.bg-dark a:hover{color:#88b14b}.bg-white{background-color:#fff;color:#121e23}.bg-gray{background-color:#f7f5f5;color:#121e23}/*# sourceMappingURL=style.css.map */ diff --git a/wp-content/themes/ostal_WP/style.css.map b/wp-content/themes/ostal_WP/style.css.map new file mode 100644 index 0000000..cb6baaf --- /dev/null +++ b/wp-content/themes/ostal_WP/style.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["sass/01-base/_reset.scss","sass/01-base/_typography.scss","sass/01-base/_breakpoints.scss","sass/01-base/_global.scss","sass/01-base/_colors.scss","sass/02-abstracts/_helpers.scss","sass/03-vendors/_lightbox.scss","sass/04-layout/_header.scss","sass/04-layout/_navigation.scss","sass/04-layout/_footer.scss","sass/02-abstracts/_mixins.scss","sass/05-components/_buttons.scss","sass/05-components/_forms.scss","sass/05-components/_lists.scss","sass/05-components/_hero-slider.scss","sass/05-components/_box.scss","sass/05-components/_two-col-section.scss","sass/05-components/_two-col-section-with-bg.scss","sass/05-components/_one_col_cta.scss","sass/05-components/_one_col_cta_images.scss","sass/05-components/_boxes-repeater.scss","sass/05-components/_section-gallery.scss","sass/05-components/_hero-with-form.scss","sass/05-components/_social-media.scss","sass/06-pages/_contact.scss","sass/06-pages/_configurator.scss","sass/07-themes/_theme.scss"],"names":[],"mappings":"AAAA,4EAUC,EACG,SACA,UACA,sBACA,wBACE,wBAIH,KACG,iBACA,8BAEA,gBAUF,KACE,SAOF,KACE,cAQF,GACE,cAWF,GACE,uBACA,SACA,iBAQF,IACE,gCACA,cAUF,EACE,+BACA,qBAQF,YACE,mBACA,0BACA,iCAOF,SAEE,mBAQF,cAGE,gCACA,cAOF,MACE,cAQF,QAEE,cACA,cACA,kBACA,wBAGF,IACE,eAGF,IACE,WAUF,IACE,kBAWF,sCAKE,oBACA,eACA,iBACA,SAQF,aAEE,iBAQF,cAEE,oBAOF,gDAIE,0BAOF,wHAIE,kBACA,UAOF,4GAIE,8BAOF,SACE,2BAUF,OACE,sBACA,cACA,cACA,eACA,UACA,mBAOF,SACE,wBAOF,SACE,cAQF,6BAEE,sBACA,UAOF,kFAEE,YAQF,cACE,6BACA,oBAOF,yCACE,wBAQF,6BACE,0BACA,aAUF,QACE,cAOF,QACE,kBAUF,SACE,aAOF,SACE,aAGF,4BACE,wBCpWN,SAHI,uCAKA,gBACA,aACI,iBACA,iBCHA,0CDCJ,aAIQ,kBCCJ,2CDLJ,aAOQ,iBACA,oBAGR,aACI,iBACA,iBCRA,2CDMJ,aAIQ,kBAGR,aACI,eACA,iBACA,mBChBA,2CDaJ,aAKQ,kBAGR,aACI,iBACA,iBACA,kBACA,kBCzBA,2CDqBJ,aAMQ,kBEpCZ,KACI,iBCNU,KHGV,uCEOJ,kBFPI,uCESA,gBAGJ,GFZI,uCA8CA,gBACA,iBACA,iBC3CI,0CCOR,GFsCQ,kBCvCA,2CCCR,GFyCQ,iBACA,oBEvCR,GFfI,uCA2DA,iBACA,iBACA,mBE3CJ,GFlBI,uCAoEA,iBACA,iBACA,kBACA,kBC5DI,2CCOR,GFuDQ,kBEnDR,EACI,gBACA,iBACA,iBACA,kBACA,mBDtBI,0CCiBR,EAOQ,oBAIR,EACI,eACA,MCnCS,QDoCT,QACI,MCtCO,QCCf,gBACI,eACA,cHGI,0CGLR,gBAIQ,eACA,mBHMA,2CGXR,gBAQQ,YACA,kBAIR,kBACI,eHTI,0CGQR,kBAGQ,gBHLA,2CGER,kBAMQ,gBAIR,aACI,MDzBW,QC0BX,sBACI,cAEJ,qBACI,cAGR,YACI,MDjCS,QCkCT,qBACI,cAEJ,oBACI,WAGR,YACI,MD7CU,KC8CV,qBACI,WAEJ,oBACI,WAIR,kBACI,iBACA,2BACI,iBAIR,UACI,WACA,YC7DJ,UACI,UACA,kBACA,eACA,OACA,QACA,MACA,SACA,WACA,aACA,mBACA,uBACA,4BAGJ,eACI,iCACA,UACA,mBACA,aAGJ,cACI,cAKJ,0BACI,eACA,kBACA,SACA,WACA,WACA,YAGJ,mEAEI,WACA,UACA,YACA,sBACA,kBACA,kBACA,wBAGJ,kCACI,yBAGJ,+EAEI,sBCrDJ,QACI,YACA,aACA,8BACA,mBACA,qBACI,YACA,YCPR,UACI,gBAEI,0BACI,eACA,YACA,WACA,WACA,iBACA,kBACA,aACA,+BACE,0GAGE,WJhBD,QIiBC,cACA,WACA,UACA,kBACA,2BAEF,2EAEE,WAEF,+BACE,UACA,SACA,WAEF,sCACE,SACA,UACA,WAEF,qCACE,SACA,SACA,WN5BR,2CMRA,0BAuCQ,cAIR,yBACI,aACA,sBACA,uBACA,mBACA,kBACA,WACA,YACA,WACA,MACA,+BACA,gBACA,YACA,SACA,2BNjDJ,2CMmCA,yBAgBQ,aACA,mBACA,mBACA,yBACA,kBACA,aACA,YACA,UAEJ,oCACI,iBACA,yBAEJ,gCACI,MACA,OACA,YACA,iBJ/EH,QIgFG,MJnFF,KIoFE,kBACA,+BAEE,6CACE,sBClFhB,yBACI,kBACA,aACA,4BACA,2BACA,4BACA,sBACA,oCCNJ,kBACA,iBNLS,QMMT,YACA,cACA,WACA,YACA,MACA,ODCQ,WAGR,mBACI,eACA,yBACI,YACA,YACA,mBAEJ,gCACI,aACA,SPnBJ,0COiBA,gCAIQ,sCPfR,2COWA,gCAOQ,sCAEJ,6CACI,gBACA,eAEI,0DACI,iBACA,iBAMpB,yBACI,iBL/CM,KKgDN,eACA,8BACI,aACA,8BACA,iBACA,gBACA,MLnDC,QFKL,0COyCA,8BAOQ,kBAEJ,iCACI,ePnDR,0COkDI,iCAGQ,kBAGR,gCACI,ML9DH,QK+DG,sCACI,MLjEL,QOmCf,oGVlCI,uCUoCA,gBACH,cACA,kBACA,kBACA,iBACG,yBACA,sBT/BI,2CSuBR,oGAUQ,kBACA,kBAIR,2BAEI,iBPpDW,QOqDX,sBACA,yBACA,wBACA,uCACI,yBACA,yBAGR,+BAEI,iBP9DS,QO+DT,MPhEW,QOiEX,sBACA,wBACA,2CACI,yBACA,yBAKJ,0CAEI,oCACA,sBACA,oCAIR,qBACI,iBACA,MPnFS,QOoFT,0BCjFI,sBXHJ,uCA2DA,iBACA,iBACA,mBWxDQ,MRRE,KQUN,yBACI,cACA,iBACA,iBACA,MRdE,KQeF,kDACI,cACA,YACA,oBACA,mHACI,WACA,+BACA,MRtBN,KQuBM,iBACA,iBACA,sBACA,kBACA,+HACI,yBAGR,2DACI,gBAEJ,uEACI,eAEJ,0EACI,YACA,mFACI,YAIZ,8CACI,aACA,iBACA,mBACA,uEACI,cACA,SACA,wFACI,cAGR,mDACI,cAEJ,mEACI,WACA,YACA,kBACA,oCACA,yBACA,uBACA,mBACA,gCACA,4BACA,2EACI,oCACA,oCACA,gCAGR,gDACI,MR3EN,KQ4EM,0BACA,sDACI,MR5ET,QQiFP,0CACI,oCACA,kBACA,MRtFE,KQuFF,YACA,aCpFZ,GACI,mBACA,kBACA,MACI,gBACA,iBCLR,aAII,YACA,WZPI,2CYER,aAEQ,aZQA,2CYVR,aAOQ,eACA,eAEJ,6BACI,kBACA,gBAEA,2BACI,YACA,sBACA,qBACA,aACA,aACA,sBACA,yBACA,SACA,oBACA,4BACA,iCACA,2BZhBJ,2CYIA,2BAcQ,mBACA,8BACA,qBACA,iBACA,cACA,YAEA,gDACI,WZhCZ,0CY+BQ,gDAGQ,cACA,qBZ7BhB,2CYyBQ,gDAOQ,kBACA,cAGR,gDACI,WACA,aZ5CZ,0CY0CQ,gDAIQ,cACA,qBZzChB,2CYoCQ,gDAQQ,kBACA,mBACA,aACA,6BAGR,kCACI,qBACA,4BACA,sBACA,2BAER,sCJ/DR,kBACA,iBNLS,QMMT,YACA,cACA,WACA,YACA,MACA,OAIA,gFIyDI,yBACI,YACA,YACA,kBACA,aACA,oBACA,SACA,YACA,WZ3EJ,0CYmEA,yBAUQ,aZvER,2CY6DA,yBAaQ,YACA,aAEJ,wCACI,cACA,iBV1FH,QU2FG,YACA,WACA,aACA,wCACA,kBACA,6CACI,yBACA,OAEJ,6CACI,QCrGpB,KACI,6EACA,sBACA,WACI,iBXJK,kBYCT,edII,0CcLR,UAGQ,iBdEA,6DcEI,aACA,8BACA,UdJJ,0CcMA,wBAEQ,cAGR,6BACI,mBdNJ,2CcKA,6BAGQ,kBAIJ,6CACI,kBAEJ,qDACI,WACA,kBACA,WACA,YACA,aACA,cACA,UACA,WACA,UAEJ,kCACI,kBACA,YAGR,6BACI,sBAEI,oDACI,6DACA,UACA,aACA,YAIZ,8BACI,cAEI,qDACI,6EACA,UACA,WAQJ,mDACI,iBZpEP,QY4EG,kDACI,iBZ9EL,QaCf,kBACI,kBACA,4BACA,sBACA,efCI,0CeLR,kBAMQ,iBAEJ,6BACI,kBACA,iBbVK,QaWL,YACA,cACA,WACA,YACA,MACA,OAEJ,2BACI,kBACA,WffA,0CeaJ,2BAIQ,aACA,8BACA,UfnBJ,0CeqBA,gCAEQ,cfjBR,2CeoBA,qCAEQ,kBAMhB,WACI,cAEJ,YACI,sBftCI,0CgBDJ,sBAEQ,+EhBKJ,2CgBPJ,sBAMQ,gFAGR,wBACI,gBhBTA,0CgBQJ,wBAGQ,mBhBLJ,2CgBEJ,wBAMQ,iBAEJ,iCACI,kBhBXJ,2CgBUA,iCAGQ,sBAEJ,0CjB1BR,uCA2DA,iBACA,iBACA,mBiBhCQ,uCACI,oBACA,mBAEJ,sCACI,mBhBvBR,2CgBsBI,sCAGQ,mBAEJ,2CACI,iBAKhB,0BACI,eACA,mCACI,uBhBpCJ,2CgBmCA,mCAGQ,sBACA,kBAEJ,4CjBpDR,uCA2DA,iBACA,iBACA,mBiBPY,kBhBjDR,0CgB+CI,4CjBpDR,uCA8CA,gBACA,iBACA,kBC3CI,gEgB+CI,4CjBFJ,kBCvCA,iEgByCI,4CjBCJ,iBACA,oBiBKI,yCACI,kBAEJ,wCACI,mBhBpDR,2CgBmDI,wCAGQ,oBAEJ,6CACI,cAKhB,qBACI,iBd1EK,QeGb,oBACI,aACA,SjBMI,2CiBRR,oBAIQ,wCjBFA,0CiBIJ,6BAEQ,yHAFR,6BAMQ,+EAGR,+BACI,gBjBdA,0CiBaJ,+BAGQ,mBjBVJ,2CiBOJ,+BAMQ,iBAEJ,wCACI,kBjBhBJ,2CiBeA,wCAGQ,uBAEJ,iDlB/BR,uCA2DA,iBACA,iBACA,mBkB3BQ,8CACI,mBAEJ,6CACI,mBjB3BR,2CiB0BI,6CAGQ,oBAEJ,kDACI,iBAGR,iDACI,aACA,4BAEA,sDAEA,uBACA,SACA,mBACA,gBjBlDR,0CiByCI,iDAWQ,+CjB9CZ,2CiBmCI,iDAeQ,wCAGJ,uDACI,gBAEA,qEACI,ajB/DhB,0CiB8DY,qEAGQ,eAGR,2DACI,cACA,iBAOpB,iCACI,eACA,0CACI,sBjB1EJ,2CiByEA,0CAGQ,sBACA,kBAEJ,mDlB1FR,uCA2DA,iBACA,iBACA,mBkB+BY,kBjBvFR,0CiBqFI,mDlB1FR,uCA8CA,gBACA,iBACA,kBC3CI,gEiBqFI,mDlBxCJ,kBCvCA,iEiB+EI,mDlBrCJ,iBACA,oBkB2CI,gDACI,kBAEJ,+CACI,mBjB1FR,2CiByFI,+CAGQ,oBAEJ,oDACI,cCxGpB,wBACI,kBACA,4BACA,sBACA,mCVFA,kBACA,iBNLS,QMMT,YACA,cACA,WACA,YACA,MACA,OUFA,iCACI,kBACA,iBACA,oBACA,WlBFA,2CkBFJ,iCAMQ,iBAEJ,kDACI,gBlBPJ,2CkBMA,kDAGQ,kBlBTR,2CkBYA,sDAEQ,cACA,kBAGR,wCACI,aACA,uBACA,SlBrBJ,2CkBkBA,wCAKQ,oBACA,4DAEJ,oDACI,iBhBxCH,QgByCG,6EACA,uBlBnCR,0CkBgCI,oDAKQ,gFlB/BZ,2CkB0BI,oDAQQ,uBACA,8EAEJ,+DACI,eACA,gBACA,iBACA,mBAEJ,iEACI,aACA,iCACA,YACA,sEACI,eACA,eAQZ,+DACI,aACA,sBACA,kBACA,SACA,0BlB9DR,2CkByDI,+DAOQ,mBACA,kBAEJ,2EACI,kBACA,gBACA,yBlB5EZ,0CkByEQ,2EAKQ,aACA,uBlBzEhB,2CkBmEQ,2EASQ,iBACA,mBACA,gBACA,cAEJ,wFACI,aACA,wBACA,YACA,iBACA,iBhBnGX,QgBoGW,6EACA,kBlB9FhB,0CkBuFY,wFASQ,mBACA,eACA,+ElB5FpB,2CkBiFY,wFAcQ,eACA,8EAEJ,8FACI,MhB9Gf,QFKL,0CkBwGgB,8FAGQ,oBlBrGxB,2CkBkGgB,8FAMQ,uBAIZ,wFACI,MhBzHT,QgB0HS,iBACA,gBACA,iBACA,iBACA,+FACI,iCACA,8BC9H5B,iBACI,enBSI,2CmBVR,iBAGQ,sBnBOA,2CmBJA,2CAEQ,oBAGR,mCACI,aACA,4BACA,4CACA,uBACA,SACA,mBnBPJ,2CmBCA,mCAQQ,aACA,uCACA,wBACA,SACA,oBAEJ,yCACI,gBACA,enBvBR,0CmBwBQ,sDAEQ,qBACA,cnB3BhB,0CmB8BQ,sDAEQ,qBACA,mBAGR,sDACI,anBrCZ,0CmBoCQ,sDAGQ,cACA,gBACA,mBAGR,sDACI,anB7CZ,0CmB4CQ,sDAGQ,cACA,gBACA,mBAGR,sDACI,anBrDZ,0CmBoDQ,sDAGQ,cACA,gBACA,cAGR,sDACI,anB7DZ,0CmB4DQ,sDAGQ,cACA,gBACA,cAGR,6CACI,cACA,WACA,YACA,iBACA,oCACA,mDACI,sBAKhB,+BACI,aACA,uBCtFZ,gBACI,YACA,WACA,mBpBCI,0CoBJR,gBAKQ,mBpBKA,2CoBVR,gBAQQ,kBAEJ,8BACI,kBACA,YACA,sBACA,4BACA,iCACA,2BACA,aACA,sBpBdA,0CoBMJ,8BAUY,mBACA,qBACA,qBpBZR,yEoBeQ,eAGR,2BZzBJ,kBACA,iBNLS,QMMT,YACA,cACA,WACA,YACA,MACA,OAIA,gFYkBI,8BACI,aACA,aACA,sBACA,uBACA,SACA,aACA,YpBnCJ,0CoB4BA,8BASQ,wBAEA,4CACI,WpBxCZ,0CoBuCQ,4CAGQ,epBpChB,2CoBiCQ,4CAMQ,kBACA,cAGR,yCACI,gCAGZ,2BACI,iBlB3DC,QkB4DD,aACA,6EACA,apBzDJ,0CoBqDA,2BAMQ,oBpBrDR,2CoB+CA,2BASQ,cClEhB,cACI,2BACA,eACA,UACA,QACA,mBACA,YACA,YACA,iBnBZU,KmBaV,aACA,sBACA,uBACA,mBACA,SACA,uCrBVI,0CqBJR,cAgBQ,aACA,SACA,0CAGJ,sBACI,WACA,+BACA,yBACA,wBACI,aACA,mBAEJ,4BACI,WACA,YACA,iBrB5BJ,0CqByBA,4BAKQ,YAGR,4BACI,UCrCR,uCACI,iBpBHK,QoBIL,aACA,iBACA,6EACA,gBCTP,qBACC,kBACA,mBAEA,4BACC,gBACA,aACA,yBACA,4BAID,mDACC,UAEA,qDACC,8BAGD,0BAPD,mDAQE,sBAED,0BAVD,mDAWE,UACA,UAED,yBAdD,mDAeE,sBAIH,sBACC,aACA,8BAEA,0BAJD,sBAKE,0BACA,cAGD,6CACC,aACA,+BAEA,yBAJD,6CAKE,2BAIA,4EACC,WACA,sBAEA,yBAJD,4EAKE,iBACA,mBAIH,wEACC,aACA,cACA,eACA,kBACA,gBACA,iBAEA,yBARD,wEASE,eACA,iBAKH,4CACC,WACA,gBAEA,0BAJD,4CAKE,iBAGD,0EACC,aAEA,6EACC,eACA,kBACA,gBACA,mBAEA,oFACC,gBAGD,0BAVD,6EAWE,mBAKD,8FACC,cACA,qBACA,wBAEA,oGACC,gBACA,WACA,eACA,kBACA,gBACA,mBAEA,iHACC,WAKF,iGACC,cACA,eACA,kBACA,gBACA,mBACA,gBAKA,uHACC,gBAGF,gGACC,eACA,kBACA,gBACA,mBAGF,+FACC,cACA,iBACA,gBACA,yBACA,YACA,eACA,WACA,kBACA,eACA,kBACA,gBACA,mBAOJ,mCACC,gBACA,eAEA,iDACC,iBACA,2BAEA,+DACC,gBACA,kFACC,mBACA,cACA,YACA,QACA,iCAKH,6CACC,aACA,mBAEA,WACA,eACA,iCAEA,iBAEA,0BAVD,6CAWE,WACA,gBAED,qDACC,WACA,cACA,eACA,WACA,iCACA,oBAEA,0BARD,qDASE,eAEA,sEACC,cAIF,4DACC,UAEA,uBAIA,2EACC,aACA,mBACA,aAEA,+EACC,WACA,gBACA,mBAGD,uFACC,WAGD,yBAfD,2EAgBE,sBACA,oBAKH,+DACC,kBACA,4BACA,sBACA,YACA,kBACA,yBACA,gBAEA,yBATD,+DAUE,6BAGD,uEACC,WACA,kBACA,WACA,YACA,aACA,cACA,WAEA,yBACA,6DACA,UACA,aACA,YAIA,mFACC,gBACA,SAEA,sFACC,aACA,mBACA,mBACA,gBACA,SACA,WACA,iBACA,eACA,qCACA,eAEA,4FACC,sCACA,sBAKC,8GACC,WACA,kBACA,QACA,SACA,gCACA,UACA,WACA,mBACA,mBAKH,6FACC,kBACA,WACA,YACA,sBACA,kBACA,sCACA,iBACA,cAGA,+GACC,gBACA,eAKJ,mFACC,gBACA,SAEA,sFACC,qBAEA,uGACC,mBAED,wFACC,gBACA,eACA,gBAGD,kGACC,yBACA,iBACA,sBACA,WAEA,wGACC,aAKF,wGACC,wBACA,gBACA,yBACA,eACA,WAID,8GACC,aAKD,uIACC,sBACA,oBACA,aACA,sCAID,8HACC,wBACA,gBACA,gBACA,kBAEA,yBACA,sBACA,YACA,WAKD,0HACC,sBACA,oBACA,aACA,sCACA,kBAID,0HACC,YACA,kBAGA,yBACA,sBACA,YACA,WAKH,+EAMC,sBACA,mBAIA,wFACC,gBACA,mBAKH,sEACC,kBACA,cACA,WACA,sBACA,wBACA,kBACA,mBAaA,yEACC,SACA,UAIF,0IAEC,mBACA,QACA,aACA,kBACA,eACA,eACA,mBAEA,4JACC,gBACA,eAGD,gKACC,SACA,WACA,YACA,cACA,YACA,MAEA,0KACC,eAIF,yBA5BD,0IA6BE,UAGF,qEACC,UAEA,gFACC,yBAGF,qEACC,WASP,qBACC,kBACA,sBACA,YACA,kBACA,yBACA,WACA,gBACA,iBACA,gBAEA,6BACC,WACA,kBACA,WACA,YACA,aACA,cACA,WAEA,yBACA,6DACA,UACA,aACA,YAGD,wBACC,kBACA,cACA,WACA,sBACA,wBACA,kBACA,mBAGD,+CACC,kBC/hBF,SACI,iBtBCS,cAHC,KsBIV,WACI,MtBLM,KsBMN,iBACI,MtBLG,QsBSf,UACI,iBtBZU,KsBaV,MtBVS,QsBYb,SACI,iBtBfS,QsBgBT,MtBdS","file":"style.css"} \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/styles/boots-bones.css b/wp-content/themes/ostal_WP/styles/boots-bones.css new file mode 100644 index 0000000..d7e1631 --- /dev/null +++ b/wp-content/themes/ostal_WP/styles/boots-bones.css @@ -0,0 +1,522 @@ +/* +* Boots & Bones V0.1 +* Lightweight responsive grid framework +* Joshua Beckman +* Free to use under the MIT license. +* http://www.opensource.org/licenses/mit-license.php +* 11/11/2012 +*/ + + +/* Table of Contents +================================================== + #Fluid Grid + #Base 960 Grid + #Wide SCreens + #Tablet (Portrait) + #Mobile (Portrait) + #Mobile (Landscape) + #Clearing + */ + +/* #Fluid Grid (Inspired by Bootstrap) +================================================== */ + +.row-fluid { + width: 100%; + *zoom: 1; + } + .row-fluid:before, + .row-fluid:after { + display: table; + line-height: 0; + content: ""; + } + .row-fluid:after { + clear: both; + } + .row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.564102564102564%; + *margin-left: 2.5109110747408616%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .row-fluid [class*="span"]:first-child { + margin-left: 0; + } + .row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.564102564102564%; + } + .row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; + } + .row-fluid .span11 { + width: 91.45299145299145%; + *width: 91.39979996362975%; + } + .row-fluid .span10 { + width: 82.90598290598291%; + *width: 82.8527914166212%; + } + .row-fluid .span9 { + width: 74.35897435897436%; + *width: 74.30578286961266%; + } + .row-fluid .span8 { + width: 65.81196581196582%; + *width: 65.75877432260411%; + } + .row-fluid .span7 { + width: 57.26495726495726%; + *width: 57.21176577559556%; + } + .row-fluid .span6 { + width: 48.717948717948715%; + *width: 48.664757228587014%; + } + .row-fluid .span5 { + width: 40.17094017094017%; + *width: 40.11774868157847%; + } + .row-fluid .span4 { + width: 31.623931623931625%; + *width: 31.570740134569924%; + } + .row-fluid .span3 { + width: 23.076923076923077%; + *width: 23.023731587561375%; + } + .row-fluid .span2 { + width: 14.52991452991453%; + *width: 14.476723040552828%; + } + .row-fluid .span1 { + width: 5.982905982905983%; + *width: 5.929714493544281%; + } + .row-fluid .offset12 { + margin-left: 105.12820512820512%; + *margin-left: 105.02182214948171%; + } + .row-fluid .offset12:first-child { + margin-left: 102.56410256410257%; + *margin-left: 102.45771958537915%; + } + .row-fluid .offset11 { + margin-left: 96.58119658119658%; + *margin-left: 96.47481360247316%; + } + .row-fluid .offset11:first-child { + margin-left: 94.01709401709402%; + *margin-left: 93.91071103837061%; + } + .row-fluid .offset10 { + margin-left: 88.03418803418803%; + *margin-left: 87.92780505546462%; + } + .row-fluid .offset10:first-child { + margin-left: 85.47008547008548%; + *margin-left: 85.36370249136206%; + } + .row-fluid .offset9 { + margin-left: 79.48717948717949%; + *margin-left: 79.38079650845607%; + } + .row-fluid .offset9:first-child { + margin-left: 76.92307692307693%; + *margin-left: 76.81669394435352%; + } + .row-fluid .offset8 { + margin-left: 70.94017094017094%; + *margin-left: 70.83378796144753%; + } + .row-fluid .offset8:first-child { + margin-left: 68.37606837606839%; + *margin-left: 68.26968539734497%; + } + .row-fluid .offset7 { + margin-left: 62.393162393162385%; + *margin-left: 62.28677941443899%; + } + .row-fluid .offset7:first-child { + margin-left: 59.82905982905982%; + *margin-left: 59.72267685033642%; + } + .row-fluid .offset6 { + margin-left: 53.84615384615384%; + *margin-left: 53.739770867430444%; + } + .row-fluid .offset6:first-child { + margin-left: 51.28205128205128%; + *margin-left: 51.175668303327875%; + } + .row-fluid .offset5 { + margin-left: 45.299145299145295%; + *margin-left: 45.1927623204219%; + } + .row-fluid .offset5:first-child { + margin-left: 42.73504273504273%; + *margin-left: 42.62865975631933%; + } + .row-fluid .offset4 { + margin-left: 36.75213675213675%; + *margin-left: 36.645753773413354%; + } + .row-fluid .offset4:first-child { + margin-left: 34.18803418803419%; + *margin-left: 34.081651209310785%; + } + .row-fluid .offset3 { + margin-left: 28.205128205128204%; + *margin-left: 28.0987452264048%; + } + .row-fluid .offset3:first-child { + margin-left: 25.641025641025642%; + *margin-left: 25.53464266230224%; + } + .row-fluid .offset2 { + margin-left: 19.65811965811966%; + *margin-left: 19.551736679396257%; + } + .row-fluid .offset2:first-child { + margin-left: 17.094017094017094%; + *margin-left: 16.98763411529369%; + } + .row-fluid .offset1 { + margin-left: 11.11111111111111%; + *margin-left: 11.004728132387708%; + } + .row-fluid .offset1:first-child { + margin-left: 8.547008547008547%; + *margin-left: 8.440625568285142%; + } +.container-fluid { + padding-right: 20px; + padding-left: 20px; + *zoom: 1; +} +.container-fluid:before, +.container-fluid:after { + display: table; + content: ""; + line-height: 0; +} +.container-fluid:after { + clear: both; +} +.main-fluid { + margin-right: auto; + margin-left: auto; + padding: 0 20px; + max-width: 1300px; + *zoom: 1; +} +.main-fluid:before, +.main-fluid:after { + display: table; + content: ""; + line-height: 0; +} +.main-fluid:after { + clear: both; +} + +/* #Base 960 Grid (Inspired by Skeleton) +================================================== */ + + .container { position: relative; width: 960px; margin: 0 auto; padding: 0; } + .container .column, + .container .columns { float: left; display: inline; padding-left: 10px; padding-right: 10px; } + .row { margin-bottom: 20px; } + + /* Nested Column Classes */ + .column.alpha, .columns.alpha { margin-left: 0; } + .column.omega, .columns.omega { margin-right: 0; } + + /* Base Grid */ + .container .one.column, + .container .one.columns { width: 40px; } + .container .two.columns { width: 100px; } + .container .three.columns { width: 160px; } + .container .four.columns { width: 220px; } + .container .five.columns { width: 280px; } + .container .six.columns { width: 340px; } + .container .seven.columns { width: 400px; } + .container .eight.columns { width: 460px; } + .container .nine.columns { width: 520px; } + .container .ten.columns { width: 580px; } + .container .eleven.columns { width: 640px; } + .container .twelve.columns { width: 700px; } + .container .thirteen.columns { width: 760px; } + .container .fourteen.columns { width: 820px; } + .container .fifteen.columns { width: 880px; } + .container .sixteen.columns { width: 940px; } + + .container .one-third.column { width: 300px; } + .container .two-thirds.column { width: 620px; } + + /* Offsets */ + .container .offset-by-one { margin-left: 60px; } + .container .offset-by-two { margin-left: 120px; } + .container .offset-by-three { margin-left: 180px; } + .container .offset-by-four { margin-left: 240px; } + .container .offset-by-five { margin-left: 300px; } + .container .offset-by-six { margin-left: 360px; } + .container .offset-by-seven { margin-left: 420px; } + .container .offset-by-eight { margin-left: 480px; } + .container .offset-by-nine { margin-left: 540px; } + .container .offset-by-ten { margin-left: 600px; } + .container .offset-by-eleven { margin-left: 660px; } + .container .offset-by-twelve { margin-left: 720px; } + .container .offset-by-thirteen { margin-left: 780px; } + .container .offset-by-fourteen { margin-left: 840px; } + .container .offset-by-fifteen { margin-left: 900px; } + +/* #Wide screens +================================================== */ + + /* Note: Design for a width of 1200px */ + + @media only screen and (min-width: 1281px) { + body { + font-size: 18px/26px; + } + + .container { width: 1280px; } + .container .column, + .container .columns { padding-left: 10px; padding-right: 10px; } + .column.alpha, .columns.alpha { padding-left: 0; padding-right: 10px; } + .column.omega, .columns.omega { padding-right: 0; padding-left: 10px; } + .alpha.omega { padding-left: 0; padding-right: 0; } + + .container .one.column, + .container .one.columns { width: 60px; } + .container .two.columns { width: 140px; } + .container .three.columns { width: 220px; } + .container .four.columns { width: 300px; } + .container .five.columns { width: 380px; } + .container .six.columns { width: 460px; } + .container .seven.columns { width: 540px; } + .container .eight.columns { width: 620px; } + .container .nine.columns { width: 700px; } + .container .ten.columns { width: 780px; } + .container .eleven.columns { width: 860px; } + .container .twelve.columns { width: 940px; } + .container .thirteen.columns { width: 1020px; } + .container .fourteen.columns { width: 1100px; } + .container .fifteen.columns { width: 1180px; } + .container .sixteen.columns { width: 1260px; } + + .container .one-third.column { width: 405px; } + .container .two-thirds.column { width: 825px; } + + /* Offsets */ + .container .offset-by-one { margin-left: 80px; } + .container .offset-by-two { margin-left: 160px; } + .container .offset-by-three { margin-left: 240px; } + .container .offset-by-four { margin-left: 320px; } + .container .offset-by-five { margin-left: 400px; } + .container .offset-by-six { margin-left: 480px; } + .container .offset-by-seven { margin-left: 560px; } + .container .offset-by-eight { margin-left: 640px; } + .container .offset-by-nine { margin-left: 720px; } + .container .offset-by-ten { margin-left: 800px; } + .container .offset-by-eleven { margin-left: 880px; } + .container .offset-by-twelve { margin-left: 960px; } + .container .offset-by-thirteen { margin-left: 1040px; } + .container .offset-by-fourteen { margin-left: 1120px; } + .container .offset-by-fifteen { margin-left: 1200px; } + } + +/* #Tablet (Portrait) +================================================== */ + + /* Note: Design for a width of 768px */ + + @media only screen and (min-width: 768px) and (max-width: 959px) { + .container { width: 768px; } + .container .column, + .container .columns { padding-left: 10px; padding-right: 10px; } + .column.alpha, .columns.alpha { padding-left: 0; padding-right: 10px; } + .column.omega, .columns.omega { padding-right: 0; padding-left: 10px; } + .alpha.omega { padding-left: 0; padding-right: 0; } + + .container .one.column, + .container .one.columns { width: 28px; } + .container .two.columns { width: 76px; } + .container .three.columns { width: 124px; } + .container .four.columns { width: 172px; } + .container .five.columns { width: 220px; } + .container .six.columns { width: 268px; } + .container .seven.columns { width: 316px; } + .container .eight.columns { width: 364px; } + .container .nine.columns { width: 412px; } + .container .ten.columns { width: 460px; } + .container .eleven.columns { width: 508px; } + .container .twelve.columns { width: 556px; } + .container .thirteen.columns { width: 604px; } + .container .fourteen.columns { width: 652px; } + .container .fifteen.columns { width: 700px; } + .container .sixteen.columns { width: 748px; } + + .container .one-third.column { width: 236px; } + .container .two-thirds.column { width: 492px; } + + /* Offsets */ + .container .offset-by-one { margin-left: 48px; } + .container .offset-by-two { margin-left: 96px; } + .container .offset-by-three { margin-left: 144px; } + .container .offset-by-four { margin-left: 192px; } + .container .offset-by-five { margin-left: 240px; } + .container .offset-by-six { margin-left: 288px; } + .container .offset-by-seven { margin-left: 336px; } + .container .offset-by-eight { margin-left: 384px; } + .container .offset-by-nine { margin-left: 432px; } + .container .offset-by-ten { margin-left: 480px; } + .container .offset-by-eleven { margin-left: 528px; } + .container .offset-by-twelve { margin-left: 576px; } + .container .offset-by-thirteen { margin-left: 624px; } + .container .offset-by-fourteen { margin-left: 672px; } + .container .offset-by-fifteen { margin-left: 720px; } + } + + +/* #Mobile (Portrait) +================================================== */ + + /* Note: Design for a width of 320px */ + + @media only screen and (max-width: 767px) { + h1 { + font-size: 30px; + } + .only-wide { display: none;} + .underline-mobile { border-bottom: 1px solid #263239; } + .container { width: 300px; } + .container .columns, + .container .column { padding-left: 0; padding-right: 0; } + + .row-fluid [class*="span"], + .row-fluid [class*="span"]:first-child { width: 96%; margin-left:2%;} + + .row-fluid [class*="offset"], + .row-fluid [class*="offset"]:first-child { margin-left: 2%; } + + .container .one.column, + .container .one.columns, + .container .two.columns, + .container .three.columns, + .container .four.columns, + .container .five.columns, + .container .six.columns, + .container .seven.columns, + .container .eight.columns, + .container .nine.columns, + .container .ten.columns, + .container .eleven.columns, + .container .twelve.columns, + .container .thirteen.columns, + .container .fourteen.columns, + .container .fifteen.columns, + .container .sixteen.columns, + .container .one-third.column, + .container .two-thirds.column { width: 300px; } + + /* Offsets */ + .container .offset-by-one, + .container .offset-by-two, + .container .offset-by-three, + .container .offset-by-four, + .container .offset-by-five, + .container .offset-by-six, + .container .offset-by-seven, + .container .offset-by-eight, + .container .offset-by-nine, + .container .offset-by-ten, + .container .offset-by-eleven, + .container .offset-by-twelve, + .container .offset-by-thirteen, + .container .offset-by-fourteen, + .container .offset-by-fifteen { margin-left: 0; } + + } + + +/* #Mobile (Landscape) +================================================== */ + + /* Note: Design for a width of 480px */ + + @media only screen and (min-width: 480px) and (max-width: 767px) { + + .only-wide { display: none;} + .container { width: 420px; } + .container .columns, + .container .column { padding-left: 0; padding-right: 0; } + + .row-fluid [class*="span"] { width: 96%; margin-left: 2%;} + + .row-fluid [class*="offset"], .row-fluid [class*="offset"]:first-child { margin-left: 2%; } + + .container .one.column, + .container .one.columns, + .container .two.columns, + .container .three.columns, + .container .four.columns, + .container .five.columns, + .container .six.columns, + .container .seven.columns, + .container .eight.columns, + .container .nine.columns, + .container .ten.columns, + .container .eleven.columns, + .container .twelve.columns, + .container .thirteen.columns, + .container .fourteen.columns, + .container .fifteen.columns, + .container .sixteen.columns, + .container .one-third.column, + .container .two-thirds.column { width: 420px; } + } + + +/* #Clearing +================================================== */ + + /* Self Clearing Goodness */ + .container:after { content: "\0020"; display: block; height: 0; clear: both; visibility: hidden; } + + /* Use clearfix class on parent to clear nested columns, + or wrap each row of columns in a
*/ + .clearfix:before, + .clearfix:after, + .row:before, + .row:after { + content: '\0020'; + display: block; + overflow: hidden; + visibility: hidden; + width: 0; + height: 0; } + .row:after, + .clearfix:after { + clear: both; } + .row, + .clearfix { + zoom: 1; } + + /* You can also use a
to clear columns */ + .clear { + clear: both; + display: block; + overflow: hidden; + visibility: hidden; + width: 0; + height: 0; + } \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/styles/input.css b/wp-content/themes/ostal_WP/styles/input.css new file mode 100644 index 0000000..b5c61c9 --- /dev/null +++ b/wp-content/themes/ostal_WP/styles/input.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/wp-content/themes/ostal_WP/tailwind.config.js b/wp-content/themes/ostal_WP/tailwind.config.js new file mode 100644 index 0000000..964c754 --- /dev/null +++ b/wp-content/themes/ostal_WP/tailwind.config.js @@ -0,0 +1,7 @@ +module.exports = { + content: ["./**/*.{php,html,js}", "./*.php"], + theme: { + extend: {}, + }, + plugins: [], + } \ No newline at end of file diff --git a/wp-content/themes/ostal_WP/template-parts/sections/garden-page-seo.php b/wp-content/themes/ostal_WP/template-parts/sections/garden-page-seo.php new file mode 100644 index 0000000..2492786 --- /dev/null +++ b/wp-content/themes/ostal_WP/template-parts/sections/garden-page-seo.php @@ -0,0 +1,5 @@ +
+
+ +
+
\ No newline at end of file diff --git a/wp-content/themes/ostal_WP/template-parts/sections/home-page-seo.php b/wp-content/themes/ostal_WP/template-parts/sections/home-page-seo.php new file mode 100644 index 0000000..8ed3d11 --- /dev/null +++ b/wp-content/themes/ostal_WP/template-parts/sections/home-page-seo.php @@ -0,0 +1,5 @@ +
+
+ +
+
\ No newline at end of file diff --git a/wp-content/themes/ostal_WP/template-parts/sections/section-boxes_repeater_img_title_text_cta.php b/wp-content/themes/ostal_WP/template-parts/sections/section-boxes_repeater_img_title_text_cta.php new file mode 100644 index 0000000..5a49153 --- /dev/null +++ b/wp-content/themes/ostal_WP/template-parts/sections/section-boxes_repeater_img_title_text_cta.php @@ -0,0 +1,61 @@ +
style="background-image: url('');" > + + + + + +
+

+ +

+

+ +

+
+ + +
+ + + + +
+ <?php echo esc_attr($image['alt']); ?> +
+ +
+ +

+ +

+ + +

+ +

+ + +
+ + + +
+ +
+
+ +
+ +

+ +

+ +
+ + + +
+
+
\ No newline at end of file diff --git a/wp-content/themes/ostal_WP/template-parts/sections/section-faq.php b/wp-content/themes/ostal_WP/template-parts/sections/section-faq.php new file mode 100644 index 0000000..9995395 --- /dev/null +++ b/wp-content/themes/ostal_WP/template-parts/sections/section-faq.php @@ -0,0 +1,102 @@ +
+ + +

+ +

+ + +

+ +

+ + + +
+ + +
+
+ + + + + +
+
+

+
+
+ + +
+ +
+ +
+ + +

+ +

+ + +

+ +

+ + + +
+ + +
+ + + + + + + +
+

+
+ + + +
+ +
diff --git a/wp-content/themes/ostal_WP/template-parts/sections/section-gallery.php b/wp-content/themes/ostal_WP/template-parts/sections/section-gallery.php new file mode 100644 index 0000000..aad25ba --- /dev/null +++ b/wp-content/themes/ostal_WP/template-parts/sections/section-gallery.php @@ -0,0 +1,28 @@ + diff --git a/wp-content/themes/ostal_WP/template-parts/sections/section-hero-slider.php b/wp-content/themes/ostal_WP/template-parts/sections/section-hero-slider.php new file mode 100644 index 0000000..d0566f3 --- /dev/null +++ b/wp-content/themes/ostal_WP/template-parts/sections/section-hero-slider.php @@ -0,0 +1,65 @@ +
+
+ + +
+ + + + + + + +

+ +

+ +

+ +

+ + + + + + + +
+ +

+ +

+ + +

+ +

+ + + + + +
+ + + +
+ + + +
+
+
+
+
+
+
+
+ + diff --git a/wp-content/themes/ostal_WP/template-parts/sections/section-hero-with-form.php b/wp-content/themes/ostal_WP/template-parts/sections/section-hero-with-form.php new file mode 100644 index 0000000..3a4f39c --- /dev/null +++ b/wp-content/themes/ostal_WP/template-parts/sections/section-hero-with-form.php @@ -0,0 +1,23 @@ + + + +
+
+ +
+

+ +

+

+ +

+
+
+ +
+
+
+ + diff --git a/wp-content/themes/ostal_WP/template-parts/sections/section-hero.php b/wp-content/themes/ostal_WP/template-parts/sections/section-hero.php new file mode 100644 index 0000000..9af9993 --- /dev/null +++ b/wp-content/themes/ostal_WP/template-parts/sections/section-hero.php @@ -0,0 +1,11 @@ +
+
+

+ +

+

+ + +

+
+
\ No newline at end of file diff --git a/wp-content/themes/ostal_WP/template-parts/sections/section-one-col-cta-images.php b/wp-content/themes/ostal_WP/template-parts/sections/section-one-col-cta-images.php new file mode 100644 index 0000000..46da1b5 --- /dev/null +++ b/wp-content/themes/ostal_WP/template-parts/sections/section-one-col-cta-images.php @@ -0,0 +1,42 @@ +
+
+ +

+ +

+ + + +

+ +

+ + + +
+ + + + + + + +
+ + + + + + +
+
diff --git a/wp-content/themes/ostal_WP/template-parts/sections/section-one-col-cta.php b/wp-content/themes/ostal_WP/template-parts/sections/section-one-col-cta.php new file mode 100644 index 0000000..d9cb6e0 --- /dev/null +++ b/wp-content/themes/ostal_WP/template-parts/sections/section-one-col-cta.php @@ -0,0 +1,27 @@ +
+
+ +

+ +

+ + + +

+ +

+ + + +
+ + + + + + + +
+ +
+
diff --git a/wp-content/themes/ostal_WP/template-parts/sections/section-three-col-repeater.php b/wp-content/themes/ostal_WP/template-parts/sections/section-three-col-repeater.php new file mode 100644 index 0000000..7f8c99b --- /dev/null +++ b/wp-content/themes/ostal_WP/template-parts/sections/section-three-col-repeater.php @@ -0,0 +1,27 @@ +
+

+ +

+
+ + +
+
+ +
+

+ +

+
+ + +
+

+ +

+
+ + + +
+
\ No newline at end of file diff --git a/wp-content/themes/ostal_WP/template-parts/sections/section-two-col-with-bg.php b/wp-content/themes/ostal_WP/template-parts/sections/section-two-col-with-bg.php new file mode 100644 index 0000000..6e17064 --- /dev/null +++ b/wp-content/themes/ostal_WP/template-parts/sections/section-two-col-with-bg.php @@ -0,0 +1,25 @@ +
+ +
+
+

+ +

+
+

+ +

+ +
+ + + +
+ +
+
+
+ +
+
+
\ No newline at end of file diff --git a/wp-content/themes/ostal_WP/template-parts/sections/section-two-col.php b/wp-content/themes/ostal_WP/template-parts/sections/section-two-col.php new file mode 100644 index 0000000..fc0446e --- /dev/null +++ b/wp-content/themes/ostal_WP/template-parts/sections/section-two-col.php @@ -0,0 +1,32 @@ +
+
+
+ +

+ +

+ +

+ +

+ +
+ + + + +
+ + + +
+ +
+
+
+
+ +
+
+
+
\ No newline at end of file diff --git a/wp-content/themes/ostal_WP/template-parts/sections/section-wysiwyg.php b/wp-content/themes/ostal_WP/template-parts/sections/section-wysiwyg.php new file mode 100644 index 0000000..0df59b4 --- /dev/null +++ b/wp-content/themes/ostal_WP/template-parts/sections/section-wysiwyg.php @@ -0,0 +1,5 @@ +
+
+ +
+