Annual report pursuant to Section 13 and 15(d)

Share-Based Compensation and Other Compensation Matters (Details 2)

v2.4.1.9
Share-Based Compensation and Other Compensation Matters (Details 2) (USD $)
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Dec. 31, 2011
Stock Options        
Exercised (in shares) (62,888)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised (39,331)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised (61,624)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised  
Aggregate Intrinsic Value        
Increase (decrease) in tax benefit from share-based compensation $ (3,000)us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation $ (122,000)us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation $ 43,000us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation  
Options        
Stock Options        
Outstanding at the beginning of the period (in shares) 640,927us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
798,210us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
945,422us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
 
Forfeited/Expired (in shares) (18,303)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
(117,952)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
(85,588)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
 
Exercised (in shares) (62,888)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
(39,331)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
(61,624)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
 
Outstanding at the end of the period (in shares) 559,736us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
640,927us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
798,210us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
945,422us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
Exercisable at the end of the period (in shares) 559,736us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
[1] 640,927us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
[2] 798,210us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
[3]  
Exercise price range, options outstanding, low end of range (in dollars per share) $ 25.52us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
$ 19.63us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
$ 13.60us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
$ 13.4us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
Exercise price range, options outstanding, high end of range (in dollars per share) $ 56.00us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
$ 56us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
$ 57us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
$ 57us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
Weighted Average Exercise Price per Share        
Outstanding at the beginning of the period (in dollars per share) $ 38.11us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
$ 37.62us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
$ 36.63us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
 
Forfeited/Expired (in dollars per share) $ 42.12us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
$ 40.91us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
$ 42.98us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
 
Exercised (in dollars per share) $ 23.70us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
$ 19.67us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
$ 15.08us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
 
Outstanding at the end of the period (in dollars per share) $ 39.60us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
$ 38.11us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
$ 37.62us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
$ 36.63us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
Exercisable at the end of the period (in dollars per share) $ 39.60us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
[1] $ 38.11us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
[2] $ 37.62us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
[3]  
Weighted Average Remaining Contractual Term        
Weighted average remaining contractual term 2 years 2 years 3 years 4 years
Aggregate Intrinsic Value        
Balance outstanding 167,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
68,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
325,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
510,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
Aggregate intrinsic value of options exercised 225,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
258,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
600,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
 
Options | Range of Exercise Price One | Vested        
Stock Options        
Exercisable at the end of the period (in shares) 105,672us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeOneMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
171,288us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeOneMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
9,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeOneMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
 
Exercise price range, options outstanding, low end of range (in dollars per share) $ 25.52us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeOneMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 19.63us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeOneMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 13.60us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeOneMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
 
Exercise price range, options outstanding, high end of range (in dollars per share) $ 30.04us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeOneMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 30.04us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeOneMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 16.73us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeOneMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
 
Options | Range of Exercise Price Two | Vested        
Stock Options        
Exercisable at the end of the period (in shares) 142,862us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeTwoMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
145,187us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeTwoMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
204,736us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeTwoMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
 
Exercise price range, options outstanding, low end of range (in dollars per share) $ 30.05us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeTwoMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 30.05us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeTwoMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 16.74us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeTwoMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
 
Exercise price range, options outstanding, high end of range (in dollars per share) $ 41.28us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeTwoMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 41.28us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeTwoMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 30.04us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeTwoMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
 
Options | Range of Exercise Price Three | Vested        
Stock Options        
Exercisable at the end of the period (in shares) 158,902us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeThreeMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
160,402us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeThreeMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
180,962us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeThreeMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
 
Exercise price range, options outstanding, low end of range (in dollars per share) $ 41.29us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeThreeMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 41.29us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeThreeMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 30.05us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeThreeMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
 
Exercise price range, options outstanding, high end of range (in dollars per share) $ 42.74us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeThreeMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 42.74us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeThreeMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 41.28us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeThreeMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
 
Options | Range of Exercise Price Four | Vested        
Stock Options        
Exercisable at the end of the period (in shares) 152,300us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeFourMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
164,050us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeFourMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
403,012us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeFourMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
 
Exercise price range, options outstanding, low end of range (in dollars per share) $ 42.75us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeFourMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 42.75us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeFourMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 41.29us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeFourMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
 
Exercise price range, options outstanding, high end of range (in dollars per share) $ 56.00us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeFourMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 56.00us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeFourMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
$ 57.00us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ofc_ExercisePriceRangeFourMember
/ ofc_ShareBasedCompensationSharesVestingStatusAxis
= ofc_ShareBasedCompensationSharesVestedMember
 
Performance share units        
Aggregate Intrinsic Value        
Estimated pre-vesting forfeitures (as a percent) 0.00%ofc_ShareBasedCompensationArrangementByShareBasedPaymentAwardEstimatedPercentageOfForfeitures
/ us-gaap_AwardTypeAxis
= ofc_PerformanceShareUnitsMember
     
Unrecognized compensation cost 1,900,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
/ us-gaap_AwardTypeAxis
= ofc_PerformanceShareUnitsMember
     
Expected weighted average period during which unrecognized compensation cost will be recognized 2 years      
Restricted shares        
Aggregate Intrinsic Value        
Unrecognized compensation cost $ 6,300,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
/ us-gaap_AwardTypeAxis
= ofc_RestrictedSharesMember
     
Expected weighted average period during which unrecognized compensation cost will be recognized 2 years      
Minimum | Options        
Stock Options        
Exercise price range, options forfeited (in dollars per share) $ 22.34ofc_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceOfForfeitedOptions
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
$ 18.08ofc_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceOfForfeitedOptions
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
$ 25.52ofc_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceOfForfeitedOptions
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
 
Exercise price range, options exercised (in dollars per share) $ 19.63ofc_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceOfExercisedOptions
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
$ 13.60ofc_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceOfExercisedOptions
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
$ 13.40ofc_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceOfExercisedOptions
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
 
Minimum | Restricted shares        
Aggregate Intrinsic Value        
Estimated pre-vesting forfeitures (as a percent) 0.00%ofc_ShareBasedCompensationArrangementByShareBasedPaymentAwardEstimatedPercentageOfForfeitures
/ us-gaap_AwardTypeAxis
= ofc_RestrictedSharesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
     
Maximum | Options        
Stock Options        
Exercise price range, options forfeited (in dollars per share) $ 49.60ofc_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceOfForfeitedOptions
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
$ 51.62ofc_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceOfForfeitedOptions
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
$ 57.00ofc_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceOfForfeitedOptions
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
 
Exercise price range, options exercised (in dollars per share) $ 28.15ofc_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceOfExercisedOptions
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
$ 26.24ofc_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceOfExercisedOptions
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
$ 22.49ofc_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceOfExercisedOptions
/ us-gaap_AwardTypeAxis
= us-gaap_StockOptionMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
 
Maximum | Restricted shares        
Aggregate Intrinsic Value        
Estimated pre-vesting forfeitures (as a percent) 5.00%ofc_ShareBasedCompensationArrangementByShareBasedPaymentAwardEstimatedPercentageOfForfeitures
/ us-gaap_AwardTypeAxis
= ofc_RestrictedSharesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
     
[1] 105,672 of these options had an exercise price ranging from $25.52 to $30.04; 142,862 had an exercise price ranging from$30.05 to $41.28; 158,902 had an exercise price ranging from $41.29 to $42.74; and 152,300 had an exercise price ranging from $42.75 to $56.00.
[2] 171,288 of these options had an exercise price ranging from $19.63 to $30.04; 145,187 had an exercise price ranging from$30.05 to $41.28; 160,402 had an exercise price ranging from $41.29 to $42.74; and 164,050 had an exercise price ranging from $42.75 to $56.00.
[3] 9,500 of these options had an exercise price ranging from $13.60 to $16.73; 204,736 had an exercise price ranging from $16.74 to $30.04; 180,962 had an exercise price ranging from $30.05 to $41.28; and 403,012 had an exercise price ranging from $41.29 to $57.00.