This commit is contained in:
yurecnt 2022-12-11 15:29:37 +05:00
parent af829e4de9
commit 8d050e8fd9
69 changed files with 4881 additions and 44 deletions

View File

@ -1,5 +1,5 @@
<?php
ini_set('display_errors', 0 );
ini_set('display_errors', 1 );
/* ----------------------------------------------------------------------
09.12.2022

View File

@ -1,8 +0,0 @@
<?php
$this->free_sql2('CREATE TABLE IF NOT EXISTS `region` (
`id` INTEGER PRIMARY KEY NOT NULL,
`txt` TEXT,
`strana_id` TEXT,
FOREIGN KEY (`strana_id`) REFERENCES `strana` (`id`))');
?>

View File

@ -1,5 +1,5 @@
<?php
/*
$this->free_sql('CREATE TABLE IF NOT EXISTS `foto_albums` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`user_id` varchar(255) DEFAULT NULL,
@ -82,5 +82,5 @@ $this->free_sql2('CREATE TABLE IF NOT EXISTS `cart` (
) ENGINE="InnoDB";');
*/
?>

View File

@ -0,0 +1,21 @@
<?php
\DB::set("CREATE TABLE IF NOT EXISTS `strana` (
`id` INTEGER PRIMARY KEY NOT NULL,
`txt` TEXT
);");
\DB::set("CREATE TABLE IF NOT EXISTS `region` (
`id` INTEGER PRIMARY KEY NOT NULL,
`region` TEXT,
`strana_id` TEXT,
FOREIGN KEY (`strana_id`) REFERENCES `strana` (`id`));");
\DB::set("CREATE TABLE IF NOT EXISTS `city` (
`id` INTEGER PRIMARY KEY NOT NULL,
`city` TEXT,
`region_id` INTEGER,
`strana_id` TEXT,
FOREIGN KEY (`strana_id`) REFERENCES `strana` (`id`),
FOREIGN KEY (`region_id`) REFERENCES `region` (`id`));");
?>

View File

@ -17,12 +17,12 @@ class core{
}
static function geo(){
$res=self::get_geo_api($_SERVER['REMOTE_ADDR']);
$strana_id = DB::getValue('SELECT `id` FROM `strana` WHERE `txt` = "' . $res['country'] . '"');
if (!$strana_id)$strana_id=DB::add("INSERT INTO `strana` SET `txt` = ?", $res['country']);
$region_id = DB::getValue('SELECT `id` FROM `region` WHERE `region` = "' . $res['regionName'] . '" AND `strana_id` = ' . $strana_id);
if (!$region_id)$region_id = DB::add("INSERT INTO `region` SET `region` = ?, `strana_id`=?", array($res['regionName'], $strana_id));
$city_id = DB::getValue('SELECT `id` FROM `city` WHERE `city` = "' . $res['city'] . '" AND `strana_id` = ' . $strana_id . ' AND `region_id`=' . $region_id);
if (!$city_id)$city_id = DB::add("INSERT INTO `city` SET `city` = ?, `strana_id`=?, `region_id`=?", array($res['city'], $strana_id, $region_id));
$strana_id = \DB::getValue('SELECT `id` FROM `strana` WHERE `txt` = "' . $res['country'] . '"');
if (!$strana_id)$strana_id=\DB::add("INSERT INTO `strana` SET `txt` = ?", $res['country'] );
$region_id = \DB::getValue('SELECT `id` FROM `region` WHERE `region` = "' . $res['regionName'] . '" AND `strana_id` = ' . $strana_id);
if (!$region_id)$region_id = \DB::add("INSERT INTO `region` SET `region` = ?, `strana_id`=?", array($res['regionName'], $strana_id));
$city_id = \DB::getValue('SELECT `id` FROM `city` WHERE `city` = "' . $res['city'] . '" AND `strana_id` = ' . $strana_id . ' AND `region_id`=' . $region_id);
if (!$city_id)$city_id = \DB::add("INSERT INTO `city` SET `city` = ?, `strana_id`=?, `region_id`=?", array($res['city'], $strana_id, $region_id));
$_SESSION['city']=$city_id;
}
/* ----------------------------------------------------------------------
@ -30,8 +30,8 @@ class core{
Берем настройки модуля/сайта
---------------------------------------------------------------------- */
static function getSettings($set, $mod='global'){
$txt = DB::getValue('SELECT `json` FROM `settings` WHERE `mod` = "' . $mod . '"');
$massiv = json::from_j($txt);
$txt = \DB::getValue('SELECT `json` FROM `settings` WHERE `mod` = "' . $mod . '"');
$massiv = \json::from_j($txt);
return $massiv[$set];
}
/* ----------------------------------------------------------------------
@ -40,8 +40,8 @@ class core{
---------------------------------------------------------------------- */
static function loginCookies ( ) {
if ( @$_COOKIE['cookies'] && !@$_SESSION['user_id']){
$res = json::from_j ( base64_decode ( $_COOKIE['cookies'] ) );
$users = DB::getAll('SELECT `dostup`, `act` FROM `users` WHERE `id` = "' . $res['user_id'] . '" AND `pwd`="' . $res['pwd'] . '" LIMIT 1');
$res = \json::from_j ( base64_decode ( $_COOKIE['cookies'] ) );
$users = \DB::getAll('SELECT `dostup`, `act` FROM `users` WHERE `id` = "' . $res['user_id'] . '" AND `pwd`="' . $res['pwd'] . '" LIMIT 1');
if ( $users[0]['dostup'] ) {
$_SESSION['user_id'] = $res['user_id'];
$_SESSION['dostup'] = $dostup;
@ -56,9 +56,9 @@ class core{
---------------------------------------------------------------------- */
static function getCart ( ) {
$user_id = ( $_SESSION['user_id'] ? $_SESSION['user_id'] : session_id() );
$cart = DB::getAll('SELECT * FROM `cart` WHERE `user_id` = ' . $user_id);
$cart = \DB::getAll('SELECT * FROM `cart` WHERE `user_id` = ' . $user_id);
for($i = 0; $i < count($cart); $i++){
$cart2=DB::getAll('SELECT tovar.id, tovar.txt, tovar.cena, img.fileName FROM tovar, img WHERE tovar.id=' . $cart[$i]['pages_id'] . ' AND img.page_id=' . $cart[$i]['pages_id'] . ' LIMIT 1');
$cart2=\DB::getAll('SELECT tovar.id, tovar.txt, tovar.cena, img.fileName FROM tovar, img WHERE tovar.id=' . $cart[$i]['pages_id'] . ' AND img.page_id=' . $cart[$i]['pages_id'] . ' LIMIT 1');
}
}
@ -86,17 +86,17 @@ static function detect_ip ( ) {
---------------------------------------------------------------------- */
private static function redirectAfterLogin($dostup){
if ( $dostup=='a' || $dostup=='m' ) header( 'Location: /admin/' );
if ( $dostup=='u' ) header( 'Location: /' . \core::getSettings('default_mod_auth') . '/' );
if ( $dostup=='u' ) header( 'Location: /' . self::getSettings('default_mod_auth') . '/' );
}
static function login ( ) {
$user = DB::getAll('SELECT `id`, `dostup` FROM `users` WHERE `email` = "' . $_POST['email'] . '" AND `pwd`="' . md5($_POST['pwd']) . '"');
$user = \DB::getAll('SELECT `id`, `dostup` FROM `users` WHERE `email` = "' . $_POST['email'] . '" AND `pwd`="' . md5($_POST['pwd']) . '"');
if ( $user[0]['dostup'] ) {
$_SESSION['dostup'] = $dostup;
$_SESSION['user_id'] = $user[0]['id'];
}
if ( $_POST['remember'] == 'on' && $user[0]['dostup'] ) {
$_SESSION['pwd'] = md5($_POST['pwd']);
$cookies = base64_encode ( json::to_j ( $_SESSION ) );
$cookies = base64_encode ( \json::to_j ( $_SESSION ) );
$tri_mes = time() + 31536000;
setcookie ( 'cookies', $cookies, $tri_mes, '/', $_SERVER['SERVER_NAME'] );
}

View File

@ -4,6 +4,7 @@ class DB
public static $dsn = '';
public static $user = '';
public static $pass = '';
public static $type = '';
/**
* Объект PDO.
@ -26,10 +27,12 @@ class DB
*/
public static function getDbh(){
require_once 'set/' . $_SERVER['SERVER_NAME'] . '.php';
self::$type=@$db['type'];
if (@$db['type']=='mysql'){
self::$dsn=$db['type'] . ':dbname=' . $db['db'] . ';host=' . $db['host'];
self::$user=$db['user'];
self::$pass=$db['password'];
if (!self::$dbh) {
try {
@ -99,8 +102,19 @@ class DB
*/
public static function add($query, $param = array())
{
self::$sth = self::getDbh()->prepare($query);
return (self::$sth->execute((array) $param)) ? self::getDbh()->lastInsertId() : 0;
echo $query;
print_r($param);
//if (self::$type=='mysql'){
self::$sth = self::getDbh()->prepare($query);
echo self::$sth;
return (self::$sth->execute((array) $param)) ? self::getDbh()->lastInsertId() : 0;
//}
//if (self::$type=='sqlite3'){
// self::$sth-> query($sql);
// return $this->conn->lastInsertId();
//}
}
/**
@ -108,8 +122,11 @@ class DB
*/
public static function set($query, $param = array())
{
self::$sth = self::getDbh()->prepare($query);
return self::$sth->execute((array) $param);
}
/**

View File

@ -1,11 +1,13 @@
<?php
namespace start;
ini_set('display_errors', 0 );
ini_set('display_errors', 1 );
require_once('api/php/db.php');
require_once('api/php/json.php');
require_once('api/php/core.php');
require_once('api/php/clean.php');
if ( !@$_SESSION['city'] ) \core::geo();
echo \DB::$type;
/* ----------------------------------------------------------------------
09.12.2022
Выбираем модуль по умолчанию
@ -13,14 +15,34 @@ if ( !@$_SESSION['city'] ) \core::geo();
$authModule=\core::getSettings('default_mod_auth');
$mod=($authModule?$authModule:\core::getSettings('default_mod'));
define('MOD', ( @$_GET['mod'] ? $_GET['mod'] : $mod ) );
/* ----------------------------------------------------------------------
12.12.2022
Подключаем инсталлятор
---------------------------------------------------------------------- */
if (file_exists('api/modules/' . MOD .'/install_' . \DB::$type . '.php'))require_once 'api/modules/' . MOD .'/install_' . \DB::$type . '.php';
/* ----------------------------------------------------------------------
09.12.2022
Определяем город
---------------------------------------------------------------------- */
if ( !@$_SESSION['city'] ) \core::geo();
require_once 'set/int.php';
/* ----------------------------------------------------------------------
09.12.2022
Авторизация по куки
---------------------------------------------------------------------- */
if ( !@$_SESSION['user_id'] ) \core::loginCookies();
if (file_exists('skin/inc/mod/' . MOD . '/index.html'))
$smarty->display('skin/inc/mod/' . MOD . '/index.html', @$_GET['id']);
/* ----------------------------------------------------------------------
09.12.2022
Выбираем шаблон модуля
---------------------------------------------------------------------- */
if (file_exists('skin/' . $_SERVER['SERVER_NAME'] . '/inc/mod/' . MOD . '/index.html'))
$smarty->display('skin/' . $_SERVER['SERVER_NAME'] . '/inc/mod/' . MOD . '/index.html', @$_GET['id']);
else
$smarty->display('api/modules/' . MOD . '/index.html', @$_GET['id']);
?>

View File

@ -7,18 +7,16 @@ $smarty = new \Smarty();
$smarty->compile_dir = TMPDIR . '/';
$smarty->config_dir = 'int/config/';
$smarty->cache_dir = TMPDIR . '/';
$smarty->assign('header', 'skin/inc/header.html');/*Константа шапки*/
$smarty->assign('menu', 'skin/inc/menu.html');/*Константа шапки*/
$smarty->assign('footer', 'skin/inc/footer.html');/*Константа подвала*/
if ($_SERVER['SERVER_NAME']!='new.yurecnt.ru' && $_SERVER['SERVER_NAME']!='etalon.yurecnt.ru' && $_SERVER['SERVER_NAME']!='creativewebstudio.ru' && $_SERVER['SERVER_NAME']!='tk-ligat.ru' && $_SERVER['SERVER_NAME'] !='p006.yurecnt.ru'){//Костыль для внедрения новой админки
$smarty->assign('header_admin', 'api/admin_skin/inc/header.html');/*Константа шапки*/
$smarty->assign('menu_admin', 'api/admin_skin/inc/menu.html');/*Константа шапки*/
$smarty->assign('footer_admin', 'api/admin_skin/inc/footer.html');/*Константа подвала*/
}else{
$smarty->assign('header_admin', 'api/admin/inc/header.html');/*Константа шапки*/
$smarty->assign('menu_admin', 'api/admin/inc/menu.html');/*Константа шапки*/
$smarty->assign('footer_admin', 'api/admin/inc/footer.html');/*Константа подвала*/
}
$smarty->assign('header', 'skin/' . $_SERVER['SERVER_NAME'] . '/inc/header.html');/*Константа шапки*/
$smarty->assign('menu', 'skin/' . $_SERVER['SERVER_NAME'] . '/inc/menu.html');/*Константа шапки*/
$smarty->assign('footer', 'skin/' . $_SERVER['SERVER_NAME'] . '/inc/footer.html');/*Константа подвала*/
$smarty->assign('header_admin', 'api/admin/inc/header.html');/*Константа шапки*/
$smarty->assign('menu_admin', 'api/admin/inc/menu.html');/*Константа шапки*/
$smarty->assign('footer_admin', 'api/admin/inc/footer.html');/*Константа подвала*/
//указываем путь к настройкам модуля (можно вынести в глобал, но пока нет смысла, если не все модули настраиваются)
$smarty -> assign( 'modal_settings', 'api/modules/' . MOD . '/modal.html' );
require_once 'api/modules/' . MOD . '/index.php';

11
set/p007.yurecnt.ru.php Normal file
View File

@ -0,0 +1,11 @@
<?php
/*
Настройки подключения к БД
*/
$db['type']='mysql';
$db['host']='localhost';
$db['db']='p007';
$db['user']='admin';
$db['password']='32143214';
$db['path']='';
?>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,579 @@
/*
* See: https://fonts.google.com/license/googlerestricted
*/
/* armenian */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiIUvaYr.woff2) format('woff2');
unicode-range: U+0308, U+0530-058F, U+2010, U+2024, U+25CC, U+FB13-FB17;
}
/* cyrillic */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjYUvaYr.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* devanagari */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjMUvaYr.woff2) format('woff2');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* georgian */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPi0UvaYr.woff2) format('woff2');
unicode-range: U+0589, U+10A0-10FF, U+2D00-2D2F;
}
/* greek */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjEUvaYr.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* gurmukhi */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPhEUvaYr.woff2) format('woff2');
unicode-range: U+0964-0965, U+0A01-0A75, U+200C-200D, U+20B9, U+25CC, U+262C, U+A830-A839;
}
/* hebrew */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjAUvaYr.woff2) format('woff2');
unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* lao */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjsUvaYr.woff2) format('woff2');
unicode-range: U+0E81-0EDF, U+25CC;
}
/* tamil */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiQUvaYr.woff2) format('woff2');
unicode-range: U+0964-0965, U+0B82-0BFA, U+200C-200D, U+20B9, U+25CC;
}
/* thai */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiYUvaYr.woff2) format('woff2');
unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC;
}
/* vietnamese */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPj0UvaYr.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjwUvaYr.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjIUvQ.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* armenian */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiIUvaYr.woff2) format('woff2');
unicode-range: U+0308, U+0530-058F, U+2010, U+2024, U+25CC, U+FB13-FB17;
}
/* cyrillic */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjYUvaYr.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* devanagari */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjMUvaYr.woff2) format('woff2');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* georgian */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPi0UvaYr.woff2) format('woff2');
unicode-range: U+0589, U+10A0-10FF, U+2D00-2D2F;
}
/* greek */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjEUvaYr.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* gurmukhi */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPhEUvaYr.woff2) format('woff2');
unicode-range: U+0964-0965, U+0A01-0A75, U+200C-200D, U+20B9, U+25CC, U+262C, U+A830-A839;
}
/* hebrew */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjAUvaYr.woff2) format('woff2');
unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* lao */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjsUvaYr.woff2) format('woff2');
unicode-range: U+0E81-0EDF, U+25CC;
}
/* tamil */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiQUvaYr.woff2) format('woff2');
unicode-range: U+0964-0965, U+0B82-0BFA, U+200C-200D, U+20B9, U+25CC;
}
/* thai */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiYUvaYr.woff2) format('woff2');
unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC;
}
/* vietnamese */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPj0UvaYr.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjwUvaYr.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjIUvQ.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* armenian */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiIUvaYr.woff2) format('woff2');
unicode-range: U+0308, U+0530-058F, U+2010, U+2024, U+25CC, U+FB13-FB17;
}
/* cyrillic */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjYUvaYr.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* devanagari */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjMUvaYr.woff2) format('woff2');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* georgian */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPi0UvaYr.woff2) format('woff2');
unicode-range: U+0589, U+10A0-10FF, U+2D00-2D2F;
}
/* greek */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjEUvaYr.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* gurmukhi */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPhEUvaYr.woff2) format('woff2');
unicode-range: U+0964-0965, U+0A01-0A75, U+200C-200D, U+20B9, U+25CC, U+262C, U+A830-A839;
}
/* hebrew */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjAUvaYr.woff2) format('woff2');
unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* lao */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjsUvaYr.woff2) format('woff2');
unicode-range: U+0E81-0EDF, U+25CC;
}
/* tamil */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiQUvaYr.woff2) format('woff2');
unicode-range: U+0964-0965, U+0B82-0BFA, U+200C-200D, U+20B9, U+25CC;
}
/* thai */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPiYUvaYr.woff2) format('woff2');
unicode-range: U+0E01-0E5B, U+200C-200D, U+25CC;
}
/* vietnamese */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPj0UvaYr.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjwUvaYr.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Google Sans';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/googlesans/v45/4UasrENHsxJlGDuGo1OIlJfC6l_24rlCK1Yo_Iqcsih3SAyH6cAwhX9RPjIUvQ.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
font-family: 'Google Sans Text';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesanstext/v21/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qE52i1dC.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
font-family: 'Google Sans Text';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesanstext/v21/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qEl2i1dC.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Google Sans Text';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesanstext/v21/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qEV2i1dC.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Google Sans Text';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesanstext/v21/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qER2i1dC.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Google Sans Text';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/googlesanstext/v21/5aUu9-KzpRiLCAt4Unrc-xIKmCU5qEp2iw.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBBc4.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fBBc4.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

View File

@ -0,0 +1,9 @@
/*
* See: https://fonts.google.com/license/googlerestricted
*/
@font-face {
font-family: 'Google Sans Text';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/l/font?kit=5aUu9-KzpRiLCAt4Unrc-xIKmCU5mEhkgo3FI_E8lH570oBdIw&skey=b20c8ebc9802c116&v=v21) format('woff2');
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
:root{--base-font-size:18px;--transition-duration:0.3s;--transition-timing-function:cubic-bezier(0.19,1,0.22,1);--zoom-icon-background:rgba(25,41,56,0.94);--zoom-icon-color:#fff;--lightbox-background:rgba(25,41,56,0.94);--lightbox-z-index:1337;--caption-background:hsla(0,0%,100%,0.94);--caption-color:#192938;--counter-background:transparent;--counter-color:#fff;--button-background:transparent;--button-color:#fff;--loader-color:#fff;--slide-max-height:85vh;--slide-max-width:85vw}.tobii-zoom{border:0;box-shadow:none;display:inline-block;position:relative;text-decoration:none}.tobii-zoom img{display:block}.tobii-zoom__icon{align-items:center;background-color:var(--zoom-icon-background);top:.44444em;color:var(--zoom-icon-color);display:flex;height:1.77778em;justify-content:center;line-height:1;position:absolute;right:.44444em;width:1.77778em}.tobii-zoom__icon svg{fill:none;height:1.33333em;pointer-events:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;stroke:currentColor;width:1.33333em}.tobii-is-open{overflow-y:hidden}.tobii{background-color:var(--lightbox-background);bottom:0;box-sizing:border-box;contain:strict;font-size:var(--base-font-size);left:0;line-height:1.5;overflow:hidden;position:fixed;right:0;top:0;z-index:var(--lightbox-z-index)}.tobii[aria-hidden=true]{display:none}.tobii *,.tobii :after,.tobii :before{box-sizing:inherit}.tobii__slider{bottom:0;left:0;position:absolute;right:0;top:0;will-change:transform}.tobii__slider[aria-hidden=true]{display:none}@media screen and (prefers-reduced-motion:no-preference){.tobii__slider--animate:not(.tobii__slider--is-dragging){transition-duration:var(--transition-duration);transition-property:transform;transition-timing-function:var(--transition-timing-function)}}.tobii__slider--is-draggable [data-type]{cursor:grab}.tobii__slider--is-dragging [data-type]{cursor:grabbing}.tobii__slide{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.tobii__slide:not(.tobii__slide--is-active){visibility:hidden}@media screen and (prefers-reduced-motion:no-preference){.tobii__slide:not(.tobii__slide--is-active){transition-duration:var(--transition-duration);transition-property:visibility;transition-timing-function:var(--transition-timing-function)}}.tobii__slide [data-type]{max-height:var(--slide-max-height);max-width:var(--slide-max-width);overflow:hidden;overflow-y:auto;overscroll-behavior:contain}.tobii__slide iframe,.tobii__slide video{display:block!important}.tobii__slide figure{margin:0;position:relative}.tobii__slide figure>img{display:block;height:auto;max-height:var(--slide-max-height);max-width:var(--slide-max-width);width:auto}.tobii__slide figure>figcaption{background-color:var(--caption-background);bottom:0;color:var(--caption-color);padding:.22222em .44444em;position:absolute;white-space:pre-wrap;width:100%}.tobii__slide [data-type=html] video{cursor:auto;max-height:var(--slide-max-height);max-width:var(--slide-max-width)}.tobii__slide [data-type=iframe]{-webkit-overflow-scrolling:touch;transform:translateZ(0)}.tobii__slide [data-type=iframe] iframe{height:var(--slide-max-height);width:var(--slide-max-width)}.tobii__btn{-webkit-appearance:none;appearance:none;background-color:var(--button-background);border:.05556em solid transparent;color:var(--button-color);cursor:pointer;font:inherit;line-height:1;margin:0;opacity:.5;padding:0;position:absolute;touch-action:manipulation;will-change:opacity;z-index:1}@media screen and (prefers-reduced-motion:no-preference){.tobii__btn{transition-duration:var(--transition-duration);transition-property:opacity,transform;transition-timing-function:var(--transition-timing-function);will-change:opacity,transform}}.tobii__btn svg{fill:none;height:3.33333em;pointer-events:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1;stroke:currentColor;width:3.33333em}.tobii__btn:active,.tobii__btn:focus,.tobii__btn:hover{opacity:1}.tobii__btn--next,.tobii__btn--previous{top:50%;transform:translateY(-50%)}.tobii__btn--previous{left:.88889em}.tobii__btn--next{right:.88889em}.tobii__btn--close{right:.88889em;top:.88889em}.tobii__btn:disabled,.tobii__btn[aria-hidden=true]{display:none}.tobii__counter{background-color:var(--counter-background);color:var(--counter-color);font-size:1.11111em;left:1em;line-height:1;position:absolute;top:2.22222em;z-index:1}.tobii__counter[aria-hidden=true]{display:none}.tobii__loader{display:inline-block;height:5.55556em;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:5.55556em}.tobii__loader:before{animation:spin 1s infinite;border-radius:100%;border:.22222em solid #949ba3;border-top:.22222em solid var(--loader-color);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}@keyframes spin{to{transform:rotate(1turn)}}

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

View File

@ -0,0 +1,188 @@
<hr>
<!-- START CONTACT -->
<section class="section" id="contact">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-8">
<div class="text-center">
<h2 class="heading-title-title letter-spacing_4 text-uppercase">Get In Touch</h2>
<p class="heading-title-desc text-muted mt-4">Pellentesque
habitant morbi tristique senectus malesuada fames turpis egestas duis
dignissim finibus commodo nibh malesuada sollis diam.</p>
</div>
</div>
</div>
<div class="row mt-5 pt-4">
<div class="col-lg-8">
<div class="custom-form mt-4">
<form method="post" onsubmit="return validateForm()" class="contact-form" name="myForm" id="myForm">
<div id="error-msg"></div>
<div class="row">
<div class="col-lg-6">
<div class="form-group">
<input name="name" id="name" type="text" class="form-control" placeholder="Name">
</div>
</div>
<div class="col-lg-6">
<div class="form-group">
<input name="email" id="email" type="email" class="form-control" placeholder="Email">
</div>
</div>
</div>
<div class="row">
<div class="col-lg-6">
<div class="form-group mt-2">
<input name="number" id="number" type="number" class="form-control" placeholder="Number">
</div>
</div>
<div class="col-lg-6">
<div class="form-group mt-2">
<input name="number" id="address" type="text" class="form-control" placeholder="Address">
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="form-group mt-2">
<textarea name="comments" id="comments" rows="5" class="form-control" placeholder="Message"></textarea>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="mt-2">
<input type="submit" id="submit" name="send" class="submitBnt btn btn-md btn-dark-custom w-100" value="Send Message">
<div id="simple-msg"></div>
</div>
</div>
</div>
</form>
</div>
</div>
<div class="col-lg-4">
<div class="startup-map mt-4">
<h5>Наш канал в дзене!</h5>
<a href="https://dzen.ru/id/60a39505a8af056bc6a0604a" target="_blank" rel="nofollow"><img src="/skin/img/qr.png" style="width: 80%;"></a>
</div>
</div>
</div>
</div>
</section>
<!-- END CONTACT -->
<!-- START FOOTER -->
<footer class="section blog-bg-footer pb-5">
<div class="container">
<div class="row">
<div class="col-lg-3">
<div>
<h6 class="footer-heading text-uppercase font-weight-bold f-16">Resources</h6>
<ul class="list-unstyled footer-link mt-3 mb-0">
<li><a href="javascript:void(0)">Monitoring Grader </a></li>
<li><a href="javascript:void(0)">Video Tutorial</a></li>
<li><a href="javascript:void(0)">Term &amp; Service</a></li>
<li><a href="javascript:void(0)">Tulsy API</a></li>
</ul>
</div>
</div>
<div class="col-lg-3">
<div>
<h6 class="footer-heading text-uppercase font-weight-bold f-16">Help</h6>
<ul class="list-unstyled footer-link mt-3 mb-0">
<li><a href="javascript:void(0)">Sign Up </a></li>
<li><a href="javascript:void(0)">Login</a></li>
<li><a href="javascript:void(0)">Terms of Services</a></li>
<li><a href="javascript:void(0)">Privacy Policy</a></li>
</ul>
</div>
</div>
<div class="col-lg-4">
<div>
<h6 class="footer-heading text-uppercase font-weight-bold f-16">Latest News</h6>
<div class="mt-4 pt-2">
<div class="left-recent-content">
<div class="left-recent-img float-start pe-3">
<a href="javascript:void(0)">
<img src="/skin/img/bg-14.jpg" class="img-fluid" alt="">
</a>
</div>
<div>
<h5 class="f-12 text-uppercase">
<a href="javascript:void(0)" class="left-recent-title">Beautiful day friends..</a>
</h5>
<p class="mt-2 f-13 text-muted">September 14, 2017</p>
</div>
</div>
<div class="left-recent-content mt-1">
<div class="left-recent-img float-start pe-3">
<a href="javascript:void(0)">
<img src="/skin/img/bg-16.jpg" class="img-fluid" alt="">
</a>
</div>
<div class="pt-1">
<h5 class="f-12 text-uppercase">
<a href="javascript:void(0)" class="left-recent-title">Nature valley cooling..</a>
</h5>
<p class="mt-2 f-13 text-muted">September 14, 2017</p>
</div>
</div>
<div class="left-recent-content mt-1">
<div class="left-recent-img float-start pe-3">
<a href="javascript:void(0)">
<img src="/skin/img/bg-17.jpg" class="img-fluid" alt="">
</a>
</div>
<div class="pt-1">
<h5 class="f-12 text-uppercase">
<a href="javascript:void(0)" class="left-recent-title">Best Healthy Salad..</a>
</h5>
<p class="mt-2 f-12 text-muted">September 14, 2017</p>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-2">
<div>
<h6 class="footer-heading text-uppercase font-weight-bold f-16">Information</h6>
<ul class="list-unstyled footer-link mt-3 mb-0">
<li><a href="javascript:void(0)">Pages</a></li>
<li><a href="javascript:void(0)">Our Team</a></li>
<li><a href="javascript:void(0)">Feuchers</a></li>
<li><a href="javascript:void(0)">Pricing</a></li>
</ul>
</div>
</div>
</div>
<div class="row mt-5">
<div class="col-lg-12">
<div class="agency-footer-alt-content p-4">
<p class="copy-right text-center mb-0">© 2022 ООО Инсталл. Design by Themesdesign</p>
</div>
</div>
</div>
</div>
</footer>
<!-- END FOOTER -->
<script src="/skin/js/jquery-3.2.1.min.js"></script>
<!--shuffle-->
<script src="/skin/js/shuffle.min.js"></script>
<script src="/skin/js/tobii.min.js"></script>
<script src="/skin/js/tobii.js"></script>
<div role="dialog" aria-hidden="true" class="tobii tobii--theme-default">
<button class="tobii__btn tobii__btn--previous" type="button" aria-label="Previous image"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path stroke="none" d="M0 0h24v24H0z"></path><polyline points="15 6 9 12 15 18"></polyline></svg></button><button class="tobii__btn tobii__btn--next" type="button" aria-label="Next image"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path stroke="none" d="M0 0h24v24H0z"></path><polyline points="9 6 15 12 9 18"></polyline></svg></button><button class="tobii__btn tobii__btn--close" type="button" aria-label="Close lightbox"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path stroke="none" d="M0 0h24v24H0z"></path><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button><div class="tobii__counter"></div><div class="tobii__slider" aria-hidden="true"><div class="tobii__slide" style="position: absolute; left: 0%;" aria-hidden="true"><div data-type="image"><figure style="opacity: 0;"><img alt="1" src="" data-src="https://themesdesign.in/tulsy/layouts/images/works/work-1.jpg" aria-labelledby="tobii-figcaption-0"><figcaption id="tobii-figcaption-0">1</figcaption></figure><div class="tobii__loader" role="progressbar" aria-label="Image loading"></div></div></div><div class="tobii__slide" style="position: absolute; left: 100%;" aria-hidden="true"><div data-type="image"><figure style="opacity: 0;"><img alt="2" src="" data-src="https://themesdesign.in/tulsy/layouts/images/works/work-2.jpg" aria-labelledby="tobii-figcaption-1"><figcaption id="tobii-figcaption-1">2</figcaption></figure><div class="tobii__loader" role="progressbar" aria-label="Image loading"></div></div></div><div class="tobii__slide" style="position: absolute; left: 200%;" aria-hidden="true"><div data-type="image"><figure style="opacity: 0;"><img alt="3" src="" data-src="https://themesdesign.in/tulsy/layouts/images/works/work-3.jpg" aria-labelledby="tobii-figcaption-2"><figcaption id="tobii-figcaption-2">3</figcaption></figure><div class="tobii__loader" role="progressbar" aria-label="Image loading"></div></div></div><div class="tobii__slide" style="position: absolute; left: 300%;" aria-hidden="true"><div data-type="image"><figure style="opacity: 0;"><img alt="4" src="" data-src="https://themesdesign.in/tulsy/layouts/images/works/work-4.jpg" aria-labelledby="tobii-figcaption-3"><figcaption id="tobii-figcaption-3">4</figcaption></figure><div class="tobii__loader" role="progressbar" aria-label="Image loading"></div></div></div><div class="tobii__slide" style="position: absolute; left: 400%;" aria-hidden="true"><div data-type="image"><figure style="opacity: 0;"><img alt="5" src="" data-src="https://themesdesign.in/tulsy/layouts/images/works/work-5.jpg" aria-labelledby="tobii-figcaption-4"><figcaption id="tobii-figcaption-4">5</figcaption></figure><div class="tobii__loader" role="progressbar" aria-label="Image loading"></div></div></div><div class="tobii__slide" style="position: absolute; left: 500%;" aria-hidden="true"><div data-type="image"><figure style="opacity: 0;"><img alt="6" src="" data-src="https://themesdesign.in/tulsy/layouts/images/works/work-6.jpg" aria-labelledby="tobii-figcaption-5"><figcaption id="tobii-figcaption-5">6</figcaption></figure><div class="tobii__loader" role="progressbar" aria-label="Image loading"></div></div></div></div></div>
<script src="/skin/js/portfolio.js"></script>
<script src="/skin/js/swiper-bundle.min.js"></script>
<script src="/skin/js/app.js"></script>
<script src="/skin/js/counter.js"></script>
<!-- contact -->
<script src="/skin/js/contact.js"></script>
<!--Bootstrap Js-->
<script src="/skin/js/bootstrap.bundle.min.js"></script>
</body></html>

View File

@ -0,0 +1,85 @@
<!DOCTYPE html>
<html class="no-js" lang="en"><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>Сервисный центр Инсталл</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Premium Bootstrap v5.1.3 Landing Page Template">
<meta name="keywords" content="bootstrap v5.1.3, premium, marketing, multipurpose">
<meta content="Themesdesign" name="author">
<link rel="shortcut icon" href="https://themesdesign.in/tulsy/layouts/images/favicon.ico">
<link rel="stylesheet" href="/skin/css/bootstrap.min.css" type="text/css">
<link rel="stylesheet" href="/skin/css/tobii.min.css" type="text/css">
<link rel="stylesheet" type="text/css" href="/skin/css/materialdesignicons.min.css">
<link rel="stylesheet" href="/skin/css/swiper-bundle.min.css">
<link rel="stylesheet" type="text/css" href="/skin/css/pe-icon-7-stroke.min.css">
<link rel="stylesheet" type="text/css" href="/skin/css/style.css">
</head>
<body data-bs-spy="scroll" data-bs-target="#navbar" data-bs-offset="71" cz-shortcut-listen="true">
<!--Navbar Start-->
<nav class="navbar navbar-expand-lg fixed-top navbar-custom sticky sticky-dark" id="navbar">
<div class="container">
<!-- LOGO -->
<a class="navbar-brand logo" href="#">
<img src="/skin/img/logo-light.png" class="logo-light" alt="" height="16">
<img src="/skin/img/logo-dark.png" class="logo-dark" alt="" height="16">
</a>
<button class="navbar-toggler collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<i class="mdi mdi-menu"></i>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav ms-auto navbar-center" id="mySidenav">
<li class="nav-item">
<a href="#home" class="nav-link active">Главная</a>
</li>
<li class="nav-item">
<a href="#about" class="nav-link">О компании</a>
</li>
<li class="nav-item">
<a href="#services" class="nav-link">Сервисы</a>
</li>
<li class="nav-item">
<a href="#work" class="nav-link">Внедрения</a>
</li>
<li class="nav-item">
<a href="#pricing" class="nav-link">Прайс-лист</a>
</li>
<li class="nav-item">
<a href="#team" class="nav-link">Команда</a>
</li>
<li class="nav-item">
<a href="#blog" class="nav-link">Блоги</a>
</li>
<li class="nav-item">
<a href="#contact" class="nav-link me-0">Контакты</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- Navbar End -->
<!-- START CONSTRUCTION-HOME -->
<section class="section construction-home" id="home">
<div class="bg-overlay"></div>
<div class="home-center">
<div class="home-desc-center">
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="construction-home-content text-center text-white">
<h4 class="construction-home-title line-height_1_6 text-uppercase letter-spacing_4">
Мы внедряем электронный документооборот<br>Для крупных и малых организаций!</h4>
<div class="construction-home-border mt-4"></div>
<p class="construction-home-desc f-16 mt-4 mx-auto line-height_1_8">Pleasure rationally encounter in consequences that are extremely painful again pursues loves desires obtain pain itself because pain.</p>
<div class="mt-4 pt-3">
<a href="#" class="btn btn-md btn-custom">What We Do</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- END CONSTRUCTION-HOME -->

View File

@ -0,0 +1,777 @@
{include file=$header}
<!-- START ABOUT -->
<section class="section construction-about" id="about">
<div class="container">
<div class="row align-items-center">
<div class="col-lg-4">
<div class="construction-about-image">
<img src="/skin/img/work-as-an-accountant37.jpg" class="img-fluid" alt="">
</div>
</div>
<div class="col-lg-7 offset-1">
<div class="mt-5 mt-lg-0">
<h4 class="f-16 text-muted text-uppercase letter-spacing_2">Добро пожаловать в Настоящее!</h4>
<h3 class="mt-4">Больше не нужны архивы первичных документов!</h3>
<p class="text-muted mt-4">Не шлите курьеров, не ходите на почту, не ждите и не теряйте времени!<br><br>
Просто отправляйте и принимайте документы через онлайн-сервисы или учетной программы!<br><br>
ООО Инсталл крупнейший в Нижнем Тагиле представитель компании СКБ Контур, у нас есть филиалы в близлежащих городах - Кушва, Качканар, Верхотурье!<br><br>
Специалисты по сопровождению программных продуктов иммеют сертификацию и многолетний опыт работы!
</p>
<div class="row mt-5">
<div class="col-lg-6">
<div>
<div class="construction-about-icon">
<!-- i class="pe-7s-config"></i -->
<img src="/skin/img/site.png" style="height: 50px;">
</div>
<h4 class="f-15 letter-spacing_2 text-uppercase mt-3">WEB-Интерфейс</h4>
<p class="text-muted mt-3 mb-0">Мы предлагаем использование сервиса Диадок в режиме On-Line, с его помощью вы можете принимать, подписывать входящие документы абсолютно бесплатно</p>
</div>
</div>
<div class="col-lg-6">
<div>
<div class="construction-about-icon">
<img src="/skin/img/1c.png" style="height: 50px;">
<!-- i class="pe-7s-display1"></i -->
</div>
<h4 class="f-15 letter-spacing_2 text-uppercase mt-3">Интеграция с 1С</h4>
<p class="text-muted mt-3 mb-0">Через обработку Диадок первичные документы будут автоматически создаваться в 1С!</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- END ABOUT -->
<hr>
<!-- START SERVICES -->
<section class="section construction-services" id="services">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-8">
<div class="text-center">
<h2 class="heading-title-title letter-spacing_4 text-uppercase">Сервисы</h2>
<p class="heading-title-desc text-muted mt-4">Pellentesque
habitant morbi tristique senectus malesuada fames turpis egestas duis
dignissim finibus commodo nibh malesuada sollis diam.</p>
</div>
</div>
</div>
<div class="row mt-5 pt-3">
<div class="col-lg-4">
<div class="construction-services-box mt-4">
<div class="construction-services-img">
<img src="/skin/img/rulers.png" class="img-fluid" alt="">
</div>
<div class="construction-services-content mt-3">
<h4 class="f-15 letter-spacing_2 text-uppercase mt-3">WEB-интерфейс Диадок</h4>
<p class="mb-0 text-muted mt-3">Через WEB-Интерфейс вы найдете своих контрагентов.</p>
<p class="mb-0 text-muted mt-3">Создайте или загрузите готовые отгрузочные документы и отправите своим партнерам!</p>
<p class="mb-0 text-muted mt-3">Все входящие документы бесплатно!</p>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="construction-services-box mt-4">
<div class="construction-services-img">
<img src="/skin/img/tools.png" class="img-fluid" alt="">
</div>
<div class="construction-services-content mt-3">
<h4 class="f-15 letter-spacing_2 text-uppercase mt-3">Интеграция с Контур.Маркет</h4>
<p class="mb-0 text-muted mt-3">Подтверждайте получение маркированных товаров в WEB-сервисе Контур.Маркет</p>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="construction-services-box mt-4">
<div class="construction-services-img">
<img src="/skin/img/desktop.png" class="img-fluid" alt="">
</div>
<div class="construction-services-content mt-3">
<h4 class="f-15 letter-spacing_2 text-uppercase mt-3">Интеграция с 1С 8.х</h4>
<p class="mb-0 text-muted mt-3">С помощью внешней обработки Диадок отправляйте документы прямо из программы 1С</p>
<p class="mb-0 text-muted mt-3">Больше не надо заносить вручную номенклатуру и первичные документы - все загрузится само!</p>
</div>
</div>
</div>
</div>
<div class="row mt-5">
<div class="col-lg-4">
<div class="construction-services-box mt-4">
<div class="construction-services-img">
<img src="/skin/img/briefcase.png" class="img-fluid" alt="">
</div>
<div class="construction-services-content mt-3">
<h4 class="f-15 letter-spacing_2 text-uppercase mt-3">Architecture</h4>
<p class="mb-0 text-muted mt-3">Aliquam ligula order tortor donec lobortis tha turpis pulvinar in suspendise rutrum acumsan maximus mauris condimentum.</p>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="construction-services-box mt-4">
<div class="construction-services-img">
<img src="/skin/img/drawing-tablet.png" class="img-fluid" alt="">
</div>
<div class="construction-services-content mt-3">
<h4 class="f-15 letter-spacing_2 text-uppercase mt-3">Planning</h4>
<p class="mb-0 text-muted mt-3">Aliquam ligula order tortor donec lobortis tha turpis pulvinar in suspendise rutrum acumsan maximus mauris condimentum.</p>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="construction-services-box mt-4">
<div class="construction-services-img">
<img src="/skin/img/presentation.png" class="img-fluid" alt="">
</div>
<div class="construction-services-content mt-3">
<h4 class="f-15 letter-spacing_2 text-uppercase mt-3">Constructor</h4>
<p class="mb-0 text-muted mt-3">Aliquam ligula order tortor donec lobortis tha turpis pulvinar in suspendise rutrum acumsan maximus mauris condimentum.</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- END SERVICES -->
<hr>
<!--start WORK-->
<section class="section portfolio business-portfolio" id="work">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-12">
<div class="text-center">
<h2 class="heading-title-title letter-spacing_4 text-uppercase">Recent Project</h2>
<p class="heading-title-desc text-muted mt-4 mb-0">Pellentesque habitant morbi tristique
senectus malesuada fames turpis egestas
duis dignissim finibus commodo nibh malesuada sollis diam.</p>
</div>
</div>
<!--end col-->
<div class="col-lg-8">
<div class="filters-group-wrap mt-5 pt-3">
<div class="filters-group">
<ul class="nav filter-options list-unstyled list-inline justify-content-center">
<li data-group="all" class="active nav-link list-inline-item mt-2" style="cursor: pointer;">
All</li>
<li data-group="web" class="nav-link list-inline-item mt-2" style="cursor: pointer;">
Architecture</li>
<li data-group="desktop" class="nav-link list-inline-item mt-2" style="cursor: pointer;">
Builder</li>
<li data-group="php" class="nav-link list-inline-item mt-2" style="cursor: pointer;">
Electric</li>
<li data-group="html" class="nav-link list-inline-item mt-2" style="cursor: pointer;">
Painting</li>
</ul>
<!--end portfolio-list-->
</div>
</div>
</div>
<!--end col-->
</div>
<!--end row-->
</div>
<!--end container-->
<div class="container mt-5">
<div class="row g-0 shuffle" id="grid" style="position: relative; overflow: hidden; height: 448.1px; transition: height 250ms cubic-bezier(0.4, 0, 0.2, 1) 0s;">
<div class="col-lg-4 picture-item shuffle-item shuffle-item--visible" data-groups="[&quot;web&quot;]" style="position: absolute; top: 0px; visibility: visible; will-change: transform; left: 0px; opacity: 1; transition-duration: 250ms; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-property: transform, opacity;">
<div class="gallary-box m-3 portfolio">
<a class="lightbox port tobii-zoom" href="https://themesdesign.in/tulsy/layouts/images/works/work-1.jpg" title="">
<img class="gallary-container" src="/skin/img/work-1.jpg" alt="1">
<div class="item-effect">
<div class="item-caption text-center bg-primary text-white p-3">
<h5 class="f-14 letter-spacing_2 text-uppercase mb-0">Ui Designer</h5>
</div>
</div>
<div class="tobii-zoom__icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path stroke="none" d="M0 0h24v24H0z"></path><polyline points="16 4 20 4 20 8"></polyline><line x1="14" y1="10" x2="20" y2="4"></line><polyline points="8 20 4 20 4 16"></polyline><line x1="4" y1="20" x2="10" y2="14"></line><polyline points="16 20 20 20 20 16"></polyline><line x1="14" y1="14" x2="20" y2="20"></line><polyline points="8 4 4 4 4 8"></polyline><line x1="4" y1="4" x2="10" y2="10"></line></svg></div></a>
</div>
</div>
<!--end col-->
<div class="col-lg-4 picture-item shuffle-item shuffle-item--visible" data-groups="[&quot;php&quot;, &quot;css&quot;]" style="position: absolute; top: 0px; visibility: visible; will-change: transform; left: 0px; opacity: 1; transform: translate(312px) scale(1); transition-duration: 250ms; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-property: transform, opacity;">
<div class="gallary-box m-3 portfolio">
<a class="lightbox port tobii-zoom" href="https://themesdesign.in/tulsy/layouts/images/works/work-2.jpg" title="">
<img class="gallary-container" src="/skin/img/work-2.jpg" alt="2">
<div class="item-effect">
<div class="item-caption text-center bg-primary text-white p-3">
<h5 class="f-14 letter-spacing_2 text-uppercase mb-0">Ui Designer</h5>
</div>
</div>
<div class="tobii-zoom__icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path stroke="none" d="M0 0h24v24H0z"></path><polyline points="16 4 20 4 20 8"></polyline><line x1="14" y1="10" x2="20" y2="4"></line><polyline points="8 20 4 20 4 16"></polyline><line x1="4" y1="20" x2="10" y2="14"></line><polyline points="16 20 20 20 20 16"></polyline><line x1="14" y1="14" x2="20" y2="20"></line><polyline points="8 4 4 4 4 8"></polyline><line x1="4" y1="4" x2="10" y2="10"></line></svg></div></a>
</div>
<!--end portfolio-->
</div>
<!--end col-->
<div class="col-lg-4 picture-item shuffle-item shuffle-item--visible" data-groups="[&quot;php&quot;]" style="position: absolute; top: 0px; visibility: visible; will-change: transform; left: 0px; opacity: 1; transform: translate(624px) scale(1); transition-duration: 250ms; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-property: transform, opacity;">
<div class="gallary-box m-3 portfolio">
<a class="lightbox port tobii-zoom" href="https://themesdesign.in/tulsy/layouts/images/works/work-3.jpg" title="">
<img class="gallary-container" src="/skin/img/work-3.jpg" alt="3">
<div class="item-effect">
<div class="item-caption text-center bg-primary text-white p-3">
<h5 class="f-14 letter-spacing_2 text-uppercase mb-0">Ui Designer</h5>
</div>
</div>
<div class="tobii-zoom__icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path stroke="none" d="M0 0h24v24H0z"></path><polyline points="16 4 20 4 20 8"></polyline><line x1="14" y1="10" x2="20" y2="4"></line><polyline points="8 20 4 20 4 16"></polyline><line x1="4" y1="20" x2="10" y2="14"></line><polyline points="16 20 20 20 20 16"></polyline><line x1="14" y1="14" x2="20" y2="20"></line><polyline points="8 4 4 4 4 8"></polyline><line x1="4" y1="4" x2="10" y2="10"></line></svg></div></a>
</div>
<!--end portfolio-->
</div>
<!--end col-->
<div class="col-lg-4 picture-item shuffle-item shuffle-item--visible" data-groups="[&quot;php&quot;, &quot;hmtl&quot;]" style="position: absolute; top: 0px; visibility: visible; will-change: transform; left: 0px; opacity: 1; transform: translate(0px, 224px) scale(1); transition-duration: 250ms; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-property: transform, opacity;">
<div class="gallary-box m-3 portfolio">
<a class="lightbox port tobii-zoom" href="https://themesdesign.in/tulsy/layouts/images/works/work-4.jpg" title="">
<img class="gallary-container" src="/skin/img/work-4.jpg" alt="4">
<div class="item-effect">
<div class="item-caption text-center bg-primary text-white p-3">
<h5 class="f-14 letter-spacing_2 text-uppercase mb-0">Ui Designer</h5>
</div>
</div>
<div class="tobii-zoom__icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path stroke="none" d="M0 0h24v24H0z"></path><polyline points="16 4 20 4 20 8"></polyline><line x1="14" y1="10" x2="20" y2="4"></line><polyline points="8 20 4 20 4 16"></polyline><line x1="4" y1="20" x2="10" y2="14"></line><polyline points="16 20 20 20 20 16"></polyline><line x1="14" y1="14" x2="20" y2="20"></line><polyline points="8 4 4 4 4 8"></polyline><line x1="4" y1="4" x2="10" y2="10"></line></svg></div></a>
</div>
<!--end portfolio-->
</div>
<!--end col-->
<div class="col-lg-4 picture-item shuffle-item shuffle-item--visible" data-groups="[&quot;desktop&quot;, &quot;css&quot;]" style="position: absolute; top: 0px; visibility: visible; will-change: transform; left: 0px; opacity: 1; transform: translate(312px, 224px) scale(1); transition-duration: 250ms; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-property: transform, opacity;">
<div class="gallary-box m-3 portfolio">
<a class="lightbox port tobii-zoom" href="https://themesdesign.in/tulsy/layouts/images/works/work-5.jpg" title="">
<img class="gallary-container" src="/skin/img/work-5.jpg" alt="5">
<div class="item-effect">
<div class="item-caption text-center bg-primary text-white p-3">
<h5 class="f-14 letter-spacing_2 text-uppercase mb-0">Ui Designer</h5>
</div>
</div>
<div class="tobii-zoom__icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path stroke="none" d="M0 0h24v24H0z"></path><polyline points="16 4 20 4 20 8"></polyline><line x1="14" y1="10" x2="20" y2="4"></line><polyline points="8 20 4 20 4 16"></polyline><line x1="4" y1="20" x2="10" y2="14"></line><polyline points="16 20 20 20 20 16"></polyline><line x1="14" y1="14" x2="20" y2="20"></line><polyline points="8 4 4 4 4 8"></polyline><line x1="4" y1="4" x2="10" y2="10"></line></svg></div></a>
</div>
<!--end portfolio-->
</div>
<!--end col-->
<div class="col-lg-4 picture-item shuffle-item shuffle-item--visible" data-groups="[&quot;web&quot;, &quot;html&quot;]" style="position: absolute; top: 0px; visibility: visible; will-change: transform; left: 0px; opacity: 1; transform: translate(624px, 224px) scale(1); transition-duration: 250ms; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-property: transform, opacity;">
<div class="gallary-box m-3 portfolio">
<a class="lightbox port tobii-zoom" href="https://themesdesign.in/tulsy/layouts/images/works/work-6.jpg" title="">
<img class="gallary-container" src="/skin/img/work-6.jpg" alt="6">
<div class="item-effect">
<div class="item-caption text-center bg-primary text-white p-3">
<h5 class="f-14 letter-spacing_2 text-uppercase mb-0">Ui Designer</h5>
</div>
</div>
<div class="tobii-zoom__icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path stroke="none" d="M0 0h24v24H0z"></path><polyline points="16 4 20 4 20 8"></polyline><line x1="14" y1="10" x2="20" y2="4"></line><polyline points="8 20 4 20 4 16"></polyline><line x1="4" y1="20" x2="10" y2="14"></line><polyline points="16 20 20 20 20 16"></polyline><line x1="14" y1="14" x2="20" y2="20"></line><polyline points="8 4 4 4 4 8"></polyline><line x1="4" y1="4" x2="10" y2="10"></line></svg></div></a>
</div>
<!--end portfolio-->
</div>
<!--end col-->
</div>
<!--end row-->
</div>
<!--end container-fluid-->
</section>
<!--end WORK-->
{*
<!-- START COUNTER -->
<section class="section cta">
<div class="bg-overlay"></div>
<div class="container">
<div class="row" id="counter">
<div class="col-lg-3">
<div class="text-center">
<div class="counter-icon">
<i class="pe-7s-like"></i>
</div>
<h2 class="counter-count mt-4 text-white">
<span class="counter_value" id="count1">253</span>
</h2>
<h5 class="mt-3 text-uppercase f-13 text-light letter-spacing_2">Projects like</h5>
</div>
</div>
<div class="col-lg-3">
<div class="text-center">
<div class="counter-icon">
<i class="pe-7s-smile"></i>
</div>
<h2 class="counter-count mt-4 text-white">
<span class="counter_value" id="count2">252</span>
</h2>
<h5 class="mt-3 text-uppercase f-13 text-light letter-spacing_2">Happy Clients</h5>
</div>
</div>
<div class="col-lg-3">
<div class="text-center">
<div class="counter-icon">
<i class="pe-7s-anchor"></i>
</div>
<h2 class="counter-count mt-4 text-white">
<span class="counter_value" id="count3">1252</span>
</h2>
<h5 class="mt-3 text-uppercase f-13 text-light letter-spacing_2">Projects Completed</h5>
</div>
</div>
<div class="col-lg-3">
<div class="text-center">
<div class="counter-icon">
<i class="pe-7s-user"></i>
</div>
<h2 class="counter-count mt-4 text-white">
<span class="counter_value" id="count4">52</span>
</h2>
<h5 class="mt-3 text-uppercase f-13 text-light letter-spacing_2">Employee</h5>
</div>
</div>
</div>
</div>
</section>
<!-- END COUNTER -->
*}
<!-- START CLIENT -->
<section class="section construction-client" id="client">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-8">
<div class="text-center">
<h2 class="heading-title-title letter-spacing_4 text-uppercase">Client Says</h2>
<p class="heading-title-desc text-muted mt-4">Pellentesque
habitant morbi tristique senectus malesuada fames turpis egestas duis
dignissim finibus commodo nibh malesuada sollis diam.</p>
</div>
</div>
</div>
<div class="row mt-5 pt-4">
<div class="col-lg-12">
<div class="swiper mySwiper6 swiper-initialized swiper-horizontal swiper-pointer-events">
<div class="swiper-wrapper" style="transition-duration: 0ms; transform: translate3d(-2340px, 0px, 0px);" id="swiper-wrapper-187472f4cab10cc8e" aria-live="off"><div class="swiper-slide swiper-slide-duplicate swiper-slide-duplicate-prev" data-swiper-slide-index="2" style="width: 468px;" role="group" aria-label="3 / 4">
<div class="item m-2">
<div class="construction-client-box bg-white text-center p-4 mt-5">
<div class="construction-client-img">
<img src="/skin/img/user-3.jpg" class="img-fluid rounded-circle" alt="">
</div>
<div class="construction-client-content mt-5">
<h5 class="text-uppercase letter-spacing_2 f-15">Michael Cobb</h5>
<p class="f-16 mt-4">Nullam
tempor lacinia porta imperdiet faucibus liquam consequat consequat
faucibus tempor purus suscipit malesuada diam vita sagittis.</p>
<div class="construction-client-logo mt-4">
<img src="/skin/img/client-3.png" class="img-fluid" alt="" width="120">
</div>
</div>
</div>
</div>
</div><div class="swiper-slide swiper-slide-duplicate swiper-slide-duplicate-active" data-swiper-slide-index="3" style="width: 468px;" role="group" aria-label="4 / 4">
<div class="item m-2">
<div class="construction-client-box bg-white text-center p-4 mt-5">
<div class="construction-client-img">
<img src="/skin/img/user-4.jpg" class="img-fluid rounded-circle" alt="">
</div>
<div class="construction-client-content mt-5">
<h5 class="text-uppercase letter-spacing_2 f-15">Kevin Kinney</h5>
<p class="f-16 mt-4">Nullam
tempor lacinia porta imperdiet faucibus liquam consequat consequat
faucibus tempor purus suscipit malesuada diam vita sagittis.</p>
<div class="construction-client-logo mt-4">
<img src="/skin/img/client-4.png" class="img-fluid" alt="" width="120">
</div>
</div>
</div>
</div>
</div>
<div class="swiper-slide swiper-slide-duplicate-next" data-swiper-slide-index="0" style="width: 468px;" role="group" aria-label="1 / 4">
<div class="item m-2">
<div class="construction-client-box bg-white text-center p-4 mt-5">
<div class="construction-client-img">
<img src="/skin/img/user-1.jpg" class="img-fluid rounded-circle" alt="">
</div>
<div class="construction-client-content mt-5">
<h5 class="text-uppercase letter-spacing_2 f-15">Russell McGee</h5>
<p class="f-16 mt-4">Nullam
tempor lacinia porta imperdiet faucibus liquam consequat consequat
faucibus tempor purus suscipit malesuada diam vita sagittis.</p>
<div class="construction-client-logo mt-4">
<img src="/skin/img/client-1.png" class="img-fluid" alt="" width="120">
</div>
</div>
</div>
</div>
</div>
<div class="swiper-slide" data-swiper-slide-index="1" style="width: 468px;" role="group" aria-label="2 / 4">
<div class="item m-2">
<div class="construction-client-box bg-white text-center p-4 mt-5">
<div class="construction-client-img">
<img src="/skin/img/user-2.jpg" class="img-fluid rounded-circle" alt="">
</div>
<div class="construction-client-content mt-5">
<h5 class="text-uppercase letter-spacing_2 f-15">John Poynter</h5>
<p class="f-16 mt-4">Nullam
tempor lacinia porta imperdiet faucibus liquam consequat consequat
faucibus tempor purus suscipit malesuada diam vita sagittis.</p>
<div class="construction-client-logo mt-4">
<img src="/skin/img/client-2.png" class="img-fluid" alt="" width="120">
</div>
</div>
</div>
</div>
</div>
<div class="swiper-slide swiper-slide-prev" data-swiper-slide-index="2" style="width: 468px;" role="group" aria-label="3 / 4">
<div class="item m-2">
<div class="construction-client-box bg-white text-center p-4 mt-5">
<div class="construction-client-img">
<img src="/skin/img/user-3.jpg" class="img-fluid rounded-circle" alt="">
</div>
<div class="construction-client-content mt-5">
<h5 class="text-uppercase letter-spacing_2 f-15">Michael Cobb</h5>
<p class="f-16 mt-4">Nullam
tempor lacinia porta imperdiet faucibus liquam consequat consequat
faucibus tempor purus suscipit malesuada diam vita sagittis.</p>
<div class="construction-client-logo mt-4">
<img src="/skin/img/client-3.png" class="img-fluid" alt="" width="120">
</div>
</div>
</div>
</div>
</div>
<div class="swiper-slide swiper-slide-active" data-swiper-slide-index="3" style="width: 468px;" role="group" aria-label="4 / 4">
<div class="item m-2">
<div class="construction-client-box bg-white text-center p-4 mt-5">
<div class="construction-client-img">
<img src="/skin/img/user-4.jpg" class="img-fluid rounded-circle" alt="">
</div>
<div class="construction-client-content mt-5">
<h5 class="text-uppercase letter-spacing_2 f-15">Kevin Kinney</h5>
<p class="f-16 mt-4">Nullam
tempor lacinia porta imperdiet faucibus liquam consequat consequat
faucibus tempor purus suscipit malesuada diam vita sagittis.</p>
<div class="construction-client-logo mt-4">
<img src="/skin/img/client-4.png" class="img-fluid" alt="" width="120">
</div>
</div>
</div>
</div>
</div>
<div class="swiper-slide swiper-slide-duplicate swiper-slide-next" data-swiper-slide-index="0" style="width: 468px;" role="group" aria-label="1 / 4">
<div class="item m-2">
<div class="construction-client-box bg-white text-center p-4 mt-5">
<div class="construction-client-img">
<img src="/skin/img/user-1.jpg" class="img-fluid rounded-circle" alt="">
</div>
<div class="construction-client-content mt-5">
<h5 class="text-uppercase letter-spacing_2 f-15">Russell McGee</h5>
<p class="f-16 mt-4">Nullam
tempor lacinia porta imperdiet faucibus liquam consequat consequat
faucibus tempor purus suscipit malesuada diam vita sagittis.</p>
<div class="construction-client-logo mt-4">
<img src="/skin/img/client-1.png" class="img-fluid" alt="" width="120">
</div>
</div>
</div>
</div>
</div><div class="swiper-slide swiper-slide-duplicate" data-swiper-slide-index="1" style="width: 468px;" role="group" aria-label="2 / 4">
<div class="item m-2">
<div class="construction-client-box bg-white text-center p-4 mt-5">
<div class="construction-client-img">
<img src="/skin/img/user-2.jpg" class="img-fluid rounded-circle" alt="">
</div>
<div class="construction-client-content mt-5">
<h5 class="text-uppercase letter-spacing_2 f-15">John Poynter</h5>
<p class="f-16 mt-4">Nullam
tempor lacinia porta imperdiet faucibus liquam consequat consequat
faucibus tempor purus suscipit malesuada diam vita sagittis.</p>
<div class="construction-client-logo mt-4">
<img src="/skin/img/client-2.png" class="img-fluid" alt="" width="120">
</div>
</div>
</div>
</div>
</div></div>
<span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span></div>
</div>
</div>
</div>
</section>
<!-- END CLIENT -->
<hr>
<!-- START PRICING -->
<section class="section" id="pricing">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-8">
<div class="text-center">
<h2 class="heading-title-title letter-spacing_4 text-uppercase">Our Pricing</h2>
<p class="heading-title-desc text-muted mt-4">Pellentesque
habitant morbi tristique senectus malesuada fames turpis egestas duis
dignissim finibus commodo nibh malesuada sollis diam.</p>
</div>
</div>
</div>
<div class="row mt-5 pt-3">
<div class="col-lg-4">
<div class="construction-pricing-box text-center mt-4">
<div class="p-4">
<h3 class="mb-0">$23.99</h3>
</div>
<div class="construction-pricing-standard p-3">
<h4 class="text-uppercase f-20 letter-spacing_4 mb-0">Standard</h4>
</div>
<div class="p-5">
<div class="construction-pricing-img">
<img src="/skin/img/pricing-1.jpg" class="img-fluid rounded-circle" alt="">
</div>
<div class="mt-4 pt-2">
<p class="text-muted">Popular Construction Project</p>
<p class="text-muted">Highway Construction</p>
<p class="text-muted mb-0">Specialty Architects Engineers</p>
</div>
<div class="mt-4 pt-3">
<a href="#" class="btn btn-md btn-dark-custom">Purches Now</a>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="construction-pricing-box text-center mt-4">
<div class="p-4">
<h3 class="mb-0">$53.99</h3>
</div>
<div class="construction-pricing-standard-active p-3">
<h4 class="text-uppercase f-20 letter-spacing_4 mb-0">Premium</h4>
</div>
<div class="p-5">
<div class="construction-pricing-img">
<img src="/skin/img/pricing-2.jpg" class="img-fluid rounded-circle" alt="">
</div>
<div class="mt-4 pt-2">
<p class="text-muted">Popular Construction Project</p>
<p class="text-muted">Highway Construction</p>
<p class="text-muted mb-0">Specialty Architects Engineers</p>
</div>
<div class="mt-4 pt-3">
<a href="#" class="btn btn-md btn-dark-custom">Purches Now</a>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="construction-pricing-box text-center mt-4">
<div class="p-4">
<h3 class="mb-0">$73.99</h3>
</div>
<div class="construction-pricing-standard p-3">
<h4 class="text-uppercase f-20 letter-spacing_4 mb-0">Advanced</h4>
</div>
<div class="p-5">
<div class="construction-pricing-img">
<img src="/skin/img/pricing-3.jpg" class="img-fluid rounded-circle" alt="">
</div>
<div class="mt-4 pt-2">
<p class="text-muted">Popular Construction Project</p>
<p class="text-muted">Highway Construction</p>
<p class="text-muted mb-0">Specialty Architects Engineers</p>
</div>
<div class="mt-4 pt-3">
<a href="#" class="btn btn-md btn-dark-custom">Purches Now</a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- END PRICING -->
<!-- START CTA -->
<section class="section bg-construction-cta">
<div class="bg-overlay"></div>
<div class="container">
<div class="row ">
<div class="col-lg-12">
<div class="construction-cta-content text-white text-center">
<h4 class="construction-cta-title text-uppercase line-height_1_4 letter-spacing_2">Providing Personalized and High Quality services</h4>
<p class="mt-4 text-white-50">Contrary to
popular belief quisque s ipsum ultrices pulvinar cras iaculis magna a
congue ligula congue donec vehicula sit amet tincidunt.</p>
<div class="mt-4 pt-3">
<a href="#" class="btn btn-md btn-white">Get In Touch</a>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- END CTA -->
<!-- START TEAM -->
<section class="section" id="team">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-8">
<div class="home-title text-center">
<h2 class="heading-title-title letter-spacing_4 text-uppercase">Smart Team</h2>
<p class="heading-title-desc text-muted mt-4">Pellentesque habitant morbi tristique senectus
malesuada fames turpis egestas duis dignissim finibus commodo nibh malesuada sollis diam.
</p>
</div>
</div>
</div>
<div class="row mt-5 pt-3">
<div class="col-lg-4">
<div class="team p-4 text-center mt-4">
<div class="agency-team-img">
<img src="/skin/img/user-1.jpg" class="img-fluid rounded-circle" alt="">
</div>
<h5 class="mt-4 text-uppercase letter-spacing_2 f-15">Graig L. Catalano</h5>
<p class="text-muted f-13">Developer</p>
<p class="text-muted mb-0">There are many on variations passages sufered tha alteration form
injected randomised in look.</p>
</div>
</div>
<div class="col-lg-4">
<div class="team p-4 text-center mt-4">
<div class="agency-team-img">
<img src="/skin/img/user-2.jpg" class="img-fluid rounded-circle" alt="">
</div>
<h5 class="mt-4 text-uppercase letter-spacing_2 f-15">Thomas M. Mock</h5>
<p class="text-muted f-13">Photoshop</p>
<p class="text-muted mb-0">There are many on variations passages sufered tha alteration form
injected randomised in look.</p>
</div>
</div>
<div class="col-lg-4">
<div class="team p-4 text-center mt-4">
<div class="agency-team-img">
<img src="/skin/img/user-3.jpg" class="img-fluid rounded-circle" alt="">
</div>
<h5 class="mt-4 text-uppercase letter-spacing_2 f-15">Robert L. Kyte</h5>
<p class="text-muted f-13">Designer</p>
<p class="text-muted mb-0">There are many on variations passages sufered tha alteration form
injected randomised in look.</p>
</div>
</div>
</div>
</div>
</section>
<!-- END TEAM -->
<hr>
<!-- START BLOG -->
<section class="section business-blog" id="blog">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-8">
<div class="home-title text-center">
<h2 class="heading-title-title letter-spacing_4 text-uppercase">Our Blog</h2>
<p class="heading-title-desc text-muted mt-4">Pellentesque
habitant morbi tristique senectus malesuada fames turpis egestas duis
dignissim finibus commodo nibh malesuada sollis diam.</p>
</div>
</div>
</div>
<div class="row mt-5 pt-3">
<div class="col-lg-4">
<div class="business-blog-box mt-4">
<div class="business-blog-img">
<img src="/skin/img/blog-1.jpg" class="img-fluid" alt="">
</div>
<div class="business-blog-content bg-white p-3">
<div class="post-lable">By <a href="javascript:void(0)">John Doe</a> <span>07.02.2022</span></div>
<h5 class="f-18 line-height_1_6"><a class="text-primary" href="#">Reproduced below for those of which the word interested.</a></h5>
<p class="text-muted mt-3">Quisque sed enim elementum interdum ultricies blandit ligula mauris ultrices seuismod convallis porta.</p>
<div class="mt-4">
<a href="#about" class="btn btn-sm btn-dark-custom">Read More</a>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="business-blog-box mt-4">
<div class="business-blog-img">
<img src="/skin/img/blog-2.jpg" class="img-fluid" alt="">
</div>
<div class="business-blog-content bg-white p-3">
<div class="post-lable">By <a href="javascript:void(0)">John Doe</a> <span>08.02.2022</span></div>
<h5 class="f-18 line-height_1_6"><a class="text-primary" href="#">Fusce pretium metus purus a commodo interdum.</a></h5>
<p class="text-muted mt-3">Quisque sed enim elementum interdum ultricies blandit ligula mauris ultrices seuismod convallis porta.</p>
<div class="mt-4">
<a href="#about" class="btn btn-sm btn-dark-custom">Read More</a>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="business-blog-box mt-4">
<div class="business-blog-img">
<img src="/skin/img/blog-3.jpg" class="img-fluid" alt="">
</div>
<div class="business-blog-content bg-white p-3">
<div class="post-lable">By <a href="javascript:void(0)">John Doe</a> <span>09.02.2022</span></div>
<h5 class="f-18 line-height_1_6"><a class="text-primary" href="#"> Reproduced below for those of which the word interested.</a></h5>
<p class="text-muted mt-3">Quisque sed enim elementum interdum ultricies blandit ligula mauris ultrices seuismod convallis porta.</p>
<div class="mt-4">
<a href="#about" class="btn btn-sm btn-dark-custom">Read More</a>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- END BLOG -->
{include file=$footer}

View File

@ -0,0 +1,263 @@
/* Theme Name: Tulsy- Responsive Landing page template
File Description: Main JS file of the template
*/
// Window scroll sticky class add
function windowScroll() {
const navbar = document.getElementById("navbar");
if (
document.body.scrollTop >= 50 ||
document.documentElement.scrollTop >= 50
) {
navbar.classList.add("nav-sticky");
} else {
navbar.classList.remove("nav-sticky");
}
}
window.addEventListener('scroll', (ev) => {
ev.preventDefault();
windowScroll();
})
// Swiper slider
var swiper = new Swiper(".mySwiper", {
slidesPerView: 1,
spaceBetween: 30,
loop: true,
loopFillGroupWithBlank: true,
pagination: {
el: ".swiper-pagination",
clickable: true,
},
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
});
// swiper testiomonial
var swiper = new Swiper(".mySwiper2", {
slidesPerView: 1,
spaceBetween: 0,
loop: true,
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
pagination: {
el: ".swiper-pagination",
clickable: true,
},
breakpoints: {
640: {
slidesPerView: 2,
},
768: {
slidesPerView: 2,
},
1024: {
slidesPerView: 3,
},
},
});
// swiper screenshot
var swiper = new Swiper(".mySwiper3", {
slidesPerView: 1,
spaceBetween: 0,
loop: true,
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
pagination: {
el: ".swiper-pagination",
clickable: true,
},
breakpoints: {
640: {
slidesPerView: 2,
},
768: {
slidesPerView: 3,
},
1024: {
slidesPerView: 4,
},
},
});
// swiper book-landing
var swiper = new Swiper(".mySwiper4", {
slidesPerView: 1,
spaceBetween: 0,
pagination: {
el: ".swiper-pagination",
clickable: true,
},
breakpoints: {
640: {
slidesPerView: 2,
},
1024: {
slidesPerView: 3,
},
},
});
// business-slider CLIENT
var swiper = new Swiper(".mySwiper5", {
slidesPerView: 1,
spaceBetween: 30,
loop: true,
pagination: {
el: ".swiper-pagination",
clickable: true,
},
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
});
// construction-slider & interir-desin slider
var swiper = new Swiper(".mySwiper6", {
slidesPerView: 2,
spaceBetween: 0,
loop: true,
autoplay: {
delay: 2000,
},
pagination: {
el: ".swiper-pagination",
clickable: true,
},
});
// Swiper slider
var swiper = new Swiper(".mySwiper7", {
slidesPerView: 4,
spaceBetween: 0,
loop: true,
loopFillGroupWithBlank: true,
pagination: {
el: ".swiper-pagination",
clickable: true,
},
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
});
// photographer
try {
const texts = ["I'M PHOTOGRAPHER", "I'M DESIGNER", "I'M WEB DEVELOPER"];
var count = 0;
var index = 0;
var decrement = 0;
var currentText = '';
var letter = '';
function sleep(delay) {
return new Promise(resolve => setTimeout(resolve, delay));
}
const typeWrite = async () => {
if (count == texts.length) {
count = 0;
}
currentWord = texts[count];
currentLetter = currentWord.slice(0, ++index);
// console.log("document.querySelector", document.getElementsByClassName(".typing2"))
var typing2 = document.querySelector(".typing2");
if (typing2) {
console.log("querySelector", document.querySelector(".typing2"))
document.querySelector(".typing2").textContent = currentLetter;
if (index == currentWord.length) {
await sleep(1500);
while (index > 0) {
currentLetter = currentWord.slice(0, --index);
document.querySelector(".typing2").textContent = currentLetter;
await sleep(50);
}
count++;
index = 0;
await sleep(500);
}
setTimeout(typeWrite, Math.random() * 200 + 50);
}
}
typeWrite();
// }
} catch (error) {
}
// software slider
var swiper = new Swiper(".homeslider", {
effect: 'coverflow',
loop: true,
centeredSlides: true,
slidesPerView: 2,
initialSlide: 3,
keyboardControl: true,
mousewheelControl: true,
lazyLoading: true,
preventClicks: false,
preventClicksPropagation: false,
lazyLoadingInPrevNext: true,
grabCursor: true,
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
coverflow: {
rotate: 0,
depth: 200,
modifier: 1,
slideShadows: false,
slidesPerView: 3,
}
});
// Collapse Menu
const navLinks = document.querySelectorAll('.nav-item');
const menuToggle = document.getElementById('navbarCollapse');
let bsCollapse = '';
window.addEventListener('load', function () {
window.dispatchEvent(new Event('resize'));
});
window.addEventListener('resize', function () {
var windowSize = document.documentElement.clientWidth;
bsCollapse = new bootstrap.Collapse(menuToggle, { toggle: false });
if (windowSize < 980) {
navLinks.forEach((l) => {
l.addEventListener('click', () => { toggleMenu(); });
});
} else {
toggleMenu();
}
});
function toggleMenu() {
var windowSize = document.documentElement.clientWidth;
if (windowSize < 980) {
bsCollapse.toggle();
} else {
bsCollapse = '';
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,52 @@
//
// Contact Form Js
//
function validateForm() {
var name = document.forms["myForm"]["name"].value;
var email = document.forms["myForm"]["email"].value;
var comments = document.forms["myForm"]["comments"].value;
document.getElementById("error-msg").style.opacity = 0;
document.getElementById('error-msg').innerHTML = "";
if (name == "" || name == null) {
document.getElementById('error-msg').innerHTML = "<div class='alert alert-danger error_message'><i data-feather='home' class='icon-sm align-middle me-2'></i> Please enter a name*</div>";
fadeIn();
return false;
}
if (email == "" || email == null) {
document.getElementById('error-msg').innerHTML = "<div class='alert alert-danger error_message'><i data-feather='alert-triangle' class='icon-sm align-middle me-2'></i> Please enter a email*</div>";
fadeIn();
return false;
}
if (comments == "" || comments == null) {
document.getElementById('error-msg').innerHTML = "<div class='alert alert-danger error_message'><i class='mdi mdi-alert'></i> Please enter a comments*</div>";
fadeIn();
return false;
}
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("simple-msg").innerHTML = this.responseText;
document.forms["myForm"]["name"].value = "";
document.forms["myForm"]["email"].value = "";
document.forms["myForm"]["comments"].value = "";
}
};
xhttp.open("POST", "php/contact.php", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("name=" + name + "&email=" + email + "&comments=" + comments);
return false;
}
function fadeIn() {
var fade = document.getElementById("error-msg");
var opacity = 0;
var intervalID = setInterval(function () {
if (opacity < 1) {
opacity = opacity + 0.5
fade.style.opacity = opacity;
} else {
clearInterval(intervalID);
}
}, 200);
}

View File

@ -0,0 +1,25 @@
//Counter
document.addEventListener("DOMContentLoaded", () => {
function counter(id, start, end, duration) {
let obj = document.getElementById(id),
current = start,
range = end - start,
increment = end > start ? 1 : -1,
step = Math.abs(Math.floor(duration / range)),
timer = setInterval(() => {
current += increment;
obj.textContent = current;
if (current == end) {
clearInterval(timer);
}
}, step);
}
counter("count1", 0, 253, 3000);
counter("count2", 100, 252, 2500);
counter("count3", 0, 1252, 3000);
counter("count4", 0, 52, 3000);
});

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,153 @@
// portfolio js
//shuffle
var Shuffle = window.Shuffle;
class Demo {
constructor(element) {
this.element = element;
this.shuffle = new Shuffle(element, {
itemSelector: '.picture-item',
sizer: element.querySelector('.my-sizer-element'),
});
// Log events.
this.addShuffleEventListeners();
this._activeFilters = [];
this.addFilterButtons();
this.addSorting();
this.addSearchFilter();
}
/**
* Shuffle uses the CustomEvent constructor to dispatch events. You can listen
*/
addShuffleEventListeners() {
this.shuffle.on(Shuffle.EventType.LAYOUT, (data) => {
console.log('layout. data:', data);
});
this.shuffle.on(Shuffle.EventType.REMOVED, (data) => {
console.log('removed. data:', data);
});
}
addFilterButtons() {
const options = document.querySelector('.filter-options');
if (!options) {
return;
}
const filterButtons = Array.from(options.children);
const onClick = this._handleFilterClick.bind(this);
filterButtons.forEach((button) => {
button.addEventListener('click', onClick, false);
});
}
_handleFilterClick(evt) {
const btn = evt.currentTarget;
const isActive = btn.classList.contains('active');
const btnGroup = btn.getAttribute('data-group');
this._removeActiveClassFromChildren(btn.parentNode);
let filterGroup;
if (isActive) {
btn.classList.remove('active');
filterGroup = Shuffle.ALL_ITEMS;
} else {
btn.classList.add('active');
filterGroup = btnGroup;
}
this.shuffle.filter(filterGroup);
}
_removeActiveClassFromChildren(parent) {
const { children } = parent;
for (let i = children.length - 1; i >= 0; i--) {
children[i].classList.remove('active');
}
}
addSorting() {
const buttonGroup = document.querySelector('.sort-options');
if (!buttonGroup) {
return;
}
buttonGroup.addEventListener('change', this._handleSortChange.bind(this));
}
_handleSortChange(evt) {
// Add and remove `active` class from buttons.
const buttons = Array.from(evt.currentTarget.children);
buttons.forEach((button) => {
if (button.querySelector('input').value === evt.target.value) {
button.classList.add('active');
} else {
button.classList.remove('active');
}
});
// Create the sort options to give to Shuffle.
const { value } = evt.target;
let options = {};
function sortByDate(element) {
return element.getAttribute('data-created');
}
function sortByTitle(element) {
return element.getAttribute('data-title').toLowerCase();
}
if (value === 'date-created') {
options = {
reverse: true,
by: sortByDate,
};
} else if (value === 'title') {
options = {
by: sortByTitle,
};
}
this.shuffle.sort(options);
}
// Advanced filtering
addSearchFilter() {
const searchInput = document.querySelector('.js-shuffle-search');
if (!searchInput) {
return;
}
searchInput.addEventListener('keyup', this._handleSearchKeyup.bind(this));
}
/**
* Filter the shuffle instance by items with a title that matches the search input.
* @param {Event} evt Event object.
*/
_handleSearchKeyup(evt) {
const searchText = evt.target.value.toLowerCase();
this.shuffle.filter((element, shuffle) => {
// If there is a current filter applied, ignore elements that don't match it.
if (shuffle.group !== Shuffle.ALL_ITEMS) {
// Get the item's groups.
const groups = JSON.parse(element.getAttribute('data-groups'));
const isElementInCurrentGroup = groups.indexOf(shuffle.group) !== -1;
// Only search elements in the current group
if (!isElementInCurrentGroup) {
return false;
}
}
const titleElement = element.querySelector('.picture-item__title');
const titleText = titleElement.textContent.toLowerCase().trim();
return titleText.indexOf(searchText) !== -1;
});
}
}
document.addEventListener('DOMContentLoaded', () => {
window.demo = new Demo(document.getElementById('grid'));
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,3 @@
//tobii lightbox
const tobii = new Tobii();

1
skin/p007.yurecnt.ru/js/tobii.min.js vendored Normal file

File diff suppressed because one or more lines are too long