You need to set the maximum width for your landscape orientation, this will not overwrite your desktop styles until the width is below 800 pixels:
@media only screen and (min-width : 321px) and (max-width: 800px) { style goes here }
Another possibility is to wrap your desktop styles in a different request and copy them below your portraits and landscape styles:
@media only screen and (max-width : 320px) { style goes here } @media only screen and (min-width : 321px) { style goes here } @media only screen and (min-width : 800px) { style goes here }
Note that terrain styles will be used for the Desktop version. This is sometimes a welcome behavior.
source share