@stratusjs/idx
Version:
AngularJS idx/property Service and Components bundle to be used as an add on to StratusJS
563 lines (526 loc) • 12.2 kB
text/less
/*
Nothing should be outside 'stratus-idx-property-details' or it will leak into other modules
z-index can cause a bleeding effect on popups (z-index 100 equates to the top most item for angular, use the lowest number possible and work up)
*/
@tablet: ~"(max-width: 959px)";
@phone: ~"(max-width: 599px)";
@desktop-only: ~"(min-width: 600px)";
stratus-idx-property-details .property-details-default {
position: relative;
line-height: 1.5;
font-size: 15px;
md-progress-circular {
margin: 30px auto;
path,
&.md-default-theme path {
stroke: rgb(33, 33, 33);
}
}
h2 {
margin: 0 0 20px;
font-size: 40px;
text-transform: uppercase;
letter-spacing: 2px;
color: #dadada;
line-height: 1;
@media @tablet {
font-size: 36px;
}
@media @phone {
font-size: 30px;
}
}
ul {
list-style: none;
padding: 0;
margin: 0;
}
/* Generic dotted underline/sideline */
.dotted-spaced-underline {
background: linear-gradient(to right, #000 15%, rgba(255, 255, 255, 0) 0%) repeat-x bottom left;
background-size: 7px 1px;
}
/* Generic data-ng-repeat classes */
.repeatedArray {
&:first-child .hideFirstChild {
display: none;
}
&:last-child .hideLastChild {
display: none;
}
}
/* Header Section */
.details-header {
text-align: center;
padding: 75px 6% 55px;
background: #fff;
h1 {
margin: 0 0 26px;
font-size: 40px;
letter-spacing: 4px;
text-transform: uppercase;
color: #272727;
@media @phone {
font-size: 30px;
}
}
h4 {
font-size: 12px;
font-weight: bold;
letter-spacing: 6px;
text-transform: uppercase;
color: #000;
margin: 0 0 8px 0;
}
}
/* Carousel & Video Container */
.gallery-video-container {
max-width: 1400px;
margin: 0 auto;
background: #f4f4f4;
/* Tabs */
md-content,
md-content.md-default-theme {
background: #222;
}
md-pagination-wrapper {
&.md-center-tabs {
height: 38px;
}
}
md-tabs,
md-tabs.md-default-theme {
padding: 10px 4px;
font-size: 13px;
letter-spacing: 2px;
color: #ccc;
margin: 0 12px;
.md-tab {
&.md-active,
&.md-focused {
color: #fff;
font-weight: bold;
md-icon {
color: #fff;
font-weight: bold;
}
}
}
md-ink-bar {
color: #fff;
background: #fff;
}
}
/* Navigation */
.swiper-button-next,
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
&::after {
transition: all 0.2s ease-out;
color: #fff;
padding: 0 12px;
background: rgba(0, 0, 0, 0.05);
}
&:hover {
&::after {
background: rgba(0, 0, 0, 0.15);
}
}
}
/* Tabs Content */
.swiper-zoom-container > img {
height: auto;
max-height: 90vh;
}
}
.gallery-fallback {
img {
width: 100%;
}
}
/* Details Container */
.details-container {
padding: 70px 8%;
@media @tablet {
padding: 50px 8%;
}
@media @desktop-only {
/* Columns */
.details-left {
float: left;
width: 28%;
margin-right: 5%;
}
.details-right {
float: left;
width: 67%;
}
}
/* Listing Credit for Presented By / List Agent */
.listing-credit-container {
padding-bottom: 40px;
margin-bottom: 40px;
.listing-credit-divider {
border-left: 1px solid rgba(0, 0, 0, 0.2);
}
.listing-credit-title {
font-size: 13px;
letter-spacing: 2px;
margin: 0 0 5px 0;
@media @phone {
margin-top: 30px;
}
}
.listing-credit-contact {
margin: 10px 0 0 0;
font-size: 16px;
}
}
/* Standard Sections */
.list-price {
margin: 0 0 50px;
font-size: 20px;
font-weight: bold;
color: #1d1d1d;
text-transform: uppercase;
letter-spacing: 1px;
}
.property-title {
margin: 0 0 40px;
font-size: 28px;
font-weight: bold;
line-height: 1.2;
color: #424242;
text-transform: none;
}
.description {
font-size: 16px;
line-height: 1.6;
}
/* About Container */
&.about-container {
background: #fff;
ul.details-specs {
display: block;
margin-top: 50px;
font-size: 12px;
text-transform: uppercase;
font-weight: normal;
color: #555;
letter-spacing: 1px;
li {
margin-bottom: 10px;
&:last-child {
margin-bottom: 0;
}
@media @phone {
margin-bottom: 12px;
}
&.mls-service {
margin: 20px 0 40px;
img {
max-height: 35px;
width: unset;
}
}
}
@media @phone {
margin-top: 40px;
}
}
.response-container {
a {
margin: 30px 14px 0 0;
padding: 8px 30px;
display: inline-block;
font-size: 14px;
}
}
}
/* Open House */
&.open-house-container {
background: #444;
.open-house {
h2 {
margin-bottom: 40px;
}
.btn {
&.btn-alt {
margin: 0 0 0 12px;
color: #fff;
border: 1px solid #fff;
&:hover {
color: #222;
background: #fff;
border: 1px solid #fff;
}
@media @phone {
margin: 20px 0 0;
}
}
}
.remarks {
max-width: 200px;
color: #dedede;
font-size: 15px;
font-style: italic;
line-height: 1.7;
@media @phone {
max-width: unset;
margin-bottom: 20px;
}
}
.details-right {
background: linear-gradient(to right, #000 45%, rgba(255, 255, 255, 0) 0%) repeat-x;
background-size: 7px 1px;
}
.open-house-item {
padding: 26px 0 28px;
background: linear-gradient(to right, #000 45%, rgba(255, 255, 255, 0) 0%) repeat-x bottom;
background-size: 7px 1px;
.month {
margin: 0 0 16px;
font-size: 13px;
color: #dadada;
text-transform: uppercase;
letter-spacing: 1px;
}
.day {
padding-right: 20px;
margin-right: 20px;
font-size: 80px;
color: #dadada;
line-height: 0.8;
border-right: 1px solid rgba(255, 255, 255, 0.4);
}
.day-weekday-time-agent {
color: #fff;
font-size: 15px;
line-height: 1.3;
}
}
}
}
/* Location */
&.map-location {
background: #fff;
h2 {
padding-bottom: 30px;
margin-bottom: 30px;
}
.google-map-embed {
border: 0;
height: 450px;
width: 100%;
}
}
/* Schematics */
&.schematics {
background: #252525;
h2 {
margin-bottom: 30px;
padding-bottom: 30px;
color: #8d8d8d;
background: linear-gradient(to right, #fff 5%, rgba(255, 255, 255, 0) 0%) repeat-x bottom left;
background-size: 7px 1px;
}
h4 {
margin: 14px auto 0;
font-size: 11px;
letter-spacing: 2px;
color: #d5d5d5;
text-align: center;
}
.schematics-container {
margin: 0 -1.5%;
.schematics-column {
float: left;
width: 50%;
@media @phone {
float: none;
width: unset;
}
}
.btn-download {
transition: all 0.2s ease-out;
display: table;
margin: 14px auto 0;
width: 30px;
height: 28px;
opacity: 0.5;
background: url('../src/property/images/btn-download.png') no-repeat center top;
background-size: 30px;
&:hover {
transform: scale(1.1);
opacity: 1;
}
}
.schematics-image {
margin: 3%;
padding: 60px 5%;
background: #fff;
a {
display: block;
transition: all 0.2s ease-out;
&:hover {
opacity: 0.8;
}
}
img {
display: block;
margin: 0 auto;
}
}
.floorplan,
.siteplan {
margin: 0 auto;
max-width: 700px;
}
@media @phone {
.siteplan {
margin-top: 40px;
}
}
@media @phone {
margin: 0;
}
}
}
/* Additional Details */
&.additional-details {
background-color: #f4f4f4;
h2 {
padding-bottom: 30px;
margin-bottom: 40px;
}
h4 {
margin: 46px 0 20px;
font-size: 12px;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 2px;
color: #9e9e9e;
}
ul {
li {
line-height: 1.6;
&:first-child h4 {
margin-top: 0;
}
}
}
.detail-sections {
column-count: 2;
column-gap: 5em;
@media @phone {
column-count: 1;
}
.property-details-sub-section,
stratus-idx-property-details-sub-section {
&:last-child .sub-detail-section {
margin-bottom: 0;
}
.sub-detail-section {
display: inline-block;
margin: 0 0 40px;
width: 100%;
.section-name {
display: block;
margin: 0 0 12px;
font-size: 12px;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 2px;
color: #9e9e9e;
}
.item-label {
font-weight: bolder;
}
}
}
}
}
/* Contact Container */
&.contact-container {
background: #fff;
text-align: center;
h4 {
margin: 30px 0;
font-size: 14px;
}
p {
margin: 4px 0;
line-height: 1.2;
font-size: 18px;
text-transform: none;
letter-spacing: normal;
}
.btn-contact {
margin-top: 30px;
}
}
/* Disclaimer Section */
&.disclaimer-container {
background: #fff;
color: #666;
stratus-idx-disclaimer {
&.border-top .disclaimer-outer-container {
border-top: 1px solid rgba(0, 0, 0, 0.15);
}
.disclaimer-outer-container {
font-size: 13px;
}
}
}
}
/* Secondary Image Container */
.secondary-image-container {
position: relative;
.btn {
&.btn-alt {
margin: 0;
color: #fff;
font-size: 30px;
padding: 10px 40px;
border: 1px solid #fff;
background: none;
&.btn-contact {
z-index: 1;
transform: translate(-50%, -50%);
position: absolute;
top: 50%;
left: 50%;
}
&:hover {
color: #222;
background: #fff;
border: 1px solid #fff;
}
@media @tablet {
font-size: 36px;
}
@media @tablet {
font-size: 30px;
}
}
}
.image-wrapper {
background-position: center;
background-repeat: no-repeat;
background-size: cover;
img {
opacity: 0.7;
width: 100%;
}
}
.image-dimmer {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0, 0, 0, 0.35);
}
}
}