/* 
|--------------------------------------------------------------------------
| Basic layout
|--------------------------------------------------------------------------
*/

body {
	margin: 0;
	text-align: center;
	font: 1em/1.3em "Lucida Grande", Arial, Arial, sans-serif; 
	background-color: #efefef ;
}


div.outer {
	font-size: 75%;
	margin: 100px auto;
	width: 600px;
	height: 600px;
}

div.outer.narrow{
	width:460px;
}

div.outer.wide {
	width: 800px;
}

div.outer.wider {
	width: 940px;
}

.dialog {
	padding: 0 0 20px;
	background-color: white;
	border-top: 1px solid #ddd;
	border-right: 1px solid #ccc;
	border-left: 1px solid #ddd;
	border-bottom: 1px solid #ccc;
}

h1 {
	font-size: 100%;
	background: #000;
	color: white;
	margin: 0;
	padding: 5px 10px;
	position:relative;
}

h1 span {
	position:absolute;
	top:5px;
	right:10px;
	font-size: 75%;
	color: #666;
}

.block {
	text-align: left; 
	margin: 0 auto;
	margin: 16px 30px 0;
}	

input[type="submit"],
input[type="button"]{
	cursor:pointer;
}

input[type="text"],
input[type="password"]{
	width:230px;
}

select{
    width: 236px;
}		

ul{
	list-style:none;
	text-align:left;
	margin:0 0 0 30px;
	padding:0;
}

label{
	display:block;
	font-weight:bold;
}

a {
  color: #0088cc;
  text-decoration: none;
}

a:hover {
  color: #005580;
  text-decoration: underline;
}

.small{
    font-size:0.8em;
    line-height:1.2em;
}

/*
|--------------------------------------------------------------------------
| Aux classes
|--------------------------------------------------------------------------
*/
.st {
	margin-top: 10px;
}

.sl {
	margin-left: 10px;
}

.sr {
	margin-right: 10px;
}

.sb {
	margin-bottom: 10px;
}

.ssb {
	margin-bottom: 20px;
}

.sst {
	margin-top: 20px;
}

.ssl {
	margin-left: 20px;
}

.ssr {
	margin-right: 20px;
}

.pt {
	padding-top: 10px;
}

.pl {
	padding-left: 10px;
}

.pr {
	padding-right: 10px;
}

.pb {
	padding-bottom: 10px;
}

.ppb {
	padding-bottom: 20px;
}

.ppt {
	padding-top: 20px;
}

.ppl {
	padding-left: 20px;
}

.ppr {
	padding-right: 20px;
}

.fl {
    float: left;
}

.fr {
    float: right;
}

.oh {
    overflow: hidden;
}

.hidden {
	display: none;
}

.error{
	color:#a00000;
}

.success{
	color:#00a000;
}

.align-center{
	text-align:center;
}

.align-right{
	text-align:right;
}

/*
|--------------------------------------------------------------------------
| Tables
|--------------------------------------------------------------------------
*/
table {
	border:1px solid #DDDDDD;
	border-collapse: collapse;
	width:100%;
}

table th,
table td {
	padding: 8px;
	line-height: 18px;
	text-align: left;
	vertical-align: middle;
	border-top: 1px solid #dddddd;
}

table th {
    background: #F8F8F8;
}

/*
|--------------------------------------------------------------------------
| Button class from Bootstrap
|--------------------------------------------------------------------------
*/
.btn {
  display: inline-block;
  *display: inline;
  padding: 4px 10px 4px;
  margin-bottom: 0;
  *margin-left: .3em;
  font-size: 13px;
  line-height: 18px;
  *line-height: 20px;
  color: #333333;
  text-align: center;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  vertical-align: middle;
  cursor: pointer;
  background-color: #f5f5f5;
  *background-color: #e6e6e6;
  background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
  background-repeat: repeat-x;
  border: 1px solid #cccccc;
  *border: 0;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
  border-bottom-color: #b3b3b3;
  -webkit-border-radius: 4px;
     -moz-border-radius: 4px;
          border-radius: 4px;
  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
  *zoom: 1;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
     -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.btn:hover,
.btn:active,
.btn.active,
.btn.disabled,
.btn[disabled] {
  background-color: #e6e6e6;
  *background-color: #d9d9d9;
}

.btn:active,
.btn.active {
  background-color: #cccccc \9;
}

.btn:first-child {
  *margin-left: 0;
}

.btn:hover {
  color: #333333;
  text-decoration: none;
  background-color: #e6e6e6;
  *background-color: #d9d9d9;
  /* Buttons in IE7 don't get borders, so darken on hover */

  background-position: 0 -15px;
  -webkit-transition: background-position 0.1s linear;
     -moz-transition: background-position 0.1s linear;
      -ms-transition: background-position 0.1s linear;
       -o-transition: background-position 0.1s linear;
          transition: background-position 0.1s linear;
}

.btn:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

.btn.active,
.btn:active {
  background-color: #e6e6e6;
  background-color: #d9d9d9 \9;
  background-image: none;
  outline: 0;
  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
     -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
          box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}

.btn.disabled,
.btn[disabled] {
  cursor: default;
  background-color: #e6e6e6;
  background-image: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
     -moz-box-shadow: none;
          box-shadow: none;
}

/**
 * 	Other custom CSS
 */

#home{
	overflow:hidden;
}

#home .customer-box {
	width: 300px;
	float: left;
}

#home .order-box {
	width: 560px;
	float: left;
}

#home .portrait{
	float:left;
	margin-right:10px;
}


#home .address{
	clear:both;
	padding-top:20px;
	font-style:italic;
}

#order{
	overflow:hidden;
}

#order .details-box {
	width: 230px;
	float: left;
}

#order .contents-box {
	width: 508px;
	float: left;
}

#order img{
	vertical-align:middle;
	margin-right:4px;
	max-width:50px;
	max-height:50px;
}

#order .address{
	font-style:italic;
}

.order-box a.checkout-link {
    background: url("../img/account/open-new-tab.png") no-repeat 0 -17px;
    width: 16px;
    height: 16px;
    display: inline-block;
    font-size:0;
}

.order-box a.checkout-link:hover {
    background-position: 0 0;
}

/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/
@media (max-width: 600px) {
    /* Stack divs and use full width */
    body {
	    text-align: center;
	    background-color: #fff ;
    }
    
    div.outer{
        width:100% !important;
        margin:0;
    }
    
    .dialog{
        border:0 none;
    }
    
    #home .customer-box,
    #home .order-box,
    #order .details-box,
    #order .contents-box{
	    width: 100%;
	    float: none;
    }
    
    /* Forms */
    form input[type="text"],
    form input[type="password"],
    form select{
        width:100%;
        padding: 4px 6px;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
    }
    
    .secondary-cta{
        display: block;
        margin-top: 5px;
        text-align: right;
    }
    
    /* Login */
    .forgot-password{
        margin-left:0;
    }
    
    /* Checkout link in order list */
    .order-box a.checkout-link {
        background: none;
        width: auto;
        height: auto;
        font-size:1em;
    }
    
    /* 
     * Responsive tables inspired on:
     * http://mobifreaks.com/user-interface/responsive-and-seo-friendly-data-tables/
     */     
    table.responsive,
    table.responsive tbody,
    table.responsive tr,
    table.responsive td{
        display:block;
        border:0;
    }
     
    table.responsive thead{
        display:none;
    }
     
    table.responsive tr{
        margin-bottom:10px;
    }
    
    /* Key value display */
    table.responsive td{
        padding: 0 0 3px;
        text-align:left;
    }
     
    table.responsive tr:not(.oneliner) td:before,
    table.responsive tr.oneliner td:first-child{
        display:inline-block;
        width: 30%;
        min-width: 50px;
        font-weight:bold;
        text-align:left;
    }
    
    table.responsive tr:not(.oneliner) td:before{
        content:attr(data-label);
    }
    
    table.responsive tr:not(.oneliner) td{
        width: 100%;
    }
    
    table.responsive tr.oneliner td:not(:first-child){
        display:inline-block;
        width: 60%;
    }
    
    /* Border */
    table.responsive tr:not(.oneliner) td:first-child{
        border-top: 1px solid #f4f4f4;
        padding-top:10px;
    }
    
    table.responsive tr.oneliner{
        border-top: 1px solid #f4f4f4;
        padding-top:10px;
    }
    
    table.responsive{
        border-bottom: 1px solid #f4f4f4;
    }
}

/*
|--------------------------------------------------------------------------
| Tablets
|--------------------------------------------------------------------------
*/
@media (min-width: 601px) and (max-width: 939px) {
    div.outer {
	    max-width:90% !important;
    }

    #home .customer-box,
    #home .order-box,
    #order .details-box,
    #order .contents-box{
	    width: 100%;
	    float: none;
    }
}
