Cambios en la interfaz y uso de la galeria y el visor de PDF.

Cambios en el estilo y estructura
This commit is contained in:
Siroco 2018-10-03 23:36:09 +02:00
parent 4a9867a64d
commit afdf236526
14 changed files with 275 additions and 163 deletions

35
package-lock.json generated
View File

@ -225,6 +225,14 @@
"tslib": "1.9.2"
}
},
"@ks89/angular-modal-gallery": {
"version": "6.2.3",
"resolved": "https://registry.npmjs.org/@ks89/angular-modal-gallery/-/angular-modal-gallery-6.2.3.tgz",
"integrity": "sha512-5Bj8mZT13Jlmvrc6XV6mk51cqKv8BxWVK/wMVl9oxFz7ANj7Rbk4cscWBOl+Hwn4b4A0Y7CewokIEZbPxovG6w==",
"requires": {
"tslib": "1.9.2"
}
},
"@ngtools/json-schema": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@ngtools/json-schema/-/json-schema-1.2.0.tgz",
@ -275,6 +283,12 @@
"semver-intersect": "1.3.1"
}
},
"@types/hammerjs": {
"version": "2.0.36",
"resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.36.tgz",
"integrity": "sha512-7TUK/k2/QGpEAv/BCwSHlYu3NXZhQ9ZwBYpzr9tjlPIL2C5BeGhH3DmVavRx3ZNyELX5TLC91JTz/cen6AAtIQ==",
"dev": true
},
"@types/jasmine": {
"version": "2.8.8",
"resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.8.tgz",
@ -290,6 +304,12 @@
"@types/jasmine": "2.8.8"
}
},
"@types/mousetrap": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@types/mousetrap/-/mousetrap-1.6.0.tgz",
"integrity": "sha512-Jn2cF8X6RAMiSmJaATGjf2r3GzIfpZQpvnQhKprQ5sAbMaNXc7hc9sA2XHdMl3bEMEQhTV79JVW7n4Pgg7sjtg==",
"dev": true
},
"@types/node": {
"version": "6.0.112",
"resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.112.tgz",
@ -4216,6 +4236,11 @@
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
"dev": true
},
"hammerjs": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
"integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE="
},
"handle-thing": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz",
@ -5424,6 +5449,11 @@
"integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=",
"dev": true
},
"jquery": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz",
"integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg=="
},
"js-base64": {
"version": "2.4.5",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.5.tgz",
@ -6369,6 +6399,11 @@
"minimist": "0.0.8"
}
},
"mousetrap": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.2.tgz",
"integrity": "sha512-jDjhi7wlHwdO6q6DS7YRmSHcuI+RVxadBkLt3KHrhd3C2b+w5pKefg3oj5beTcHZyVFA9Aksf+yEE1y5jxUjVA=="
},
"move-concurrently": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",

View File

@ -21,8 +21,12 @@
"@angular/platform-browser": "^5.2.0",
"@angular/platform-browser-dynamic": "^5.2.0",
"@angular/router": "^5.2.0",
"@ks89/angular-modal-gallery": "^6.2.3",
"bootstrap": "^4.1.1",
"core-js": "^2.4.1",
"hammerjs": "^2.0.8",
"jquery": "^3.3.1",
"mousetrap": "^1.6.2",
"rxjs": "^5.5.6",
"simple-pdf-viewer": "^2.0.2",
"zone.js": "^0.8.19"
@ -31,8 +35,10 @@
"@angular/cli": "~1.7.4",
"@angular/compiler-cli": "^5.2.0",
"@angular/language-service": "^5.2.0",
"@types/hammerjs": "^2.0.36",
"@types/jasmine": "~2.8.3",
"@types/jasminewd2": "~2.0.2",
"@types/mousetrap": "^1.6.0",
"@types/node": "~6.0.60",
"codelyzer": "^4.0.1",
"jasmine-core": "~2.8.0",

View File

@ -13,6 +13,7 @@ const routes: Routes = [
{ path: ':id', component: PageComponent },
{ path: ':parent/intro', redirectTo:':parent'},
{ path: ':parent/:id', component: PageComponent},
{ path: ':parent/:subparent/:id', component: PageComponent},
{ path: '**', component: HomeComponent }
];

View File

@ -1,5 +1,6 @@
<footer class="single">
<p>&copy; Zumalakaerregi Museoa 2018 - El contenido de este site está bajo una licencia Creative Commons By-SA-NC - Texto legal </p>
<p>www.zumalakarregimuseoa.eus zuma@zm.net +34 000 00 00 00</p>
<img src="../../assets/logo.gif" style="max-width:100px;"/>
<img title="Iniciativa del Museo Zumalakarregi" src="../../assets/logo.gif" style="max-width:100px;margin:0 30px;"/>
<img title="Con el patrocinio de Irizar Sociedad Cooperativa" src="../../assets/irizar.jpg" style="max-width:100px;margin:0 30px;"/>
</footer>

View File

@ -1,4 +1,11 @@
<ul class="filters">
<!-- <li *ngIf="childs?.length > 0" routerLink="/{{plink}}">Presentacion</li> -->
<li *ngFor="let child of childs" routerLink="/{{child.link}}" [routerLinkActive]="['active']" [innerHTML]='child.title'></li>
<li class="parent-header"><a routerLink="/{{parent_link}}">{{parent_title}}</a></li>
<li *ngIf="childs.length==0">Cargando menú</li>
<li *ngFor="let child of childs" routerLink="/{{child.link}}" [routerLinkActive]="['active']">
{{child.title}}
<!-- <ul *ngIf="child.hasChild">
<li *ngFor="let c of getChilds(child.id)"><h1>child</h1></li>
</ul> -->
</li>
</ul>

View File

@ -13,7 +13,8 @@ export class MenuChildsComponent implements OnInit {
@Input() parent_id: string;
@Input() parent_link: string;
childs : PageItem[];
@Input() parent_title: string;
childs : PageItem[] = [];
plink:string;
constructor(private pageService : PageService) { }
@ -22,11 +23,14 @@ export class MenuChildsComponent implements OnInit {
this.getChilds();
}
getChilds() {
this.pageService.getChilds(this.parent_id)
getChilds(id = this.parent_id) {
this.pageService.getChilds(id)
.subscribe(data => {
this.childs = data;
this.plink = '';
// data.forEach( (child)=> {
// if (child.hasChild) { this.pageService.getChilds(child.id); }
// })
});
}

View File

@ -20,17 +20,17 @@ export class PageService {
public sanitizer: DomSanitizer
) { }
getItems() : void {
//console.log("getItems");
let url = `${this.apiUrl}/pages`;
let search = new URLSearchParams();
search.set('foo', 'moo');
search.set('limit', "25");
search.set('_embed','');
this.http.get(url,{search:search})
.toPromise()
.then(res => console.log(res.json()));
}
// getItems() : void {
// //console.log("getItems");
// let url = `${this.apiUrl}/pages`;
// let search = new URLSearchParams();
// search.set('foo', 'moo');
// search.set('limit', "25");
// search.set('_embed','');
// this.http.get(url,{search:search})
// .toPromise()
// .then(res => console.log(res.json()));
// }
getParentPages() : Observable<PageItem[]> {
let search = new URLSearchParams();
@ -48,29 +48,46 @@ export class PageService {
// console.log("childs de: "+id);
let search = new URLSearchParams();
search.set('parent',id);
return this.getPages(search);
return this.getPages(search,true);
}
getPages(searchParams) : Observable<PageItem[]> {
getPages(searchParams, childs = false) : Observable<PageItem[]> {
searchParams.set('orderby','menu_order');
searchParams.set('_embed','');
searchParams.set('per_page',20);
//searchParams.set('context','embed');
let url = `${this.apiUrl}/pages`;
return this.http.get(url,{search:searchParams})
.map(res => {
return res.json().map(item => {
//console.log(item);
let page = new PageItem(
item.id as string,
item.title.rendered,
item.excerpt.rendered,
item.acf.descripcion,
item.content.rendered,
item.slug,
item.parent
);
/*parent */
page['parent_title']=item['parentTitle']['title'];
page['parent_link']=item['parentTitle']['link'];
/* chilsd */
page["hasChild"]=item["hasChild"];
// if (item["hasChild"]) {
// //
// let search = new URLSearchParams();
// search.set('parent',id);
// searchParams.set('orderby','menu_order');
// searchParams.set('_embed','');
// this.http.get(url,{search:searchParams})
// }
/* featured images */
if ( item["_embedded"]["wp:featuredmedia"] ) {
if ( !childs && item["_embedded"]["wp:featuredmedia"]) {
console.log('featured image: '+item.id);
console.log(item["_embedded"]["wp:featuredmedia"])
page["featuredmedia"] = item["_embedded"]["wp:featuredmedia"];
if (item["_embedded"]["wp:featuredmedia"][0]["media_details"]["sizes"]["large"]) {
@ -85,18 +102,19 @@ export class PageService {
}
/* Publitas */
if (item["acf"] && item["acf"]["libro_publitas"]) {
page["publitas_link"] = this.sanitizer.bypassSecurityTrustUrl(item["acf"]["libro_publitas"]);
if (!childs && item["acf"] && item["acf"]["libro_publitas"]) {
//page["publitas_link"] = this.sanitizer.bypassSecurityTrustUrl(item["acf"]["libro_publitas"]);
page["publitas_link"] = item["acf"]["libro_publitas"];
//this.iframeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.iframeUrl);
}
/* Gallery */
// console.log(item['gallery'])
if (item["gallery"]) {
if (!childs && item["gallery"]) {
page['gallery'] = [];
let c = 0;
item["gallery"].forEach( (i)=> {
var im = new Image(c, { img: i['modal'], description: 'Description 1' },{ img: i['thumb'] });
var im = new Image(c, { img: i['modal'], title: i['title'], alt:i['title'], description: i['desc'] },{ img: i['thumb'], title: i['title'], alt:i['title'], description: i['desc'] });
page['gallery'].push(im);
c++;
});

View File

@ -13,7 +13,10 @@ export class PageItem {
public link?: string,
public publitas_link?: SafeUrl,
public featuredmedia ? : any[],
public gallery? : Array<Image>
public gallery? : Array<Image>,
public hasChild? : boolean,
public childs?: PageItem[],
public parent_title? : string,
) {}
// public set (key,attr) {

View File

@ -1,8 +1,11 @@
<app-header [pages]=pages></app-header>
<!-- <app-section [pages]=pages></app-section> -->
<article *ngIf="pages.length==0">
<h1>Cargando...</h1>
</article>
<article *ngFor="let page of pages">
<div class="row">
<div class="col-md-3 offset-md-1 info">
<div class="col-md-3 offset-md-1 info col-xm-12">
<!-- <h1><span>{{page.title}}</span></h1> -->
<!-- <h2 [innerHTML]={{parent}}></h2> -->
<!-- <h2>{{page.id}}</h2> -->
@ -12,40 +15,42 @@
<li>Video</li>
<li>Imágen</li>
</ul> -->
<app-menu-childs *ngIf="page.parent==0" [parent_id]="page.id" [parent_link]="page.link"></app-menu-childs>
<app-menu-childs *ngIf="page.parent>0" [parent_id]="page.parent" [parent_link]="page.link"></app-menu-childs>
<app-menu-childs *ngIf="page.parent==0" [parent_id]="page.id" [parent_link]="page.link" [parent_title]="page.title"></app-menu-childs>
<app-menu-childs *ngIf="page.parent>0" [parent_id]="page.parent" [parent_title]="page.parent_title" [parent_link]="page.parent_link"></app-menu-childs>
<!-- imagenes en lista-->
</div>
<div class="col-md-7">
<div class="row" *ngIf="page.content">
<div class="col-md-12" [innerHTML]="page.content"></div>
</div>
<section *ngIf="page.gallery.length>0">
<div class="my-app-custom-plain-container-with-desc">
<ng-container *ngFor="let img of page.gallery">
<figure class="my-app-custom-image-with-desc">
<img [src]="img.modal.img" (click)="openImageModalRowDescription(img)"/>
<figcaption class="description">{{img.modal.description ? img.modal.description : 'No description available'}}
</figcaption>
</figure>
</ng-container>
</div>
<ks-modal-gallery [id]="8" [modalImages]="page.gallery" [plainGalleryConfig]="customPlainGalleryRowDescConfig"></ks-modal-gallery>
</section>
<div class="row" *ngIf="page.publitas_link">
<div class="col-md-12">
<simple-pdf-viewer #pdfViewer [src]="'../assets/test.pdf#zoom=1.01'" [removePageBorders]="true"></simple-pdf-viewer>
<div class="pdf-buttons" *ngIf="!pdfViewer.isDocumentLoaded()">
<button>Cargando documento</button>
</div>
<div class="pdf-buttons" style="" *ngIf="pdfViewer.isDocumentLoaded()">
<button (click)="pdfViewer.firstPage()">First Page</button>
<button (click)="pdfViewer.prevPage()">Previous Page</button>
<button (click)="pdfViewer.nextPage()">Next Page</button>
<button (click)="pdfViewer.lastPage()">Last Page</button>
<div class="col-md-7 col-xm-12">
<section class="section-publitas">
<div class="row" *ngIf="page.publitas_link">
<div class="col-md-12">
<simple-pdf-viewer #pdfViewer [src]="'../assets/'+page.publitas_link" [removePageBorders]="true"></simple-pdf-viewer>
<div class="pdf-buttons" *ngIf="!pdfViewer.isDocumentLoaded()">
<button>Cargando documento</button>
</div>
<div class="pdf-buttons" style="" *ngIf="pdfViewer.isDocumentLoaded()">
<button (click)="pdfViewer.firstPage()">First Page</button>
<button (click)="pdfViewer.prevPage()">Previous Page</button>
<button (click)="pdfViewer.nextPage()">Next Page</button>
<button (click)="pdfViewer.lastPage()">Last Page</button>
</div>
</div>
</div>
</section>
<section>
<div class="row" *ngIf="page.content">
<div class="col-md-12">
<!-- <app-menu-childs *ngIf="page.parent>0" [parent_id]="page.id" [parent_link]="page.link"></app-menu-childs> -->
<div class="article-content" [innerHTML]="page.content"></div>
<!-- <div>
Contenido de los hijos
</div> -->
</div>
</div>
</section>
<section class="page-gallery" *ngIf="page.gallery.length>0 && page.gallery[0]">
<h2>Galería fotográfica</h2>
<ks-modal-gallery [id]="0" [slideConfig]="{infinite: true, sidePreviews: {show: false}}" [buttonsConfig]="buttonsConfigIndustria" [previewConfig]="{visible: false}" [dotsConfig]="{visible: false}" [currentImageConfig]="{downloadable: true, description: {imageText:''}}" [modalImages]="page.gallery" [plainGalleryConfig]="customPlainGalleryRowDescConfig"></ks-modal-gallery>
</section>
</div>
<!-- <div class="col-md-7">{{page.content}}</div> -->
</div>

View File

@ -2,7 +2,7 @@ import { Component, OnInit } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { PageService } from '../page.service';
import { PageItem } from '../page';
import { ActivatedRoute } from "@angular/router";
import { ActivatedRoute,Router, NavigationEnd } from "@angular/router";
import { SafeResourceUrl, DomSanitizer } from '@angular/platform-browser';
import {
AccessibilityConfig,
@ -25,6 +25,8 @@ import {
PreviewConfig
} from '@ks89/angular-modal-gallery';
import * as $ from 'jquery';
@Component({
selector: 'app-page',
templateUrl: './page.component.html',
@ -43,7 +45,8 @@ export class PageComponent implements OnInit {
private route: ActivatedRoute,
private pageService: PageService,
private galleryService: GalleryService,
private sanitizer: DomSanitizer
private sanitizer: DomSanitizer,
private router: Router
){
this.route.params.subscribe( params => {
this.slug = params.id;
@ -52,23 +55,82 @@ export class PageComponent implements OnInit {
} );
}
ngOnInit() {}
ngOnInit() {
console.log('init')
// $('html body').animate(
// {scrollTop:0}, 1000);
document.documentElement.scrollTop = 0
this.router.events.subscribe((evt) => {
if (!(evt instanceof NavigationEnd)) {
return;
}
window.scrollTo(0, 0)
});
}
getPage() {
console.log(this.slug);
this.pageService.getPage(this.slug)
.subscribe(data => {
this.pages = data;
//console.log(data);
console.log(data);
});
}
/** gallery **/
customPlainGalleryRowDescConfig: PlainGalleryConfig = {
strategy: PlainGalleryStrategy.CUSTOM,
layout: new AdvancedLayout(-1, true)
// strategy: PlainGalleryStrategy.CUSTOM,
strategy: PlainGalleryStrategy.GRID,
layout: new GridLayout({ width: '32%', height: 'auto' }, { length: 2, wrap: true })
// layout: new AdvancedLayout(-1, true)
};
buttonsConfigSimple: ButtonsConfig = {
visible: true,
strategy: ButtonsStrategy.SIMPLE
};
buttonsConfigIndustria: ButtonsConfig = {
visible:true,
strategy: ButtonsStrategy.CUSTOM,
buttons: [
{
className: 'download-image',
type: ButtonType.DOWNLOAD,
extUrlInNewTab: true
},
{
className: 'fullscreen-image',
type: ButtonType.FULLSCREEN
},
{
className: 'close-image',
type: ButtonType.CLOSE
}
]
}
// onButtonBeforeHook(event: ButtonEvent) {
// if (!event || !event.button) {
// return;
// }
// if (event.button.type === ButtonType.DELETE) {
// this.images = this.images.filter((val: Image) => event.image && val.id !== event.image.id);
// }
// }
//
// onButtonAfterHook(event: ButtonEvent) {
// if (!event || !event.button) {
// return;
// }
// }
onVisibleIndex(event: ImageModalEvent) {
console.log('onVisibleIndex action: ' + Action[event.action]);
console.log('onVisibleIndex result:' + event.result);
}
openImageModalRowDescription(image: Image) {
console.log('Opening modal gallery from custom plain gallery row and description, with image: ', image);
const index: number = this.getCurrentIndexCustomLayout(image, this.pages[0].gallery);

View File

@ -5,7 +5,7 @@
<div class="row section-content" >
<div class="col-md-1 ia-select"></div>
<div class="col-md-5" [ngStyle]="{'background-size':'cover', 'background-repeat':'no-repeat','background-image':'url(\''+page.background_image+'\')'}"><h1><span>{{page.title}}</span></h1></div>
<div class="col-md-6" [innerHTML]="page.excerpt"></div>
<div class="col-md-6 ia-home-excerpt" [innerHTML]="page.excerpt"></div>
</div>
</a>
</section>

View File

@ -15,6 +15,7 @@ export class SectionComponent implements OnInit {
ngOnInit() { }
get diagnostic() {
console.log(this.pages)
return JSON.stringify(this.pages);
}

BIN
src/assets/irizar.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@ -1,30 +1,31 @@
/* You can add global styles to this file, and also import other style files */
@import '../node_modules/bootstrap/dist/css/bootstrap.min.css';
@import url('https://fonts.googleapis.com/css?family=Tinos');
@import url('https://fonts.googleapis.com/css?family=Oswald');
@import url('https://fonts.googleapis.com/css?family=Raleway');
/*
@import url('https://fonts.googleapis.com/css?family=Indie+Flower');
@font-face {
font-family: "Manteka";
font-style: normal;
font-weight: normal;
src: url('./assets/vision-webfont.woff');
} */
}
/* main */
* { transition:0.2s;}
body { font-family:"Raleway",serif; overflow-x:hidden;background:#efefef;margin:0; font-size:14pt;}
h1,h2 { font-family: "Raleway", sans-serif;text-transform:uppercase;font-weight:bold;}
body { font-family:"Raleway",serif; overflow-x:hidden;background:#efefef;margin:0; font-size:14pt;font-size:1rem;}
h1,h2 { font-family: "Oswald", sans-serif; text-transform:uppercase; font-weight:bold;}
app-header header { overflow:hidden; width:100%;height:100%;height:100vh;text-align:center;position:relative;}
app-home header { overflow:hidden; width:100%;height:100%;height:100vh;text-align:center;position:relative;}
header.homepage { background:url('./assets/industria-paisaia.svg'); background-size:contain; background-repeat:no-repeat; background-position:center center;}
header.section { background-attachment: fixed; }
header.section > div {padding-top:10%;background-color:rgba(255,255,255,0.6); height:100vh;}
header.section h1 {word-wrap: break-word;}
header.section h1 span {font-size:2.5em;background-color:#d2e8eb; padding:10px;}
header.section h3 {text-align:center; font-size:1.5em;font-weight:400; color:#000; font-family:"Raleway";background-color:#f7886c;padding:20px;}
header.section h1 {word-wrap: break-word;text-align:center;}
header.section h1 span {line-height: 1.8; font-size:2.5em;font-size:10vmin;background-color:#d2e8eb; padding:10px;}
header.section h3 {text-align:center; font-size:1.5em;font-size:4vmin;font-weight:400; color:#000; font-family:"Raleway";background-color:#f7886c;padding:20px;}
header.section h1::after {content:'';width:100%;height:100%;position:absolute;}
@ -40,7 +41,7 @@ div.menu div.Search {float:right;}
div.menu div.language {float:right;margin:5px;font-size:0.7em;padding-top:1%;}
div.menu div.language span {padding:3px;font-family:"Raleway";cursor:pointer;}
div.Search input {background:none; border:none; border-bottom:2px solid #000;}
div.menu nav ul li {text-transform:uppercase;height:60px;font-family:"Raleway";padding:10px;min-width:10%;cursor:pointer;}
div.menu nav ul li {font-family:"Oswald",sans-serif; text-transform:uppercase;height:60px;padding:10px;min-width:10%;cursor:pointer;}
div.menu nav ul li:hover { background-color:#f7886c;}
div.menu nav ul li:active { background-color:#f7886c;color:#fff;}
div.menu nav ul li.active { background-color:#f7886c;color:#fff;}
@ -60,16 +61,26 @@ div.ia-section:active { background: #f7886c; }
div.ia-section:hover div.ia-select { min-height:300px; background:#f7886c; padding:0 !important; }
div.ia-section div.col-md-5,
div.ia-section div.col-md-6 { padding:20px;}
div.ia-section div.ia-home-excerpt { font-size:1.5em; }
/*article*/
article {padding-top:80px;}
article img {max-width:100%; height:auto; border:3px solid #f7886c;margin:20px auto;filter:grayscale(0.8);}
article img:hover {filter:none; box-shadow: -1px 2px 5px 0px rgba(0,0,0,0.7);cursor:pointer;}
article p {font-size:0.9em;}
article img {max-width:100%; height:auto; border:0px solid #f7886c;margin:20px auto;filter:grayscale(0);box-shadow: -1px 2px 5px 0px rgba(0,0,0,0.4);}
article img:hover {filter:none; box-shadow: -1px 2px 5px 0px rgba(0,0,0,0.7);}
article p {font-size:1.2rem;line-height:2;}
article h2 span {background:#d2e8eb;padding:10px;}
article h2 {margin-bottom:20px;}
article video {max-width:100%;}
article div.article-content { margin:0 20px;}
article div.article-content ul { list-style:circle; }
article div.article-content div.alignright { float: right;width: 50%;margin: 0 0 20px 20px;}
article div.article-content img.alignright { float: right;width: 50%;margin: 0 0 20px 20px;}
article div.article-content div.alignright img {width:100%;}
article div.article-content blockquote {font-family:"Indie Flower", serif; margin: 0 0 1rem 10rem; padding:2rem; background-color:#d2e8eb;}
article section.section-publitas div.row { min-height:300px; }
section.page-gallery { margin-top:50px;}
/* footer */
footer { min-height:300px; height:100%; background-color:#d2e8eb; padding:20px; color:#000;}
@ -123,12 +134,12 @@ header.item { margin-top:50px;height:0;}
.info h1 {margin:20px auto;}
.info h1 span {background-color:#d2e8eb;padding:5px;}
.info h2 {color:#f7886c;}
.info ul.filters {list-style:none; margin:0;padding:0;}
.info ul.filters li {cursor:pointer; border-right:5px solid #f7886c; padding:5px 30px; text-transform:uppercase;font-family:"Raleway";text-align:right;}
.info ul.filters {list-style:none; margin:0;padding:0; margin-bottom:50px;}
.info ul.filters li { word-wrap:break-word; cursor:pointer; border-right:5px solid #f7886c; padding:5px 30px; text-transform:uppercase;font-family:"Raleway";text-align:right;}
.info ul.filters li:hover {border-right:0px;color:#f7886c;}
.info ul.filters li:active {border-right:0px;color:#fff;background-color:#f7886c;}
.info ul.filters li.active {border-right:0px;color:#fff;background-color:#f7886c;}
.info ul.filters li.parent-header { font-family:"Oswald",sans-serif; background-color:#d2e8eb; font-weight:bold; font-size:1.5rem; color:#fff; padding:30px 30px; border-right:0;}
/* imagen */
img.fullwidth {width:100%;}
@ -138,93 +149,51 @@ div.pdf-buttons button {border:0;background:#d2e8eb; font-size:1em;cursor:pointe
div.pdf-buttons button:hover {background:#f7886c; }
/** gallery */
/* .my-app-custom-plain-container-row {
align-items: center;
display: flex;
flex-direction: row;
justify-content: flex-start;
}
.my-app-custom-plain-container-row .my-app-custom-image-row {
cursor: pointer;
height: auto;
margin-right: 2px;
width: 50px;
}
.my-app-custom-plain-container-row .my-app-custom-image-row.after {
border-top: 2px;
cursor: pointer;
display: none;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
.my-app-custom-plain-container-column {
align-items: center;
display: flex;
flex-direction: column;
justify-content: flex-start;
}
.my-app-custom-plain-container-column .my-app-custom-image-column {
cursor: pointer;
height: auto;
margin-right: 2px;
width: 50px;
}
.my-app-custom-plain-container-column .my-app-custom-image-column.after {
border-top: 2px;
cursor: pointer;
display: none;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
} */
ks-current-image img { filter:none; }
.my-app-custom-plain-container-with-desc {
align-items: center;
display: flex;
flex-direction: row;
justify-content: flex-start;
figure {
margin: 0;
position: relative;
img {
max-width: 100%;
height: auto;
cursor: pointer;
}
figcaption {
background: rgba(0, 0, 0, .5);
color: #fff;
font-size: 85%;
padding: 5px;
position: absolute;
bottom: 3px;
left: 0;
right: 0;
}
}
.description {
font-weight: bold;
text-align: center;
}
.my-app-custom-image-with-desc {
height: auto;
margin-right: 2px;
width: 200px;
align-self: start;
}
}
.my-app-custom-plain-container-with-desc figure {
margin: 0;
position: relative;
}
.my-app-custom-plain-container-with-desc figure img {
max-width: 100%;
height: auto;
cursor: pointer;
}
.my-app-custom-plain-container-with-desc figure figcaption {
background: rgba(0, 0, 0, .5);
color: #fff;
font-size: 85%;
padding: 5px;
position: absolute;
bottom: 3px;
left: 0;
right: 0;
}
.my-app-custom-plain-container-with-desc .description {
font-weight: bold;
text-align: center;
}
.my-app-custom-plain-container-with-desc .my-app-custom-image-with-desc {
height: 150px;
margin-right: 2px;
width: 200px;
align-self: start;
overflow:hidden;
}
.more {
background: rgba(0, 0, 0, .7);
cursor: pointer;
color: #fff;
padding-top: 4px;
height: 46px;
position: absolute;
text-align: center;
width: 50px;
@media (max-width:480px) {
div.menu { position:relative;}
div.menu * { width:100%;background:#fff; }
}