diff --git a/app/Admin/Controllers/ArticleController.php b/app/Admin/Controllers/ArticleController.php
index 2c646cc..3087182 100644
--- a/app/Admin/Controllers/ArticleController.php
+++ b/app/Admin/Controllers/ArticleController.php
@@ -64,8 +64,8 @@ class ArticleController extends AdminController
amis()->TableColumn('category', __('admin.articles.category'))->type('mapping')
->map(Keyword::allChildrenOfKey('article_category')->pluck('name', 'key')->toArray())
->itemSchema(amis()->Tag()->label('${item}')->color(Admin::setting()->get('system_theme_setting')['theme_color'] ?? '#1677ff')),
- amis()->TableColumn('tags', __('admin.articles.tags'))->type('mapping')->map(Keyword::tagsMap('article_tag')),
- amis()->TableColumn('cover', __('admin.articles.cover'))->type('image')->height('50px')->width('50px')->enlargeAble(true),
+ // amis()->TableColumn('tags', __('admin.articles.tags'))->type('mapping')->map(Keyword::tagsMap('article_tag')),
+ amis()->TableColumn('cover_url', __('admin.articles.cover'))->type('image')->height('50px')->width('50px')->enlargeAble(true),
amis()->TableColumn('published_at', __('admin.articles.published_at'))->remark(__('admin.articles.published_at_remark')),
amis()->TableColumn('is_enable', __('admin.articles.is_enable'))->type('switch'),
amis()->TableColumn('is_recommend', __('admin.articles.is_recommend'))->type('switch'),
@@ -86,13 +86,13 @@ class ArticleController extends AdminController
amis()->Wrapper()->body([
amis()->TextControl('title', __('admin.articles.title'))->required(true),
Components::make()->parentControl(admin_url('api/keywords/tree-list?parent_name=article_category&has_owner=0'), 'category', __('admin.articles.category'), 'name', 'key'),
- Components::make()->keywordsTagControl('t_ids', __('admin.articles.tags'), 'article_tag'),
+ // Components::make()->keywordsTagControl('t_ids', __('admin.articles.tags'), 'article_tag'),
Components::make()->cropImageControl('cover', __('admin.articles.cover')),
Components::make()->sortControl('sort', __('admin.articles.sort')),
amis()->DateTimeControl('published_at', __('admin.articles.published_at'))->format('YYYY-MM-DD HH:mm:ss')->description(__('admin.articles.published_at_remark')),
amis()->SwitchControl('is_enable', __('admin.articles.is_enable'))->value(false),
amis()->SwitchControl('is_recommend', __('admin.articles.is_recommend'))->value(false),
- Components::make()->fileControl('appendixes', __('admin.articles.appendixes'), '.xsl,.xlsx,.txt,.doc,.docx,.pdf,.pptx'),
+ // Components::make()->fileControl('appendixes', __('admin.articles.appendixes'), '.xsl,.xlsx,.txt,.doc,.docx,.pdf,.pptx'),
])->md(4),
amis()->Wrapper()->body([
Components::make()->fuEditorControl('content', __('admin.articles.content')),
diff --git a/app/Admin/Controllers/HomeController.php b/app/Admin/Controllers/HomeController.php
index 573d726..3923650 100644
--- a/app/Admin/Controllers/HomeController.php
+++ b/app/Admin/Controllers/HomeController.php
@@ -20,15 +20,15 @@ class HomeController extends AdminController
public function index(): JsonResponse|JsonResource
{
$page = $this->basePage()->css($this->css())->body([
+ // Grid::make()->columns([
+ // $this->frameworkInfo()->md(5),
+ // Flex::make()->items([
+ // $this->pieChart(),
+ // $this->cube(),
+ // ]),
+ // ]),
Grid::make()->columns([
- $this->frameworkInfo()->md(5),
- Flex::make()->items([
- $this->pieChart(),
- $this->cube(),
- ]),
- ]),
- Grid::make()->columns([
- $this->lineChart()->md(8),
+ $this->frameworkInfo()->md(8),
Flex::make()->className('h-full')->items([
$this->clock(),
$this->hitokoto(),
@@ -111,27 +111,7 @@ JS
Flex::make()->className('h-full')->direction('column')->justify('center')->alignItems('center')->items([
Image::make()->src(url(config('admin.logo'))),
Wrapper::make()->className('text-3xl mt-9')->body(config('admin.name')),
- Flex::make()->className('w-64 mt-5')->justify('space-around')->items([
- Action::make()
- ->level('link')
- ->label('GitHub')
- ->blank(true)
- ->actionType('url')
- ->blank(true)
- ->link('https://github.com/slowlyo/owl-admin'),
- Action::make()
- ->level('link')
- ->label('OwlAdmin 文档')
- ->blank(true)
- ->actionType('url')
- ->link('http://doc.owladmin.com'),
- Action::make()
- ->level('link')
- ->label('Amis 文档')
- ->blank(true)
- ->actionType('url')
- ->link('https://aisuda.bce.baidu.com/amis/zh-CN/docs/index'),
- ]),
+
]),
])
);
diff --git a/app/Admin/Controllers/SettingController.php b/app/Admin/Controllers/SettingController.php
index 9a30057..bf2919b 100644
--- a/app/Admin/Controllers/SettingController.php
+++ b/app/Admin/Controllers/SettingController.php
@@ -10,6 +10,7 @@ use Slowlyo\OwlAdmin\Renderers\Alert;
use Slowlyo\OwlAdmin\Renderers\InputKV;
use Slowlyo\OwlAdmin\Renderers\TextControl;
use Slowlyo\OwlAdmin\Controllers\AdminController;
+use App\Admin\Components;
class SettingController extends AdminController
{
@@ -30,6 +31,13 @@ class SettingController extends AdminController
->data(settings()->all())
->body(
Tabs::make()->tabs([
+ Tab::make()->title('网站设置')->body([
+ amis()->TextControl('hot_keywords', '搜索热词')->size('lg'),
+ amis()->TextControl('conect_phone', '联系电话')->size('lg'),
+ amis()->TextControl('conect_address', '联系地址')->size('lg'),
+ Components::make()->fuEditorControl('company', '公司介绍'),
+ Components::make()->fuEditorControl('contactus', '联系我们'),
+ ]),
Tab::make()->title('上传设置')->body([
amis()->RadiosControl('upload_disk', '上传驱动')->options([
'public'=>'本地存储',
@@ -50,7 +58,11 @@ class SettingController extends AdminController
{
$data = $request->only([
'upload_disk',
- 'oss_config'
+ 'oss_config',
+ 'conect_phone',
+ 'conect_address',
+ 'company', 'contactus',
+ 'hot_keywords'
]);
//上传设置-修改env文件内配置;
diff --git a/app/Http/Controllers/ArticleController.php b/app/Http/Controllers/ArticleController.php
index ea9f559..d2fb10d 100644
--- a/app/Http/Controllers/ArticleController.php
+++ b/app/Http/Controllers/ArticleController.php
@@ -5,15 +5,108 @@ namespace App\Http\Controllers;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Validation\ValidatesRequests;
use App\Models\Article;
+use App\Models\Ad;
+use Illuminate\Http\Request;
class ArticleController extends Controller
{
- public function index()
+ public function info(Article $article)
{
- $banners = Ad::where('address', 'index-top')->show()->sort()->get();
- $examples = Article::where('category', 'examples')->show()->recommend()->sort()->limit(10)->get();
- $news = Article::where('category', 'news')->show()->recommend()->sort()->get();
+ $nav = 'article';
+ $nav_title = '服务项目';
+ $nav_title_too = $article->title;
+ $list = [];
+ $banner = Ad::where('address','service-top')->show()->sort()->first();
- return view('index',compact('banners', 'examples', 'news'));
+ $examples = Article::where('category', 'examples')->show()->recommend()->sort()->limit(10)->get();
+ $news = Article::where('category', 'news')->show()->recommend()->sort()->limit(5)->get();
+
+ $content = $article->content;
+
+ return view('article', compact('banner','news','examples','nav', 'nav_title', 'nav_title_too', 'list', 'article', 'content'));
+ }
+
+ public function examples()
+ {
+ $nav = 'image_list';
+ $nav_title = '案例展示';
+ $nav_title_too = null;
+ $content = null;
+ $article = null;
+
+ $banner = Ad::where('address','examples-top')->show()->sort()->first();
+
+ $examples = Article::where('category', 'examples')->show()->recommend()->sort()->limit(10)->get();
+ $news = Article::where('category', 'news')->show()->recommend()->sort()->limit(5)->get();
+ $list = Article::where('category', 'examples')->show()->sort()->get();
+
+ return view('article', compact('banner','news','examples','nav', 'nav_title', 'nav_title_too', 'list', 'article', 'content'));
+ }
+
+ public function company(){
+ $nav = 'article';
+ $nav_title = '公司介绍';
+ $nav_title_too = null;
+ $article = null;
+ $list = [];
+ $banner = Ad::where('address','companny-top')->show()->sort()->first();
+ $content = settings()->get('company', '');
+
+ $examples = Article::where('category', 'examples')->show()->recommend()->sort()->limit(10)->get();
+ $news = Article::where('category', 'news')->show()->recommend()->sort()->limit(5)->get();
+
+ return view('article', compact('banner','news','examples','nav', 'nav_title', 'nav_title_too', 'list', 'article', 'content'));
+ }
+
+ public function contactus()
+ {
+ $nav = 'article';
+ $nav_title = '联系我们';
+ $nav_title_too = null;
+ $article = null;
+ $list = [];
+
+ $banner = Ad::where('address','contactus-top')->show()->sort()->first();
+ $content = settings()->get('contactus', '');
+
+ $examples = Article::where('category', 'examples')->show()->recommend()->sort()->limit(10)->get();
+ $news = Article::where('category', 'news')->show()->recommend()->sort()->limit(5)->get();
+
+ return view('article', compact('banner','news','examples','nav', 'nav_title', 'nav_title_too', 'list', 'article', 'content'));
+ }
+
+ public function newsList()
+ {
+ $nav = 'news_list';
+ $nav_title = '资讯动态';
+ $nav_title_too = null;
+ $content = null;
+ $article = null;
+
+ $banner = Ad::where('address','news-top')->show()->sort()->first();
+
+ $examples = Article::where('category', 'examples')->show()->recommend()->sort()->limit(10)->get();
+ $news = Article::where('category', 'news')->show()->recommend()->sort()->limit(5)->get();
+ $list = Article::where('category', 'news')->show()->sort()->get();
+
+ return view('article', compact('banner','news','examples','nav', 'nav_title', 'nav_title_too', 'list', 'article', 'content'));
+ }
+
+ public function searchList(Request $request)
+ {
+ $keywords = $request->input('keywords');
+ $nav = 'search_list';
+ $nav_title = '搜索';
+ $nav_title_too = null;
+ $content = null;
+ $article = null;
+
+ $banner = Ad::where('address','service-top')->show()->sort()->first();
+
+ $examples = Article::where('category', 'examples')->show()->recommend()->sort()->limit(10)->get();
+ $news = Article::where('category', 'news')->show()->recommend()->sort()->limit(5)->get();
+ $list = Article::where('title', 'like', $keywords.'%')->show()->sort()->get();
+
+ return view('article', compact('banner','news','examples','nav', 'nav_title', 'nav_title_too', 'list', 'article', 'content'));
}
}
diff --git a/app/Models/Ad.php b/app/Models/Ad.php
index 4eefe86..1309013 100644
--- a/app/Models/Ad.php
+++ b/app/Models/Ad.php
@@ -21,6 +21,8 @@ class Ad extends Model
{
return $date->format('Y-m-d H:i:s');
}
+
+ protected $appends = ['resource_url'];
protected $casts = [
'created_at' => 'datetime',
@@ -62,6 +64,12 @@ class Ad extends Model
];
}
+ protected function resourceUrl():Attribute {
+ return Attribute::make(
+ get: fn($value) => $this->resource ? (Str::startsWith($this->resource, ['http://', 'https://']) ? $this->resource : Storage::url($this->resource)) : null,
+ );
+ }
+
public function scopeShow($q){
$q->where('is_enable', true)->where('published_at', '<=', now());
}
diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php
index 28bb469..24ab5d1 100644
--- a/app/Providers/AppServiceProvider.php
+++ b/app/Providers/AppServiceProvider.php
@@ -24,5 +24,8 @@ class AppServiceProvider extends ServiceProvider
{
\Schema::defaultStringLength(191);
View::share('services', Article::where('category', 'services')->show()->recommend()->sort()->get());
+ view::share('conect_phone', settings()->get('conect_phone', ''));
+ view::share('hot_keywords', settings()->get('hot_keywords', ''));
+ view::share('current_nav', request()->path());
}
}
diff --git a/config/admin.php b/config/admin.php
index 12b20d7..9474d26 100644
--- a/config/admin.php
+++ b/config/admin.php
@@ -2,7 +2,7 @@
return [
// 应用名称
- 'name' => 'Owl Admin',
+ 'name' => '富琳清洁',
// 应用 logo
'logo' => '/admin-assets/logo.png',
@@ -86,7 +86,7 @@ return [
'layout' => [
// 浏览器标题, 功能名称使用 %title% 代替
- 'title' => '%title% | OwlAdmin',
+ 'title' => '%title% | 富琳清洁',
'header' => [
// 是否显示 [刷新] 按钮
'refresh' => true,
diff --git a/database/seeders/KeywordSeeder.php b/database/seeders/KeywordSeeder.php
index abc2494..f5f4649 100644
--- a/database/seeders/KeywordSeeder.php
+++ b/database/seeders/KeywordSeeder.php
@@ -18,13 +18,13 @@ class KeywordSeeder extends Seeder
Keyword::truncate();
$list = [
['key' => 'article_category', 'name' => '文章分类', 'list' => [
- 'examples'=>'案例', 'services' =>'服务', 'news'=> '咨询动态'
+ 'examples'=>'案例', 'services' =>'服务', 'news'=> '资讯动态'
]],
- ['key' => 'article_tag', 'name' => '文章标签', 'list' => [//标签value填写色号,指定标签颜色
+ // ['key' => 'article_tag', 'name' => '文章标签', 'list' => [//标签value填写色号,指定标签颜色
- ]],
+ // ]],
['key' => 'banner_address', 'name' => '广告位置', 'list' => [
-
+ 'index-top'=>'首页', 'service-top' =>'服务项目', 'examples-top'=> '案例展示', 'companny-top'=>'公司介绍','contactus-top'=>'联系我们','news-top'=>'资讯动态'
]],
];
diff --git a/public/web/css/news.css b/public/web/css/news.css
new file mode 100644
index 0000000..00edaa1
--- /dev/null
+++ b/public/web/css/news.css
@@ -0,0 +1,371 @@
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td,section,article,aside,header,footer,nav,dialog,figure,hgroup {
+ margin: 0;
+ padding: 0
+}
+
+input,select,textarea {
+ font-size: 100%
+}
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0
+}
+
+fieldset,img {
+ border: 0
+}
+
+caption,th {
+ text-align: left
+}
+
+h1,h2,h3,h4,h5,h6 {
+ font-size: 100%;
+ font-weight: 500
+}
+
+ul,ol,li {
+ list-style: none
+}
+
+em,i {
+ font-style: normal
+}
+
+del {
+ text-decoration: line-through
+}
+
+address,caption,cite,code,dfn,em,th,var {
+ font-style: normal;
+ font-weight: 500
+}
+
+img {
+ border: 0;
+ max-width: 100%
+}
+
+input,img {
+ vertical-align: middle
+}
+
+input:focus,a:focus {
+ outline: none
+}
+
+a {
+ color: #333;
+ text-decoration: none;
+ -webkit-tap-highlight-color: rgba(0,0,0,0)
+}
+
+a:active {
+ opacity: .7
+}
+
+* {
+ outline: none;
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box
+}
+
+html {
+ -webkit-text-size-adjust: none;
+ -ms-text-size-adjust: 100%;
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
+ background: #f4f4f4;
+ color: #333;
+ font-family: "Helvetica Neue",Helvetica,Tahoma,sans-serif
+}
+
+/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
+html {
+ line-height: 1.3;
+ -ms-text-size-adjust: 100%;
+ -webkit-text-size-adjust: 100%
+}
+
+body {
+ margin: 0
+}
+
+article,aside,footer,header,nav,section {
+ display: block
+}
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0
+}
+
+figcaption,figure,main {
+ display: block
+}
+
+figure {
+ margin: 1em 40px
+}
+
+hr {
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+ overflow: visible
+}
+
+pre {
+ font-family: monospace, monospace;
+ font-size: 1em
+}
+
+a {
+ background-color: transparent;
+ -webkit-text-decoration-skip: objects
+}
+
+abbr[title] {
+ border-bottom: none;
+ text-decoration: underline;
+ -webkit-text-decoration: underline dotted;
+ text-decoration: underline dotted
+}
+
+b,strong {
+ font-weight: inherit
+}
+
+b,strong {
+ font-weight: bolder
+}
+
+code,kbd,samp {
+ font-family: monospace, monospace;
+ font-size: 1em
+}
+
+dfn {
+ font-style: italic
+}
+
+mark {
+ background-color: #ff0;
+ color: #000
+}
+
+small {
+ font-size: 80%
+}
+
+sub,sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline
+}
+
+sub {
+ bottom: -0.25em
+}
+
+sup {
+ top: -0.5em
+}
+
+audio,video {
+ display: inline-block
+}
+
+audio:not([controls]) {
+ display: none;
+ height: 0
+}
+
+img {
+ border-style: none
+}
+
+svg:not(:root) {
+ overflow: hidden
+}
+
+button,input,optgroup,select,textarea {
+ font-family: sans-serif;
+ font-size: 100%;
+ line-height: 1.15;
+ margin: 0
+}
+
+button,input {
+ overflow: visible
+}
+
+button,select {
+ text-transform: none
+}
+
+button,html [type="button"],[type="reset"],[type="submit"] {
+ -webkit-appearance: button
+}
+
+button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner {
+ border-style: none;
+ padding: 0
+}
+
+button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText
+}
+
+fieldset {
+ padding: 0.35em 0.75em 0.625em
+}
+
+legend {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ color: inherit;
+ display: table;
+ max-width: 100%;
+ padding: 0;
+ white-space: normal
+}
+
+progress {
+ display: inline-block;
+ vertical-align: baseline
+}
+
+textarea {
+ overflow: auto
+}
+
+[type="checkbox"],[type="radio"] {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0
+}
+
+[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button {
+ height: auto
+}
+
+[type="search"] {
+ -webkit-appearance: textfield;
+ outline-offset: -2px
+}
+
+[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none
+}
+
+::-webkit-file-upload-button {
+ -webkit-appearance: button;
+ font: inherit
+}
+
+details,menu {
+ display: block
+}
+
+summary {
+ display: list-item
+}
+
+canvas {
+ display: inline-block
+}
+
+template {
+ display: none
+}
+
+[hidden] {
+ display: none
+}
+
+.bdr-btm,.bdr-top {
+ position: relative
+}
+
+.bdr-top::before {
+ content: ' ';
+ position: absolute;
+ width: 100%;
+ left: 0;
+ top: 0;
+ border-top: 1px solid #ddd;
+ color: #ddd;
+ -webkit-transform: scaleY(0.5);
+ -ms-transform: scaleY(0.5);
+ transform: scaleY(0.5)
+}
+
+.bdr-btm::after {
+ content: ' ';
+ position: absolute;
+ width: 100%;
+ left: 0;
+ bottom: 0;
+ border-top: 1px solid #ddd;
+ color: #ddd;
+ -webkit-transform: scaleY(0.5);
+ -ms-transform: scaleY(0.5);
+ transform: scaleY(0.5)
+}
+
+.fl {
+ float: left
+}
+
+.fr {
+ float: right
+}
+
+.clearfix:before,.clearfix:after {
+ display: table;
+ content: ''
+}
+
+.clearfix:after {
+ clear: both;
+ zoom:1}
+
+.publicContRight {
+ width: 910px;
+ background-color: #ffffff;
+ -webkit-box-shadow: 0px 2px 16px 0px rgba(64,64,71,0.15);
+ box-shadow: 0px 2px 16px 0px rgba(64,64,71,0.15);
+ padding: 19px 44px 19px 29px
+}
+
+.publicContRight .top {
+ font-size: 12px
+}
+
+.publicContRight .top a {
+ color: #51545c
+}
+
+.publicContRight .top span {
+ color: #9598a0
+}
+
+.publicContRight p {
+ font-size: 12px;
+ letter-spacing: 1px;
+ color: #727478;
+ margin-top: 30px;
+ width: 600px;
+ border-bottom: 1px dashed #d2d2d2;
+ padding-bottom: 10px;
+ overflow: hidden;
+ -o-text-overflow: ellipsis;
+ text-overflow: ellipsis;
+ white-space: nowrap
+}
+.publicBottom {
+ display: flex;
+}
diff --git a/public/web/css/portfolio.css b/public/web/css/portfolio.css
new file mode 100644
index 0000000..4ffacfb
--- /dev/null
+++ b/public/web/css/portfolio.css
@@ -0,0 +1,453 @@
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td,section,article,aside,header,footer,nav,dialog,figure,hgroup {
+ margin: 0;
+ padding: 0
+}
+
+input,select,textarea {
+ font-size: 100%
+}
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0
+}
+
+fieldset,img {
+ border: 0
+}
+
+caption,th {
+ text-align: left
+}
+
+h1,h2,h3,h4,h5,h6 {
+ font-size: 100%;
+ font-weight: 500
+}
+
+ul,ol,li {
+ list-style: none
+}
+
+em,i {
+ font-style: normal
+}
+
+del {
+ text-decoration: line-through
+}
+
+address,caption,cite,code,dfn,em,th,var {
+ font-style: normal;
+ font-weight: 500
+}
+
+img {
+ border: 0;
+ max-width: 100%
+}
+
+input,img {
+ vertical-align: middle
+}
+
+input:focus,a:focus {
+ outline: none
+}
+
+a {
+ color: #333;
+ text-decoration: none;
+ -webkit-tap-highlight-color: rgba(0,0,0,0)
+}
+
+a:active {
+ opacity: .7
+}
+
+* {
+ outline: none;
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box
+}
+
+html {
+ -webkit-text-size-adjust: none;
+ -ms-text-size-adjust: 100%;
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
+ background: #f4f4f4;
+ color: #333;
+ font-family: "Helvetica Neue",Helvetica,Tahoma,sans-serif
+}
+
+/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
+html {
+ line-height: 1.3;
+ -ms-text-size-adjust: 100%;
+ -webkit-text-size-adjust: 100%
+}
+
+body {
+ margin: 0
+}
+
+article,aside,footer,header,nav,section {
+ display: block
+}
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0
+}
+
+figcaption,figure,main {
+ display: block
+}
+
+figure {
+ margin: 1em 40px
+}
+
+hr {
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+ overflow: visible
+}
+
+pre {
+ font-family: monospace, monospace;
+ font-size: 1em
+}
+
+a {
+ background-color: transparent;
+ -webkit-text-decoration-skip: objects
+}
+
+abbr[title] {
+ border-bottom: none;
+ text-decoration: underline;
+ -webkit-text-decoration: underline dotted;
+ text-decoration: underline dotted
+}
+
+b,strong {
+ font-weight: inherit
+}
+
+b,strong {
+ font-weight: bolder
+}
+
+code,kbd,samp {
+ font-family: monospace, monospace;
+ font-size: 1em
+}
+
+dfn {
+ font-style: italic
+}
+
+mark {
+ background-color: #ff0;
+ color: #000
+}
+
+small {
+ font-size: 80%
+}
+
+sub,sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline
+}
+
+sub {
+ bottom: -0.25em
+}
+
+sup {
+ top: -0.5em
+}
+
+audio,video {
+ display: inline-block
+}
+
+audio:not([controls]) {
+ display: none;
+ height: 0
+}
+
+img {
+ border-style: none
+}
+
+svg:not(:root) {
+ overflow: hidden
+}
+
+button,input,optgroup,select,textarea {
+ font-family: sans-serif;
+ font-size: 100%;
+ line-height: 1.15;
+ margin: 0
+}
+
+button,input {
+ overflow: visible
+}
+
+button,select {
+ text-transform: none
+}
+
+button,html [type="button"],[type="reset"],[type="submit"] {
+ -webkit-appearance: button
+}
+
+button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner {
+ border-style: none;
+ padding: 0
+}
+
+button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText
+}
+
+fieldset {
+ padding: 0.35em 0.75em 0.625em
+}
+
+legend {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ color: inherit;
+ display: table;
+ max-width: 100%;
+ padding: 0;
+ white-space: normal
+}
+
+progress {
+ display: inline-block;
+ vertical-align: baseline
+}
+
+textarea {
+ overflow: auto
+}
+
+[type="checkbox"],[type="radio"] {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0
+}
+
+[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button {
+ height: auto
+}
+
+[type="search"] {
+ -webkit-appearance: textfield;
+ outline-offset: -2px
+}
+
+[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none
+}
+
+::-webkit-file-upload-button {
+ -webkit-appearance: button;
+ font: inherit
+}
+
+details,menu {
+ display: block
+}
+
+summary {
+ display: list-item
+}
+
+canvas {
+ display: inline-block
+}
+
+template {
+ display: none
+}
+
+[hidden] {
+ display: none
+}
+
+.bdr-btm,.bdr-top {
+ position: relative
+}
+
+.bdr-top::before {
+ content: ' ';
+ position: absolute;
+ width: 100%;
+ left: 0;
+ top: 0;
+ border-top: 1px solid #ddd;
+ color: #ddd;
+ -webkit-transform: scaleY(0.5);
+ -ms-transform: scaleY(0.5);
+ transform: scaleY(0.5)
+}
+
+.bdr-btm::after {
+ content: ' ';
+ position: absolute;
+ width: 100%;
+ left: 0;
+ bottom: 0;
+ border-top: 1px solid #ddd;
+ color: #ddd;
+ -webkit-transform: scaleY(0.5);
+ -ms-transform: scaleY(0.5);
+ transform: scaleY(0.5)
+}
+
+.fl {
+ float: left
+}
+
+.fr {
+ float: right
+}
+
+.clearfix:before,.clearfix:after {
+ display: table;
+ content: ''
+}
+
+.clearfix:after {
+ clear: both;
+ zoom:1}
+
+.publicContRight {
+ width: 910px;
+ background-color: #ffffff;
+ -webkit-box-shadow: 0px 2px 16px 0px rgba(64,64,71,0.15);
+ box-shadow: 0px 2px 16px 0px rgba(64,64,71,0.15);
+ padding: 19px 30px 19px 30px
+}
+
+.publicContRight .top {
+ font-size: 12px
+}
+
+.publicContRight .top a {
+ color: #51545c
+}
+
+.publicContRight .top span {
+ color: #9598a0
+}
+
+.publicContRight .rightItems {
+ width: 240px;
+ height: 360px;
+ background-color: #f6f6f6;
+ margin-top: 30px;
+ margin-right: 65px;
+ float: left;
+ position: relative
+}
+
+.publicContRight .rightItems:nth-child(3n+1) {
+ margin-right: 0
+}
+
+.publicContRight img {
+ width: 240px;
+ height: 240px
+}
+
+.publicContRight .show {
+ text-align: center;
+ padding: 0 18px;
+ height: 120px;
+ width: 100%;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ overflow: hidden
+}
+
+.publicContRight .more {
+ display: block;
+ width: 120px;
+ height: 30px;
+ background-color: #ffffff;
+ -webkit-border-radius: 15px;
+ border-radius: 15px;
+ opacity: 0.9;
+ color: #75cc85;
+ font-size: 16px;
+ text-align: center;
+ line-height: 30px;
+ margin: auto;
+ margin-top: 15px
+}
+
+.publicContRight .show:hover {
+ -webkit-animation: mymove 0.5s linear;
+ animation: mymove 0.5s linear;
+ -webkit-animation-fill-mode: forwards;
+ animation-fill-mode: forwards
+}
+
+.publicContRight h1 {
+ padding: 20px 0;
+ margin: 0;
+ font-size: 24px;
+ letter-spacing: 2px;
+ color: #999999
+}
+
+.publicContRight p {
+ font-size: 12px;
+ letter-spacing: 1px;
+ line-height: 18px;
+ color: #666666;
+ width: 100%;
+ height: 36px;
+ overflow: hidden
+}
+
+@-webkit-keyframes mymove {
+ from {
+ height: 120px;
+ background-color: #f6f6f6
+ }
+
+ to {
+ height: 160px;
+ background: #75cc85
+ }
+}
+
+@keyframes mymove {
+ from {
+ height: 120px;
+ background-color: #f6f6f6
+ }
+
+ to {
+ height: 160px;
+ background: #75cc85
+ }
+}
+
+.publicBottom {
+ display: flex;
+}
diff --git a/public/web/css/projectdetail.css b/public/web/css/projectdetail.css
new file mode 100644
index 0000000..1f3aad8
--- /dev/null
+++ b/public/web/css/projectdetail.css
@@ -0,0 +1,376 @@
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td,section,article,aside,header,footer,nav,dialog,figure,hgroup {
+ margin: 0;
+ padding: 0
+}
+
+input,select,textarea {
+ font-size: 100%
+}
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0
+}
+
+fieldset,img {
+ border: 0
+}
+
+caption,th {
+ text-align: left
+}
+
+h1,h2,h3,h4,h5,h6 {
+ font-size: 100%;
+ font-weight: 500
+}
+
+ul,ol,li {
+ list-style: none
+}
+
+em,i {
+ font-style: normal
+}
+
+del {
+ text-decoration: line-through
+}
+
+address,caption,cite,code,dfn,em,th,var {
+ font-style: normal;
+ font-weight: 500
+}
+
+img {
+ border: 0;
+ max-width: 100%
+}
+
+input,img {
+ vertical-align: middle
+}
+
+input:focus,a:focus {
+ outline: none
+}
+
+a {
+ color: #333;
+ text-decoration: none;
+ -webkit-tap-highlight-color: rgba(0,0,0,0)
+}
+
+a:active {
+ opacity: .7
+}
+
+* {
+ outline: none;
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box
+}
+
+html {
+ -webkit-text-size-adjust: none;
+ -ms-text-size-adjust: 100%;
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
+ background: #f4f4f4;
+ color: #333;
+ font-family: "Helvetica Neue",Helvetica,Tahoma,sans-serif
+}
+
+/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
+html {
+ line-height: 1.3;
+ -ms-text-size-adjust: 100%;
+ -webkit-text-size-adjust: 100%
+}
+
+body {
+ margin: 0
+}
+
+article,aside,footer,header,nav,section {
+ display: block
+}
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0
+}
+
+figcaption,figure,main {
+ display: block
+}
+
+figure {
+ margin: 1em 40px
+}
+
+hr {
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+ overflow: visible
+}
+
+pre {
+ font-family: monospace, monospace;
+ font-size: 1em
+}
+
+a {
+ background-color: transparent;
+ -webkit-text-decoration-skip: objects
+}
+
+abbr[title] {
+ border-bottom: none;
+ text-decoration: underline;
+ -webkit-text-decoration: underline dotted;
+ text-decoration: underline dotted
+}
+
+b,strong {
+ font-weight: inherit
+}
+
+b,strong {
+ font-weight: bolder
+}
+
+code,kbd,samp {
+ font-family: monospace, monospace;
+ font-size: 1em
+}
+
+dfn {
+ font-style: italic
+}
+
+mark {
+ background-color: #ff0;
+ color: #000
+}
+
+small {
+ font-size: 80%
+}
+
+sub,sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline
+}
+
+sub {
+ bottom: -0.25em
+}
+
+sup {
+ top: -0.5em
+}
+
+audio,video {
+ display: inline-block
+}
+
+audio:not([controls]) {
+ display: none;
+ height: 0
+}
+
+img {
+ border-style: none
+}
+
+svg:not(:root) {
+ overflow: hidden
+}
+
+button,input,optgroup,select,textarea {
+ font-family: sans-serif;
+ font-size: 100%;
+ line-height: 1.15;
+ margin: 0
+}
+
+button,input {
+ overflow: visible
+}
+
+button,select {
+ text-transform: none
+}
+
+button,html [type="button"],[type="reset"],[type="submit"] {
+ -webkit-appearance: button
+}
+
+button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner {
+ border-style: none;
+ padding: 0
+}
+
+button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText
+}
+
+fieldset {
+ padding: 0.35em 0.75em 0.625em
+}
+
+legend {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ color: inherit;
+ display: table;
+ max-width: 100%;
+ padding: 0;
+ white-space: normal
+}
+
+progress {
+ display: inline-block;
+ vertical-align: baseline
+}
+
+textarea {
+ overflow: auto
+}
+
+[type="checkbox"],[type="radio"] {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0
+}
+
+[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button {
+ height: auto
+}
+
+[type="search"] {
+ -webkit-appearance: textfield;
+ outline-offset: -2px
+}
+
+[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none
+}
+
+::-webkit-file-upload-button {
+ -webkit-appearance: button;
+ font: inherit
+}
+
+details,menu {
+ display: block
+}
+
+summary {
+ display: list-item
+}
+
+canvas {
+ display: inline-block
+}
+
+template {
+ display: none
+}
+
+[hidden] {
+ display: none
+}
+
+.bdr-btm,.bdr-top {
+ position: relative
+}
+
+.bdr-top::before {
+ content: ' ';
+ position: absolute;
+ width: 100%;
+ left: 0;
+ top: 0;
+ border-top: 1px solid #ddd;
+ color: #ddd;
+ -webkit-transform: scaleY(0.5);
+ -ms-transform: scaleY(0.5);
+ transform: scaleY(0.5)
+}
+
+.bdr-btm::after {
+ content: ' ';
+ position: absolute;
+ width: 100%;
+ left: 0;
+ bottom: 0;
+ border-top: 1px solid #ddd;
+ color: #ddd;
+ -webkit-transform: scaleY(0.5);
+ -ms-transform: scaleY(0.5);
+ transform: scaleY(0.5)
+}
+
+.fl {
+ float: left
+}
+
+.fr {
+ float: right
+}
+
+.clearfix:before,.clearfix:after {
+ display: table;
+ content: ''
+}
+
+.clearfix:after {
+ clear: both;
+ zoom:1}
+
+.publicContRight {
+ width: 910px;
+ background-color: #ffffff;
+ -webkit-box-shadow: 0px 2px 16px 0px rgba(64,64,71,0.15);
+ box-shadow: 0px 2px 16px 0px rgba(64,64,71,0.15);
+ padding: 19px 30px 68px 30px
+}
+
+.publicContRight .top {
+ font-size: 12px
+}
+
+.publicContRight .top a {
+ color: #51545c
+}
+
+.publicContRight .top span {
+ color: #9598a0
+}
+
+.publicContRight .title {
+ font-size: 18px;
+ letter-spacing: 1px;
+ color: #303338;
+ text-align: center;
+ margin: 30px 0 16px 0
+}
+
+.publicContRight img {
+ width: 850px;
+ height: 430px;
+ margin-top: 20px
+}
+
+.publicBottom {
+ display: flex;
+}
+
+/* .publicBottom .publicBottomCont{
+ display: flex;
+} */
diff --git a/public/web/css/search.css b/public/web/css/search.css
new file mode 100644
index 0000000..588c960
--- /dev/null
+++ b/public/web/css/search.css
@@ -0,0 +1,408 @@
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td,section,article,aside,header,footer,nav,dialog,figure,hgroup {
+ margin: 0;
+ padding: 0
+}
+
+input,select,textarea {
+ font-size: 100%
+}
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0
+}
+
+fieldset,img {
+ border: 0
+}
+
+caption,th {
+ text-align: left
+}
+
+h1,h2,h3,h4,h5,h6 {
+ font-size: 100%;
+ font-weight: 500
+}
+
+ul,ol,li {
+ list-style: none
+}
+
+em,i {
+ font-style: normal
+}
+
+del {
+ text-decoration: line-through
+}
+
+address,caption,cite,code,dfn,em,th,var {
+ font-style: normal;
+ font-weight: 500
+}
+
+img {
+ border: 0;
+ max-width: 100%
+}
+
+input,img {
+ vertical-align: middle
+}
+
+input:focus,a:focus {
+ outline: none
+}
+
+a {
+ color: #333;
+ text-decoration: none;
+ -webkit-tap-highlight-color: rgba(0,0,0,0)
+}
+
+a:active {
+ opacity: .7
+}
+
+* {
+ outline: none;
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box
+}
+
+html {
+ -webkit-text-size-adjust: none;
+ -ms-text-size-adjust: 100%;
+ -webkit-tap-highlight-color: rgba(0,0,0,0);
+ background: #f4f4f4;
+ color: #333;
+ font-family: "Helvetica Neue",Helvetica,Tahoma,sans-serif
+}
+
+/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
+html {
+ line-height: 1.3;
+ -ms-text-size-adjust: 100%;
+ -webkit-text-size-adjust: 100%
+}
+
+body {
+ margin: 0
+}
+
+article,aside,footer,header,nav,section {
+ display: block
+}
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0
+}
+
+figcaption,figure,main {
+ display: block
+}
+
+figure {
+ margin: 1em 40px
+}
+
+hr {
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+ overflow: visible
+}
+
+pre {
+ font-family: monospace, monospace;
+ font-size: 1em
+}
+
+a {
+ background-color: transparent;
+ -webkit-text-decoration-skip: objects
+}
+
+abbr[title] {
+ border-bottom: none;
+ text-decoration: underline;
+ -webkit-text-decoration: underline dotted;
+ text-decoration: underline dotted
+}
+
+b,strong {
+ font-weight: inherit
+}
+
+b,strong {
+ font-weight: bolder
+}
+
+code,kbd,samp {
+ font-family: monospace, monospace;
+ font-size: 1em
+}
+
+dfn {
+ font-style: italic
+}
+
+mark {
+ background-color: #ff0;
+ color: #000
+}
+
+small {
+ font-size: 80%
+}
+
+sub,sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline
+}
+
+sub {
+ bottom: -0.25em
+}
+
+sup {
+ top: -0.5em
+}
+
+audio,video {
+ display: inline-block
+}
+
+audio:not([controls]) {
+ display: none;
+ height: 0
+}
+
+img {
+ border-style: none
+}
+
+svg:not(:root) {
+ overflow: hidden
+}
+
+button,input,optgroup,select,textarea {
+ font-family: sans-serif;
+ font-size: 100%;
+ line-height: 1.15;
+ margin: 0
+}
+
+button,input {
+ overflow: visible
+}
+
+button,select {
+ text-transform: none
+}
+
+button,html [type="button"],[type="reset"],[type="submit"] {
+ -webkit-appearance: button
+}
+
+button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner {
+ border-style: none;
+ padding: 0
+}
+
+button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText
+}
+
+fieldset {
+ padding: 0.35em 0.75em 0.625em
+}
+
+legend {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ color: inherit;
+ display: table;
+ max-width: 100%;
+ padding: 0;
+ white-space: normal
+}
+
+progress {
+ display: inline-block;
+ vertical-align: baseline
+}
+
+textarea {
+ overflow: auto
+}
+
+[type="checkbox"],[type="radio"] {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ padding: 0
+}
+
+[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button {
+ height: auto
+}
+
+[type="search"] {
+ -webkit-appearance: textfield;
+ outline-offset: -2px
+}
+
+[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none
+}
+
+::-webkit-file-upload-button {
+ -webkit-appearance: button;
+ font: inherit
+}
+
+details,menu {
+ display: block
+}
+
+summary {
+ display: list-item
+}
+
+canvas {
+ display: inline-block
+}
+
+template {
+ display: none
+}
+
+[hidden] {
+ display: none
+}
+
+.bdr-btm,.bdr-top {
+ position: relative
+}
+
+.bdr-top::before {
+ content: ' ';
+ position: absolute;
+ width: 100%;
+ left: 0;
+ top: 0;
+ border-top: 1px solid #ddd;
+ color: #ddd;
+ -webkit-transform: scaleY(0.5);
+ -ms-transform: scaleY(0.5);
+ transform: scaleY(0.5)
+}
+
+.bdr-btm::after {
+ content: ' ';
+ position: absolute;
+ width: 100%;
+ left: 0;
+ bottom: 0;
+ border-top: 1px solid #ddd;
+ color: #ddd;
+ -webkit-transform: scaleY(0.5);
+ -ms-transform: scaleY(0.5);
+ transform: scaleY(0.5)
+}
+
+.fl {
+ float: left
+}
+
+.fr {
+ float: right
+}
+
+.clearfix:before,.clearfix:after {
+ display: table;
+ content: ''
+}
+
+.clearfix:after {
+ clear: both;
+ zoom:1}
+
+.publicContRight {
+ width: 910px;
+ background-color: #ffffff;
+ -webkit-box-shadow: 0px 2px 16px 0px rgba(64,64,71,0.15);
+ box-shadow: 0px 2px 16px 0px rgba(64,64,71,0.15);
+ padding: 19px 60px 40px 30px
+}
+
+.publicContRight .top {
+ font-size: 12px
+}
+
+.publicContRight .top a {
+ color: #51545c
+}
+
+.publicContRight .top span {
+ color: #9598a0
+}
+
+.publicContRight .items {
+ width: 820px;
+ height: 240px;
+ border-bottom: 1px solid #eeeeee;
+ padding: 40px 78px 30px 0;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex
+}
+
+.publicContRight img {
+ width: 240px;
+ height: 160px;
+ background-color: #f4f4f4
+}
+
+.publicContRight .itemCont {
+ margin-left: 20px
+}
+
+.publicContRight .itemCont .title {
+ font-size: 16px;
+ letter-spacing: 1px;
+ color: #5d616c;
+ width: 550px;
+ overflow: hidden;
+ -o-text-overflow: ellipsis;
+ text-overflow: ellipsis;
+ white-space: nowrap
+}
+
+.publicContRight .itemCont .cont {
+ margin-top: 22px;
+ font-size: 12px;
+ letter-spacing: 1px;
+ color: #a4a6aa;
+ width: 530px;
+ height: 73px;
+ overflow: hidden;
+ line-height: 18px
+}
+
+.publicContRight .itemCont .link {
+ font-size: 12px;
+ letter-spacing: 1px;
+ color: #60bd90;
+ margin-top: 22px;
+ display: block
+}
+.publicBottom {
+ display: flex;
+}
\ No newline at end of file
diff --git a/public/web/css/services.css b/public/web/css/services.css
new file mode 100644
index 0000000..e30946e
--- /dev/null
+++ b/public/web/css/services.css
@@ -0,0 +1 @@
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td,section,article,aside,header,footer,nav,dialog,figure,hgroup{margin:0;padding:0}input,select,textarea{font-size:100%}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:500}ul,ol,li{list-style:none}em,i{font-style:normal}del{text-decoration:line-through}address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:500}img{border:0;max-width:100%}input,img{vertical-align:middle}input:focus,a:focus{outline:none}a{color:#333;text-decoration:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}a:active{opacity:.7}*{outline:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-box-sizing:border-box;box-sizing:border-box}html{-webkit-text-size-adjust:none;-ms-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);background:#f4f4f4;color:#333;font-family:"Helvetica Neue",Helvetica,Tahoma,sans-serif}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.3;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}.bdr-btm,.bdr-top{position:relative}.bdr-top::before{content:' ';position:absolute;width:100%;left:0;top:0;border-top:1px solid #ddd;color:#ddd;-webkit-transform:scaleY(0.5);-ms-transform:scaleY(0.5);transform:scaleY(0.5)}.bdr-btm::after{content:' ';position:absolute;width:100%;left:0;bottom:0;border-top:1px solid #ddd;color:#ddd;-webkit-transform:scaleY(0.5);-ms-transform:scaleY(0.5);transform:scaleY(0.5)}.fl{float:left}.fr{float:right}.clearfix:before,.clearfix:after{display:table;content:''}.clearfix:after{clear:both;zoom:1}.publicCont{display:block}.publicCont .publicContLeft{float:left;margin-bottom:100px}.publicCont .publicContRight{float:left;margin-left:10px}.publicFooter{clear:both;margin:0}.publicFooterCont{clear:both}.sever{width:280px;background-color:#ffffff;-webkit-box-shadow:0px 2px 16px 0px rgba(64,64,71,0.15);box-shadow:0px 2px 16px 0px rgba(64,64,71,0.15);margin-bottom:10px}.sever .top{width:280px;height:60px;background-color:#60bd90;text-align:center;line-height:60px;font-size:18px;letter-spacing:1px;color:#ffffff}.sever .list{padding:30px 0 30px 55px}.sever .list li{font-size:14px;color:#60626f;margin-top:40px;position:relative;cursor:pointer}.sever .list li a{color:#60626f;display:block;width:100%}.sever .list li.active{color:#60bd90}.sever .list li.active a{color:#60bd90}.sever .list li.active:after{content:"";display:block;width:0;height:0;position:absolute;top:3px;right:10px;border-top:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #60bd90}.sever .list li:nth-child(1){margin-top:0}.publicContRight{width:910px;background-color:#ffffff;-webkit-box-shadow:0px 2px 16px 0px rgba(64,64,71,0.15);box-shadow:0px 2px 16px 0px rgba(64,64,71,0.15);padding:19px 30px 19px 30px}.publicContRight .top{font-size:12px}.publicContRight .top a{color:#51545c}.publicContRight .top span{color:#9598a0}.publicContRight img{width:850px;height:240px;margin-top:30px;margin-bottom:40px}.publicContRight p{font-size:12px;line-height:24px;letter-spacing:1px;color:#51545c}
diff --git a/resources/views/article.blade.php b/resources/views/article.blade.php
new file mode 100644
index 0000000..f44e416
--- /dev/null
+++ b/resources/views/article.blade.php
@@ -0,0 +1,110 @@
+@extends('layouts.main')
+
+@section('style')
+ @switch($nav)
+ @case('article')
+
+
+ @break
+ @case('news_list')
+
+ @break
+ @case('search_list')
+
+ @break
+ @case('image_list')
+
+ @break
+ @endswitch
+@endsection
+@section('content')
+
+
+
+
+
{{$item->title}}
+{{$item->title}}
+公司动态
@foreach($news as $item) - · {{$item->title}} @endforeach