Files
nexter-react/static/css/main.fb2b102b.chunk.css.map
T
2021-05-15 12:28:52 +03:00

1 line
33 KiB
Plaintext

{"version":3,"sources":["webpack://src/index.css","webpack://src/sass/_base.scss","webpack://src/sass/_include-media.scss","webpack://src/sass/_typography.scss","webpack://src/sass/_utils.scss","webpack://src/sass/_sidebar.scss","webpack://src/sass/_header.scss","webpack://src/sass/_realtors.scss","webpack://src/sass/_features.scss","webpack://src/sass/_story.scss","webpack://src/sass/_homes.scss","webpack://src/sass/_gallery.scss","webpack://src/sass/_footer.scss"],"names":[],"mappings":"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","file":"main.fb2b102b.chunk.css","sourcesContent":["body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n","// COLOR VARIABLES\n$color-primary: #c69963;\n$color-primary-dark: #b28451;\n\n$color-secondary: #101d2c;\n\n$color-grey-light-1: #f9f7f6;\n$color-grey-light-2: #aaa;\n\n$color-grey-dark-1: #54483a;\n$color-grey-dark-2: #6d5d4b;\n\n// FONT VARIABLES\n$font-primary: \"Nunito\", sans-serif;\n$font-display: \"Josefin Sans\", sans-serif;\n\n*,\n*::before,\n*::after {\n margin: 0;\n padding: 0;\n box-sizing: inherit;\n}\n\nhtml {\n box-sizing: border-box;\n font-size: 62.5%;\n\n @include media(\"<largest\") {\n font-size: 50%;\n }\n}\n\nbody {\n font-family: $font-primary;\n color: $color-grey-dark-2;\n font-weight: 300;\n line-height: 1.6;\n}\n\n::selection {\n background-color: $color-primary;\n color: #fff;\n}\n\n.container {\n display: grid;\n grid-template-rows: 80vh min-content 40vw repeat(3, min-content);\n grid-template-columns:\n [sidebar-start] 8rem [sidebar-end full-start] minmax(6rem, 1fr)\n [center-start] repeat(8, [col-start] minmax(min-content, 14rem) [col-end])\n [center-end] minmax(6rem, 1fr)\n [full-end];\n\n @include media(\"<large\") {\n grid-template-rows: 6rem 80vh min-content 40vw repeat(3, min-content);\n grid-template-columns:\n [full-start] minmax(6rem, 1fr)\n [center-start] repeat(8, [col-start] minmax(min-content, 14rem) [col-end])\n [center-end] minmax(6rem, 1fr)\n [full-end];\n }\n\n @include media(\"<medium\") {\n grid-template-rows: 6rem calc(100vh - 6rem);\n }\n}\n","@charset \"UTF-8\";\n\n// _ _ _ _ _\n// (_) | | | | | (_)\n// _ _ __ ___| |_ _ __| | ___ _ __ ___ ___ __| |_ __ _\n// | | '_ \\ / __| | | | |/ _` |/ _ \\ | '_ ` _ \\ / _ \\/ _` | |/ _` |\n// | | | | | (__| | |_| | (_| | __/ | | | | | | __/ (_| | | (_| |\n// |_|_| |_|\\___|_|\\__,_|\\__,_|\\___| |_| |_| |_|\\___|\\__,_|_|\\__,_|\n//\n// Simple, elegant and maintainable media queries in Sass\n// v1.4.9\n//\n// https://eduardoboucas.github.io/include-media\n//\n// Authors: Eduardo Boucas (@eduardoboucas)\n// Kitty Giraudel (@kittygiraudel)\n//\n// This project is licensed under the terms of the MIT license\n////\n/// include-media library public configuration\n/// @author Eduardo Boucas\n/// @access public\n////\n\n///\n/// Creates a list of global breakpoints\n///\n/// @example scss - Creates a single breakpoint with the label `phone`\n/// $breakpoints: ('phone': 320px);\n///\n$breakpoints: (\n \"small\": 37.5em,\n // 600px\n \"medium\": 50em,\n // 800px\n \"large\": 62.5em,\n // 1000px\n \"largest\": 75em,\n // 1200px\n) !default;\n\n///\n/// Creates a list of static expressions or media types\n///\n/// @example scss - Creates a single media type (screen)\n/// $media-expressions: ('screen': 'screen');\n///\n/// @example scss - Creates a static expression with logical disjunction (OR operator)\n/// $media-expressions: (\n/// 'retina2x': '(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)'\n/// );\n///\n$media-expressions: (\n \"screen\": \"screen\",\n \"print\": \"print\",\n \"handheld\": \"handheld\",\n \"landscape\": \"(orientation: landscape)\",\n \"portrait\": \"(orientation: portrait)\",\n \"retina2x\":\n \"(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx)\",\n \"retina3x\":\n \"(-webkit-min-device-pixel-ratio: 3), (min-resolution: 350dpi), (min-resolution: 3dppx)\",\n) !default;\n\n///\n/// Defines a number to be added or subtracted from each unit when declaring breakpoints with exclusive intervals\n///\n/// @example scss - Interval for pixels is defined as `1` by default\n/// @include media('>128px') {}\n///\n/// /* Generates: */\n/// @media (min-width: 129px) {}\n///\n/// @example scss - Interval for ems is defined as `0.01` by default\n/// @include media('>20em') {}\n///\n/// /* Generates: */\n/// @media (min-width: 20.01em) {}\n///\n/// @example scss - Interval for rems is defined as `0.1` by default, to be used with `font-size: 62.5%;`\n/// @include media('>2.0rem') {}\n///\n/// /* Generates: */\n/// @media (min-width: 2.1rem) {}\n///\n$unit-intervals: (\n \"px\": 1,\n \"em\": 0.01,\n \"rem\": 0.1,\n \"\": 0,\n) !default;\n\n///\n/// Defines whether support for media queries is available, useful for creating separate stylesheets\n/// for browsers that don't support media queries.\n///\n/// @example scss - Disables support for media queries\n/// $im-media-support: false;\n/// @include media('>=tablet') {\n/// .foo {\n/// color: tomato;\n/// }\n/// }\n///\n/// /* Generates: */\n/// .foo {\n/// color: tomato;\n/// }\n///\n$im-media-support: true !default;\n\n///\n/// Selects which breakpoint to emulate when support for media queries is disabled. Media queries that start at or\n/// intercept the breakpoint will be displayed, any others will be ignored.\n///\n/// @example scss - This media query will show because it intercepts the static breakpoint\n/// $im-media-support: false;\n/// $im-no-media-breakpoint: 'desktop';\n/// @include media('>=tablet') {\n/// .foo {\n/// color: tomato;\n/// }\n/// }\n///\n/// /* Generates: */\n/// .foo {\n/// color: tomato;\n/// }\n///\n/// @example scss - This media query will NOT show because it does not intercept the desktop breakpoint\n/// $im-media-support: false;\n/// $im-no-media-breakpoint: 'tablet';\n/// @include media('>=desktop') {\n/// .foo {\n/// color: tomato;\n/// }\n/// }\n///\n/// /* No output */\n///\n$im-no-media-breakpoint: \"desktop\" !default;\n\n///\n/// Selects which media expressions are allowed in an expression for it to be used when media queries\n/// are not supported.\n///\n/// @example scss - This media query will show because it intercepts the static breakpoint and contains only accepted media expressions\n/// $im-media-support: false;\n/// $im-no-media-breakpoint: 'desktop';\n/// $im-no-media-expressions: ('screen');\n/// @include media('>=tablet', 'screen') {\n/// .foo {\n/// color: tomato;\n/// }\n/// }\n///\n/// /* Generates: */\n/// .foo {\n/// color: tomato;\n/// }\n///\n/// @example scss - This media query will NOT show because it intercepts the static breakpoint but contains a media expression that is not accepted\n/// $im-media-support: false;\n/// $im-no-media-breakpoint: 'desktop';\n/// $im-no-media-expressions: ('screen');\n/// @include media('>=tablet', 'retina2x') {\n/// .foo {\n/// color: tomato;\n/// }\n/// }\n///\n/// /* No output */\n///\n$im-no-media-expressions: (\"screen\", \"portrait\", \"landscape\") !default;\n\n////\n/// Cross-engine logging engine\n/// @author Kitty Giraudel\n/// @access private\n////\n\n///\n/// Log a message either with `@error` if supported\n/// else with `@warn`, using `feature-exists('at-error')`\n/// to detect support.\n///\n/// @param {String} $message - Message to log\n///\n@function im-log($message) {\n @if feature-exists(\"at-error\") {\n @error $message;\n } @else {\n @warn $message;\n $_: noop();\n }\n\n @return $message;\n}\n\n///\n/// Wrapper mixin for the log function so it can be used with a more friendly\n/// API than `@if im-log('..') {}` or `$_: im-log('..')`. Basically, use the function\n/// within functions because it is not possible to include a mixin in a function\n/// and use the mixin everywhere else because it's much more elegant.\n///\n/// @param {String} $message - Message to log\n///\n@mixin log($message) {\n @if im-log($message) {\n }\n}\n\n///\n/// Function with no `@return` called next to `@warn` in Sass 3.3\n/// to trigger a compiling error and stop the process.\n///\n@function noop() {\n}\n\n///\n/// Determines whether a list of conditions is intercepted by the static breakpoint.\n///\n/// @param {Arglist} $conditions - Media query conditions\n///\n/// @return {Boolean} - Returns true if the conditions are intercepted by the static breakpoint\n///\n@function im-intercepts-static-breakpoint($conditions...) {\n $no-media-breakpoint-value: map-get($breakpoints, $im-no-media-breakpoint);\n\n @if not $no-media-breakpoint-value {\n @if im-log(\"`#{$im-no-media-breakpoint}` is not a valid breakpoint.\") {\n }\n }\n\n @each $condition in $conditions {\n @if not map-has-key($media-expressions, $condition) {\n $operator: get-expression-operator($condition);\n $prefix: get-expression-prefix($operator);\n $value: get-expression-value($condition, $operator);\n\n @if ($prefix == \"max\" and $value <= $no-media-breakpoint-value) or\n ($prefix == \"min\" and $value > $no-media-breakpoint-value)\n {\n @return false;\n }\n } @else if not index($im-no-media-expressions, $condition) {\n @return false;\n }\n }\n\n @return true;\n}\n\n////\n/// Parsing engine\n/// @author Kitty Giraudel\n/// @access private\n////\n\n///\n/// Get operator of an expression\n///\n/// @param {String} $expression - Expression to extract operator from\n///\n/// @return {String} - Any of `>=`, `>`, `<=`, `<`, `≥`, `≤`\n///\n@function get-expression-operator($expression) {\n @each $operator in (\">=\", \">\", \"<=\", \"<\", \"≥\", \"≤\") {\n @if str-index($expression, $operator) {\n @return $operator;\n }\n }\n\n // It is not possible to include a mixin inside a function, so we have to\n // rely on the `im-log(..)` function rather than the `log(..)` mixin. Because\n // functions cannot be called anywhere in Sass, we need to hack the call in\n // a dummy variable, such as `$_`. If anybody ever raise a scoping issue with\n // Sass 3.3, change this line in `@if im-log(..) {}` instead.\n $_: im-log(\"No operator found in `#{$expression}`.\");\n}\n\n///\n/// Get dimension of an expression, based on a found operator\n///\n/// @param {String} $expression - Expression to extract dimension from\n/// @param {String} $operator - Operator from `$expression`\n///\n/// @return {String} - `width` or `height` (or potentially anything else)\n///\n@function get-expression-dimension($expression, $operator) {\n $operator-index: str-index($expression, $operator);\n $parsed-dimension: str-slice($expression, 0, $operator-index - 1);\n $dimension: \"width\";\n\n @if str-length($parsed-dimension) > 0 {\n $dimension: $parsed-dimension;\n }\n\n @return $dimension;\n}\n\n///\n/// Get dimension prefix based on an operator\n///\n/// @param {String} $operator - Operator\n///\n/// @return {String} - `min` or `max`\n///\n@function get-expression-prefix($operator) {\n @return if(index((\"<\", \"<=\", \"≤\"), $operator), \"max\", \"min\");\n}\n\n///\n/// Get value of an expression, based on a found operator\n///\n/// @param {String} $expression - Expression to extract value from\n/// @param {String} $operator - Operator from `$expression`\n///\n/// @return {Number} - A numeric value\n///\n@function get-expression-value($expression, $operator) {\n $operator-index: str-index($expression, $operator);\n $value: str-slice($expression, $operator-index + str-length($operator));\n\n @if map-has-key($breakpoints, $value) {\n $value: map-get($breakpoints, $value);\n } @else {\n $value: to-number($value);\n }\n\n $interval: map-get($unit-intervals, unit($value));\n\n @if not $interval {\n // It is not possible to include a mixin inside a function, so we have to\n // rely on the `im-log(..)` function rather than the `log(..)` mixin. Because\n // functions cannot be called anywhere in Sass, we need to hack the call in\n // a dummy variable, such as `$_`. If anybody ever raise a scoping issue with\n // Sass 3.3, change this line in `@if im-log(..) {}` instead.\n $_: im-log(\"Unknown unit `#{unit($value)}`.\");\n }\n\n @if $operator == \">\" {\n $value: $value + $interval;\n } @else if $operator == \"<\" {\n $value: $value - $interval;\n }\n\n @return $value;\n}\n\n///\n/// Parse an expression to return a valid media-query expression\n///\n/// @param {String} $expression - Expression to parse\n///\n/// @return {String} - Valid media query\n///\n@function parse-expression($expression) {\n // If it is part of $media-expressions, it has no operator\n // then there is no need to go any further, just return the value\n @if map-has-key($media-expressions, $expression) {\n @return map-get($media-expressions, $expression);\n }\n\n $operator: get-expression-operator($expression);\n $dimension: get-expression-dimension($expression, $operator);\n $prefix: get-expression-prefix($operator);\n $value: get-expression-value($expression, $operator);\n\n @return \"(#{$prefix}-#{$dimension}: #{$value})\";\n}\n\n///\n/// Slice `$list` between `$start` and `$end` indexes\n///\n/// @access private\n///\n/// @param {List} $list - List to slice\n/// @param {Number} $start [1] - Start index\n/// @param {Number} $end [length($list)] - End index\n///\n/// @return {List} Sliced list\n///\n@function slice($list, $start: 1, $end: length($list)) {\n @if length($list) < 1 or $start > $end {\n @return ();\n }\n\n $result: ();\n\n @for $i from $start through $end {\n $result: append($result, nth($list, $i));\n }\n\n @return $result;\n}\n\n////\n/// String to number converter\n/// @author Kitty Giraudel\n/// @access private\n////\n\n///\n/// Casts a string into a number\n///\n/// @param {String | Number} $value - Value to be parsed\n///\n/// @return {Number}\n///\n@function to-number($value) {\n @if type-of($value) == \"number\" {\n @return $value;\n } @else if type-of($value) != \"string\" {\n $_: im-log(\"Value for `to-number` should be a number or a string.\");\n }\n\n $first-character: str-slice($value, 1, 1);\n $result: 0;\n $digits: 0;\n $minus: ($first-character == \"-\");\n $numbers: (\n \"0\": 0,\n \"1\": 1,\n \"2\": 2,\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n );\n\n // Remove +/- sign if present at first character\n @if ($first-character == \"+\" or $first-character == \"-\") {\n $value: str-slice($value, 2);\n }\n\n @for $i from 1 through str-length($value) {\n $character: str-slice($value, $i, $i);\n\n @if not(index(map-keys($numbers), $character) or $character == \".\") {\n @return to-length(if($minus, -$result, $result), str-slice($value, $i));\n }\n\n @if $character == \".\" {\n $digits: 1;\n } @else if $digits == 0 {\n $result: $result * 10 + map-get($numbers, $character);\n } @else {\n $digits: $digits * 10;\n $result: $result + map-get($numbers, $character) / $digits;\n }\n }\n\n @return if($minus, -$result, $result);\n}\n\n///\n/// Add `$unit` to `$value`\n///\n/// @param {Number} $value - Value to add unit to\n/// @param {String} $unit - String representation of the unit\n///\n/// @return {Number} - `$value` expressed in `$unit`\n///\n@function to-length($value, $unit) {\n $units: (\n \"px\": 1px,\n \"cm\": 1cm,\n \"mm\": 1mm,\n \"%\": 1%,\n \"ch\": 1ch,\n \"pc\": 1pc,\n \"in\": 1in,\n \"em\": 1em,\n \"rem\": 1rem,\n \"pt\": 1pt,\n \"ex\": 1ex,\n \"vw\": 1vw,\n \"vh\": 1vh,\n \"vmin\": 1vmin,\n \"vmax\": 1vmax,\n );\n\n @if not index(map-keys($units), $unit) {\n $_: im-log(\"Invalid unit `#{$unit}`.\");\n }\n\n @return $value * map-get($units, $unit);\n}\n\n///\n/// This mixin aims at redefining the configuration just for the scope of\n/// the call. It is helpful when having a component needing an extended\n/// configuration such as custom breakpoints (referred to as tweakpoints)\n/// for instance.\n///\n/// @author Kitty Giraudel\n///\n/// @param {Map} $tweakpoints [()] - Map of tweakpoints to be merged with `$breakpoints`\n/// @param {Map} $tweak-media-expressions [()] - Map of tweaked media expressions to be merged with `$media-expression`\n///\n/// @example scss - Extend the global breakpoints with a tweakpoint\n/// @include media-context(('custom': 678px)) {\n/// .foo {\n/// @include media('>phone', '<=custom') {\n/// // ...\n/// }\n/// }\n/// }\n///\n/// @example scss - Extend the global media expressions with a custom one\n/// @include media-context($tweak-media-expressions: ('all': 'all')) {\n/// .foo {\n/// @include media('all', '>phone') {\n/// // ...\n/// }\n/// }\n/// }\n///\n/// @example scss - Extend both configuration maps\n/// @include media-context(('custom': 678px), ('all': 'all')) {\n/// .foo {\n/// @include media('all', '>phone', '<=custom') {\n/// // ...\n/// }\n/// }\n/// }\n///\n@mixin media-context($tweakpoints: (), $tweak-media-expressions: ()) {\n // Save global configuration\n $global-breakpoints: $breakpoints;\n $global-media-expressions: $media-expressions;\n\n // Update global configuration\n $breakpoints: map-merge($breakpoints, $tweakpoints) !global;\n $media-expressions: map-merge(\n $media-expressions,\n $tweak-media-expressions\n ) !global;\n\n @content;\n\n // Restore global configuration\n $breakpoints: $global-breakpoints !global;\n $media-expressions: $global-media-expressions !global;\n}\n\n////\n/// include-media public exposed API\n/// @author Eduardo Boucas\n/// @access public\n////\n\n///\n/// Generates a media query based on a list of conditions\n///\n/// @param {Arglist} $conditions - Media query conditions\n///\n/// @example scss - With a single set breakpoint\n/// @include media('>phone') { }\n///\n/// @example scss - With two set breakpoints\n/// @include media('>phone', '<=tablet') { }\n///\n/// @example scss - With custom values\n/// @include media('>=358px', '<850px') { }\n///\n/// @example scss - With set breakpoints with custom values\n/// @include media('>desktop', '<=1350px') { }\n///\n/// @example scss - With a static expression\n/// @include media('retina2x') { }\n///\n/// @example scss - Mixing everything\n/// @include media('>=350px', '<tablet', 'retina3x') { }\n///\n@mixin media($conditions...) {\n @if ($im-media-support and length($conditions) == 0) or\n (not $im-media-support and im-intercepts-static-breakpoint($conditions...))\n {\n @content;\n } @else if ($im-media-support and length($conditions) > 0) {\n @media #{unquote(parse-expression(nth($conditions, 1)))} {\n // Recursive call\n @include media(slice($conditions, 2)...) {\n @content;\n }\n }\n }\n}\n","%heading {\n font-family: $font-display;\n font-weight: 400;\n}\n\n.heading-1 {\n @extend %heading;\n font-size: 4.5rem;\n color: $color-grey-light-1;\n line-height: 1;\n}\n\n.heading-2 {\n @extend %heading;\n font-size: 4rem;\n font-style: italic;\n line-height: 1;\n\n &--light {\n color: $color-grey-light-1;\n }\n\n &--dark {\n color: $color-grey-dark-1;\n }\n}\n\n.heading-3 {\n @extend %heading;\n font-size: 1.6rem;\n color: $color-primary;\n text-transform: uppercase;\n}\n\n.heading-4 {\n @extend %heading;\n font-size: 1.9rem;\n\n &--light {\n color: $color-grey-light-1;\n }\n\n &--dark {\n color: $color-grey-dark-1;\n }\n}\n\n.btn {\n background-color: $color-primary;\n color: #fff;\n border: none;\n border-radius: 0;\n font-family: $font-display;\n font-size: 1.5rem;\n text-transform: uppercase;\n padding: 1.8rem 3rem;\n cursor: pointer;\n transition: all 0.2s;\n\n &:hover {\n background-color: $color-primary-dark;\n }\n}\n",".mb-sm {\n margin-bottom: 2rem;\n}\n.mb-md {\n margin-bottom: 3rem;\n}\n.mb-lg {\n margin-bottom: 4rem;\n}\n.mb-hg {\n margin-bottom: 8rem;\n}\n",".sidebar {\n background-color: $color-primary;\n grid-column: sidebar-start / sidebar-end;\n grid-row: 1 / -1;\n display: flex;\n justify-content: center;\n\n @include media(\"<large\") {\n grid-column: 1 / -1;\n grid-row: 1 / 2;\n justify-content: flex-end;\n }\n\n .nav-btn {\n border: none;\n border-radius: 0;\n background-color: $color-primary;\n color: $color-grey-dark-2;\n font-size: 4rem;\n cursor: pointer;\n align-self: flex-start;\n\n @include media(\"<large\") {\n align-self: center;\n margin-right: 2rem;\n }\n }\n}\n",".header {\n grid-column: full-start / col-end 6;\n background-image: linear-gradient(\n rgba($color-secondary, 0.93),\n rgba($color-secondary, 0.93)\n ),\n url(../commons/img/hero.jpeg);\n background-size: cover;\n background-position: center;\n padding: 8rem;\n padding-top: 4rem;\n overflow: hidden;\n\n display: grid;\n grid-template-rows: 1fr min-content minmax(6rem, min-content) 1fr;\n grid-template-columns: minmax(min-content, max-content);\n row-gap: 1.5rem;\n justify-content: center;\n\n @include media(\"<medium\") {\n grid-column: 1 / -1;\n }\n\n @include media(\"<small\") {\n padding: 5rem;\n }\n\n &__logo {\n height: 3rem;\n justify-self: center;\n }\n\n &__btn {\n align-self: start;\n justify-self: start;\n }\n\n &__seenon-text {\n display: grid;\n\n font-size: 1.6rem;\n color: $color-grey-light-2;\n grid-template-columns: 1fr max-content 1fr;\n column-gap: 1.5rem;\n align-items: center;\n\n &::before,\n &::after {\n content: \"\";\n height: 1px;\n display: block;\n background-color: currentColor;\n }\n }\n\n &__seenon-logos {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n column-gap: 3rem;\n justify-items: center;\n align-items: center;\n\n img {\n max-height: 2.5rem;\n max-width: 100%;\n filter: brightness(70%);\n }\n }\n}\n",".realtors {\n background-color: $color-secondary;\n grid-column: col-start 7 / ful-end;\n padding: 3rem;\n display: grid;\n align-content: center;\n justify-content: center;\n row-gap: 2rem;\n justify-items: center;\n\n @include media(\"<medium\") {\n grid-column: 1 / -1;\n }\n\n &__list {\n display: grid;\n grid-template-columns: min-content max-content;\n column-gap: 2rem;\n row-gap: 5vh;\n align-items: center;\n\n @include media(\"<medium\") {\n grid-template-columns: repeat(3, min-content max-content);\n }\n\n @include media(\"<small\") {\n grid-template-columns: min-content max-content;\n }\n }\n\n &__img {\n width: 7rem;\n border-radius: 50%;\n display: block;\n }\n\n &__sold {\n text-transform: uppercase;\n color: $color-grey-light-2;\n margin-top: -3px;\n }\n}\n",".features {\n grid-column: center-start / center-end;\n\n margin: 15rem 0;\n\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));\n gap: 60px;\n align-items: start;\n\n @include media(\"<small\") {\n margin: 8rem 0;\n }\n}\n\n.feature {\n display: grid;\n grid-template-columns: min-content 1fr;\n row-gap: 1.5rem;\n column-gap: 2.5rem;\n\n &__icon {\n color: $color-primary;\n font-size: 4.5rem;\n grid-row: 1 / span 2;\n transform: translateY(-1rem);\n }\n\n &__text {\n font-size: 1.7rem;\n }\n}\n",".story {\n &__pictures {\n background-color: $color-primary;\n grid-column: full-start / col-end 4;\n background-image: linear-gradient(\n rgba($color-primary, 0.5),\n rgba($color-primary, 0.5)\n ),\n url(../commons/img/back.jpg);\n background-size: cover;\n\n display: grid;\n grid-template-rows: repeat(6, 1fr);\n grid-template-columns: repeat(6, 1fr);\n align-items: center;\n\n @include media(\"<medium\") {\n grid-column: 1 / -1;\n padding: 6rem;\n }\n }\n\n &__img--1 {\n width: 100%;\n grid-row: 2 / 6;\n grid-column: 2 / 6;\n box-shadow: 0 2rem 5rem rgba(#000, 0.1);\n\n @include media(\"<medium\") {\n grid-column: 1 / 5;\n grid-row: 1 / -1;\n height: 100%;\n }\n }\n\n &__img--2 {\n width: 115%;\n z-index: 1;\n grid-row: 4 / 6;\n grid-column: 4 / 7;\n box-shadow: 0 2rem 5rem rgba(#000, 0.2);\n\n @include media(\"<medium\") {\n grid-row: 1 / -1;\n width: 100%;\n }\n }\n\n &__content {\n background-color: $color-grey-light-1;\n grid-column: col-start 5 / full-end;\n\n padding: 6rem 8vw;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n\n @include media(\"<medium\") {\n grid-column: 1 / -1;\n grid-row: 5 / 6;\n }\n }\n\n &__text {\n font-size: 1.5rem;\n font-style: italic;\n margin-bottom: 4rem;\n }\n}\n",".homes {\n grid-column: center-start / center-end;\n margin: 15rem 0;\n\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));\n gap: 7rem;\n\n @include media(\"<small\") {\n margin: 8rem 0;\n }\n\n .home {\n background-color: $color-grey-light-1;\n\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n row-gap: 3.5rem;\n\n &__img {\n width: 100%;\n grid-row: 1 / 2;\n grid-column: 1 / -1;\n z-index: 1;\n }\n\n &__like {\n grid-row: 1 / 2;\n grid-column: 2 / 3;\n z-index: 2;\n justify-self: end;\n\n .card__icon {\n color: $color-primary;\n font-size: 2.5rem;\n margin: 1rem;\n cursor: pointer;\n }\n }\n\n &__name {\n grid-column: 1 / -1;\n grid-row: 1 / 2;\n\n font-family: $font-display;\n font-size: 1.6rem;\n text-align: center;\n padding: 1.25rem;\n background-color: $color-secondary;\n color: #fff;\n font-weight: 400;\n\n width: 80%;\n justify-self: center;\n align-self: end;\n transform: translateY(50%);\n z-index: 2;\n }\n\n &__button {\n grid-column: 1 / -1;\n }\n\n &__location,\n &__rooms {\n margin-top: 2.5rem;\n }\n\n &__location,\n &__rooms,\n &__area,\n &__price {\n font-size: 1.5rem;\n margin-left: 2rem;\n\n display: flex;\n align-items: center;\n\n .card__icon {\n color: $color-primary;\n font-size: 2rem;\n margin-right: 1rem;\n }\n }\n }\n}\n",".gallery {\n background-color: $color-grey-light-1;\n grid-column: full-start / full-end;\n\n display: grid;\n grid-template-rows: repeat(7, 5vw);\n grid-template-columns: repeat(8, 1fr);\n gap: 1.5rem;\n padding: 1.5rem;\n\n &__item {\n &--1 {\n grid-row: 1 / span 2;\n grid-column: 1 / span 2;\n }\n\n &--2 {\n grid-row: 1 / span 3;\n grid-column: 3 / span 3;\n }\n\n &--3 {\n grid-row: 1 / span 2;\n }\n\n &--4 {\n grid-row: 1 / span 2;\n grid-column: 7 / span 2;\n }\n\n &--5 {\n grid-row: 3 / span 3;\n grid-column: 1 / span 2;\n }\n\n &--6 {\n grid-row: 4 / span 2;\n grid-column: 3 / span 2;\n }\n\n &--7 {\n grid-column: 5 / 5;\n }\n\n &--8 {\n grid-row: 3 / span 2;\n grid-column: 6 / span 2;\n }\n\n &--9 {\n grid-row: 3 / span 3;\n }\n\n &--10 {\n grid-row: 6 / span 2;\n }\n\n &--11 {\n grid-row: 6 / span 2;\n grid-column: 2 / span 2;\n }\n\n &--12 {\n grid-row: 6 / span 2;\n }\n\n &--13 {\n grid-row: 5 / span 3;\n grid-column: 5 / span 3;\n }\n\n &--14 {\n grid-row: 6 / span 2;\n }\n }\n\n &__img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n }\n}\n",".footer {\n background-color: $color-secondary;\n grid-column: full-start / full-end;\n\n padding: 8rem;\n}\n\n.nav {\n list-style: none;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));\n gap: 2rem;\n align-items: center;\n\n &__link:link,\n &__link:visited {\n font-size: 1.4rem;\n color: #fff;\n text-decoration: none;\n font-family: $font-display;\n text-transform: uppercase;\n text-align: center;\n padding: 1.5rem;\n display: block;\n transition: all 0.2s;\n }\n\n &__link:hover,\n &__link:active {\n background-color: rgba(#fff, 0.05);\n transform: translateY(-3px);\n }\n}\n\n.copyright {\n font-size: 1.4rem;\n color: $color-grey-light-2;\n margin-top: 6rem;\n text-align: center;\n\n &__link {\n color: #fff;\n\n &:hover {\n color: $color-grey-light-2;\n }\n }\n}\n"]}