diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php index 145c574..051fe90 100644 --- a/app/Exceptions/Handler.php +++ b/app/Exceptions/Handler.php @@ -2,11 +2,16 @@ namespace App\Exceptions; +use App\Models\Setting; +use Carbon\Carbon; +use ErrorException; use Exception; use Illuminate\Auth\Access\AuthorizationException; use Illuminate\Auth\AuthenticationException; use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; +use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken; use Illuminate\Http\JsonResponse; +use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Session\TokenMismatchException; @@ -17,6 +22,7 @@ use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; use Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException; use Throwable; + class Handler extends ExceptionHandler { /** @@ -58,29 +64,40 @@ class Handler extends ExceptionHandler * @return void * @throws Throwable */ -/* - public function report(Throwable $e) - { - if (app()->bound('sentry') && $this->shouldReport($e)) { - app('sentry')->captureException($e); + /* + public function report(Throwable $e) + { + if (app()->bound('sentry') && $this->shouldReport($e)) { + app('sentry')->captureException($e); + } + parent::report($e); } - parent::report($e); - } -*/ + */ /** * Render an exception into an HTTP response. * * @param Request $request * @param Throwable $exception - * @return JsonResponse|Response + * @return RedirectResponse|Response * @throws Throwable */ -/* + public function render($request, Throwable $exception) { DB::rollBack(); - logger($exception); + // Page Header + $page = [ + 'code' => 'error', + 'title' => '', + 'subTitle' => '', + 'description' => '', + 'link' => '/', + 'is_main' => true + ]; + + $pages = config('pages'); + if ($request->ajax() || $request->wantsJson() || $request->expectsJson()) { $response = $this->errorJson($exception); @@ -105,12 +122,24 @@ class Handler extends ExceptionHandler 'link' => '' ], 'errorCode' => $errorCode, - 'exception' => $exception + 'exception' => $exception, + 'now' => (string)Carbon::now(), + 'page' => $page, + 'pages' => $pages, + 'settings' => $this->setSettings() ]; + if ($exception instanceof UnauthorizedHttpException + || $exception instanceof AuthenticationException + || $exception instanceof AuthorizationException + || $exception instanceof VerifyCsrfToken + || $exception instanceof TokenMismatchException) { + return redirect()->route('cms.login'); + } + return response()->view('errors', $data, $errorCode); } -*/ + /** * Render an exception into an HTTP response. @@ -119,7 +148,7 @@ class Handler extends ExceptionHandler * @return bool|JsonResponse * @throws Throwable */ - private function errorJson(Eexception $exception) { + private function errorJson(Throwable $exception) { $errorCode = 500; if (method_exists($exception, 'getStatusCode')) { @@ -140,7 +169,7 @@ class Handler extends ExceptionHandler return response()->json($result, $errorCode, $headers, JSON_UNESCAPED_UNICODE); } - if ($exception instanceof UnauthorizedHttpException || $exception instanceof AuthenticationException || $exception instanceof AuthorizationException) { + if ($exception instanceof UnauthorizedHttpException || $exception instanceof AuthenticationException || $exception instanceof AuthorizationException) { $errorCode = 401; $result = [ "status" => $errorCode, @@ -214,4 +243,20 @@ class Handler extends ExceptionHandler return false; } + + private function setSettings() { + + // 전역변수 설정 + $_settings = Setting::all(); + + $settings = []; + if ($_settings) { + foreach ($_settings as $row) { + $settings[$row['key']] = $row['value']; + } + } + //logger($settings); + + return (object)$settings; + } } diff --git a/app/Http/Controllers/Admin/BoardController.php b/app/Http/Controllers/Admin/BoardController.php index 89ecc08..e108827 100644 --- a/app/Http/Controllers/Admin/BoardController.php +++ b/app/Http/Controllers/Admin/BoardController.php @@ -8,7 +8,7 @@ use App\Libs\TraitBoard; use Illuminate\Http\Request; use Illuminate\Http\JsonResponse; -use Illuminate\Contracts\View\View; +use Illuminate\Support\Facades\View; class BoardController extends Controller { @@ -46,9 +46,9 @@ class BoardController extends Controller $this->page['title'] = $data['board']->name; $this->page['subTitle'] = $data['board']->name; - $view = 'admin.board.index'; - if ($code == 'inquiry') { - $view = 'admin.board.inquiry.index'; + $view = 'admin.board.'. $data['board']->skin .'.index'; + if (!View::exists($view)) { + $view = 'admin.board.default.index'; } return $this->setView($view, $data); @@ -72,9 +72,9 @@ class BoardController extends Controller $this->page['title'] = $data['board']->name; $this->page['subTitle'] = $data['board']->name . ' 상세'; - $view = 'admin.board.view'; - if ($code == 'inquiry') { - $view = 'admin.board.inquiry.view'; + $view = 'admin.board.'. $data['board']->skin .'.view'; + if (!View::exists($view)) { + $view = 'admin.board.default.view'; } return $this->setView($view, compact('data')); @@ -99,7 +99,12 @@ class BoardController extends Controller $this->page['title'] = $data->board->name; $this->page['subTitle'] = $data->board->name . ($data->mode == 'modify' ? ' 수정' : ' 등록'); - return $this->setView('admin.board.create', compact('data')); + $view = 'admin.board.'. $data['board']->skin .'.create'; + if (!View::exists($view)) { + $view = 'admin.board.default.create'; + } + + return $this->setView($view, compact('data')); } /** diff --git a/app/Http/Controllers/Admin/IndexController.php b/app/Http/Controllers/Admin/IndexController.php index cbb368d..40dec64 100644 --- a/app/Http/Controllers/Admin/IndexController.php +++ b/app/Http/Controllers/Admin/IndexController.php @@ -13,23 +13,13 @@ class IndexController extends Controller // Page Header protected $page = [ - 'code' => 'cms.home', - 'title' => '청담K', + 'code' => 'cms.index', + 'title' => '', 'icon' => 'fa-home', 'description' => '', 'link' => '/cms' ]; - /** - * Create a new controller instance. - * - * @return void - */ - public function __construct() - { - // $this->middleware('auth'); - } - /** * Show the application dashboard. * @@ -39,6 +29,8 @@ class IndexController extends Controller { $data = []; + $this->page['title'] = config('app.name'); + return $this->setView('admin.index', $data); } } diff --git a/app/Http/Controllers/Front/IndexController.php b/app/Http/Controllers/Front/IndexController.php index 74e2a79..8d941f8 100644 --- a/app/Http/Controllers/Front/IndexController.php +++ b/app/Http/Controllers/Front/IndexController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Front; use App\Http\Controllers\Controller; use Illuminate\Contracts\View\View; use App\Libs\TraitBoard; +use Illuminate\Http\Request; class IndexController extends Controller { @@ -24,16 +25,64 @@ class IndexController extends Controller * * @Verb : GET * @Path : / + * @param Request $request * @return View */ - public function index() + public function index(Request $request) { - // $data = [ - // 'notice' => $this->getLatest('notice'), - // 'news' => $this->getLatest('news'), - // ]; + $data = $this->getPostList($request, 'gallery', 2); + logger(json_decode(json_encode($data), true)); + logger($data['data']->total()); - // return $this->setView('index', $data); - return $this->setView('index'); + $pages['total'] = $data['data']->total(); + $pages['items'] = $data['data']->perPage() * $data['data']->currentPage(); + $pages['mores'] = $data['data']->hasMorePages(); + + return $this->setView('index', ['list' => $data['data'], 'pages' => $pages]); + } + + /** + * 메인 갤러리 목록 + * + * @Verb : GET + * @Path : / + * @param Request $request + * @return \Illuminate\Http\JsonResponse + */ + public function galleryList(Request $request) + { + $result = $this->getPostList($request, 'gallery', 4); +// logger(json_decode(json_encode($result), true)); + + $lists = []; + $pages = []; + if (!empty($result['data'])) { + $data = $result['data']; + $lists = $data->toArray(); + + $pages['total'] = $data->total(); + $pages['items'] = $data->perPage() * $data->currentPage(); + $pages['mores'] = $data->hasMorePages(); + } + + return $this->sendJson('데이터 추출 완료', 'success', ['lists' => $lists['data'], 'pages' => $pages]); + } + + /** + * 메인 갤러리 상세 + * + * @Verb : GET + * @Path : /main/gallery + * @param Request $request + * @return View + */ + public function galleryView(Request $request) + { + $uid = $request->get('uid', ''); + + $data = $this->showPost($request, 'gallery', $uid); + logger(['uid' => $uid]); + + return $this->sendJson('데이터 추출 완료', 'success', $data); } } diff --git a/app/Libs/TraitBoard.php b/app/Libs/TraitBoard.php index dae2821..7f0b69a 100644 --- a/app/Libs/TraitBoard.php +++ b/app/Libs/TraitBoard.php @@ -147,6 +147,7 @@ trait TraitBoard $board = $this->getBoardInfo($code); $data = $this->getPostInfo($uid); + logger(json_decode(json_encode($data), true)); if ($data) { $prev = BoardArticle::query() @@ -231,8 +232,7 @@ trait TraitBoard 'mode' => 'required|string', 'code' => 'required|string|max:20', 'board_id' => 'required|integer', - 'subject' => 'required|string|max:255', - 'content' => 'required|string' + 'subject' => 'required|string|max:255' ]; $boardCode = $request->code; diff --git a/config/pages.php b/config/pages.php index d657b57..13cb090 100644 --- a/config/pages.php +++ b/config/pages.php @@ -1,9 +1,5 @@ '갤러리소개', - 'greeting' => '대표인사말', - 'groups' => '조직도', - 'visit' => '오시는길', 'privacy' => '개인정보처리방침', 'terms' => '이용약관', ]; diff --git a/public/css/admin_custom.css b/public/css/admin.css similarity index 94% rename from public/css/admin_custom.css rename to public/css/admin.css index a70e509..4b03a69 100644 --- a/public/css/admin_custom.css +++ b/public/css/admin.css @@ -360,6 +360,7 @@ textarea.required { .brand-link .brand-text { font-size: 1.4rem; + font-weight: 600; line-height: 1.0rem; } @@ -408,7 +409,7 @@ textarea.required { .nav-link.active:not(.open):before { content: '●'; position: absolute; - top: calc(50% - 9px); + top: calc(50% - 11px); right: 10px; font-size: 1.0rem; height: 10px; @@ -483,13 +484,13 @@ textarea.required { .fileSize { display: inline-block; - padding-right: 5px; + padding-left: 3px; + font-size: 0.95rem; } .fileSize em { color: #f30; font-weight: 400; - font-size: 0.95rem; font-style: normal; } @@ -638,3 +639,30 @@ textarea.required { .editorImage { margin-bottom: 10px 0; } + +.preview-images { + list-style: none; + margin: 5px 5px; + padding: 0; + display:inline-block; +} + +.preview-images li { + position: relative; + display: inline-block; + list-style: none; + margin: 5px 5px; + padding: 0; +} +.preview-images li .image-item { + position: relative; + height: 100px; + border-radius: 5px; + z-index: 1; +} +.preview-images li .image-del { + position: absolute; + z-index: 999; + top: 0.3rem; + right: 0.3rem; +} diff --git a/public/css/main.css b/public/css/main.css new file mode 100644 index 0000000..0fd66da --- /dev/null +++ b/public/css/main.css @@ -0,0 +1,771 @@ +.main-portfolio .container, +.main-introduce .container, +.main-inquiry .container { + padding-left: 20px; + padding-right: 20px; +} + +/* [ Gallery ] */ +.g-main { + padding: 0; +} + +.g-main figure .g-img, +.g-main figure .img-wrapper img { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-transition: all .7s ease-in-out; + -moz-transition: all .7s ease-in-out; + -o-transition: all .7s ease-in-out; + -ms-transition: all .7s ease-in-out; + transition: all .7s ease-in-out; + height: 225px; +} + +.g-main figure:hover .g-img, +.g-main figure:hover .img-wrapper img { + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + backface-visibility: hidden; + transform: scale(1.2, 1.2); + -o-transform: scale(1.2, 1.2); + -moz-transform: scale(1.2, 1.2); + -ms-transform: scale(1.2, 1.2); + -webkit-transform: scale(1.2, 1.2); + -webkit-transition: all .7s ease-in-out; + -moz-transition: all .7s ease-in-out; + -o-transition: all .7s ease-in-out; + -ms-transition: all .7s ease-in-out; + transition: all .7s ease-in-out; +} + +.g-main figure .over-box { + position: absolute; + top: 0; + left: 0; + margin: 13% 11%; + width: 78%; + height: 78%; +} + +.g-main figure:hover .over-box { + background-color: rgba(0,0,0,1); + background-size: cover; + background-repeat: no-repeat; + background-position: center center; + -webkit-transition: all .7s ease-in-out; + -moz-transition: all .7s ease-in-out; + -o-transition: all .7s ease-in-out; + -ms-transition: all .7s ease-in-out; + transition: all .7s ease-in-out; +} + +.g-main figcaption { + padding: 20%; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + max-height: 100%; + overflow: hidden; + opacity: 0; + -webkit-transition: all .7s ease-in-out; + -moz-transition: all .7s ease-in-out; + -o-transition: all .7s ease-in-out; + -ms-transition: all .7s ease-in-out; + transition: all .7s ease-in-out; + text-align: center; +} + +.g-main figure:hover figcaption { + opacity: 1; + -webkit-transition: all .7s ease-in-out; + -moz-transition: all .7s ease-in-out; + -o-transition: all .7s ease-in-out; + -ms-transition: all .7s ease-in-out; + transition: all .7s ease-in-out; +} + +.g-main figcaption .inner-box { + margin-top: 0; + position: relative; + top: 50%; + left: 0; + transform: translateY(-50%); + -ms-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -webkit-transform: translateY(-50%); +} + +.g-main h5.figure { + font-size: 13px; + font-weight: 600; + letter-spacing: 0.2em; + color: #ffffff; + width: 100%; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + display: -webkit-box; + text-transform: uppercase; + margin-top: 0; + margin-bottom: 0; +} + +.g-main .line { + width: 20px; + border-color: #606060; + margin-top: 20px; + margin-bottom: 0; +} + +.g-main p.figure { + font-size: 12px; + color: #a3a2a2; + position: relative; + left: 0; + bottom: 0; + text-overflow: ellipsis; + overflow: hidden; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + display: -webkit-box; + margin-top: 20px; + margin-bottom: 0; + fill: #a3a2a2; +} + +.next-item { + display: none; +} + +.gallery-more { + font-size: 12px; + color: #000; + background-color: #fff; + border: 1px solid transparent; + text-align: center; + padding-bottom: 2rem; +} + +.gallery-more:hover { + color: #000; + background-color: #fff; + border-color: transparent; +} + +.gallery-more em { + color: #c30; + font-style: normal; + font-weight: bold; +} + +@media only screen and (max-width:991px) { + .g-main .line, + .g-main p.figure { + margin-top: 16px; + } +} +@media only screen and (max-width:767px) { + .g-main figcaption { + padding: 15%; + } + .g-main h5.figure { + -webkit-line-clamp: 1; + } + .g-main .line, + .g-main p.figure { + margin-top: 16px; + } +} + +.g-main .g-list { padding-left: 0; padding-right: 0; } +.g-main .g-list .grid { float: left; } +.g-main .g-list .grid.empty-txt { width: 100%!important; max-width: 100%!important; text-align: center!important; padding-top: 50px!important; padding-bottom: 50px!important; background-color: transparent!important; } + + +.g-main .g-list .grid figure, +.g-main .g-list .grid .img-wrapper { position: relative; overflow: hidden; } +.g-main .g-list .grid .img-wrapper > .g-img { + background-size: cover; + background-repeat: no-repeat; + background-position: center center; +} + +.g-main .g-list .grid .figure:nth-child(0).hide + .figure, +.g-main .g-list .grid .figure:nth-child(0).hide + .line, +.g-main .g-list .grid .figure:nth-child(0).hide + .view-text { margin-top: 0!important; } + +.g-main .g-list[data-align="left"] figcaption { text-align: left; } +.g-main .g-list[data-align="center"] figcaption { text-align: center; } +.g-main .g-list[data-align="right"] figcaption { text-align: right; } + +.g-main[data-gpd="0"] .g-list .grid { padding: 0; } +.g-main[data-gpd="1"] .g-list .grid { padding: 0 1px; } +.g-main[data-gpd="2"] .g-list .grid { padding: 0 2px; } +.g-main[data-gpd="3"] .g-list .grid { padding: 0 3px; } +.g-main[data-gpd="4"] .g-list .grid { padding: 0 4px; } +.g-main[data-gpd="5"] .g-list .grid { padding: 0 5px; } +.g-main[data-gpd="6"] .g-list .grid { padding: 0 6px; } +.g-main[data-gpd="7"] .g-list .grid { padding: 0 7px; } +.g-main[data-gpd="8"] .g-list .grid { padding: 0 8px; } +.g-main[data-gpd="9"] .g-list .grid { padding: 0 9px; } +.g-main[data-gpd="10"] .g-list .grid { padding: 0 10px; } +.g-main[data-gpd="11"] .g-list .grid { padding: 0 11px; } +.g-main[data-gpd="12"] .g-list .grid { padding: 0 12px; } +.g-main[data-gpd="13"] .g-list .grid { padding: 0 13px; } +.g-main[data-gpd="14"] .g-list .grid { padding: 0 14px; } +.g-main[data-gpd="15"] .g-list .grid { padding: 0 15px; } +.g-main[data-gpd="16"] .g-list .grid { padding: 0 16px; } +.g-main[data-gpd="17"] .g-list .grid { padding: 0 17px; } +.g-main[data-gpd="18"] .g-list .grid { padding: 0 18px; } +.g-main[data-gpd="19"] .g-list .grid { padding: 0 19px; } + +@media (min-width: 992px) { + .g-main[data-gcol="1"] .g-list .grid { width: 100%; } + .g-main[data-gcol="2"] .g-list .grid { width: 50%; } + .g-main[data-gcol="3"] .g-list .grid { width: 33.33333333333333%; } + .g-main[data-gcol="4"] .g-list .grid { width: 25%; } + .g-main[data-gcol="5"] .g-list .grid { width: 20%; } + .g-main[data-gcol="6"] .g-list .grid { width: 16.666666666666664%; } + + .g-main[data-gcol="2"] .g-list .grid:nth-child(2n + 3) { clear: left; } + .g-main[data-gcol="3"] .g-list .grid:nth-child(3n + 4) { clear: left; } + .g-main[data-gcol="4"] .g-list .grid:nth-child(4n + 5) { clear: left; } + .g-main[data-gcol="5"] .g-list .grid:nth-child(5n + 6) { clear: left; } + .g-main[data-gcol="6"] .g-list .grid:nth-child(6n + 7) { clear: left; } + + .g-main[data-gpd="1"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="1"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="1"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="1"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="1"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="1"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 2px; } + .g-main[data-gpd="2"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="2"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="2"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="2"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="2"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="2"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 4px; } + .g-main[data-gpd="3"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="3"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="3"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="3"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="3"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="3"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 6px; } + .g-main[data-gpd="4"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="4"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="4"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="4"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="4"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="4"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 8px; } + .g-main[data-gpd="5"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="5"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="5"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="5"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="5"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="5"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 10px; } + .g-main[data-gpd="6"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="6"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="6"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="6"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="6"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="6"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 12px; } + .g-main[data-gpd="7"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="7"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="7"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="7"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="7"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="7"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 14px; } + .g-main[data-gpd="8"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="8"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="8"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="8"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="8"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="8"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 16px; } + .g-main[data-gpd="9"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="9"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="9"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="9"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="9"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="9"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 18px; } + .g-main[data-gpd="10"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="10"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="10"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="10"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="10"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="10"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 20px; } + .g-main[data-gpd="11"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="11"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="11"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="11"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="11"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="11"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 22px; } + .g-main[data-gpd="12"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="12"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="12"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="12"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="12"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="12"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 24px; } + .g-main[data-gpd="13"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="13"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="13"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="13"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="13"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="13"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 26px; } + .g-main[data-gpd="14"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="14"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="14"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="14"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="14"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="14"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 28px; } + .g-main[data-gpd="15"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="15"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="15"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="15"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="15"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="15"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 30px; } + .g-main[data-gpd="16"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="16"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="16"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="16"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="16"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="16"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 32px; } + .g-main[data-gpd="17"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="17"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="17"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="17"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="17"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="17"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 34px; } + .g-main[data-gpd="18"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="18"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="18"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="18"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="18"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="18"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 36px; } + .g-main[data-gpd="19"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="19"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="19"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="19"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="19"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="19"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 38px; } + .g-main[data-gpd="20"][data-gcol="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="20"][data-gcol="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="20"][data-gcol="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="20"][data-gcol="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="20"][data-gcol="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="20"][data-gcol="6"] .g-list .grid:nth-child(n + 7) { margin-top: 40px; } +} + +@media (min-width: 768px) and (max-width: 991px) { + .g-main[data-gcol][data-gcol-t="1"] .g-list .grid { width: 100%; } + .g-main[data-gcol][data-gcol-t="2"] .g-list .grid { width: 50%; } + .g-main[data-gcol][data-gcol-t="3"] .g-list .grid { width: 33.33333333333333%; } + .g-main[data-gcol][data-gcol-t="4"] .g-list .grid { width: 25%; } + .g-main[data-gcol][data-gcol-t="5"] .g-list .grid { width: 20%; } + .g-main[data-gcol][data-gcol-t="6"] .g-list .grid { width: 16.666666666666664%; } + + .g-main[data-gcol][data-gcol-t="2"] .g-list .grid:nth-child(2n + 3) { clear: left; } + .g-main[data-gcol][data-gcol-t="3"] .g-list .grid:nth-child(3n + 4) { clear: left; } + .g-main[data-gcol][data-gcol-t="4"] .g-list .grid:nth-child(4n + 5) { clear: left; } + .g-main[data-gcol][data-gcol-t="5"] .g-list .grid:nth-child(5n + 6) { clear: left; } + .g-main[data-gcol][data-gcol-t="6"] .g-list .grid:nth-child(6n + 7) { clear: left; } + + .g-main[data-gpd="1"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="1"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="1"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="1"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="1"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="1"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 2px; } + .g-main[data-gpd="2"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="2"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="2"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="2"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="2"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="2"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 4px; } + .g-main[data-gpd="3"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="3"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="3"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="3"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="3"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="3"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 6px; } + .g-main[data-gpd="4"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="4"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="4"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="4"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="4"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="4"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 8px; } + .g-main[data-gpd="5"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="5"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="5"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="5"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="5"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="5"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 10px; } + .g-main[data-gpd="6"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="6"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="6"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="6"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="6"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="6"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 12px; } + .g-main[data-gpd="7"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="7"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="7"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="7"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="7"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="7"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 14px; } + .g-main[data-gpd="8"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="8"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="8"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="8"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="8"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="8"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 16px; } + .g-main[data-gpd="9"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="9"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="9"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="9"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="9"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="9"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 18px; } + .g-main[data-gpd="10"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="10"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="10"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="10"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="10"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="10"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 20px; } + .g-main[data-gpd="11"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="11"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="11"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="11"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="11"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="11"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 22px; } + .g-main[data-gpd="12"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="12"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="12"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="12"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="12"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="12"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 24px; } + .g-main[data-gpd="13"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="13"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="13"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="13"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="13"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="13"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 26px; } + .g-main[data-gpd="14"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="14"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="14"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="14"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="14"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="14"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 28px; } + .g-main[data-gpd="15"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="15"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="15"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="15"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="15"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="15"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 30px; } + .g-main[data-gpd="16"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="16"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="16"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="16"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="16"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="16"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 32px; } + .g-main[data-gpd="17"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="17"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="17"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="17"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="17"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="17"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 34px; } + .g-main[data-gpd="18"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="18"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="18"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="18"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="18"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="18"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 36px; } + .g-main[data-gpd="19"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="19"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="19"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="19"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="19"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="19"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 38px; } + .g-main[data-gpd="20"][data-gcol-t="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="20"][data-gcol-t="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="20"][data-gcol-t="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="20"][data-gcol-t="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="20"][data-gcol-t="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="20"][data-gcol-t="6"] .g-list .grid:nth-child(n + 7) { margin-top: 40px; } +} + +@media (max-width: 767px) { + .g-main[data-gcol][data-gcol-m="1"] .g-list .grid { width: 100%; } + .g-main[data-gcol][data-gcol-m="2"] .g-list .grid { width: 50%; } + .g-main[data-gcol][data-gcol-m="3"] .g-list .grid { width: 33.33333333333333%; } + .g-main[data-gcol][data-gcol-m="4"] .g-list .grid { width: 25%; } + .g-main[data-gcol][data-gcol-m="5"] .g-list .grid { width: 20%; } + .g-main[data-gcol][data-gcol-m="6"] .g-list .grid { width: 16.666666666666664%; } + + .g-main[data-gcol][data-gcol-m="2"] .g-list .grid:nth-child(2n + 3) { clear: left; } + .g-main[data-gcol][data-gcol-m="3"] .g-list .grid:nth-child(3n + 4) { clear: left; } + .g-main[data-gcol][data-gcol-m="4"] .g-list .grid:nth-child(4n + 5) { clear: left; } + .g-main[data-gcol][data-gcol-m="5"] .g-list .grid:nth-child(5n + 6) { clear: left; } + .g-main[data-gcol][data-gcol-m="6"] .g-list .grid:nth-child(6n + 7) { clear: left; } + + .g-main[data-gpd="1"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="1"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="1"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="1"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="1"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="1"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 2px; } + .g-main[data-gpd="2"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="2"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="2"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="2"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="2"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="2"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 4px; } + .g-main[data-gpd="3"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="3"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="3"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="3"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="3"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="3"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 6px; } + .g-main[data-gpd="4"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="4"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="4"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="4"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="4"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="4"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 8px; } + .g-main[data-gpd="5"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="5"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="5"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="5"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="5"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="5"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 10px; } + .g-main[data-gpd="6"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="6"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="6"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="6"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="6"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="6"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 12px; } + .g-main[data-gpd="7"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="7"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="7"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="7"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="7"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="7"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 14px; } + .g-main[data-gpd="8"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="8"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="8"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="8"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="8"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="8"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 16px; } + .g-main[data-gpd="9"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="9"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="9"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="9"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="9"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="9"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 18px; } + .g-main[data-gpd="10"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="10"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="10"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="10"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="10"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="10"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 20px; } + .g-main[data-gpd="11"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="11"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="11"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="11"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="11"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="11"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 22px; } + .g-main[data-gpd="12"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="12"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="12"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="12"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="12"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="12"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 24px; } + .g-main[data-gpd="13"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="13"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="13"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="13"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="13"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="13"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 26px; } + .g-main[data-gpd="14"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="14"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="14"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="14"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="14"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="14"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 28px; } + .g-main[data-gpd="15"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="15"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="15"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="15"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="15"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="15"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 30px; } + .g-main[data-gpd="16"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="16"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="16"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="16"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="16"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="16"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 32px; } + .g-main[data-gpd="17"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="17"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="17"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="17"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="17"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="17"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 34px; } + .g-main[data-gpd="18"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="18"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="18"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="18"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="18"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="18"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 36px; } + .g-main[data-gpd="19"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="19"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="19"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="19"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="19"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="19"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 38px; } + .g-main[data-gpd="20"][data-gcol-m="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="20"][data-gcol-m="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="20"][data-gcol-m="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="20"][data-gcol-m="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="20"][data-gcol-m="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="20"][data-gcol-m="6"] .g-list .grid:nth-child(n + 7) { margin-top: 40px; } +} + +@media (max-width: 450px) { + .g-main[data-gcol][data-gcol-s="1"] .g-list .grid { width: 100%; } + .g-main[data-gcol][data-gcol-s="2"] .g-list .grid { width: 50%; } + .g-main[data-gcol][data-gcol-s="3"] .g-list .grid { width: 33.33333333333333%; } + .g-main[data-gcol][data-gcol-s="4"] .g-list .grid { width: 25%; } + .g-main[data-gcol][data-gcol-s="5"] .g-list .grid { width: 20%; } + .g-main[data-gcol][data-gcol-s="6"] .g-list .grid { width: 16.666666666666664%; } + + .g-main[data-gcol][data-gcol-s="2"] .g-list .grid:nth-child(2n + 3) { clear: left; } + .g-main[data-gcol][data-gcol-s="3"] .g-list .grid:nth-child(3n + 4) { clear: left; } + .g-main[data-gcol][data-gcol-s="4"] .g-list .grid:nth-child(4n + 5) { clear: left; } + .g-main[data-gcol][data-gcol-s="5"] .g-list .grid:nth-child(5n + 6) { clear: left; } + .g-main[data-gcol][data-gcol-s="6"] .g-list .grid:nth-child(6n + 7) { clear: left; } + + .g-main[data-gpd="1"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="1"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="1"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="1"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="1"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="1"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 2px; } + .g-main[data-gpd="2"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="2"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="2"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="2"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="2"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="2"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 4px; } + .g-main[data-gpd="3"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="3"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="3"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="3"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="3"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="3"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 6px; } + .g-main[data-gpd="4"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="4"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="4"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="4"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="4"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="4"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 8px; } + .g-main[data-gpd="5"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="5"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="5"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="5"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="5"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="5"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 10px; } + .g-main[data-gpd="6"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="6"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="6"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="6"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="6"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="6"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 12px; } + .g-main[data-gpd="7"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="7"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="7"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="7"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="7"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="7"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 14px; } + .g-main[data-gpd="8"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="8"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="8"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="8"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="8"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="8"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 16px; } + .g-main[data-gpd="9"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="9"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="9"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="9"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="9"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="9"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 18px; } + .g-main[data-gpd="10"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="10"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="10"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="10"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="10"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="10"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 20px; } + .g-main[data-gpd="11"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="11"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="11"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="11"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="11"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="11"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 22px; } + .g-main[data-gpd="12"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="12"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="12"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="12"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="12"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="12"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 24px; } + .g-main[data-gpd="13"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="13"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="13"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="13"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="13"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="13"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 26px; } + .g-main[data-gpd="14"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="14"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="14"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="14"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="14"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="14"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 28px; } + .g-main[data-gpd="15"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="15"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="15"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="15"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="15"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="15"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 30px; } + .g-main[data-gpd="16"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="16"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="16"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="16"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="16"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="16"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 32px; } + .g-main[data-gpd="17"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="17"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="17"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="17"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="17"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="17"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 34px; } + .g-main[data-gpd="18"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="18"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="18"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="18"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="18"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="18"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 36px; } + .g-main[data-gpd="19"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="19"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="19"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="19"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="19"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="19"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 38px; } + .g-main[data-gpd="20"][data-gcol-s="1"] .g-list .grid:nth-child(n + 2), + .g-main[data-gpd="20"][data-gcol-s="2"] .g-list .grid:nth-child(n + 3), + .g-main[data-gpd="20"][data-gcol-s="3"] .g-list .grid:nth-child(n + 4), + .g-main[data-gpd="20"][data-gcol-s="4"] .g-list .grid:nth-child(n + 5), + .g-main[data-gpd="20"][data-gcol-s="5"] .g-list .grid:nth-child(n + 6), + .g-main[data-gpd="20"][data-gcol-s="6"] .g-list .grid:nth-child(n + 7) { margin-top: 40px; } +} + diff --git a/public/images/no-img.png b/public/images/no-img.png new file mode 100644 index 0000000..890ec5a Binary files /dev/null and b/public/images/no-img.png differ diff --git a/public/js/app.js b/public/js/app.js index c63567e..06ba9c0 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -1,7 +1,169 @@ -$(function() { - +//------------------------------------------------- +// ajaxSetup 세팅 +//------------------------------------------------- +var errorForm = null; +var openAjaxCount = 0; +var closeAjaxCount = 0; +var openBlockUI = 0; + +$.ajaxSetup({ + cache: false, + dataType: 'json', + headers: { + 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') + } +}); + +$(document).ajaxError(handleAjaxError); +$(document).ajaxComplete(function(event, xhr,settings){ + if(!settings.hideLoading) closeAjaxLoading(); + errorForm = null; +}); + +$(document).ajaxSend(function (event, xhr, settings) { + xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content')); + + resetAjaxFormErrorMessage(); + + /* + if(!settings.hideLoading) { + if(typeof settings.bindForm == "undefined") openAjaxLoading(null); + else openAjaxLoading(settings.bindForm); + } + */ +}); + +$(document).ajaxSuccess(function(event, xhr, settings) { + // if(!settings.hideLoading) closeAjaxLoading(); + + errorForm = null; }); +// Ajax 에러 헨들러 +function handleAjaxError(event, xhr, status, err) { + if (xhr.status === 401) { + // 로그아웃 된 상태 + window.location.reload(); + } else if (xhr.status === 419) { + alert('페이지가 만료되었습니다. 페이지를 다시 새로고침 합니다.'); + window.location.reload(); + } else if (xhr.status === 422) { + // Validaton 실패 + var data = JSON.parse(xhr.responseText); + showAjaxFormErrorMessage(data); + } + else { + console.log(err); + if(err !== 'abort') alert(xhr.responseText); + } + closeAjaxLoading(); + errorForm = null; +} + +function showAjaxFormErrorMessage(data) { + var fistElement = null; + var message = ""; + + for (var i in data.errors) { + var name = i; + var element = null; + + if (errorForm == null) { + element = $("[name=" + name + "]:not(:disabled)"); + errorForm = element.closest("form"); + } else { + element = errorForm.find("[name=" + name + "]:not(:disabled)"); + } + + if (element.length === 0) { + alert(message); + return; + } + + // var row = element.closest(".form-group", errorForm); + // if(row.length === 0) row = element.closest("div.row", errorForm); + + errorForm.find("[type=submit]").prop("disabled", false); + + var dialog = element.closest(".modal-dialog"); + if (dialog.length > 0) { + dialog.find(".modal-footer").find("[type=submit]").prop("disabled", false); + } + + element.addClass("is-invalid"); + + message = $.isArray(data.errors[i]) ? data.errors[i][0] : data.errors[i]; + + //element.tooltip('enable'); + element.addClass('has-tooltip'); + element.attr('data-toggle', 'tooltip'); + element.attr('data-title', message); + + if (fistElement === null) { + fistElement = element; + } + } + + if (fistElement !== null) { + fistElement.focus(); + } +} +function resetAjaxFormErrorMessage() { + if (errorForm != null) { + errorForm.find(".is-invalid").removeClass("is-invalid"); + errorForm.find(".has-tooltip").removeClass('has-tooltip'); + //errorForm.find('[data-toggle="tooltip"]').tooltip('disable'); + } +} + +function openAjaxLoading(form) { + if (openAjaxCount > 0) return; + + //console.log("openAjaxCount : "+openAjaxCount); + if (openAjaxCount === closeAjaxCount) { + openAjaxCount++; + if (form != null) { + //form.off("upload.progress"); + form.bind("upload.progress", function (e, data) { + //console.log($("#blockUITitle")); + //Object {total: 38336387, upload: 38336387, percent: 100} + $(".blockUITitle:last-child").text(Math.floor(data.percent) + "% 업르드중... 잠시만 기다리세요..."); + if (data.percent >= 100) { + form.off("upload.progress"); + } + }); + } + + $.blockUI({ + message: '
Please wait.
', + css: {border: '0', background: 'none'}, + baseZ: 9000 + }); + + // 에러가 날경우 닫지 못하는 문제로 15초가 넘으면 닫도록 처리함 + // 오래 걸리는 작업때문에 주석 > 푸시등 + /* + openBlockUI = setTimeout(function(){ + closeAjaxLoading(); + alert("[에러!!] 요청한 내용을 처리하지 못했습니다.") + }, 5000); + */ + } +} + +function closeAjaxLoading() { + if (openAjaxCount === 0 || closeAjaxCount > 0) return; + + closeAjaxCount++; + if (openAjaxCount === closeAjaxCount) { + clearTimeout(openBlockUI); + $.unblockUI(); + openAjaxCount = 0; + closeAjaxCount = 0; + } +} +//------------------------------------------------- + var extExecutes = "php,php3,php4,phps,phtm,phtml,htm,html,sh,ph,inc,cgi,pl,tpl,exe,com,bat,dll,cpl,asp,aspx,vbs,java,jsp"; var extImages = "gif,jpg,jpeg,png,bmp"; diff --git a/public/js/main.js b/public/js/main.js new file mode 100644 index 0000000..bad1509 --- /dev/null +++ b/public/js/main.js @@ -0,0 +1,116 @@ +$(document).ready(function() { + resizeGallery(); + + $('.gallery-more').css('cursor', 'pointer').on('click', function() { + $('.next-item').slideDown('fast'); + $(this).remove(); + }); + + $('#writeForm').submit(function () { + if (!$("#name").checkEmpty('이름을 입력해 주세요.')) return false; + if (!$("#phone").checkEmpty('연락처를 입력해 주세요.')) return false; + if (!$("#email").checkEmpty('이메일을 입력해 주세요.')) return false; + if (!$("#content").checkEmpty('문의내용을 입력해 주세요.')) return false; + $.post($(this).attr('action'), $(this).serialize(), function(result) { + alert(result.message); + if (result.code == 'success') { + window.location.reload(); + } + }).fail(function(result) { + console.log(result); + alert('문의 등록에 실패했습니다!!\n잠시 후 다시 시도해 주세요.'); + }); + + return false; + }); +}); + +$(window).on('resize', function() { + resizeGallery(); +}); + +function resizeGallery() { + $('.g-main').each(function() { + if($(this).find('.empty-txt').length > 0 || $(this).find('.grid').length == 0) return; + + var gel = $(this).find('.grid').eq(0); + var gw = parseFloat(gel[0].getBoundingClientRect().width); + var gpl = parseFloat(gel.css('padding-left').replace(/[^0-9]/g,'')); + var gpr = parseFloat(gel.css('padding-right').replace(/[^0-9]/g,'')); + var g_img_height = (gw - (gpl+gpr)) * parseFloat(1); + + $(this).find('.grid .g-img').css('height', g_img_height + 'px'); + }); +} + +$(document).ready(function() { + var currentPage = 1; + + function getGalleryData(uid) { + $.get('/main/gallery/view', { 'uid': uid }, function(result) { + var data = result.data; + if (result.code == 'success' && data.assets && data.assets.length > 0) { + var assets = data.assets; + console.log(result.code); + var gallery = []; + $.each(assets, function(idx, asset) { + var item = { + 'src': "/image/"+ asset.uid, + 'thumb': "/image/rate/h80/"+ asset.uid, + 'caption': data.subject, + }; + gallery.push(item); + }); + Fancybox.show(gallery, { + // Your options go here + }); + } + }); + } + + + function getGalleryList() { + $.get('/main/gallery', { 'page': currentPage }, function(result) { + if (!result.data.lists.length) { + return false; + } + + var lists = result.data.lists; + var pages = result.data.pages; + + $.each(lists, function(i, list) { + var galleryBox = $('#galleryBox'); + galleryBox.find('.portfolio').attr('data-uid', list.uid); + galleryBox.find('.portfolio-img').html(''); + galleryBox.find('.portfolio-title').html(list.subject); + galleryBox.find('.portfolio-desc').html(list.content.replaceAll('\r\n', '
')); + $('#portfolio-list').append(galleryBox.html()); + }); + + $('.portfolio').on('click', function(e) { + e.preventDefault(); + getGalleryData($(this).data('uid')); + }); + + if (pages.mores) { + $('.now-count').html(pages.items); + $('.max-count').html(pages.total); + } else { + $('#galleryMore').remove(); + } + + currentPage++; + + }).fail(function(result) { + console.log(result.responseJSON); + }); + } + + getGalleryList(); + + $('#galleryMore').on('click', function(e) { + e.preventDefault(); + getGalleryList(); + }) + +}); diff --git a/resources/views/admin/board/comment.blade.php b/resources/views/admin/board/default/comment.blade.php similarity index 100% rename from resources/views/admin/board/comment.blade.php rename to resources/views/admin/board/default/comment.blade.php diff --git a/resources/views/admin/board/create.blade.php b/resources/views/admin/board/default/create.blade.php similarity index 98% rename from resources/views/admin/board/create.blade.php rename to resources/views/admin/board/default/create.blade.php index d5b7ec0..f829fa0 100644 --- a/resources/views/admin/board/create.blade.php +++ b/resources/views/admin/board/default/create.blade.php @@ -87,12 +87,12 @@ diff --git a/resources/views/admin/board/index.blade.php b/resources/views/admin/board/default/index.blade.php similarity index 100% rename from resources/views/admin/board/index.blade.php rename to resources/views/admin/board/default/index.blade.php diff --git a/resources/views/admin/board/view.blade.php b/resources/views/admin/board/default/view.blade.php similarity index 100% rename from resources/views/admin/board/view.blade.php rename to resources/views/admin/board/default/view.blade.php diff --git a/resources/views/admin/board/gallery/comment.blade.php b/resources/views/admin/board/gallery/comment.blade.php new file mode 100644 index 0000000..e69de29 diff --git a/resources/views/admin/board/gallery/create.blade.php b/resources/views/admin/board/gallery/create.blade.php new file mode 100644 index 0000000..73cff9a --- /dev/null +++ b/resources/views/admin/board/gallery/create.blade.php @@ -0,0 +1,291 @@ +@extends('layouts.admin') + +@section('content') +
+ + + + + + +
+
+
+ + +
+
+ + +
+
+ + (0) +
+
여기를 클릭하거나 파일을 마우스로 드래그하여 업로드할 수도있습니다.
+ +
+
    + @if ($data->assets) + @foreach ($data->assets as $i => $asset) +
  • + {{ $asset->uid }} + 삭제 +
  • + @endforeach + @endif +
+
+
+
+
+ +
+
+@stop + +@push('scripts') + +@endpush diff --git a/resources/views/admin/board/gallery/index.blade.php b/resources/views/admin/board/gallery/index.blade.php new file mode 100644 index 0000000..747ae95 --- /dev/null +++ b/resources/views/admin/board/gallery/index.blade.php @@ -0,0 +1,57 @@ +@extends('layouts.admin') + +@section('content') +
+
+
+ +
+
+
+ +
+ +
+
+ 등록 +
+
+
+
+
+
+
+
+
+ + + + + + + + + + + @foreach($data as $i => $row) + + + + + + + @endforeach + @if(!$data->count()) + + + + @endif + +
순번제목작성자등록일
{{ $row->number }}{{ Str::limit($row->subject, 100, ' ‥') }}{{ $row->name }}{{ str_replace('-', '.', substr($row->created_at, 0, 10)) }}
데이터가 없습니다.
+
+ {{ $data->render('admin.paginator') }} +
+@stop + +@push('scripts') +@endpush diff --git a/resources/views/admin/board/gallery/view.blade.php b/resources/views/admin/board/gallery/view.blade.php new file mode 100644 index 0000000..e69de29 diff --git a/resources/views/admin/board/inquiry/comment.blade.php b/resources/views/admin/board/inquiry/comment.blade.php new file mode 100644 index 0000000..e69de29 diff --git a/resources/views/admin/board/inquiry/create.blade.php b/resources/views/admin/board/inquiry/create.blade.php new file mode 100644 index 0000000..f829fa0 --- /dev/null +++ b/resources/views/admin/board/inquiry/create.blade.php @@ -0,0 +1,402 @@ +@extends('layouts.admin') + +@section('content') +
+ + + + + + +
+
+
+ + +
+
+ +
+ +
+ @if($data->code == 'news') +
+ +
+ + +
+
+ @if ($data->image) + + @endif + @endif +
+ + (0) +
+
여기를 클릭하거나 파일을 마우스로 드래그하여 업로드할 수 있습니다.
+ +
+ +
+
+
+
+ +
+
+ notice ? 'checked="checked "' : '' }}/> + +
+
+
+ @if($data->uid) +
+ + +
+
+ + +
+
+ + +
+ @endif +
+ +
+
+@stop + +@push('styles') + +@endpush + +@push('scripts') + + + +@endpush diff --git a/resources/views/board/default/index.blade.php b/resources/views/board/default/index.blade.php index 9bba6e0..ac9733b 100644 --- a/resources/views/board/default/index.blade.php +++ b/resources/views/board/default/index.blade.php @@ -8,9 +8,9 @@
@if($page['subTitle']){{ $page['subTitle'] }}@else{{ $page['title']}}@endif
- diff --git a/resources/views/board/default/view.blade.php b/resources/views/board/default/view.blade.php index ece75fc..69175f0 100644 --- a/resources/views/board/default/view.blade.php +++ b/resources/views/board/default/view.blade.php @@ -10,7 +10,7 @@ diff --git a/resources/views/board/gallery/index.blade.php b/resources/views/board/gallery/index.blade.php new file mode 100644 index 0000000..fc17c0c --- /dev/null +++ b/resources/views/board/gallery/index.blade.php @@ -0,0 +1,71 @@ +@extends('layouts.app') + +@section('content') +
+
+ + +
+
+ @if($data) +
+ @foreach($data as $i => $row) + @if($i > 0 && $i % 2 == 0) +
+
+ @endif + + @endforeach +
+ @else +
게시글이 없습니다.
+ @endif +
+
+@endsection + +@push('style') + +@endpush + +@push('scripts') + + +@endpush diff --git a/resources/views/board/gallery/main.blade.php b/resources/views/board/gallery/main.blade.php new file mode 100644 index 0000000..d4eb49a --- /dev/null +++ b/resources/views/board/gallery/main.blade.php @@ -0,0 +1,20 @@ +@extends('layouts.app') + +@push('scripts') + +@endpush diff --git a/resources/views/board/gallery/view.blade.php b/resources/views/board/gallery/view.blade.php new file mode 100644 index 0000000..a5bac46 --- /dev/null +++ b/resources/views/board/gallery/view.blade.php @@ -0,0 +1,73 @@ +@extends('layouts.app') + +@section('content') +
+
+ + +
+
+
+
{!! $data->subject !!}
+ +
+
{{ date('Y.m.d H:i', strtotime($data->created_at)) }}
+
+ @if($data->images && count($data->images)) + @foreach($data->images as $i => $asset) +

+ @endforeach + @endif +
+ {!! $data->content !!} +
+ @if($data->files && count($data->files)) +
+

첨부파일

+ +
+ @endif +
+
+ 목록 + @if($data->prev || $data->next) +
+ @if($data->prev) + 이전글 + @endif + @if($data->next) + 다음글 + @endif +
+ @endif +
+
+
+@endsection + +@push('style') + +@endpush + +@push('scripts') + + +@endpush diff --git a/resources/views/board/inquiry/create.blade.php b/resources/views/board/inquiry/create.blade.php index 90b189f..b8375f9 100644 --- a/resources/views/board/inquiry/create.blade.php +++ b/resources/views/board/inquiry/create.blade.php @@ -10,7 +10,7 @@ diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php index 55b2199..7e58d8f 100644 --- a/resources/views/index.blade.php +++ b/resources/views/index.blade.php @@ -7,8 +7,10 @@ @endsection @push('style') + @endpush @push('scripts') + @endpush diff --git a/resources/views/layouts/admin-header.blade.php b/resources/views/layouts/admin-header.blade.php index c71de97..fe3a47b 100644 --- a/resources/views/layouts/admin-header.blade.php +++ b/resources/views/layouts/admin-header.blade.php @@ -17,7 +17,7 @@ @@ -30,40 +30,42 @@