

/*
============================================================================================================
                                         
  _ __  ___ __ _ __ _ _ __  ___ _ _ _  _ 
 | '  \/ -_) _` / _` | '  \/ -_) ' \ || |
 |_|_|_\___\__, \__,_|_|_|_\___|_||_\_,_|
           |___/                         

============================================================================================================
*/


.header { display:block; width:100%; height:60px; z-index:900; position:fixed; top:0; left:0; transition:all .3s; }
	.header:before { content:''; display:block; height:120px; width:100%; background:black; position:absolute; top:0; left:0; opacity:0; background:rgb(17,17,17); background:linear-gradient(180deg, rgba(17,17,17,1) 0%, rgba(255,255,255,0) 100%); transition:all .1s; z-index:-1; pointer-events:none; }
	.header .row { display:block; width:100%; height:60px; padding:.5em; overflow:hidden; position:absolute; top:0; left:0; }
	.header .row.menu { top:0; opacity:1; }
	.header .row.lang { top:-60px; text-align:right; opacity:0; padding-right:4em; }
	.header .row.lang a { display:inline-block; width:88px; text-align:center; border-left:1px solid #ccc; margin:0; padding:1em .7em; cursor:pointer; vertical-align:middle; font-size:.7em; opacity:.7; transition:all .1s; }
		.header .row.lang a:first-child { border-left:0; }
		.header .row.lang a:hover { opacity:1; }
		.header .row.lang a.btn-tw { font-size:.8em; }
		.header .row.lang a.selected { opacity:1; font-weight:bold; }

	.header.openlang { overflow:hidden; }
	.header.openlang .row.menu { top:60px; opacity:0; }
	.header.openlang .row.lang { top:0; opacity:1; }

	.header .logoobj { display:inline-block; position:relative; position:absolute; top:50%; left:0; transform:translateY(-50%); }
	.header .logoobj:before { content:url('../img/logo.svg'); display:block; width:95px; margin:.3em 1.2em; cursor:pointer; }
	.header .menuobj { display:flex; font-size:.85em; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
	.header .navobj { display:flex; margin:0; width:auto; letter-spacing:.01em; align-items:center; height:100%; align-self:center; }
	.header .navobj h3 { font-size:1.2em; margin:1em 0; opacity:.5; }
	.header .navobj .item { display:inline-block; padding:1.6em 1em; xxpadding:1.6em 0.75em; margin:0; cursor:pointer; vertical-align:middle; align-self:center; position:relative; }
	.header .navobj .item span { display:block; position:relative; word-break:keep-all; }
	.header .navobj .item:after { content:''; display:block; position:absolute; opacity:0; bottom:.3em; left:.5em; width:calc(100% - 1em); height:2px; border-bottom:solid 3px #333; transition:all .05s; }
	.header .navobj .item.hover { background:#f1f2f5; }
	.header .navobj .item.selected:after { opacity:1; }
	.header .navobj .item:first-child { padding-left:1.5em; }
	.header .navobj .item:last-child { padding-right:1.5em; xxpadding-right:1em; }
	.header .navobj .item:hover { background:#f1f2f5; }
	.header .navobj.corporate { display:none; }
		.header .switchset { display:inline-block; xxborder-left:1px solid #ccc; display:flex; margin:0; width:auto; align-items:center; height:100%; align-self:center; padding-left:1em;}
		.header .switchset:before { content: url(/asset/icon/border.svg); display: inline-block; width: 4px; margin-right: 1.5em; transform: scale(1.7); position: relative; top: 4px; }
		.header .switchset .switchset_box{ background: #cacaca66; border-radius: 15em; position: relative; z-index: -1; }
		.header .switchset a { xxpadding:1.6em 1em; padding:0.6em 1.2em ;display:inline-block; position:relative; left:0; cursor:pointer; opacity:.5; word-break:keep-all; }
		.header .switchset a:first-child { margin-right: -0.9em;}
		.header .switchset a:before { content:''; display:inline-block; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:-1; width:90%; height:2em; xxheight:1.8em; xxborder:2px solid white; border-radius:1em; opacity:0; transition: 0.5s ease-in-out; }
		/* .header .switchset a:first-child { padding-left:1.5em; } */
		/* .header .switchset a:first-child:before { left:calc(50% + .25em); width:calc(90% - .5em); } */
		.header .switchset a.selected { opacity:1; xxcolor:black; color:#ffffff !important; }
		.header .switchset a.selected:before { opacity:1; mix-blend-mode:screen; xxborder-color:#333; background: #b78817; }
		.header .switchset a.normal { opacity:1; }

	.header .menuobj.set .navobj { position:absolute; top:50%; left:0; transform:translateY(-50%); }
	.header .menuobj.set .switchset { position:absolute; top:50%; right:0; transform:translateY(-50%); }

	.header.shorten { height:50px; border-bottom:0 solid #ccc; background:white; box-shadow:0 20px 30px rgba(100,100,100,.1); }
	.header.oncorporate {}
	.header.oncorporate .navobj { display:none; } 
	.header.oncorporate .navobj.corporate { display:block; }

@media -ms-viewport, screen and (max-width:414px) {
	.header .navobj .item span { padding-bottom:.5em; }
	/* .header.openmenu .menuobj { padding-bottom:100px; } */
	
    }


.langpop { display:block; position:absolute; top:20px; right:2.2em; background:white; z-index:1200; border:1px solid #ccc; border-bottom:0; display:none; }
.langpop a { display:block; padding:1em; text-align:left; border-bottom:1px solid #ccc; }
.langbtn { display:block; width:150px; padding:1em; text-align:left; border-bottom:1px solid #ccc; }

.btnmenu { display:block; width:52px; height:52px; position:absolute; top:0; right:0; background:white; z-index:100; display:none; }
.btnmenu span { display:block; width:26px; height:2px; background:#333; position:absolute; top:50%; left:50%; transform-origin:center center; transform:translate(-50%,-50%); transition:all .2s; }
.btnmenu span:nth-child(1) { top:40%; }
.btnmenu span:nth-child(3) { top:60%; }
.btnmenu.open span:nth-child(1) { top:50%; transform:translate(-50%,-50%) rotate(45deg); }
.btnmenu.open span:nth-child(2) { opacity:0; transform:translate(-50%,-50%) rotate(45deg); }
.btnmenu.open span:nth-child(3) { top:50%; transform:translate(-50%,-50%) rotate(-45deg); }


.langset { position:absolute; top:48%; right:1.5em; transform:translateY(-50%); }
.langset a { display:inline-block; margin:0 3px; border-radius:40px; border:1px solid #ccc; width:32px; height:32px; text-align:center; font-size:.7em; text-transform:uppercase; position:relative; vertical-align:middle; cursor:pointer; background-repeat:no-repeat; background-position:center; background-size:63%; transition:all .1s; }
.langset a:hover { box-shadow:0 1px 3px rgba(0,0,0,.2); }
.langset a img { display:inline-block; margin:0; width:65%; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
.langset a span { display:inline-block; margin:0; text-align:center; position:absolute; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
.langset a.btn-search,
.langset a.btn-person { background-repeat:no-repeat; background-position:center; background-size:60%; }			
.langset a.btn-search { background-image:url('../img/icons/baseline-search-24px.svg'); }
.langset a.btn-person { background-image:url('../img/icons/baseline-person-24px.svg'); }			
.langset a.btn-lang { transition:all .1s; }
.langset a.btn-lang.openup {}

img.onhover { display:none!important; }
.header.ondark.hover img.onhover,
.header.ondark.hover img.normal { display:none!important; }
.header:hover img.normal { display:block; }
	
	.header.ondark { color:white; }
	.header.ondark img.normal { display:none; }
	.header.ondark:before { opacity:.25; }
	.header.ondark .logoobj:before { content:url('../img/logo-white.svg'); }
	.header.ondark .langset a { border:1px solid white; color:white; }
	.header.ondark .langset a.btn-search { background-image:url('../img/icons/baseline-search-24px-white.svg'); background-size:72%; background-position-x:center; background-repeat:no-repeat;}
	.header.ondark .langset a.btn-person { background-image:url('../img/icons/baseline-person-24px-white.svg'); background-size:72%; background-position-y:center; background-repeat:no-repeat;}
	.header.ondark .switchset a { color:white; }
	.header.ondark .switchset a:before { xxborder-color:white; }
	.header.ondark .switchset:before { content: url(/asset/icon/border-white.svg);} 
	.header.ondark .navobj .item:after { border-bottom-color:white; }
	
	
	.header.oncon { color:#333; background:white; }
	.header.oncon img.normal { display:none; }
	.header.oncon .logoobj:before { content:url('../img/logo.svg'); }
	.header.oncon .langset a.btn-search { background-image:url('../img/icons/baseline-search-24px.svg'); background-size:72%; background-position-x:center; background-repeat:no-repeat; }
	.header.oncon .langset a.btn-person { background-image:url('../img/icons/baseline-person-24px.svg'); background-size:72%; background-position-y:center; background-repeat:no-repeat; }
	.header.oncon .row { transition:all .3s; }
	.header.oncon .navobj, 
	.header.oncon .switchset { opacity:0; transition:all .3s; }
	.header.oncon .switchset a { color:#333; }
	.header.oncon .switchset:before,
	.header:hover .switchset:before { content: url(/asset/icon/border.svg);} 

	.header:hover { color:#333; }
	.header:hover img.normal { /*display:none;*/ }
	.header:hover .row { background:white; color:#333; }
	.header:hover .navobj, 
	.header:hover .switchset { opacity:1; }
	.header.ondark:hover .logoobj:before { content:url('../img/logo.svg'); }
	.header.ondark:hover .langset a { border:1px solid #ccc; color:#333; }
	.header.ondark:hover .langset a.btn-search { background-image:url('../img/icons/baseline-search-24px.svg'); background-size:72%; background-position-x:center; background-repeat:no-repeat;}
	.header.ondark:hover .langset a.btn-person { background-image:url('../img/icons/baseline-person-24px.svg'); background-size:72%; background-position-y:center; background-repeat:no-repeat;}
	.header.ondark:hover .switchset a { color:#333; }
	/* .header.ondark:hover .switchset a:before { border:2px solid #333; } */

	.header.hover { color:#333; xxxxxbox-shadow:0 1px 20px rgba(0,0,0,.1); }
	.header.hover .row { background:white; color:#333; }
	.header.hover .navobj, 
	.header.hover .switchset { opacity:1; }
	.header.ondark.hover .logoobj:before { content:url('../img/logo.svg'); }
	.header.ondark.hover .langset a { border:1px solid #ccc; color:#333; }
	.header.ondark.hover .langset a.btn-search { background-image:url('../img/icons/baseline-search-24px.svg'); background-size:72%; background-position-x:center; background-repeat:no-repeat; }
	.header.ondark.hover .langset a.btn-person {/* background-image:url('../img/icons/baseline-person-24px.svg');*/ }
	.header.ondark.hover .switchset a { color:#333; }







.locallang-en .switchset a { text-transform:uppercase; font-weight:bold!important; letter-spacing:.1em; font-size:.6em!important; }
.locallang-en .navobj .item { letter-spacing:0; padding:1.5em 1em; }
.locallang-ja .switchset a { text-transform:uppercase; font-weight:bold!important; letter-spacing:0; font-size:.9em!important; }
.locallang-ja .navobj .item { letter-spacing:0; font-size:.9em!important; }

.overlay { display:none; background:rgba(0,0,0,.5); position:fixed; top:60px; left:0; width:100%; height:100%; z-index:190; }
.overlay.show { display:block; }



	@media -ms-viewport, screen and (min-width:1401px) {
    }
    @media -ms-viewport, screen and (max-width:1440px) and (min-width:1025px) {
    }
    @media -ms-viewport, screen and (max-width:1024px) and (min-width:769px) {
    	.header .navobj .item { padding:1.6em .5em; }
    }
    @media -ms-viewport, screen and (max-width:768px) {
    	.header:before { content:''; display:none; height:1px; }
    	.header.ondark:before { opacity:.7; }
    	.header .logoobj { xxxxbackground:white; z-index:999; }
    	.header .logoobj:before { margin:.5em 1.5em; }
    	.header .row { overflow:visible; } 
    	.header .menuobj { display:none; font-size:1.05em; top:60px; left:0; transform:translate(0,0); background:white; padding:0; overflow-x:hidden; overflow-y:scroll; background:#f1f2f5; }
        .header .navobj { letter-spacing:0; display:none; border-right:0; position:relative; } 
        .header .navobj.tour:after { content:''; display:block; width:calc(100% - 4em); position:absolute; bottom:0; left:2em; border-bottom:1px solid #ccc; }
        .header .navobj h3 { padding:0 1.3em; }
        .header .navobj .item { padding:.7em 1.8em; letter-spacing:0; }
        .header .navobj .item:after { bottom:0; left:0; width:2px; height:100%; border-bottom:0; border-right:3px solid #333; }
        .header .navobj .item span { padding-bottom:0; }
        .header .switchset { display:none; }
        .header .switchset span { display:none; letter-spacing:0!important; padding:1.4em .5em; }
        .header .switchset span.selected { display:block; }
        .locallang-en .header .navobj .item { font-size:.9em; }

        .xxlangset { display:none; }
		.btnmenu { display:block; }

		.header.ondark .navobj .item:after { border-bottom-color:#333; opacity:0; }
		.header.ondark .navobj .item.selected { background:#e2e4e6; }

        .header.oncon .logoobj { xxbox-shadow:0 0 10px rgba(0,0,0,.2); }
        .header.openmenu .menuobj { display:block; width:100vw!important; height:calc(100vh - 60px)!important; height:calc(100dvh - 60px)!important; display: flex; flex-direction: column !important;}
        .header.openmenu .langset { top:115px; z-index:204; }
        .header.openmenu .langset .btn-lang { display:none; }
        .header.openmenu .lang { background:transparent; top:30px; text-align:center; padding:0; z-index:202; opacity:1; }
        .header.openmenu .navobj { display:block!important; width:100%; height:auto; padding:1.5em 0; position:relative!important; top:auto!important; left:auto!important; transform:none!important; } 
        .header.openmenu .navobj.tour { margin-top:60px; } 
        .header.openmenu .navobj .item { display:block; } 
    }



.megamenu { display:flex; width:100%; height:auto; margin-top:60px; min-height:20vw; background-color:#f1f2f5; xxbackground:white; box-shadow:0 1px 2px rgba(0,0,0,.2); position:relative; z-index:901; opacity:0; }
.megamenu a { text-decoration:none; }
.megamenu h5 { font-size:1.1em; }
.megamenu .btn-home { display:none; font-weight:bold; font-size:1.2em; color:#333; transform:translateY(1em); }
.megamenu .btn-back { display:none!important; }
.megamenu .subtitleblock { display:block; width:20%; background:white; text-align:right; padding:2vw; xxborder-right:1px solid #ccc; }
.megamenu .subtitleblock a { display:block; padding:.4em; color:#333; font-weight:500; font-size:1em; padding-left:30px; position:relative; cursor:pointer; }
.megamenu .subtitleblock a:hover, 
.megamenu .subtitleblock a.selected { color:#cc9449; opacity:1; }
.megamenu .subtitleblock a.btn-home { display:none; }
.megamenu .submenublock { display:block; width:30%; padding:2.2vw 2.6vw; }
.megamenu .submenublock .subblock { display:none; }
.megamenu .submenublock a { display:block; position:relative; color:#333; cursor:pointer; opacity:.6; transition:all .3s; padding:.3em 0; }
.megamenu .submenublock a:after { content:''; display:block; width:8px; height:8px; border-radius:50%; background:#ccc; position:absolute; top:50%; left:-8px; transform:translateY(-50%); opacity:0; transition:all .3s; }
.megamenu .submenublock a:hover:after { opacity:1; }
.megamenu .submenublock a:hover, 
.megamenu .submenublock a.selected { xcolor:#cc9449; opacity:1; padding-left:12px; }

.megamenu .shortcutblock { display:block; width:15%; padding:2vw 2.2vw; }
.megamenu .shortcutblock.tide { padding:2vw 4.2vw; }
.megamenu .shortcutblock a { display:block; padding:.3em 0; font-size:.97em; color:black; position:relative; cursor:pointer; }
.megamenu .shortcutblock a:before { content:url('../img/icons/icon-arrow-next.svg'); transition:all .3s; display:inline-block; width:14px; height:14px; margin-right:5px; transform:translateY(2px); opacity:.6; /*position:absolute; top:0; left:0; */}
.megamenu .shortcutblock a:hover:before { margin-right:10px; }
.megamenu .shortcutblock .small1 { font-size:.92em; display:block; }
.megamenu .shortcutblock .small2 { font-size:.7em; }

.megamenu .adblock { display:flex; width:35%; padding:0 .7em; justify-content:right; }
.megamenu .adblock .adobj { display:block; width:100%; min-height:17vw; margin:1.5em .5em; text-align:left; cursor:pointer; position:relative; xxbackground:pink; }
.megamenu .adblock .adobj img { display:block; xxxxwidth:auto; xxxheight:12vw; position:relative; z-index:8; }
.megamenu .adblock .adobj .img { display:block; width:100%; height:70%; min-height:10vw; position:relative; z-index:8; background-position:center; background-size:cover; background-repeat:no-repeat; }
.megamenu .adblock .adobj .con { display:block; padding:10px 15px; padding:10px 0; position:relative; z-index:10; }
.megamenu .adblock .adobj .con p { margin:.5em 0; }
.megamenu .adblock .adobj .con small { display:block; font-size:.9em; margin:1em 0 .5em 0; letter-spacing:.1em; opacity:.5; }

.megamenu .adblock .adobjxxxx,
.megamenu .adblock .adobj img,
.megamenu .adblock .adobj .img { 
	width:27vw!important; height:15.3vw!important; object-fit:cover;
}


.megamenu .adblock.event .adobj { width:27vw; margin-right:2em; }
.megamenu .adblock.event .adobj .con { font-size:.9em; }
.megamenu .adblock.flex .adobj { display:flex; width:auto; }
.megamenu .adblock.flex .adobj .img { display:block; width:50%; }
.megamenu .adblock.flex .adobj .con { width:50%; padding:.4em 1.5em; }

.megamenu .btn-back { display:none; position:absolute; top:-8px; left:-55px; z-index:200; cursor:pointer; }
.megamenu .btn-back:before { content:url('../images/icons/icon-arrow-pre.svg'); display:block; width:40px; height:40px; padding:10px; }

.megamenu.hide { display:none; }
.megamenu.event .shortcutblock,
.megamenu.conews .shortcutblock,
.megamenu.copublic .shortcutblock,
.megamenu.cocsr .shortcutblock,
.megamenu.coabout .shortcutblock { width:40%; }

.megamenu.event .adblock,
.megamenu.conews .adblock,
.megamenu.copublic .adblock,
.megamenu.cocsr .adblock,
.megamenu.coabout .adblock { width:60%; }

.searchbar { display:block; width:100vw; height:100vh; position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); background:rgba(0,0,0,.7); display:none; }
.searchbar .conbox { display:block; width:300px; height:auto; padding:2em; text-align:center; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background-color: white; box-shadow:0 10px 30px rgba(0,0,0,.2); }

.type1 div > .adobj{ height:auto; width:46%; padding:0; margin-right:1.8em; vertical-align:top; }
.type1 div > .adobj img{ height:13vw; width:auto; }
.type1 .adobj.inrow img,
.type1 .adobj.inrow .con { width:100%; }
.type2 .adobj .img { height:18vw; }
.type3 .adobj.half { width:100%; }
.type3 .adobj { height:auto; }
.type3 .adobj.inrow .img { height:18vw; }


.locallang-tw .langset a { font-size:.8em; }
.locallang-en .subtitleblock { font-weight:300; }
.locallang-jp .subtitleblock { font-size:.8em; border:2px solid green; }



    @media -ms-viewport, screen and (max-width:768px) {
    	.megamenu { display:block; width:100%; height:calc(100vh - 60px); overflow-x:hidden; overflow-y:scroll; background-color:#f1f2f5; box-shadow:0!important; position:fixed; top:0; left:0; transition:all .3s; }
    	.megamenu.hide { display:block; left:102%; }
    	.megamenu .btn-back { position:relative; top:2em; left:2.1em; font-family:'ptSerif'; opacity:.5; display:block!important; }
    	.megamenu .btn-back:before { content:url('../icon/icon-arrowprev.svg'); position:absolute; top:50%; left:-2em; transform:translateY(-50%); width:1em; height:1em; opacity:.5; }
    	.megamenu .btn-home { display:block; opacity:1; margin:2em 1.7em -1em 1.7em; }
    	.megamenu .subtitleblock { display:none; }
		.megamenu .submenublock,
		.megamenu .shortcutblock,
		.megamenu .shortcutblock.tide, 
		.megamenu .adblock { width:100%; padding:2em; text-align:left; font-size:1em; }
		.megamenu .submenublock h3 { font-size:1em; margin:1em 0; }
		.megamenu .submenublock .subblock { display:block; border-bottom:1px solid #ccc; padding:1em 0; }
		.megamenu .submenublock .subblock:last-child { xxxxborder-bottom:0; }
		.megamenu .shortcutblock a { font-size:1.05em; }
		.megamenu .adblock .adobj img { width:100%!important; height:auto!important; }
		.megamenu .adblock .adobj .img { height:auto!important; }
		.megamenu .adblock .adobj { margin:1em 0; }
		
		.megamenu .adblock.event .adobj,
		.megamenu .adblock.flex .adobj,
		.megamenu .adblock.flex .adobj .con,
		.megamenu .adblock.flex .adobj .img,
		.megamenu .adblock .adobj img,
		.megamenu.cocsr .adblock,
		.megamenu.copublic .adblock,
		.megamenu.coabout .adblock,
		.megamenu.event .adblock { display:block; width:100%; }
		.megamenu .adblock.flex .adobj .con { padding:1em 0; }

		.megamenu.event .shortcutblock,
		.megamenu.conews .shortcutblock,
		.megamenu.copublic .shortcutblock,
		.megamenu.cocsr .shortcutblock,
		.megamenu.coabout .shortcutblock { padding-top:4em; }
		

    }



.fmenuset { display:block; position:fixed; top:50%; right:0; transform:translateY(-50%); z-index:888; width:4em; height:250px; }
.fmenuset h3 { display:block; width:250px; text-align:center; position:absolute; top:50%; right:-12em; transform-origin:center; transform:translateY(-50%) rotate(90deg); word-break:keep-all; font-size:.5em; font-family:'ptSerif'; letter-spacing:.6em; margin-left:.6em; text-transform:uppercase; xxtransition:all .2s; padding:1em; cursor:pointer; }
.fmenuset h3:hover { xxxletter-spacing:1.3em; }
.fmenuset:hover { background:#cea84d; }
.fmenuset:hover h3 { color:white; }
.fmenuset.white h3 { color:white; }
.fmenuset .menu { display:block; position:absolute; top:50%; right:0; xxtransform:translate(100%,-50%); display:none; transform:translate(-20%,-50%); xxtransition:all .3s; }
.fmenuset .menu a { display:block; font-size:.6em; padding:1.5em .5em; font-family:'ptSerif'; text-align:center; }
.fmenuset .menu a.selected { color:#333; }
.fmenuset .menu h4 { font-size:.8em; text-align:center; padding:2em 0 1em 0; margin-top:2em; border-top:1px solid #ccc; }
.fmenuset .menu h4:first-child { margin-top:0; border-top:0; }
.fmenuset.open { width:7em; height:750px; color:white; }
.fmenuset.open h3 { right:-10vw; }
.fmenuset.open .menu { display:block; xxtransform:translate(-20%,-50%); }
	
	@media only screen and (max-width:1200px) and (min-width:769px) { 
        .fmenuset { display:none!important; }    
    }
	@media only screen and (max-width:768px) and (min-width:415px) {
        .fmenuset { display:none!important; }        
    }
    @media only screen and (max-width:414px)  {
        .fmenuset { display:none!important; }        
    }





/*
============================================================================================================
   __          _           
  / _|___  ___| |_ ___ _ _ 
 |  _/ _ \/ _ \  _/ -_) '_|
 |_| \___/\___/\__\___|_|  
                           
============================================================================================================
*/


.footer { display:block; box-sizing:border-box; padding:2em 2em 2em 17em; background:#212123; color:white; margin:0; font-size:.87em; position:fixed; bottom:0; left:0; width:100%; z-index:2; }
	.footer:before { content:''; display:block; background:#212123; position:absolute; top:0; left:0; width:100%; height:10vh; z-index:1; transform:translateY(-99%); }
	.footer .logo { display:block; margin:0; height:3em; position:absolute; top:2em; left:2em; }
    .footer .border-right { border-right:1px solid #454548!important; }
    .footer .therow { padding:1em 0; text-align:left; vertical-align:top; }
    .footer .therow.flex { display:flex; }
    .footer .therow p { display:block; text-align:left; vertical-align:top; }
    .footer .therow small { display:block; text-align:left; margin-top:5px; opacity:.5; }
    .footer .therow a { display:inline-block; margin-right:.8em; cursor:pointer; }
    .footer .therow a:hover { color:#c6a880; }
    .footer .therow .vcol { display:block; padding:0; border-right:1px dotted #999; text-align:left; padding-right:3em; vertical-align:top; margin-right:.5em; }
    .footer .therow .vcol:last-child { border-right:0; padding-left:1.5em; }
    .footer .icon-social { display:inline-block; width:30px; height:30px; opacity:.5; cursor:pointer; vertical-align:top; }
    .footer .icon-social img { display:block; width:30px; height:30px; }
    .footer .icon-social:hover { opacity:1; }

    @media only screen and (max-width:1024px) and (min-width:769px) {
        .footer { padding:2em; }
        .footer .logo { transform:translateY(-1em); position:relative; top:auto; left:auto; }
        
    }
    @media only screen and (max-width:768px)  {
        .footer { padding:20px; }
        .footer .logo { transform:translateY(-1em); position:relative; top:auto; left:auto; }
    	.footer .therow.flex { display:block; }
        .footer .therow .vcol { display:block; padding:.5em 0; border-right:0; border-bottom:1px dotted #999; }
        .footer .therow .vcol:last-child { border-bottom:0; padding-left:0; }
        
    }









